GLM タブ
GLM タブは、二値・カウント・正の連続値など、正規分布を仮定できない応答変数に一般化線形モデル(GLM)を当てはめます。GLM は応答変数の分布族とリンク関数を指定して線形モデルを拡張する枠組みで、数理的背景は GLM の基礎 で説明しています。
Linear Regression タブ で実行する OLS 回帰は、Gaussian 分布族と Identity リンクを選んだ GLM と同じモデルです。応答変数が連続値で正規分布を仮定できる場合は Linear Regression タブを使えます。
分布族とリンク関数
分布族
Distribution Family では、応答変数のデータ型に対応する分布族を選びます。選択肢は次の 5 つです。
| 分布族(UI 表記) | 説明 |
|---|---|
| Gaussian (Normal) | 身長や温度のような連続値に使用します |
| Binomial (Logistic) | 購入の有無や検査の合否のような二値(0/1)の応答に使用します。成功数と試行数の組にも対応します。ロジスティック回帰にあたります。 |
| Poisson (Count) | カウントデータに使用します。1 日あたりの問い合わせ件数や事故件数のモデリングによく使われます。ポアソン回帰にあたります。 |
| Gamma (Positive Continuous) | 待ち時間や修理費用のような、右に裾が長い正の連続値に使用します |
| Negative Binomial (Overdispersed Count) | 過分散のあるカウントデータに使用します。Poisson の分散が平均に等しいという仮定が成り立たない場合に選びます。 |
Binomial 分布族では Response format を選べます。Binary (0/1) は個体ごとの 0/1 データを、Grouped (n trials) は成功数と試行数に集約したデータを当てはめます。Grouped を選ぶと Response Variable (Y) の代わりに Successes 列と Trials 列を指定します。Grouped Binomial の分析例は 用量反応データの Grouped Binomial GLM を参照してください。
リンク関数
Link Function の選択肢は分布族によって決まります。分布族を変更すると、リンク関数はその分布族のデフォルトに自動で切り替わります。
| 分布族 | デフォルト | 選択可能なリンク |
|---|---|---|
| Gaussian | Identity | Identity, Log |
| Binomial | Logit | Logit, Probit |
| Poisson | Log | Log, Identity |
| Gamma | Inverse | Inverse, Log, Identity |
| Negative Binomial | Log | Log |
リンク関数は線形予測子と応答変数の期待値を結びつける関数です。効果を差として読むか比として読むかという選択の判断材料と、正準リンクの性質は GLM の基礎: リンク関数の選択 を参照してください。
基本的な使い方
以下の例では Auto MPG データセットを使用しています。リンクを開くと、MIDAS がこのデータセットを読み込んだ状態で起動します。
GLM を開く
メニューバーから Analysis > Generalized Linear Model (GLM)... を選択します。
分析の設定

