Generalized Linear Model(一般化線形モデル)

GLM タブでは、一般化線形モデルによる回帰分析を実行できます。GLM は応答変数の分布(ファミリー)、線形予測子 η=Xβ\eta = X\beta、リンク関数 g(μ)=ηg(\mu) = \eta の3要素で定義され、OLS を指数型分布族に拡張した枠組みです。数理的な背景はGLM の基礎を参照してください。

Linear Regression タブで実行する OLS 回帰は、GLM の特殊ケース(Gaussian ファミリー + Identity リンク)に相当します。OLS の詳細は線形回帰分析を参照してください。

分布ファミリーとリンク関数

MIDAS で選択可能な分布ファミリーとリンク関数を以下に示します。

分布ファミリーの選び方

ファミリーUI 表記分散関数 V(μ)V(\mu)用途
GaussianGaussian (Normal)11連続値の応答変数。通常の線形回帰と同等
BinomialBinomial (Logistic)μ(1μ)\mu(1 - \mu)二値データ(0/1)や割合データ。ロジスティック回帰
PoissonPoisson (Count)μ\muカウントデータ(イベントの発生回数など)。平均と分散が等しいと仮定
GammaGamma (Positive Continuous)μ2\mu^2正の連続値で右に裾が長い分布(待ち時間、費用など)
Negative BinomialNegative Binomial (Overdispersed Count)μ+μ2/θ\mu + \mu^2/\theta過分散のあるカウントデータ。Poisson の等分散仮定 Var(Y)=μ\operatorname{Var}(Y) = \mu が成り立たない場合に使用

ファミリーの選択は応答変数の性質で決まります。二値なら Binomial、非負整数なら Poisson(または過分散があれば Negative Binomial)、正の連続値で分散が平均に比例するなら Gamma が自然な選択です。

Binomial ファミリーでは、個体ごとの0/1データ(Binary)に加えて、成功数/試行数の集約データ(Grouped)にも対応しています。詳細は 用量反応データの Grouped Binomial GLM を参照してください。

リンク関数

リンク関数は線形予測子 η\eta と応答変数の期待値 μ\mu を結びつける単調関数 η=g(μ)\eta = g(\mu) です。各ファミリーの正準リンク関数をデフォルトのリンク関数としています。

ファミリー正準リンク関数利用可能なリンク
GaussianIdentityIdentity, Log
BinomialLogitLogit, Probit
PoissonLogLog, Identity
GammaInverseInverse, Log, Identity
Negative BinomialLogLog
リンク関数数式説明
Identityη=μ\eta = \mu変換なし。Gaussian の正準リンク
Logitη=log ⁣(μ/(1μ))\eta = \log\!\bigl(\mu / (1 - \mu)\bigr)対数オッズ変換。Binomial の正準リンク
Logη=log(μ)\eta = \log(\mu)対数変換。Poisson、Negative Binomial の正準リンク。μ>0\mu > 0 を保証
Inverseη=1/μ\eta = 1/\mu逆数変換。Gamma の正準リンク
Probitη=Φ1(μ)\eta = \Phi^{-1}(\mu)標準正規分布の逆累積分布関数。潜在正規変数モデルに対応

正準リンクは最尤推定の安定性に優れています。非正準リンクは係数の解釈しやすさから選ばれることがありますが、収束が不安定になる場合があります。正準リンクの数理的な性質はGLM の基礎を参照してください。

基本的な使い方

以下の例では Auto MPG データセットを使用しています。

GLM を開く

メニューバーから Analysis > Generalized Linear Model (GLM)... を選択します。

変数の設定

Dataset で分析対象のデータセットを選択します。

Dependent Variable (Y) で目的変数を選択します。数値型(int64, float64)および boolean 型の列が選択できます。boolean 型は自動的に true=1, false=0 に変換されます。Binomial ファミリーの場合は0/1または boolean の列を使用します。

Independent Variables (X) で説明変数を選択します。チェックボックスで複数の変数を選択できます。カテゴリ尺度(名義・順序)や日付型の列は選択できません。カテゴリ変数を使用する場合は、事前に Dummy Coding タブで数値変換が必要です(注意事項を参照)。

Distribution Family で分布ファミリーを選択します。ファミリーを変更すると、リンク関数がそのファミリーのデフォルトに自動で切り替わります。

Link Function でリンク関数を選択します。選択可能なリンク関数はファミリーによって異なります。

Include intercept で切片項の有無を設定します。デフォルトでオンです。

