Estou tentando replicar o trabalho de um colega e estou movendo a análise de Stata para R. Os modelos que ela emprega invocam a opção "cluster" na função nbreg para agrupar os erros padrão.
Veja http://repec.org/usug2007/crse.pdf para obter uma descrição bastante completa do quê e por que dessa opção
Minha pergunta é como invocar essa mesma opção para regressão binomial negativa dentro de R?
O modelo principal em nosso artigo é especificado em Stata da seguinte maneira
xi: nbreg cntpd09 logpop08 pcbnkthft07 pccrunion07 urbanpop pov00 pov002 edu4yr ///
black04 hispanic04 respop i.pdpolicy i.maxloan rollover i.region if isser4 != 1,
cluster(state)
e eu substituí isso por
pday<-glm.nb(cntpd09~logpop08+pcbnkthft07+pccrunion07+urbanpop+pov00+pov002+edu4yr+
black04+hispanic04+respop+as.factor(pdpolicy)+as.factor(maxloan)+rollover+
as.factor(region),data=data[which(data$isser4 != 1),])
que obviamente não possui a parte dos erros agrupados.
É possível fazer uma replicação exata? Se sim, como? Caso contrário, quais são algumas alternativas razoáveis?
obrigado
[Editar] Como observado nos comentários, eu esperava uma solução que não me levasse ao domínio dos modelos multiníveis. Embora meu treinamento me permita ver que essas coisas devem estar relacionadas, é mais um salto do que me sinto à vontade para dar sozinho. Como tal, continuei cavando e encontrei este link: http://landroni.wordpress.com/2012/06/02/fama-macbeth-and-cluster-robust-by-firm-and-time-standard-errors-in- r /
que aponta para um código bastante simples para fazer o que eu quero:
library(lmtest)
pday<-glm.nb(cntpd09~logpop08+pcbnkthft07+pccrunion07+urbanpop+pov00+pov002+edu4yr+
black04+hispanic04+respop+as.factor(pdpolicy)+as.factor(maxloan)+rollover+
as.factor(region),data=data[which(data$isser4 != 1),])
summary(pday)
coeftest(pday, vcov=function(x) vcovHC(x, cluster="state", type="HC1"))
Porém, isso não replica os resultados da análise no Stata, provavelmente porque foi projetado para funcionar no binômio OLS e não negativo. Então a pesquisa continua. Qualquer indicação sobre onde estou errado seria muito apreciada
fonte
Respostas:
Este documento mostra como obter SEs de cluster para uma regressão glm:
http://dynaman.net/R/clrob.pdf
fonte
Esta não é uma resposta totalmente satisfatória ...
Eu ainda não tentei, mas parece que o pacote glmmADMB pode fazer o que você deseja.
Vou vergonha do comentário de @ fmark sobre a pergunta e concordarei com ele que as anotações de Ben Bolker são úteis, como é a pergunta anterior , que não é exatamente uma duplicata exata, mas cobre questões muito semelhantes.
fonte