Dataset で分析対象のデータセットを選択します。
Response Variable (Y) で応答変数を選択します。数値型(間隔・比率尺度)の列のみ選択できます。Binomial 分布族では 0/1 の値を持つ列を使用します1。
Predictor Variables (X) で説明変数をチェックボックスで選択します。カテゴリ尺度(名義・順序)や日付型の列は選択できず、事前に Dummy Coding タブ での数値変換が必要です。
Distribution Family と Link Function で分布族とリンク関数を選択します。選択肢は 分布族とリンク関数 を参照してください。
Include intercept で切片項の有無を設定します。デフォルトはオンです。
Confidence Level で係数の信頼区間の水準を設定します。デフォルトは 95% で、50〜99.99% の範囲で指定できます。設定した水準は係数テーブルの Lower N% / Upper N% 列に反映されます。
Max Iterations と Convergence Tolerance は推定アルゴリズムの反復回数の上限と収束判定のしきい値です。係数の最大絶対変化量がしきい値を下回ると収束と判定します。デフォルトは 100 回と 1e-6 です。デフォルトのままで収束しない場合の調整は 収束の問題 を参照してください。
Negative Binomial の追加設定
Negative Binomial 分布族を選択すると、形状パラメータ θ の設定が表示されます。θ は過分散の程度を制御するパラメータで、統計的な意味は GLM の基礎: 分散関数と過分散 を参照してください。
デフォルトでは θ をプロファイル尤度法で自動推定します。推定の仕組みは GLM の基礎: 指数型分布族 を参照してください。Manually specify θ をオンにすると θ を 0.1〜100 の範囲で手動指定できます。入力欄の初期値は 1.0 です。手動指定は、θ を変えたときの結果の変化を確かめる感度分析や、θ を揃えたモデル比較に使います。
オフセット変数
Offset Variable では、係数を 1 に固定して線形予測子に加える列を指定できます。オフセットは推定対象のパラメータではなく、各観測で既知の値です。オフセットに指定した列は説明変数の候補から外れます。
典型的な使用例はポアソン回帰でのレートのモデリングです。たとえば設備ごとの故障件数を比較するとき、稼働時間が設備ごとに違うと件数をそのまま比べられません。1,000 時間稼働して 10 件故障した設備より、100 時間で 5 件故障した設備のほうが、単位時間あたりの故障は多いためです。
この稼働時間の違いをオフセットで織り込めます。故障件数を応答変数にし、稼働時間の対数 log(hours) をオフセットに設定すると、件数ではなく単位時間あたりの故障率をモデル化できます。
このモデルでは を率比として解釈できます。保守契約の有無を説明変数にして が 0.8 と推定されたなら、保守契約のある設備の故障率はない設備の 0.8 倍、という推定です。
オフセットは null deviance(切片とオフセットだけのモデルの逸脱度)にも影響し、オフセットなしの場合と値が異なります。
オフセット付きモデルで 予測 を実行する場合、予測先のデータセットにも同じ名前のオフセット列が必要です。
分析の実行
設定が完了したら Run GLM をクリックします。パラメータ推定には IRLS(Iteratively Reweighted Least Squares)を使用します。アルゴリズムの詳細は GLM の基礎: パラメータ推定 を参照してください。
推定中は進捗ダイアログに各反復の逸脱度が表示され、収束の様子を確認できます。Cancel で推定を中止できます。収束履歴は Save as Dataset でデータセットとして保存できます。
実行後に変数選択やモデル設定を変えると、表示中の結果は現在の設定のものではなくなります。MIDAS はこの結果を画面から外し、再実行を促すメッセージを表示します。設定を元に戻すと結果は再び表示されます。Dataset を変えたときは変数選択も初期化されるため、結果は戻らずに破棄されます。Confidence Level の変更では結果を保持します。信頼水準は推定済みの係数から区間だけを計算し直す設定だからです。
結果の見方