GLM フォーム

Negative Binomial の追加設定

Negative Binomial ファミリーを選択した場合、形状パラメータ θ\theta の設定オプションが表示されます。Negative Binomial 分布の分散は Var(Y)=μ+μ2/θ\operatorname{Var}(Y) = \mu + \mu^2/\theta であり、θ\theta が過分散の程度を制御します。

  • 自動推定(デフォルト): プロファイル尤度法で θ\theta を推定します。外側ループで θ\theta を最適化し、内側ループで IRLS により β\beta を推定するネストされた最適化です
  • 手動指定: Manually specify θ チェックボックスをオンにして値を入力します(0.1〜100、デフォルト1.0)。感度分析やモデル比較に有用です

θ\theta の解釈:

  • θ\theta \to \infty: Poisson 分布に収束(Var(Y)μ\operatorname{Var}(Y) \to \mu
  • θ10100\theta \approx 10\text{--}100: 中程度の過分散
  • θ110\theta \approx 1\text{--}10: 強い過分散
  • θ<1\theta < 1: 極端な過分散

詳細オプション

  • Max Iterations: IRLS の最大反復回数(デフォルト: 100)
  • Convergence Tolerance: 係数の最大絶対変化量に基づく収束判定の閾値(デフォルト: 1e-6)

分析の実行

設定が完了したら、Run GLM ボタンをクリックします。

パラメータ推定には IRLS(Iteratively Reweighted Least Squares)を使用します(アルゴリズムの詳細)。進捗ダイアログに各反復の逸脱度が表示されるため、収束の様子を確認できます。Cancel ボタンで中止でき、収束履歴は Save as Dataset でデータセットとして保存できます。

結果の見方

GLM 結果

Model Summary

指標説明
ConvergenceIRLS が収束したかどうか(反復回数つき)
Deviance残差逸脱度 D=2[(y;y)(y;μ^)]D = 2\bigl[\ell(y;\,y) - \ell(y;\,\hat\mu)\bigr]。飽和モデルからの対数尤度の差に基づく適合度指標
AIC赤池情報量規準 AIC=2+2p\text{AIC} = -2\ell + 2p。異なるモデル間の比較に使用。値が小さいほど良い
Shape Parameter (θ\theta)Negative Binomial の場合のみ表示。推定値か手動指定かも記載

Coefficients(係数テーブル)

説明
Variable変数名(切片は "(Intercept)")
Estimate回帰係数 β^\hat\beta の推定値(リンク関数のスケール)
Std. ErrorWald 標準誤差 diag((XW^X)1)\sqrt{\operatorname{diag}\bigl((X'\hat WX)^{-1}\bigr)}
z valueWald 統計量 z=β^/SE(β^)z = \hat\beta / \operatorname{SE}(\hat\beta)。サンプルサイズが大きい場合に標準正規分布に漸近的に従う
Pr(>|z|)標準正規分布に基づく両側 p 値
(有意水準マーク)*** p<0.001, ** p<0.01, * p<0.05, . p<0.1
Lower 95% / Upper 95%Wald に基づく95%信頼区間 β^±1.96×SE(β^)\hat\beta \pm 1.96 \times \operatorname{SE}(\hat\beta)

OLS の t 検定は有限標本で正確ですが、GLM の Wald 検定は漸近近似のため、サンプルサイズが小さい場合は p 値や信頼区間の精度が低下します。境界的な有意水準(p 値が0.05付近)の結果は慎重に解釈してください。

係数の解釈

係数はリンク関数のスケールで推定されるため、解釈にはリンク関数の逆変換を考慮する必要があります。

  • Identity リンク: β\betaYY の期待値の変化量そのもの(OLS と同じ解釈)
  • Logit リンク: β\beta は対数オッズ比の変化量。exp(β)\exp(\beta) がオッズ比
  • Log リンク: β\betalog(μ)\log(\mu) の変化量。exp(β)\exp(\beta)YY の期待値の乗法的変化(rate ratio)
  • Inverse / Probit リンク: 直接的な解釈が困難なため、予測値を通じた解釈が実用的

係数テーブルは Save as Dataset ボタンでデータセットとして保存し、CSV にエクスポートできます。

モデルの保存と診断

モデルの保存

Model Name フィールドにモデル名を入力し、Save Model をクリックします。モデル名はデフォルトで「GLM: Y ~ X1 + X2 (Family, link)」の形式で自動生成されます。

同じ設定(データセット、目的変数、説明変数、ファミリー、リンク関数)の既存モデルが存在する場合、上書きの確認ダイアログが表示されます。

モデル保存時に生成されるデータ

モデルを保存すると、元のデータセットに診断統計量の列を追加した派生データセットが自動生成されます。

列名数式での記号内容
fitted_valuesμ^i=g1(xiβ^)\hat\mu_i = g^{-1}(x_i'\hat\beta)予測値(応答変数のスケール)
deviance_residualsdid_iDeviance 残差
pearson_residualsri=(yiμ^i)/V(μ^i)r_i = (y_i - \hat\mu_i) / \sqrt{V(\hat\mu_i)}Pearson 残差
standardized_residualsri=di/ϕ(1hi)r_i^* = d_i / \sqrt{\phi(1 - h_i)}標準化残差(Deviance ベース)
leveragehih_iてこ比(Hat 行列の対角要素)
cooks_distanceDiD_iCook's Distance

診断と詳細

モデル保存後、2つのボタンが表示されます。

  • View Model Details - モデルの詳細情報を表示する Model Detail タブを開きます
  • View Diagnostics - 残差診断プロットを表示する GLM Diagnostics タブを開きます

診断プロット

View Diagnostics をクリックすると、4つの診断プロットが表示されます。OLS と同様に、線形性・等分散性・外れ値の影響を確認します。

GLM 診断プロット

残差タイプの選択

診断プロットの残差タイプを Deviance(デフォルト)または Pearson から選択できます。切り替えると4つのプロット全てが即座に更新されます。

  • Deviance Residuals: di=sign(yiμ^i)×2[(yi;yi)(yi;μ^i)]d_i = \operatorname{sign}(y_i - \hat\mu_i) \times \sqrt{2\bigl[\ell(y_i;\,y_i) - \ell(y_i;\,\hat\mu_i)\bigr]}。尤度に基づく残差で、MIDAS のデフォルト
  • Pearson Residuals: ri=(yiμ^i)/V(μ^i)r_i = (y_i - \hat\mu_i) / \sqrt{V(\hat\mu_i)}。観測値と期待値の差を分散関数で標準化した残差。過分散の診断に有用で、Pearson χ2\chi^2 統計量 =ri2= \sum r_i^2 が分散パラメータ ϕ\phi の推定に使われる

Residuals vs Fitted(残差 vs 予測値)

横軸に予測値 μ^\hat\mu、縦軸に残差をプロットします。モデルが適切であれば、残差はゼロの周囲にランダムに散らばります。

  • 曲線的パターン: リンク関数の選択が不適切、または説明変数の非線形効果が欠落している可能性
  • 漏斗状パターン: 分散関数の選択が不適切な可能性(例: Poisson の Var=μ\operatorname{Var} = \mu が実データの分散と合わない)

Normal Q-Q Plot(正規 Q-Q プロット)

Gaussian ファミリーの場合のみ表示されます。 標準化残差の分位数を理論正規分位数に対してプロットし、正規性を確認します。

Gaussian 以外のファミリーでは、Deviance 残差が漸近的に正規分布に近づく保証はありません(特に Binomial の二値データでは成り立ちません)。そのため、非 Gaussian ファミリーではこのプロットの代わりに「This plot is only shown for Gaussian family GLMs.」と表示されます。

Scale-Location(尺度-位置プロット)

標準化残差を rir_i^* として、横軸に予測値、縦軸に ri\sqrt{|r_i^*|} をプロットします。分散が一定(等分散)であれば、点は水平方向に均等に散らばります。

右上がりの傾向がある場合、分散が予測値に依存していることを示唆します。GLM では分散関数 V(μ)V(\mu) によって平均と分散の関係を明示的にモデル化しているため、このプロットでパターンが見られる場合は、選択したファミリーの分散関数がデータに合っていない可能性があります。

Residuals vs Leverage(残差 vs てこ比)

横軸にてこ比 hi=diag(H)ih_i = \operatorname{diag}(H)_i(Hat 行列の対角要素)、縦軸に標準化残差をプロットします。Cook (1977) の Cook's Distance の等高線(D=0.5D = 0.5: オレンジ破線、D=1.0D = 1.0: 赤破線)が表示されます。

  • てこ比(Leverage): 説明変数空間で観測値が他からどれだけ離れているかを示す。hi>2p/nh_i > 2p/npp は変数の数、nn は観測数)が高レバレッジの目安
  • Cook's Distance: Di=ri2phi1hiD_i = \dfrac{r_i^{*2}}{p} \cdot \dfrac{h_i}{1 - h_i}Di>0.5D_i > 0.5 は穏健な基準で注意を要し、Di>1.0D_i > 1.0 は強い影響を示す

等高線の外側に位置する観測値は、その1点を除外するだけでモデルの推定結果が大きく変わる可能性があります。

ポイントの選択

各プロット上でデータポイントをクリックまたは矩形選択すると、該当する観測値の詳細(予測値、残差、てこ比、Cook's Distance 等)がプロット下部のテーブルに表示されます。選択状態は4つのプロット間で同期されます。

Deviance の適合度

Poisson および Binomial ファミリーでは、モデルが正しく指定されているとき、残差 Deviance は漸近的に χ2(np)\chi^2(n - p) 分布に従います。Deviance Goodness-of-Fit チャートは χ2\chi^2 密度曲線と観測された Deviance の位置を表示し、Deviance が分布の中心付近にあるか、裾にあるかを視覚的に判断できます。

Deviance が右裾に位置する場合、モデルがデータの変動を十分に捉えていない可能性があります。重要な説明変数が欠けていないか、分布の仮定が適切かを検討してください。Poisson データの場合、Negative Binomial ファミリーへの切り替えが有効な場合があります。理論的背景はGLM の基礎を参照してください。

Binomial モデルで Binary データ(試行数 = 1)を扱う場合、χ2\chi^2 近似の精度が低下します。その場合は他の診断プロットでモデルの適合度を評価してください。

予測

保存した GLM モデルを使って、新しいデータに対する予測を実行できます。

GLM 予測

予測の実行方法

  1. View Model Details で Model Detail タブを開く
  2. Predict ボタンをクリックして GLM Prediction タブを開く
  3. 予測に使用するデータセットを選択する(説明変数の列名が一致するデータセットのみ選択可能)
  4. 出力設定を行う:
    • Output Dataset Name: 予測結果のデータセット名
    • Include Original Data: 元データの列を結果に含めるかどうか
    • Confidence Levels: 信頼区間の水準(90%, 95%, 99%)
    • Prediction Levels: 予測区間の水準(90%, 95%, 99%)
  5. Run Prediction で予測を実行する

予測結果

予測結果はデータセットとして保存され、以下を含みます:

  • 予測値 μ^=g1(Xβ^)\hat\mu = g^{-1}(X\hat\beta)(応答変数のスケール)
  • 信頼区間(線形予測子のスケールで計算後、逆リンク関数で変換)
  • 予測区間

予測データセットに目的変数が含まれている場合、精度指標(R², RMSE, MAE)が自動的に計算・表示されます。

注意事項

カテゴリ変数の使用

GLM では数値型の変数のみ使用できます。カテゴリ尺度(名義・順序)や日付/日時型の変数を説明変数として使用するには、Dummy Coding タブで数値のダミー変数に変換してから分析を行います。

欠損値・無効値の自動除外

欠損値(null)、非数値、無限大を含む行は分析から自動的に除外されます。除外された行数は結果の Model Summary に表示されます。

収束の問題

IRLS が収束しない場合は以下を確認してください:

  • 反復回数: Max Iterations を増やす(例: 100 → 500)
  • 許容誤差: Convergence Tolerance を緩める(例: 1e-6 → 1e-4)
  • スケーリング: 説明変数の桁が大きく異なる場合、数値的不安定性の原因になります。標準化を検討してください
  • 完全分離: ロジスティック回帰で応答変数を完全に分離できる説明変数が存在する場合、最尤推定値が有限値に収束しません(Albert & Anderson, 1984)。該当する変数の除外やデータの確認が必要です
  • ゼロ過剰: カウントデータにゼロが極端に多い場合、Poisson や Negative Binomial では適合が困難な場合があります

参考文献

  • Nelder, J. A., & Wedderburn, R. W. M. (1972). Generalized linear models. Journal of the Royal Statistical Society: Series A, 135(3), 370-384.
  • McCullagh, P., & Nelder, J. A. (1989). Generalized Linear Models (2nd ed.). Chapman and Hall/CRC.
  • Cook, R. D. (1977). Detection of influential observation in linear regression. Technometrics, 19(1), 15-18.
  • Albert, A., & Anderson, J. A. (1984). On the existence of maximum likelihood estimates in logistic regression models. Biometrika, 71(1), 1-10.