残差逸脱度と自由度を使用してロジスティック回帰モデルをテストする


8

私はPrinceton.eduでこのページを読んでいました。彼らはロジスティック回帰を実行しています(Rを使用)。ある時点で、モデルの自由度と等しい自由度の分布で得られたものよりも高い残差を得る確率を計算します。ウェブサイトからコピーして貼り付けています...χ2

> glm( cbind(using,notUsing) ~ age + hiEduc + noMore, family=binomial)

Call:  glm(formula = cbind(using, notUsing) ~ age + hiEduc + noMore,      
     family = binomial) 

Coefficients:
(Intercept)     age25-29     age30-39     age40-49       hiEduc       noMore  
    -1.9662       0.3894       0.9086       1.1892       0.3250       0.8330  

Degrees of Freedom: 15 Total (i.e. Null);  10 Residual
Null Deviance:      165.8 
Residual Deviance: 29.92        AIC: 113.4 

10 dfでの29.92の残差は非常に重要です。

> 1-pchisq(29.92,10)
[1] 0.0008828339

より良いモデルが必要です


なぜ計算するのが理にかなっているの1-pchisq(29.92,10)か、なぜ低い確率でモデルの問題が発生しているのか?

回答:


7

彼らは以下に示す逸脱度テストを使用しています:

D(y)=2(β^;y)+2(θ^(s);y)

ここで、は目的のモデルを表し、は飽和モデルを表します。飽和モデルの対数尤度は(たいていの場合)であるため、モデルが適合した残差()が残ります。この逸脱度検定は、自由度(は観測値、は当てはめられた変数の数)でほぼカイ二乗されます。お持ち及びの試験は約あろうようβ^θ^(s)029.92npnpn=16p=6χ102。テストのヌルは、フィットされたモデルがデータによくフィットし、ミスフィットがないことです。つまり、変動の原因を見逃していません。上記のテストでは、ヌルを拒否し、その結果、適合したモデルで何かを見落としました。このテストを使用する理由は、飽和モデルがデータに完全にフィットするため、フィットモデルと飽和モデルの間のnullを拒否しない場合は、大きなデータソースを見逃していないことを示します。モデルのバリエーション。


3

述べたように、あなたの質問は@ francium87dによって回答されました。適切なカイ2乗分布に対する残差の逸脱を比較することは、飽和モデルに対して近似モデルをテストすることを構成し、この場合、適合の大幅な欠如を示します。


それでも、モデルが適合していないことの意味をよりよく理解するには、データとモデルをより完全に調べることが役立つ場合があります。

d = read.table(text=" age education wantsMore notUsing using 
   <25       low       yes       53     6
   <25       low        no       10     4
   <25      high       yes      212    52
   <25      high        no       50    10
 25-29       low       yes       60    14
 25-29       low        no       19    10
 25-29      high       yes      155    54
 25-29      high        no       65    27
 30-39       low       yes      112    33
 30-39       low        no       77    80
 30-39      high       yes      118    46
 30-39      high        no       68    78
 40-49       low       yes       35     6
 40-49       low        no       46    48
 40-49      high       yes        8     8
 40-49      high        no       12    31", header=TRUE, stringsAsFactors=FALSE)
d = d[order(d[,3],d[,2]), c(3,2,1,5,4)]

library(binom)
d$proportion = with(d, using/(using+notUsing))
d$sum        = with(d, using+notUsing)
bCI          = binom.confint(x=d$using, n=d$sum, methods="exact")

m     = glm(cbind(using,notUsing)~age+education+wantsMore, d, family=binomial)
preds = predict(m, new.data=d[,1:3], type="response")

windows()
  par(mar=c(5, 8, 4, 2))
  bp = barplot(d$proportion, horiz=T, xlim=c(0,1), xlab="proportion",
               main="Birth control usage")
  box()
  axis(side=2, at=bp, labels=paste(d[,1], d[,2], d[,3]), las=1)
  arrows(y0=bp, x0=bCI[,5], x1=bCI[,6], code=3, angle=90, length=.05)
  points(x=preds, y=bp, pch=15, col="red")

ここに画像の説明を入力してください

この図は、避妊を使用しているカテゴリの各セットで観察された女性の割合と正確な95%信頼区間をプロットしています。モデルの予測される比率は赤でオーバーレイされます。2つの予測された比率が95%CIの外側にあり、さらに5つがそれぞれのCIの限界にあるか非常に近いことがわかります。これは、目標から外れている16のうちの7()です。したがって、モデルの予測は、観測されたデータとあまり一致しません。 44%

モデルはどのように適合しますか?おそらく、関連する変数間の相互作用があります。すべての双方向の相互作用を追加して、適合を評価しましょう。

m2 = glm(cbind(using,notUsing)~(age+education+wantsMore)^2, d, family=binomial)
summary(m2)
# ...
#     Null deviance: 165.7724  on 15  degrees of freedom
# Residual deviance:   2.4415  on  3  degrees of freedom
# AIC: 99.949
# 
# Number of Fisher Scoring iterations: 4
1-pchisq(2.4415, df=3)  # [1] 0.4859562
drop1(m2, test="LRT")
# Single term deletions
# 
# Model:
# cbind(using, notUsing) ~ (age + education + wantsMore)^2
#                     Df Deviance     AIC     LRT Pr(>Chi)  
# <none>                   2.4415  99.949                   
# age:education        3  10.8240 102.332  8.3826  0.03873 *
# age:wantsMore        3  13.7639 105.272 11.3224  0.01010 *
# education:wantsMore  1   5.7983 101.306  3.3568  0.06693 .

このモデルの適合性不足テストのp値は。しかし、これらすべての追加の相互作用項が本当に必要なのでしょうか?コマンドはそれらなしで、ネストされたモデル実験の結果を示しています。間の相互作用とは非常に重要ではありませんが、私はとにかくモデルではそれでいいと思い。それでは、このモデルの予測とデータの比較を見てみましょう。 0.486drop1()educationwantsMore

ここに画像の説明を入力してください

これらは完全ではありませんが、観察された比率が実際のデータ生成プロセスを完全に反映しているとは限りません。これらは適切な量で跳ねているように見えます(より正確には、データが予測で跳ねていると思います)。


2

残差逸脱度統計に分布があるとは思いません。自由度がサンプルサイズと同じ速度で増加する場合、漸近理論は適用されないため、これは縮退分布であると思います。とにかく、テストに十分な能力があるかどうかは疑わしく、回帰スプラインを使用した線形性のテストや相互作用のテストなどの直接テストを奨励しています。χ2


1
この場合、すべての予測子がカテゴリカルであるため、そうではないと思います。飽和モデルの自由度はサンプルサイズによって増加しないため、漸近的アプローチは理にかなっています。サンプルサイズはまだかなり小さいです。
Scortchi-モニカの回復

それでいいかわからない。モデルパラメータのdfは固定されていますが、残差 " " のdf はからそれを引いたものです。χ2n
フランクハレル

この場合、データは分割表の1607人で構成され、テストでは6パラメータモデルと16パラメータ飽和モデル(1607パラメータモデルではない)を比較しています。
Scortchi-モニカの回復

次に、残差としてラベル付けしないでください。χ2
フランクハレル2016

1
私はこの用語の不幸な点に同意glmします。データがグループ化されている場合とそうでない場合とで、「残差」が異なります。さらに、「null逸脱」も異なります。
Scortchi-モニカを回復
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.