glm in R-どのpvalueがモデル全体の適合度を表すか?


10

私はG(一般化線形モデル)でglmsを実行しています。私はpvalueを知っていると思いました-glmの要約を呼び出しても、モデル全体を表すオーバーライドpvalueが得られないことがわかるまでは、少なくとも線形モデルの場合はそうではありません。

これは、係数の表の一番上にある切片のp値として指定されているかどうか疑問に思っています。したがって、次の例では、Wind.speed..knotsとcanopy_densityはモデルにとって重要である可能性がありますが、モデル自体が重要であるかどうかをどのように知ることができますか?これらの値を信頼するかどうかはどうすればわかりますか?(切片)のPr(> | z |)がモデルの重要性を表していると思いますか?このモデルは重要な人々ですか??? ありがとう!

2項式族でF検定を実行することは不適切であるというエラーメッセージが表示されるため、F検定を実行してもp値は得られないことに注意してください。

Call:
glm(formula = Empetrum_bin ~ Wind.speed..knots. + canopy_density, 
    family = binomial, data = CAIRNGORM)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.2327  -0.7167  -0.4302  -0.1855   2.3194  

Coefficients:
                   Estimate Std. Error z value Pr(>|z|)  
(Intercept)          1.8226     1.2030   1.515   0.1298  
Wind.speed..knots.  -0.5791     0.2628  -2.203   0.0276 *
canopy_density      -2.5733     1.1346  -2.268   0.0233 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 59.598  on 58  degrees of freedom
Residual deviance: 50.611  on 56  degrees of freedom
  (1 observation deleted due to missingness)
AIC: 56.611

1
私が二項回帰で正しく思い出す場合、逸脱の検定、つまり対数尤度検定を使用する必要があります。これは、線形回帰で使用されるF検定に類似しています。これは-2 *(ヌルLL-飽和LL)で、カイ2乗分布に適合します。要約出力にモデル対数尤度は表示されませんが。モデルオブジェクトにありますが、要約出力にはありませんか?
SamPassmore 14

回答:


10

(59.598-50.611)対(58-56)dfのカイ2乗の漸近カイ2乗検定を実行するかanova()、glmオブジェクトで使用することができます(直接の検定は行いませんが、少なくとも( 59.598-50.611)と(58-56)あなたのために)。

これは事実上逸脱度の分析です

これは、(Rに付属する別のデータセットで)実行できる計算の種類です。

spray1=glm(count~spray,family=poisson,data=InsectSprays)  # full model
spray0=glm(count~1,family=poisson,data=InsectSprays)      # null model
with(anova(spray0,spray1),pchisq(Deviance,Df,lower.tail=FALSE)[2]) 

これは、逸脱度に基づいて漸近カイ二乗統計量のp値を与えます。

または、devianceand df.residual関数を使用してこれを行うことができます:

 pchisq(deviance(spray0)-deviance(spray1),
     df.residual(spray0)-df.residual(spray1),
    lower.tail=FALSE)

-

多くの人々は、フルAICとnullモデルのAICの比較(または、場合によっては、対象のモデルと飽和モデルの比較)を使用して、その意味でモデルがnullより優れているかどうかを判断します。

-

(切片)のPr(> | z |)がモデルの重要性を表していると思いますか?

そうではありません。実際、切片のp値は通常、直接には関係ありません。

分散パラメーターを持つモデルを検討している場合、漸近的なカイ二乗の代わりにF検定を行うことを主張する人がいることを確認しました。これは、個々の係数に対してazの代わりにt検定を使用する人々に対応しています。小さなサンプルでは、​​それが妥当な近似である可能性は低いです。一般的にGLMの場合、Fが必ずしも適切な近似値(つまり、漸近的な結果よりも優れている)であることを示唆する導出やシミュレーションは見ていません。存在するかもしれませんが、私はそれを見ていません。


2
またAnova(fit, type = 2)carライブラリから実行することもできます
Algorithmatic

3

モデルがオブジェクト 'fit'にあると仮定すると、このコードを使用して二項モデルで対数尤度検定を実行できます。F検定は適切ではないことに気付きましたが、この検定はモデルがより適切に予測されるかどうかをテストしますランダムより。

LLR = -2 * (fit$null.deviance - fit$deviance)

これは、対数尤度比検定の式です。

pchisq(LLR, 2, lower.tail = FALSE)

そして、これはあなたにp値を与えます。それが正しいdfであると私は100%確信していませんが。パラメータの数の違いはかなり確かです。飽和モデルには2つあり、Nullモデルにはありません。ergodf = 3-1 = 2ですが、それはフォローアップする必要があるかもしれません。


1

Fχ2

または、AIC、またはBICなどの関連する指標を確認できます。

R2

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.