El MLG gamma habitual contiene el supuesto de que el parámetro de forma es constante, del mismo modo que el modelo lineal normal asume una varianza constante.
En lenguaje GLM, el parámetro de dispersión, $\phi$ en $\text{Var}(Y_i)=\phi\text{V}(\mu_i)$ suele ser constante.
En términos más generales, tiene $a(\phi)$ pero eso no ayuda.
Tal vez sería posible utilizar un GLM Gamma ponderado para incorporar este efecto de un parámetro de forma especificado, pero aún no he investigado esta posibilidad (si funciona es probablemente la forma más fácil de hacerlo, pero no estoy nada seguro de que lo haga).
Si tuvieras un GLM doble podrías estimación ese parámetro en función de las covariables... y si el software de doble glm te permitiera especificar un offset en el término de varianza podrías hacerlo. Parece que la función dglm
en el paquete dglm
permiten especificar un desplazamiento. No sé si le permitirá especificar un modelo de varianza como (digamos) ~ offset(<something>) + 0
sin embargo.
Otra alternativa sería maximizar la probabilidad directamente.
> 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
La línea donde dice:
(Dispersion parameter for Gamma family taken to be 0.1130783)
es el que quieres.
Que $\hat\phi$ está relacionado con el parámetro de forma de la Gamma.