Model Summary
Model Summary には適合度の指標が並びます。
Convergence は IRLS が収束したかどうかを反復回数つきで示します。収束していない場合、係数や標準誤差は信頼できません。
Deviance は残差逸脱度です。飽和モデルとの対数尤度の差にもとづく適合度指標で、詳細は GLM の基礎 を参照してください。
AIC は赤池情報量規準で、値が小さいほど当てはまりとモデルの複雑さのバランスが良いことを示します。AIC の比較は同一分布族内のモデル間でのみ行ってください。分布族が異なると対数尤度の定数項の扱いが異なるためです2。
Shape Parameter (θ) は Negative Binomial の場合のみ表示され、推定値か手動指定値かも記載されます。
Coefficients(係数テーブル)
係数テーブルには次の列が表示されます。
| 列 | 内容 |
|---|---|
| Variable | 変数名。切片は "(Intercept)" です。 |
| Estimate | 係数の推定値。リンク関数のスケールです。 |
| Std. Error | Wald 標準誤差 |
| Lower N% / Upper N% | Wald 信頼区間。N は設定した信頼水準です。 |
| OR / IRR / exp(Est.) | 。リンク関数に応じて表示されます。 |
| exp(Lower N%) / exp(Upper N%) | 信頼区間を 変換した値 |
の列は、Logit リンクではオッズ比(OR)、Poisson と Negative Binomial の Log リンクでは率比(IRR)、Gaussian と Gamma の Log リンクでは乗法的効果 exp(Est.) として表示されます。Identity、Inverse、Probit リンクではこの列は表示されません。
信頼区間は、分散パラメータをデータから推定する分布族では t 分布、それ以外では標準正規分布にもとづいて計算します。標準誤差と信頼区間の計算の詳細は GLM の基礎: 係数の標準誤差と信頼区間 を参照してください。
係数の解釈
係数はリンク関数のスケールで推定されるため、解釈はリンク関数によって変わります。
| リンク | 係数の解釈 |
|---|---|
| Identity | が応答変数の期待値の変化量そのものです。OLS と同じ解釈です。 |
| Logit | が対数オッズの変化量で、 がオッズ比です |
| Log | が期待値の乗法的変化です |
| Inverse、Probit | 係数の直接的な解釈が難しいため、予測値を通じた解釈が実用的です |
効果を差として読むか比として読むかという効果尺度の考え方は GLM の基礎: リンク関数の選択 を参照してください。
係数テーブルの保存とレポート
係数テーブルは Save as Dataset でデータセットとして保存し、CSV にエクスポートできます。保存されるデータセットの列は Variable、Estimate、Std. Error、Lower N%、Upper N% で、Logit リンクと Log リンクでは exp 変換列も含まれます。
係数データセットの保存にはモデルの保存が必要です。モデルが未保存のときは、ダイアログでモデル名も入力し、モデルとデータセットをまとめて保存します。係数データセットはモデルに紐付き、モデルを削除すると一緒に削除され、モデルを再学習すると新しい結果で更新されます。
Add to Report で係数テーブルを レポート に追加できます。こちらもモデルの保存が前提です。
モデルの保存と診断
モデルの保存
Model Name にモデル名を入力し、Save Model をクリックします。モデル名は「GLM: Y ~ X1 + X2 (Family, link)」の形式で自動生成されるため、そのまま使えます。同じ設定(データセット、応答変数、説明変数、分布族、リンク関数、切片の有無)の既存モデルがある場合は、上書きの確認ダイアログが表示されます。
保存後の操作
モデルを保存すると View Model Details と View Diagnostics の 2 つのボタンが表示されます。
View Model Details は Model Detail タブを開きます。Model Detail タブの Confidence Level 入力を変更すると、保存済みの係数と標準誤差から信頼区間と列ヘッダをその場で再計算します。モデルに保存された値は変わりません。Model Detail タブからは Add to Report でのレポート追加と、Make Predictions での 予測 も実行できます。
View Diagnostics は残差診断プロットを表示する GLM Diagnostics タブを開きます。
診断用に生成されるデータ
GLM Diagnostics タブを最初に開くと、元のデータセットに診断統計量の列を追加した派生データセットが生成されます。追加される列は次のとおりです。
| 列名 | 内容 |
|---|---|
fitted_values | 予測値。応答変数のスケールです。 |
deviance_residuals | Deviance 残差 |
pearson_residuals | Pearson 残差 |
standardized_residuals | 標準化残差(Deviance ベース) |
sqrt_abs_std_residuals | 標準化残差の絶対値の平方根。Scale-Location プロットの縦軸です。 |
standardized_pearson_residuals | 標準化残差(Pearson ベース) |
sqrt_abs_std_pearson_residuals | Pearson ベースの標準化残差の絶対値の平方根 |
leverage | てこ比(Hat 行列の対角要素) |
cooks_distance | Cook's Distance(Deviance ベース) |
cooks_distance_pearson | Cook's Distance(Pearson ベース) |
Pearson ベースの列は、残差タイプの選択 で Pearson を選んだ場合の診断プロットに対応します。標準化に使う分散パラメータの扱いは分布族によって異なり、詳細は GLM の基礎: 分散関数と過分散 を参照してください。
診断プロット
View Diagnostics をクリックすると 4 つの診断プロットが表示されます。OLS と同様に、モデルの当てはまり・分散の仮定・外れ値の影響を確認します。

