Come posso stimare gli intervalli di confidenza al 95% usando la profilatura per i parametri stimati massimizzando una funzione di verosimiglianza usando optim in R?


9

Come posso stimare gli intervalli di confidenza al 95% usando la profilatura per i parametri stimati massimizzando una funzione di verosimiglianza usando optim in R?

So di poter stimare asintoticamente la matrice di covarianza invertendo la tela di iuta , ma temo che i miei dati non soddisfino i presupposti richiesti per la validità di questo metodo. Preferirei stimare gli intervalli di confidenza usando qualche altro metodo.

Il metodo di verosimiglianza del profilo è appropriato, come discusso in Stryhn e Christensen , e nel libro MASS di Venables e Ripley, §8.4, pp. 220-221?

Se è così, ci sono dei pacchetti che possono aiutarmi a farlo in R? In caso contrario, come sarebbe lo pseudo codice per un tale metodo?

Risposte:


6

La mlefunzione del pacchetto stats4 è un wrapper di optim, il che rende abbastanza semplice produrre calcoli della probabilità del profilo. Vedi help("profile,mle-method", package = "stats4")per maggiori informazioni.


Questo è esattamente quello che voglio fare :) Ora per farlo funzionare!
fmark

@fmark, quanto è facile farlo funzionare correttamente dipende dal problema di ottimizzazione. Lo uso molto per insegnare con problemi abbastanza semplici (da uno a tre parametri) e modelli "carini" e per semplici problemi pratici. Tuttavia, se la probabilità è difficile da ottimizzare e profilare, probabilmente non funzionerà immediatamente.
NRH,

2

C'è il pacchetto ProfileLikelihood se usi nlme. Personalmente, non sono riuscito a usarlo.

Usando il pacchetto lme4a o lmeEigen c'è una funzione profile () che mira esattamente a fare quello che vuoi. Prova qualcosa del genere per installare questi pacchetti:

install.packages("lme4a",repos="http://lme4.r-forge.r-project.org/repos") 

oppure vai al sito Web per ottenere l'archivio zip. Allo stesso modo e sfortunatamente, non sono riuscito a usarlo :) Forse dovremmo aspettare un aggiornamento di lme4.

Il metodo è dettagliato nella bozza del libro di Douglas Bates

EDIT: Cool! La funzione profile () per i modelli lmer è ora disponibile nell'ultima versione di lme4, da installare digitando:

install.packages("lme4",repos="http://r-forge.r-project.org")

Mi rendo conto di non aver letto la domanda originale in modo sufficientemente preciso. La mia risposta è per il caso di modelli misti. Penso che la risposta di NRH qui sotto sia per il caso dei modelli classici.
Stéphane Laurent,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.