ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

GeneralizedLinearModel クラス

スーパークラス: CompactGeneralizedLinearModel

一般化線形回帰モデル クラス

説明

一般化線形回帰の学習データ、モデル記述子、診断情報および近似係数からなるオブジェクト。predict メソッドまたは feval メソッドを使用してモデル応答を予測します。

構築

mdl = fitglm(tbl) または mdl = fitglm(X,y) は、テーブルまたはデータセット配列 tbl の一般化線形モデル、またはデータ行列 X に対する応答 y の一般化線形モデルを作成します。詳細は、「fitglm 」を参照してください。

mdl = stepwiseglm(tbl) または mdl = stepwiseglm(X,y) は、重要でない予測子を除外してテーブルまたはデータセット配列 tbl の一般化線形モデル、またはデータ行列 X に対する応答 y の一般化線形モデルを作成します。詳細は、「stepwiseglm 」を参照してください。

入力引数

すべて展開する

入力データ。テーブルまたはデータセット配列として指定します。modelspecformula の場合、予測子および応答として使用される変数が指定されます。それ以外の場合、予測子変数と応答変数を指定しないときは、既定では、最後の変数が応答変数で、その他の変数が予測子変数になります。

予測子変数は数値、あるいは論理またはカテゴリカルなどのグループ化変数の型にできます (グループ化変数を参照してください)。応答は数値または論理でなければなりません。

応答変数として異なる列を設定するには、名前と値のペア引数 ResponseVar を使用します。列のサブセットを予測子として使用するには、名前と値のペア引数 PredictorVars を使用します。

n 行 p 列の行列として指定される予測子変数。ここで、n は観測値の数、p は予測子変数の数です。X の各列が 1 つの変数を表し、各行が 1 つの観測値を表します。

既定では、明示的に削除しない限り、モデルには定数項があるので、1 の列を X に含めないでください。

データ型: single | double | logical

n 行 1 列のベクトルとして指定される応答変数。ここで、n は観測値の数です。y の各エントリは X の対応する行に対する応答です。

データ型: single | double | logical

プロパティ

すべて展開する

係数推定値の共分散行列。p 行 p 列の数値の行列を指定します。p は、あてはめたモデルの係数の個数です。

係数の名前。各係数のラベルが含まれている文字ベクトルの cell 配列を指定します。

係数の値。テーブルを指定します。Coefficients は、各係数に 1 つの行が対応し、次の列があります。

  • Estimate — 推定される係数値

  • SE — 推定の標準誤差

  • tStat — 係数が 0 である検定の t 統計

  • pValue — t 統計量の p 値

ベクトルとしてこれらの列のいずれかを取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、mdl 内の推定された係数ベクトルは次のようになります。

beta = mdl.Coefficients.Estimate

coefTest を使用して係数に他の検定を実行します。

あてはめの逸脱度。数値を指定します。逸脱度は、一方が他方の特別なケースである 2 つのモデルを比較するために役立ちます。2 つのモデルの逸脱度の差異は、2 つのモデル間に推定されるパラメーター数の差異と等しい自由度をもつカイ二乗分布になります。逸脱度の詳細は、逸脱度を参照してください。

誤差 (残差) の自由度。推定された係数の個数を観測値の個数から減算した値に等しくなります。正の整数値を指定します。

モデルの診断情報。table を指定します。診断は、外れ値と影響が大きい観測値を特定するために役立てることができます。Diagnostics には次のフィールドが含まれています。

フィールド意味ユーティリティ
LeverageHatMatrix の対角要素てこ比は、観測の予測値が、どの程度までその観測の観測値によって決定されるかを示します。1 に近い値は、他の観測からの寄与がわずかしかなく、予測がその観測によって大部分決定されることを示します。0 に近い値は、近似が他の観測によって大部分決定されることを示します。係数 p と観測値 n のあるモデルの場合、Leverage の平均値は p/n です。2*p/n より大きい Leverage をもつ観測値は外れ値となる可能性があります。
CooksDistance近似値におけるスケーリングされた変化のクックの測定CooksDistance は、近似値におけるスケーリングされた変化の測定です。平均のクックの距離よりも 3 倍長い CooksDistance の観測は外れ値にできます。
HatMatrix観測された応答から近似を計算するための射影行列HatMatrix は、Fitted = HatMatrix*Y となる n 行 n 列の行列です。ここで、Y は応答ベクトル、Fitted は応答の近似値のベクトルです。

