Pergunta simples: como especificar uma distribuição lognormal no argumento da família GLM em R? Não consegui encontrar como isso pode ser alcançado. Por que lognormal (ou exponencial) não é uma opção no argumento da família?
Em algum lugar nos R-Archives, li que é preciso simplesmente usar o link de log para a família definida como gaussiana no GLM, a fim de especificar um lognormal. No entanto, isso não faz sentido, porque isso ajustará uma regressão não linear e R começará a solicitar valores iniciais.
Alguém sabe como definir uma distribuição lognormal (ou exponencial) para um GLM?
Respostas:
O pacote gamlss permite que você ajuste modelos aditivos generalizados com distribuições lognormal e exponencial e várias outras, com alguma variedade nas funções de link e usando, se desejar, modelos semi ou não paramétricos com base em splines penalizados. Tem alguns trabalhos publicados sobre os algoritmos usados, documentação e exemplos vinculados ao site ao qual eu vinculei.
fonte
Com relação ao ajuste do modelo exponencial com
glm
: Ao usar aglm
função family = Gamma, é necessário também usar os recursos de suporte desummary.glm
para fixar o parâmetro de dispersão em 1:E como eu apontaria, mas o jbowman me venceu, o (s) pacote (s) "gamlss" fornece um ajuste normal do log:
fonte
glm
, mas com matemática, ... e se você tiver estimativas de parâmetros, a construção de resíduos é trivial em R. Poste essa pergunta no SO com uma tag [r] e você certamente obterá uma resposta rápida.Lognormal não é uma opção porque a distribuição log-normal não está na família exponencial de distribuições. Modelos lineares generalizados só podem caber distribuições da família exponencial.
Estou menos claro por que exponencial não é uma opção, pois a distribuição exponencial está na família exponencial (como você pode esperar). Outro software estatístico com o qual estou familiarizado permite ajustar a distribuição exponencial como um GLM, tratando-o como um caso especial da distribuição Gamma com o parâmetro de forma (aka escala ou dispersão) fixado em 1 em vez de estimado. Não consigo ver uma maneira de corrigir esse parâmetro usando a
glm()
função de R , no entanto. Uma alternativa seria usar asurvreg()
função dosurvival
pacote comdist="exponential"
.fonte
A instalação de um GLM normal de log não tem nada a ver com a distribuição nem a opção de link da
glm()
função. O termo "log-normal" é bastante confuso nesse sentido, mas significa que a variável de resposta é normalmente distribuída (família = gaussiana) e uma transformação é aplicada a essa variável da seguinte maneira:No entanto, ao comparar esse glm log-normal com outros glms usando distribuição diferente (por exemplo, gama), a função AIC () deve ser corrigida. Alguém saberia uma alternativa para esses AIC errôneos (), neste caso?
fonte
Tente usar o seguinte comando:
Funciona aqui e a AIC parece estar correta.
fonte