R で glm 出力を解釈する方法 (例あり)


R のglm()関数を使用して、一般化線形モデルを近似することができます。

この関数は次の構文を使用します。

glm(式、ファミリー=ガウス、データ、…)

金:

  • 式:線形モデルの式 (例: y ~ x1 + x2)
  • family:モデルの適合に使用する統計的ファミリ。デフォルトはガウスですが、他のオプションには二項、ガンマ、ポアソンなどが含まれます。
  • data:データを含むデータ ブロックの名前

実際には、この関数は「二項」ファミリーを指定してロジスティック回帰モデルを近似するために最もよく使用されます。

次の例は、ロジスティック回帰モデルの R で glm 出力を解釈する方法を示しています。

例: R で glm 出力を解釈する方法

この例では、R に組み込まれているmtcarsデータセットを使用します。

 #view first six rows of mtcars dataset
head(mtcars)

                   mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3,460 20.22 1 0 3 1

変数disphpを使用して、特定の車が変数amの値 1 を取る確率を予測します。

次のコードは、 glm()関数を使用してこのロジスティック回帰モデルに適合する方法を示しています。

 #fit logistic regression model
model <- glm(am ~ disp + hp, data=mtcars, family=binomial)

#view model summary
summary(model)

Call:
glm(formula = am ~ disp + hp, family = binomial, data = mtcars)

Deviance Residuals: 
    Min 1Q Median 3Q Max  
-1.9665 -0.3090 -0.0017 0.3934 1.3682  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept) 1.40342 1.36757 1.026 0.3048  
available -0.09518 0.04800 -1.983 0.0474 *
hp 0.12170 0.06777 1.796 0.0725 .
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 43,230 on 31 degrees of freedom
Residual deviance: 16,713 on 29 degrees of freedom
AIC: 22,713

Number of Fisher Scoring iterations: 8

結果の各要素を解釈する方法は次のとおりです。

係数と P 値

結果の係数推定値は、各予測変数の 1 単位の増加に関連する応答変数の対数尤度の平均変化を示します。

たとえば、予測変数 disp の 1 単位の増加は、応答変数 am が値 1 をとる対数尤度の平均変化 -0.09518 に関連付けられます。これは、disp の値が高いほど、disp の値が低いほど関連していることを意味します。確率。変数の値は 1 です。

標準誤差は、係数推定に関連する変動性のアイデアを与えてくれます。次に、係数推定値を標準誤差で割って、az 値を取得します。

たとえば、予測子変数 disp のz 値は、-.09518 / .048 = -1.983 として計算されます。

p 値Pr(>|z|) は、特定の Z 値に関連付けられた確率を示します。これは基本的に、各予測子変数がモデル内の応答変数の値をどの程度正確に予測できるかを示します。

たとえば、変数 disp の Z 値に関連付けられた p 値は 0.0474 です。この値は 0.05 未満であるため、disp はモデル内で統計的に有意な予測変数であると言えます。

好みに応じて、0.01、0.05、または 0.10 の有意水準を使用して、各予測変数が統計的に有意かどうかを判断できます。

ゼロ逸脱と残留逸脱

出力のゼロ逸脱は、元の項のみを含むモデルによって応答変数がどの程度正確に予測できるかを示します。

残差逸脱度は、 p 個の予測子変数でフィッティングしている特定のモデルによって応答変数がどの程度正確に予測できるかを示します。値が低いほど、モデルは応答変数の値をより適切に予測できます。

モデルが「有用」かどうかを判断するには、次のようにカイ二乗統計量を計算します。

X 2 = ゼロ逸脱 – 残留逸脱

p 個の自由度を持ちます。

次に、このカイ二乗統計量に関連付けられた p 値を見つけることができます。 p 値が低いほど、元の項のみを含むモデルと比較して、モデルはデータセットに適合することができます。

たとえば、回帰モデルでは、ゼロおよび残差偏差の出力で次の値を観察できます。

  • 逸脱ゼロ: 43.23 (df = 31)
  • 残留偏差: 16.713 (df = 29)

これらの値を使用して、モデルの X 2統計を計算できます。

  • X 2 = ゼロ逸脱 – 残留逸脱
  • X2 = 43.23 – 16.713
  • X2 = 26,517

予測変数にはp = 2 の自由度があります。

カイ二乗から P 値への計算ツールを使用すると、2 自由度の X 2値 26.517 の p 値が 0.000002 であることがわかります。

この p 値は 0.05 よりもはるかに低いため、このモデルは非常に有用であると結論付けることができます。

AIC

赤池情報量基準 ( AIC ) は、さまざまな回帰モデルの適合度を比較するために使用される尺度です。値が低いほど、回帰モデルはデータに適合しやすくなります。

次のように計算されます。

AIC = 2K – 2 ln (長さ)

金:

  • K:モデルパラメータの数。
  • ln (L) : モデルの対数尤度。これにより、モデルがデータに基づいている可能性がどの程度であるかがわかります。

AIC の実際の値は意味がありません。

ただし、複数の回帰モデルを近似した場合は、各モデルの AIC 値を比較できます。 AIC が最も低いモデルが最適な適合を提供します。

関連:適切な AIC 値はどれくらいと考えられますか?

追加リソース

次のチュートリアルでは、R でglm()関数を使用する方法に関する追加情報を提供します。

Rのglmとlmの違い
Rのglmでpredict関数を使用する方法

次のチュートリアルでは、 glm()関数を使用するときに一般的なエラーを処理する方法について説明します。

R の処理方法 警告: glm.fit: アルゴリズムが収束しませんでした
扱い方: glm.fit: 数値的に調整された確率 0 または 1 が発生する

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です