これらの数量はすべて、線形予測子のスケールで計算されます。たとえば、hat 行列を定義する方程式の中などです。

Yfit = glm.Fitted.LinearPredictor
Y = glm.Fitted.LinearPredictor + glm.Residuals.LinearPredictor

応答の分散のスケール係数。構造体を指定します。Dispersion は、分布の分散関数に乗算されます。

たとえば、二項分布の分散関数は p(1–p)/n です。ここで p は確率パラメーターで、n は標本サイズのパラメーターです。Dispersion1 に近い場合、データの分散は二項分布の理論的分散に一致して見えます。Dispersion1 より大きい場合、データは二項分布に比べて "過剰に分散" します。

fitglmDispersion のスケール係数を使用して Coefficients.SE の係数の標準誤差を計算したかどうかを示すフラグ。論理値を指定します。DispersionEstimatedfalse であれば、fitglm は分散の理論値を使用しました。

  • 'binomial' または 'poisson' 分布の場合のみ DispersionEstimated の値は false になる可能性があります。

  • 名前と値のペア DispersionFlagfitglm に指定して、DispersionEstimated を設定します。

一般化分布の情報。一般化分布に関連する次のフィールドがある構造体を指定します。

フィールド説明
Name分布の名前。'normal''binomial''poisson''gamma' または 'inverse gaussian' のいずれかです。
DevianceFunction逸脱度の成分をあてはめを行ったパラメーター値とその応答値との関数として計算する関数。
VarianceFunctionあてはめを行ったパラメーター値の関数として分布の理論的分散を計算する関数。DispersionEstimatedtrue である場合、Dispersion は係数の標準誤差を計算するときに分散関数を乗算します。

入力データに基づいてあてはめ (予測) を行った応答値。各観測値に対応する 1 つずつの行と次の列が含まれている table を指定します。

フィールド説明
Response応答のスケール上の予測値。
LinearPredictor線形予測子のスケール上の予測値。これらは Response 近似値に適用されるリンク関数と同じです。
Probabilityあてはめの確率 (二項分布でのみこの列が含まれます)

この列のいずれかをベクトルとして取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl で応答スケール上のあてはめられた値のベクトル f は次のようになります。

f = mdl.Fitted.Response

predict を使用して、他の予測値の予測を計算するか、Fitted で信頼限界を計算します。

モデルの情報。LinearFormula オブジェクトまたは NonLinearFormula オブジェクトを指定します。線形または一般化線形回帰モデルをあてはめる場合、FormulaLinearFormula オブジェクトです。非線形回帰モデルをあてはめる場合、FormulaNonLinearFormula オブジェクトです。

応答値におけるモデルの分布の対数尤度。数値を指定します。平均はモデルからあてはめられ、他のパラメーターはモデルのあてはめに伴って推定されます。

モデルの比較基準。次のフィールドがある構造体を指定します。

  • AIC — 赤池情報量基準。AIC = –2*logL + 2*mlogL は対数尤度、m は推定パラメーターの個数です。

  • AICc — 標本サイズについて修正された赤池情報量基準。AICc = AIC + (2*m*(m+1))/(n–m–1)n は観測値の個数です。

  • BIC — ベイズ情報量基準。BIC = –2*logL + m*log(n)

  • CAIC — 一貫した赤池情報量基準。CAIC = –2*logL + m*(log(n)+1)

情報量基準は、同じデータにあてはめた複数のモデルを比較するために使用できるモデル選択ツールです。これらの基準は、尤度に基づくモデル近似の尺度であり、複雑度 (特にパラメーター数) に対するペナルティが含まれています。情報量基準が異なるとペナルティの形式が異なります。

複数のモデルを比較した場合に、情報量基準の値が最も小さいモデルが最良近似モデルです。最良近似モデルは、モデルの比較に使用する基準によって変化する可能性があります。

