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.