Como posso estimar intervalos de confiança de 95% usando a criação de perfil para parâmetros estimados maximizando uma função de probabilidade de log usando optim em R?

9

Como posso estimar intervalos de confiança de 95% usando a criação de perfil para parâmetros estimados maximizando uma função de probabilidade de log usando optim em R?

Eu sei que posso estimar assintoticamente a matriz de covariância invertendo o hessiano , mas estou preocupado que meus dados não atendam às suposições necessárias para que este método seja válido. Eu preferiria estimar intervalos de confiança usando outro método.

O método de probabilidade de perfil é apropriado, conforme discutido em Stryhn e Christensen , e no livro MASS de Venables e Ripley, §8.4, pp. 220-221?

Em caso afirmativo, existem pacotes que podem me ajudar a fazer isso no R? Caso contrário, como seria o pseudo-código para esse método?

fmark
fonte

Respostas:

6

A mlefunção do pacote stats4 é um invólucro optim, o que facilita bastante a produção de cálculos de probabilidade de perfil. Veja help("profile,mle-method", package = "stats4")para mais informações.

NRH
fonte
É exatamente isso que eu quero fazer :) Agora, faça com que funcione!
fmark 23/06
@mark, como é fácil fazê-lo funcionar corretamente depende do problema de otimização. Eu o uso muito para ensinar com problemas bastante simples (um a três parâmetros) e modelos "legais" e para problemas práticos simples. No entanto, se for provável que a probabilidade de otimizar e criar um perfil seja desafiadora, provavelmente não funcionará imediatamente.
NRH 24/06/12
2

Existe o pacote ProfileLikelihood se você usar o nlme. Pessoalmente, não consegui usá-lo.

Usando o pacote lme4a ou lmeEigen, existe uma função profile () que visa exatamente fazer o que você deseja. Tente algo assim para instalar estes pacotes:

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

ou acesse o site para obter o arquivo zip. Da mesma forma e infelizmente, não consegui usá-lo :) Talvez devêssemos esperar uma atualização do lme4.

O método está detalhado no rascunho do livro de Douglas Bates

EDIT: Legal! A função profile () para modelos lmer agora está disponível na versão mais recente do lme4, para ser instalada digitando:

install.packages("lme4",repos="http://r-forge.r-project.org")
Stéphane Laurent
fonte
Sei que não tinha lido a pergunta original com precisão suficiente. Minha resposta é para o caso de modelos mistos. Acho que a resposta da NRH abaixo é para o caso de modelos clássicos.
Stéphane Laurent