これらの基準値のいずれかをスカラーとして取得するには、ドット表記を使用してプロパティのインデックスを指定します。たとえば、モデル mdl では、AIC 値 aic は次のようになります。

aic = mdl.ModelCriterion.AIC

モデルの係数の個数。正の整数を指定します。NumCoefficients には、モデルの項がランク落ちとなる場合にゼロに設定される係数が含まれます。

モデル内の推定された係数の個数。正の整数を指定します。NumEstimatedCoefficients には、モデルの項がランク落ちとなる場合にゼロに設定される係数は含まれません。NumEstimatedCoefficients は回帰の自由度です。

近似関数があてはめに使用した観測値の個数。正の整数を指定します。これは、元のテーブル、データセットまたは行列に入力された観測の数から、除外された行 (Exclude 名前と値のペアで設定) または欠損値のある行を差し引いたものです。

モデルのあてはめに使用した予測子変数の個数。正の整数を指定します。

入力データに含まれている変数の個数。正の整数を指定します。NumVariables は、元の table またはデータセットに含まれている変数の個数です。または、あてはめが予測子行列と応答ベクトルに基づいている場合は、これらの配列の列の総数です。これは、予測子または応答としては使用されない変数があればそれら含みます。

観測値の情報。n 行 4 列のテーブルを指定します。n は入力データの行数に等しくなります。ObservationInfo の 4 列には、以下が格納されます。

フィールド説明
Weights観測値の重み。既定の設定はすべて 1 です。
Excluded論理値 1 は、Exclude の名前と値のペアで近似から除外した観測を示します。
Missing論理値 1 は入力に欠損値があることを示します。欠損値は近似に使用されません。
Subset論理値 1 は、観測が除外または欠損ではないことを示すため、近似に使用されます。

観測値の名前。あてはめで使用した観測値の名前が含まれている文字ベクトルの cell 配列を指定します。

  • 近似が観測名を含むテーブルまたはデータセットに基づいている場合、ObservationNames はそれらの名前を使用します。

  • それ以外の場合は、ObservationNames は空の cell 配列になります。

オフセット変数。データの行数と同じ長さの数値ベクトルを指定します。Offset は、fitglm または stepwiseglm から名前と値のペア Offset で渡されます。Offset を予測子変数として使用し、ただし係数を厳密に 1 に設定した近似関数。つまり、近似の式は次のようになりました

μ ~ Offset + (terms involving real predictors)

係数 1 をもつ Offset 予測子付き。

たとえば、ポアソン回帰モデルを検討してください。カウントの数が理論上の理由により予測子 A に対して比例していることがわかっていると仮定します。log リンク関数を使用し、オフセットに log(A) を指定することにより、この理論上の制約を満たすことをモデルに強制できます。

モデルのあてはめに使用した予測子の名前。文字ベクトルの cell 配列を指定します。

あてはめたモデルの残差。各観測値に対応する 1 つずつの行と次の列が含まれている table を指定します。

フィールド説明
Raw観測した値からあてはめた値を減算した値。
LinearPredictor調整応答値から予測子の近似線形結合を減算した値に等しい、線形予測子のスケール上の残差。
Pearson生の残差を応答の推定標準偏差で除算した値。
Anscombe歪度を削除するために選択した変換データ上で定義された残差。
Deviance各観測の逸脱度への寄与に基づく残差。

ベクトルとしてこれらの列のいずれかを取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl では、通常の生の残差ベクトル r は次のようになります

r = mdl.Residuals.Raw

ObservationInfo.Missing 内の欠損値のために近似に使用されなかった行には、次を例外として NaN 値が含まれます。

ObservationInfo.Excluded において除外された値が原因で近似に使用されなかった行は、次を例外として NaN 値が含まれます。

  • raw は、観測値と予測値の間の差を含みます。

  • standardized は残差であり通常の方法で標準化されています。

  • studentized は、この残差が残差標準偏差の予測には使用されないため、標準化された値と一致します。

応答変数名。文字ベクトルを指定します。

モデルの決定係数の値。構造体を指定します。

