O GLM gama usual contém a suposição de que o parâmetro shape é constante, da mesma maneira que o modelo linear normal assume variação constante.
Em linguagem GLM o parâmetro de dispersão, em Var ( Y i ) = φ V ( μ i ) é normalmente constante.ϕVar(Yi)=ϕV(μi)
De maneira mais geral, você tem , mas isso não ajuda.a(ϕ)
Talvez seja possível usar um Gamma GLM ponderado para incorporar esse efeito de um parâmetro de forma especificado, mas ainda não investiguei essa possibilidade (se funcionar, provavelmente é a maneira mais fácil de fazer isso, mas não sou de todo Certifique-se de que sim).
Se você tivesse um GLM duplo, poderia estimar esse parâmetro em função de covariáveis ... e se o software double glm permitir especificar um deslocamento no termo de variação, você poderá fazer isso. Parece que a função dglm
no pacote dglm
permite especificar um deslocamento. Não sei se permitirá especificar um modelo de variação como (digamos) ~ offset(<something>) + 0
.
Outra alternativa seria maximizar a probabilidade diretamente.
> y <- rgamma(100,10,.1)
> summary(glm(y~1,family=Gamma))
Call:
glm(formula = y ~ 1, family = Gamma)
Deviance Residuals:
Min 1Q Median 3Q Max
-0.93768 -0.25371 -0.05188 0.16078 0.81347
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.0103660 0.0003486 29.74 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for Gamma family taken to be 0.1130783)
Null deviance: 11.223 on 99 degrees of freedom
Residual deviance: 11.223 on 99 degrees of freedom
AIC: 973.56
Number of Fisher Scoring iterations: 5
A linha onde diz:
(Dispersion parameter for Gamma family taken to be 0.1130783)
é o que você quer.
Que φ está relacionado com o parâmetro de forma da Gama.ϕ^