La consueta gamma GLM contiene il presupposto che il parametro shape sia costante, allo stesso modo in cui il normale modello lineare assume una varianza costante.
Nel linguaggio GLM il parametro di dispersione, in è normalmente costante.Var ( Y i ) = ϕ V ( μ i )ϕVar(Yi)=ϕV(μi)
Più in generale, hai , ma questo non aiuta.a(ϕ)
Potrebbe forse essere possibile utilizzare un Gamma GLM ponderato per incorporare questo effetto di un parametro di forma specificato, ma non ho ancora studiato questa possibilità (se funziona è probabilmente il modo più semplice per farlo, ma non lo sono affatto certo che lo farà).
Se avessi un doppio GLM potresti stimare quel parametro in funzione delle covariate ... e se il software double glm ti consentisse di specificare un offset nel termine varianza, potresti farlo. Sembra che la funzione dglm
nel pacchetto dglm
ti permetta di specificare un offset. Non so se ti permetterà di specificare un modello di varianza come (diciamo) ~ offset(<something>) + 0
però.
Un'altra alternativa sarebbe quella di massimizzare direttamente la probabilità.
> 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 linea dove dice:
(Dispersion parameter for Gamma family taken to be 0.1130783)
è quello che vuoi.
Quel è correlato al parametro shape del Gamma.ϕ^