線形モデルまたは非線形モデルの場合、Rsquared は次の 2 つのフィールドをもつ構造体です。

  • Ordinary — 通常の (自由度未調整) 決定係数

  • Adjusted — 係数の数に対する自由度調整済み決定係数

一般化線形モデルの場合、Rsquared は次の 5 つのフィールドをもつ構造体です。

  • Ordinary — 通常の (自由度未調整) 決定係数

  • Adjusted — 係数の数に対する自由度調整済み決定係数

  • LLR — 対数尤度比

  • Deviance — 逸脱度

  • AdjGeneralized — 一般化された自由度調整済み決定係数

決定係数の値は、モデルによって説明される二乗総和の比率です。通常の決定係数値は、SSR および SST のプロパティに関係します。

Rsquared = SSR/SST = 1 - SSE/SST

これらの値のいずれかをスカラーとして取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、mdl 内の自由度調整済み決定係数は、

r2 = mdl.Rsquared.Adjusted

誤差 (残差) の二乗和。数値を指定します。

ピタゴラスの定理が示すもの

SST = SSE + SSR

回帰二乗和。数値を指定します。回帰二乗和は、近似値の平均に対する近似値の偏差二乗和に等しい値です。

ピタゴラスの定理が示すもの

SST = SSE + SSR

二乗総和。数値を指定します。二乗総和は、mean(y) に対する応答ベクトル y の偏差二乗和に等しい値です。

ピタゴラスの定理が示すもの

SST = SSE + SSR

ステップワイズ近似の情報。次のフィールドがある構造体を指定します。

フィールド説明
Start開始モデルを表す式
Lower下限モデルを表す式であり、モデルに残らなければならないこれらの項
Upper上限モデルを表す式であり、モデルは Upper よりも多くの項を含むことはできません
Criterion'sse' などのステップワイズ アルゴリズムに使用された基準
PEnter0.05 など、パラメーターの値
PRemove0.10 など、パラメーターの値
History近似で実行されたステップを表すテーブル

History テーブルには、ステップごとに初期近似を含む 1 つの行があり、また次の変数 (列) があります。

フィールド説明
Action

このステップ中に行われたアクションで、次のいずれかです。

  • 'Start' — 最初のステップ

  • 'Add' — 項が 1 つ追加されます

  • 'Remove' — 項が 1 つ削除されます

TermName
  • 'Start' ステップ: 開始モデル仕様

  • 'Add' または 'Remove' ステップ: そのステップで移動した項

Terms項の行列 (fitlmmodelspec を参照してください)
DFこのステップの後の回帰自由度
delDF回帰自由度の、前のステップからの変更 (項を削除するステップの場合は負)
Devianceそのステップでの逸脱度 (残差二乗和)
FStatこのステップに導く F 統計量
PValueF 統計量の p

stepwiselm または stepwiseglm を使用してモデルをあてはめた場合を除き、この構造体は空になります。

Variables に格納されている入力変数に関する情報。各モデル項に対応する 1 つずつの行と以下の列がある table を指定します。

フィールド説明
Class'double' などの変数クラスを指定する文字ベクトル
Range

変数範囲を指定する cell 配列:

  • 連続変数 — 2 因子ベクトル [min,max]、最小値と最大値

  • カテゴリカル変数 — 異なる変数値の cell 配列

InModellogical ベクトル、true は変数がモデル内にあることを示す
IsCategoricallogical ベクトル、true はカテゴリカル変数であることを示す

あてはめに使用する変数の名前。文字ベクトルの cell 配列を指定します。

  • 近似がテーブルまたはデータセットに基づいている場合、このプロパティはそのテーブルまたはデータセット内の変数の名前を指定します。

  • 近似が予測行列および応答行列に基づいている場合、VariableNames は近似手法の VarNames の名前と値のペアにある値です。

  • それ以外の場合、変数は既定の近似名になります。

モデルのあてはめに使用したデータ。table を指定します。Variables には観測値と応答値の両方が格納されます。近似がテーブルまたはデータセット配列に基づいている場合、Variables には当該のテーブルまたはデータセット配列のすべてのデータが格納されます。それ以外の場合、Variables は入力データ行列 X と応答ベクトル y から作成されたテーブルです。

メソッド

