回答:
通常のガンマGLMには、通常の線形モデルが一定の分散を仮定するのと同じように、形状パラメーターが一定であるという仮定が含まれています。
GLMの用語で分散パラメータ、でヴァー(Y I)= φ Vは(μ I)通常一定です。
より一般的にはがありますが、それは役に立ちません。
重み付きガンマGLMを使用して、指定された形状パラメーターのこの効果を組み込むことはおそらく可能かもしれませんが、この可能性についてはまだ調査していません(機能する場合はおそらく最も簡単な方法ですが、私はまったくそうではありませんそれが確実になります)。
ダブルGLMがある場合、共変量の関数としてそのパラメーターを推定できます...そして、ダブルglmソフトウェアで分散項のオフセットを指定できる場合、これを行うことができます。dglm
パッケージ内の関数でdglm
オフセットを指定できるように見えます。~ offset(<something>) + 0
ただし、(たとえば)のような分散モデルを指定できるかどうかはわかりません。
別の選択肢は、尤度を直接最大化することです。
> 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
それが言う行:
(Dispersion parameter for Gamma family taken to be 0.1130783)
あなたが望むものです。
それφは、ガンマの形状パラメータに関係しています。
その後、Balajari(2013)で説明されているMASSパッケージのgamma.shape関数を使用して、後で形状パラメーターを推定し、GLMで係数の推定と予測を調整しました。私の意見では、GLMでのガンマ分布の使用に関して、非常に明確で興味深い講演を読むことをお勧めします。
glmGamma <- glm(response ~ x1, family = Gamma(link = "identity")
library(MASS)
myshape <- gamma.shape(glmGamma)
gampred <- predict(glmGamma , type = "response", se = T, dispersion = 1/myshape$alpha)
summary(glmGamma, dispersion = 1/myshape$alpha)