残差タイプの選択
診断プロットの残差タイプを Deviance(デフォルト)と Pearson から選択できます。切り替えると 4 つのプロットすべてが更新されます。Deviance 残差は尤度にもとづく残差です。Pearson 残差は観測値と期待値の差を分散関数で標準化した残差で、過分散の診断に使います。2 つの残差の定義と違いは 統計用語集 を参照してください。
4 つのプロット
Residuals vs Fitted(残差 vs 予測値)
横軸に予測値、縦軸に残差をプロットします。モデルが適切であれば、残差はゼロの周囲にランダムに散らばります。曲線的なパターンは、リンク関数の選択が不適切か、説明変数の非線形効果が欠けている可能性を示します。漏斗状のパターンは、選んだ分布族の分散の仮定がデータに合っていない可能性を示します。
Normal Q-Q Plot(正規 Q-Q プロット)
標準化残差の分位点を理論正規分位点に対してプロットし、正規性を確認します。このプロットは Gaussian 分布族の場合のみ表示されます。Gaussian 以外の分布族では残差が正規分布に近づく保証がないため、プロットの代わりに「This plot is only shown for Gaussian family GLMs.」と表示されます。
Scale-Location(尺度-位置プロット)
横軸に予測値、縦軸に標準化残差の絶対値の平方根をプロットします。分散の仮定が適切であれば、点は水平方向に均等に散らばります。右上がりの傾向は、選択した分布族の分散関数がデータに合っていない可能性を示します。
Residuals vs Leverage(残差 vs てこ比)
横軸にてこ比、縦軸に標準化残差をプロットし、Cook's Distance の等高線(D = 0.5: オレンジ破線、D = 1.0: 赤破線)を重ねて表示します。てこ比は説明変数の空間で観測値が他からどれだけ離れているかを示します。等高線の外側にある観測値は、その 1 点を除外するだけで推定結果が大きく変わる可能性があります。
ポイントの選択
各プロット上でデータポイントをクリックまたは矩形選択すると、該当する観測値の詳細(予測値、残差、てこ比、Cook's Distance 等)がプロット下部のテーブルに表示されます。選択状態は 4 つのプロット間で同期されます。
Deviance の適合度
Poisson と Binomial 分布族では、GLM Diagnostics タブに Deviance/df 比(残差逸脱度を残差自由度で割った値)を表示します。この比が 1 前後であれば、データの変動がモデルの想定と整合的です。1 より大幅に大きい場合は過分散を疑い、Poisson データでは Negative Binomial への切り替えを検討します。過分散の意味と診断の理論的背景は GLM の基礎: 分散関数と過分散 を参照してください。
Binomial モデルで Binary データ(試行数 = 1)を扱う場合、Deviance/df 比は信頼できる適合度の指標になりません。その場合は診断プロットで当てはまりを評価してください。
予測
保存した GLM モデルで、新しいデータに対する予測を実行できます。

予測の実行方法
- View Model Details で Model Detail タブを開きます。
- Make Predictions をクリックして GLM Prediction タブを開きます。
- 予測に使用するデータセットを選択します。当てはめ時と同じ説明変数の列名を持つデータセットのみ選択できます。
- 出力を設定します。Output Dataset Name は予測結果のデータセット名です。Include original data は元データの列を結果に含めるかどうかです。Confidence Interval Levels と Prediction Interval Levels では区間の水準を 90%、95%、99% から選びます。
- Run Prediction で予測を実行します。
予測結果
予測結果はデータセットとして保存されます。結果には、応答変数のスケールの予測値、平均応答の信頼区間、新規観測値の予測区間が含まれます。信頼区間は与えられた説明変数の値における母平均の推定の不確かさを、予測区間は個々の観測値のばらつきを含めた不確かさを表します。
予測区間の多くはパラメータ推定の不確実性を含まないプラグイン法で計算するため、小標本や外挿点では区間が実際より狭くなることがあります。区間の計算方法と参照分布の詳細は GLM の基礎: 平均応答の信頼区間と予測区間 を参照してください。
予測精度指標
予測先のデータセットに応答変数の列が含まれている場合、予測値と観測値を比較する精度指標を計算して表示します。表示する指標は分布族によって異なります。各指標の定義と読み方は 予測精度の指標 を参照してください。
| 分布族 | 指標 |
|---|---|
| Gaussian | R²、RMSE、MAE |
| Gamma、Poisson、Negative Binomial | RMSE、MAE、Mean Deviance |
| Binomial | Brier Score、AUC |
Gaussian の R² は、予測先データセット自身の観測値の平均を基準にした予測 R² で、観測値がすべて同じ値のときは計算できず "-" と表示します。Gamma、Poisson、Negative Binomial で R² の代わりに Mean Deviance を表示する理由は 予測精度の指標 を参照してください。
Binomial の AUC は、観測値が片方のクラスしか含まない場合は計算できず "-" と表示します。成功数と試行数の形式で当てはめたモデルでは Brier Score と AUC を試行数で重み付けして計算するため、予測先のデータセットには試行数の列も必要です。
予測先に当てはめに使ったデータセット自身を選んだ場合は、その旨の注記を指標と併せて表示します。この場合の指標は当てはめたデータへの適合を測るもので、当てはめに使っていないデータで計算した指標より良い値になりやすいためです。
注意事項
カテゴリ変数の使用
GLM では数値型の変数のみ使用できます。カテゴリ尺度(名義・順序)や日付・日時型の変数を説明変数に使うには、Dummy Coding タブ で数値のダミー変数に変換してから分析します。
欠損値・無効値の自動除外
欠損値(null)、非数値、無限大を含む行は分析から自動的に除外されます。除外された行数は、GLM Diagnostics タブの Data 欄に「after removing 5 incomplete observations」のように、行数を含む形式で表示されます。この除外はリストワイズ除去で、妥当な推定を与える条件は 欠損データのメカニズム を参照してください。
収束の問題
IRLS が収束しない場合は、Max Iterations を 100 から 500 のように増やす、Convergence Tolerance を 1e-6 から 1e-4 のように緩める、説明変数を標準化する、の順に試してください。説明変数の桁が大きく異なることは数値的不安定性の主な原因です。
説明変数や応答変数が極端な値域を持つと、分散の計算がオーバーフローまたは未定義になり、標準誤差を計算できずエラーになることがあります。変数をリスケールまたは標準化してから再適合してください。
計画行列(design matrix)の条件数が を超えると、悪条件(ill-conditioned)であることを示す警告を結果に表示します。説明変数間の強い相関や、説明変数間のスケールの大きな違いが主な原因です。意味と対処は 条件数 を参照してください。
推定するパラメータ数が観測数に達して残差自由度が 0 になると(飽和モデル)、分布族によって挙動が異なります。分散パラメータをデータから推定する分布族(Gaussian、Gamma、θ を手動指定した Negative Binomial)では、分散パラメータを推定できないため適合はエラーで中止されます。説明変数を減らすか、観測を増やしてください。それ以外の分布族では適合は完了しますが、モデルがデータに完全に適合しており適合度の診断が意味をなさない旨の警告が表示され、AIC は計算されません。
適合した平均が分布族の有効範囲を外れると、MIDAS は値を範囲内に押し込めず、適合を中止してエラーを表示します。押し込めると逸脱度や標準誤差が係数とは別の適合を表すことになるためです。原因の 1 つはリンク関数と分布族の組み合わせで、Poisson や Gamma に Identity リンクを使うと負やゼロの平均が生じえます。この場合は Log などの値域が合うリンクを検討してください。もう 1 つの原因は反復の発散で、説明変数の標準化、冗長な説明変数の削除、反復回数の引き上げで対処します。
ロジスティック回帰で応答変数を完全に分離できる説明変数があると、最尤推定値が有限の値に収束しません。MIDAS は分離を検知し、適合が完了する場合は警告を表示します。分離が強い場合や Probit リンクでは適合確率が 0 または 1 に飽和して適合がエラーで中止されることがあり、該当する説明変数の除外、スケールの調整、高レバレッジの観測値の確認で対処します。分離の統計的背景は GLM の基礎: パラメータ推定 を参照してください。
カウントデータにゼロが極端に多い場合、Poisson や Negative Binomial では適合が困難なことがあります。
脚注
-
二値を boolean 型で持つ列は既定で名義尺度と推論されるため選択できません。Data Table で尺度を間隔尺度に変更すると選択でき、true = 1、false = 0 として扱われます。 ↩
-
AIC のパラメータ数 k は分布族によって数え方が異なります。Poisson と Binomial では回帰係数(切片を含む)の数、Gaussian と Gamma ではそれに分散パラメータを加えた数です。Negative Binomial では θ を自動推定した場合のみ θ を k に含め、手動指定した θ は推定パラメータではないため含めません。θ 推定モデルと θ 固定モデルの AIC を比較するときはこの差に注意してください。 ↩
このページの Markdown 版もあります。