addTerms一般化線形モデルに項を追加
compactコンパクトな一般化線形回帰モデル
fit一般化線形回帰モデルの作成
plotDiagnostics一般化線形回帰モデルの診断のプロット
plotResiduals一般化線形回帰モデルの残差プロット
removeTerms一般化線形モデルからの項の削除
step項の追加または削除による一般化線形回帰モデルの改良
stepwiseステップワイズ回帰による一般化線形回帰モデルの作成

継承メソッド

coefCI一般化線形モデルの係数推定の信頼区間
coefTest一般化線形回帰モデルの係数に対する線形仮説検定
devianceTest逸脱度の分析
disp一般化線形回帰モデルの表示
feval一般化線形回帰モデルの予測の評価
plotSlice近似された一般化線形回帰面を通るスライスのプロット
predict一般化線形回帰モデルの応答予測
random一般化線形回帰モデルの応答のシミュレーション

コピーのセマンティクス

値。値のクラスがコピー操作に与える影響については、オブジェクトのコピー (MATLAB)を参照してください。

すべて折りたたむ

2 次交互作用モデルを使用し、年齢、体重、性別を関数とする喫煙可能性のロジスティック回帰モデルをあてはめます。

データセット配列 hospital を読み込みます。

load hospital
ds = hospital; % just to use the ds name

最大 2 次の交互作用を許可する式を使用したモデルを指定します。

modelspec = 'Smoker ~ Age*Weight*Sex - Age:Weight:Sex';

一般化線形モデルを作成します。

mdl = fitglm(ds,modelspec,'Distribution','binomial')
mdl = 
Generalized linear regression model:
    logit(Smoker) ~ 1 + Sex*Age + Sex*Weight + Age*Weight
    Distribution = Binomial

Estimated Coefficients:
                        Estimate         SE         tStat      pValue 
                       ___________    _________    ________    _______

    (Intercept)            -6.0492       19.749     -0.3063    0.75938
    Sex_Male               -2.2859       12.424    -0.18399    0.85402
    Age                    0.11691      0.50977     0.22934    0.81861
    Weight                0.031109      0.15208     0.20455    0.83792
    Sex_Male:Age          0.020734      0.20681     0.10025    0.92014
    Sex_Male:Weight        0.01216     0.053168     0.22871     0.8191
    Age:Weight         -0.00071959    0.0038964    -0.18468    0.85348


100 observations, 93 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 5.07, p-value = 0.535

大きい 値は、モデルが定数とは統計的に異なっていない可能性があることを示しています。

20 個の予測子の 3 つだけを使って応答データを作成し、正しい予測子だけを使用しているかどうかを確認するために、一般化線形モデルをステップワイズに作成します。

20 個の予測子でデータを作成し、そのうちの 3 つのみの予測子と 1 つの定数を使ってポアソン応答を作成します。

rng default % for reproducibility
X = randn(100,20);
mu = exp(X(:,[5 10 15])*[.4;.2;.3] + 1);
y = poissrnd(mu);

ポアソン分布を使用して一般化線形モデルをあてはめます。

mdl =  stepwiseglm(X,y,...
    'constant','upper','linear','Distribution','poisson')
1. Adding x5, Deviance = 134.439, Chi2Stat = 52.24814, PValue = 4.891229e-13
2. Adding x15, Deviance = 106.285, Chi2Stat = 28.15393, PValue = 1.1204e-07
3. Adding x10, Deviance = 95.0207, Chi2Stat = 11.2644, PValue = 0.000790094
mdl = 
Generalized linear regression model:
    log(y) ~ 1 + x5 + x10 + x15
    Distribution = Poisson

Estimated Coefficients:
                   Estimate       SE       tStat       pValue  
                   ________    ________    ______    __________

    (Intercept)     1.0115     0.064275    15.737    8.4217e-56
    x5             0.39508     0.066665    5.9263    3.0977e-09
    x10            0.18863      0.05534    3.4085     0.0006532
    x15            0.29295     0.053269    5.4995    3.8089e-08


100 observations, 96 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 91.7, p-value = 9.61e-20

詳細

すべて展開する

拡張機能

R2012a で導入