GeneralizedLinearModel
一般化線形回帰モデル クラス
説明
GeneralizedLinearModel は、当てはめ済みの一般化線形回帰モデルです。一般化線形回帰モデルは、応答と予測子の間の非線形関係を記述する非線形モデルの特別なクラスです。一般化線形回帰モデルには、線形回帰モデルの一般的な特徴があります。応答変数は、平均応答 μ を含むパラメーターをもつ、正規分布、二項分布、ポアソン分布、ガンマ分布、または逆ガウス分布に従います。リンク関数 f は、μ と予測子の線形結合との間の関係を定義します。
当てはめ済みの一般化線形回帰モデルを調べるには、GeneralizedLinearModel オブジェクトのプロパティを使用します。オブジェクト プロパティには、係数推定値、要約統計量、当てはめ手法および入力データに関する情報が含まれています。オブジェクト関数を使用して応答を予測し、モデルの修正、評価、および可視化を行います。
作成
GeneralizedLinearModel オブジェクトの作成には、fitglm または stepwiseglm を使用します。
fitglm は、固定されたモデル仕様を使用して、一般化線形回帰モデルをデータに当てはめます。モデルに対して項を追加または削除するには、addTerms、removeTerms または step を使用します。あるいは、stepwiseglm でステップワイズ一般化線形回帰を使用してモデルを当てはめます。
プロパティ
係数推定値
この プロパティ は読み取り専用です。
係数推定値の共分散行列。p 行 p 列の数値の行列として表されます。p は、当てはめたモデル内の係数の数であり、NumCoefficients で与えられます。
詳細については、係数の標準誤差と信頼区間を参照してください。
データ型: single | double
この プロパティ は読み取り専用です。
係数の名前。対応する項の名前をそれぞれ含む文字ベクトルの cell 配列として表されます。
データ型: cell
この プロパティ は読み取り専用です。
係数の値。table を指定します。Coefficients には、各係数に対応する 1 つずつの行と次の列が格納されます。
Estimate— 推定される係数値SE— 推定の標準誤差tStat— 係数がゼロであるという帰無仮説をもつ両側検定の t 統計量pValue— t 統計量の p 値
coefTest を使用して、係数に線形仮説検定を実行します。係数推定値の信頼区間を求めるには、coefCI を使用します。
ベクトルとしてこれらの列のいずれかを取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl 内の推定された係数ベクトルを取得するには、次のようにします。
beta = mdl.Coefficients.Estimate
データ型: table
この プロパティ は読み取り専用です。
モデルの係数の数。正の整数として表されます。NumCoefficients には、モデルの項がランク落ちとなる場合にゼロに設定される係数が含まれます。
データ型: double
この プロパティ は読み取り専用です。
モデル内の推定された係数の個数。正の整数を指定します。NumEstimatedCoefficients には、モデルの項がランク落ちとなる場合にゼロに設定される係数は含まれません。NumEstimatedCoefficients は回帰の自由度です。
データ型: double
要約統計量
この プロパティ は読み取り専用です。
当てはめの逸脱度。数値を指定します。逸脱度は、一方のモデルが他方のモデルの特別なケースである 2 つのモデルを比較するために役立ちます。2 つのモデルの逸脱度の差異は、2 つのモデル間に推定されるパラメーター数の差異と等しい自由度をもつカイ二乗分布になります。詳細は、逸脱度を参照してください。
データ型: single | double
この プロパティ は読み取り専用です。
誤差 (残差) の自由度。推定された係数の数を観測値の数から減算した値に等しくなります。正の整数として表されます。
データ型: double
この プロパティ は読み取り専用です。
観測値の診断情報。各観測値に対応する 1 つずつの行と次の表で説明されている列がある table を指定します。
| 列 | 意味 | 説明 |
|---|---|---|
Leverage | HatMatrix の対角要素 | 各観測値の Leverage は、観測された予測子の値によってどの程度まで当てはめが決定されるかを示します。1 に近い値は、当てはめの大部分がその観測値によって決定され、他の観測値からの寄与は少ないことを示します。0 に近い値は、当てはめの大部分が他の観測値によって決定されることを示します。係数 P と観測 N のあるモデルの場合、Leverage の平均値は P/N です。2*P/N より大きい Leverage の値は、高いてこ比を示します。 |
CooksDistance | 当てはめた値におけるスケーリングされた変化のクックの距離 | CooksDistance は、当てはめた値におけるスケーリングされた変化の測定です。平均のクックの距離の 3 倍より CooksDistance が大きい観測値は、外れ値である可能性があります。 |
HatMatrix | 観測された応答から近似を計算するための射影行列 | HatMatrix は、Fitted = HatMatrix*Y となる N 行 N 列の行列です。ここで、Y は応答ベクトル、Fitted は応答の当てはめた値のベクトルです。 |
ソフトウェアは、Fitted プロパティおよび Residuals プロパティの LinearPredictor フィールドに格納された、予測子の線形結合のスケールでこれらの値を計算します。たとえば、ソフトウェアは、モデル mdl から当てはめられた応答値および調整された応答値を使用して、診断値を計算します。
Yfit = mdl.Fitted.LinearPredictor Yadjusted = mdl.Fitted.LinearPredictor + mdl.Residuals.LinearPredictor
Diagnostics には、外れ値と影響力が大きい観測値を特定するために役立つ情報が格納されます。詳細については、てこ比、クックの距離およびハット行列を参照してください。
観測値の診断情報をプロットするには、plotDiagnostics を使用します。
欠損値 (ObservationInfo.Missing 内) または除外された値 (ObservationInfo.Excluded 内) が原因で当てはめに使用されなかった行では、CooksDistance 列に NaN 値が、Leverage 列および HatMatrix 列にゼロが格納されます。
これらの列のいずれかを配列として取得するには、ドット表記を使用してプロパティのインデックスを指定します。たとえば、モデル mdl のハット行列を取得するには、次のようにします。
HatMatrix = mdl.Diagnostics.HatMatrix;
データ型: table
この プロパティ は読み取り専用です。
応答の分散のスケール係数。数値スカラーとして指定します。
fitglm または stepwiseglm の名前と値のペアの引数 'DispersionFlag' が true である場合、関数は、応答の分散を計算する際にスケール係数 Dispersion を推定します。応答の分散は、スケール係数を乗算した理論的分散に等しくなります。
たとえば、二項分布の分散関数は p(1–p)/n です。ここで p は確率パラメーターで、n は標本サイズのパラメーターです。Dispersion が 1 に近い場合、データの分散は二項分布の理論的分散に一致して見えます。Dispersion が 1 より大きい場合、データ セットは二項分布に比べて "過剰に分散" しています。
データ型: double
この プロパティ は読み取り専用です。
fitglm が Dispersion のスケール係数を使用して Coefficients.SE の係数の標準誤差を計算したかどうかを示すフラグ。論理値を指定します。DispersionEstimated が false であれば、fitglm は分散の理論値を使用しました。
二項分布およびポアソン分布の場合のみ、
DispersionEstimatedはfalseになる可能性があります。fitglmまたはstepwiseglmの名前と値のペアの引数'DispersionFlag'を設定することによって、DispersionEstimatedを設定します。
データ型: logical
この プロパティ は読み取り専用です。
入力データに基づいて当てはめ (予測) を行った値。各観測値に対応する行と次の表で説明されている列がある table として指定します。
| 列 | 説明 |
|---|---|
Response | 応答のスケール上の予測値 |
LinearPredictor | 予測子の線形結合がもつスケール上の予測値 (Response 当てはめた値に適用されるリンク関数と同じ) |
Probability | 当てはめの確率 (二項分布でのみ含まれます) |
ベクトルとしてこれらの列のいずれかを取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl で応答スケール上の当てはめられた値のベクトル f を取得するには、次のようにします。
f = mdl.Fitted.Response
predict を使用して、他の予測子の値の予測を計算するか、Fitted で信頼限界を計算します。
データ型: table
この プロパティ は読み取り専用です。
応答値におけるモデルの分布の対数尤度。数値として指定します。平均はモデルから当てはめられ、他のパラメーターはモデルの当てはめに伴って推定されます。
データ型: single | double
この プロパティ は読み取り専用です。
モデルの比較基準。次のフィールドをもつ構造体として表されます。
AIC— 赤池情報量基準。AIC = –2*logL + 2*mであり、ここでlogLは対数尤度、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
データ型: struct
この プロパティ は読み取り専用です。
当てはめたモデルの残差。各観測値に対する 1 つずつの行と次の表に記載されている列が含まれている table を指定します。
| 列 | 説明 |
|---|---|
Raw | 観測した値から当てはめた値を減算した値 |
LinearPredictor | 調整応答値から予測子の当てはめた線形結合を減算した値に等しい、線形予測子のスケールでの残差。調整された応答の詳細については、調整された応答を参照してください。 |
Pearson | 生の残差を応答の推定標準偏差で除算した値 |
Anscombe | 歪度を削除するために選択した変換で変換データに対して定義された残差 |
Deviance | 観測の逸脱度への寄与に基づく残差。 |
ObservationInfo.Missing 内の欠損値のために当てはめに使用されなかった行には、次を例外として NaN 値が含まれます。
ベクトルとしてこれらの列のいずれかを取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl 内にある通常の生の残差ベクトル r を取得するには、次のようにします。
r = mdl.Residuals.Raw
データ型: table
この プロパティ は読み取り専用です。
モデルの決定係数の値。5 つのフィールドがある構造体を指定します。
| フィールド | 説明 | 式 |
|---|---|---|
Ordinary | 通常の (自由度未調整) 決定係数 |
通常の決定係数統計は、ほとんどの一般化線形回帰モデルにとって役立つメトリクスではないことに注意してください。 |
Adjusted | 係数の数に対する自由度調整済み決定係数 |
N は観測値の個数 ( 自由度調整済み決定係数統計は、ほとんどの一般化線形回帰モデルにとって役立つメトリクスではないことに注意してください。 |
LLR | 対数尤度比 |
L は当てはめたモデルの対数尤度 ( |
Deviance | 逸脱度決定係数 |
D は当てはめたモデルの逸脱度 ( |
AdjGeneralized | 一般化された自由度調整済み決定係数 |
R2AdjGeneralized は、ロジスティック回帰モデルに関して Maddala [3]、Cox-Snell [4]、および Magee [5]が提唱する式に Nagelkerke の調整[2]を加えたものです。 |
通常の決定係数統計と自由度調整済み決定係数統計は、ほとんどの一般化線形回帰モデルにとって役立つメトリクスではないことに注意してください。
データ型: struct
この プロパティ は読み取り専用です。
誤差 (残差) の二乗和。数値を指定します。観測値の重みを使用して学習させたモデルの場合、SSE の計算の二乗和は重み付き二乗和です。
データ型: single | double
この プロパティ は読み取り専用です。
回帰二乗和。数値を指定します。SSR は、当てはめた値と応答の平均の間における偏差の二乗和に等しい値です。観測値の重みを使用して学習させたモデルの場合、SSR の計算の二乗和は重み付き二乗和です。
データ型: single | double
この プロパティ は読み取り専用です。
二乗の総和。数値を指定します。SST は、mean(y) に対する応答ベクトル y の偏差二乗和に等しい値です。観測値の重みを使用して学習させたモデルの場合、SST の計算の二乗和は重み付き二乗和です。
データ型: single | double
当てはめ情報
この プロパティ は読み取り専用です。
ステップワイズ近似の情報。次の表で説明されているフィールドをもつ構造体を指定します。
| フィールド | 説明 |
|---|---|
Start | 開始モデルを表す式 |
Lower | 下限モデルを表す式。Lower 内の項は必ずモデルに残ります。 |
Upper | 上限モデルを表す式。Upper より多い項をモデルに含めることはできません。 |
Criterion | 'sse' などのステップワイズ アルゴリズムに使用された基準 |
PEnter | Criterion が項を追加するためのしきい値 |
PRemove | Criterion が項を削除するためのしきい値 |
History | 近似で実行されたステップを表す table |
table History には、初期の当てはめを含む各ステップに対応する 1 つずつの行と、次の表で説明されている列が含まれています。
| 列 | 説明 |
|---|---|
Action | そのステップで行われたアクション
|
TermName |
|
Terms | 項の行列内のモデル仕様 |
DF | そのステップの後の回帰自由度 |
delDF | 前のステップに対する回帰自由度の変化 (項を削除するステップの場合は負) |
Deviance | (一般化線形回帰モデルの場合のみ) そのステップにおける逸脱度 (残差二乗和) |
FStat | そのステップに導いた F 統計量 |
PValue | F 統計量の p 値 |
ステップワイズ回帰を使用してモデルを当てはめた場合を除き、この構造体は空です。
データ型: struct
入力データ
この プロパティ は読み取り専用です。
一般化分布の情報。次の表で説明されているフィールドをもつ構造体として指定します。
| フィールド | 説明 |
|---|---|
Name | 分布の名前: 'normal'、'binomial'、'poisson'、'gamma'、または 'inverse gaussian' |
DevianceFunction | 当てはめを行ったパラメーター値とその応答値との関数として逸脱度の成分を計算する関数 |
VarianceFunction | 当てはめを行ったパラメーター値の関数として分布の理論的分散を計算する関数。DispersionEstimated が true である場合、係数の標準誤差を計算するときに分散関数に Dispersion が乗算されます。 |
データ型: struct
オブジェクトの作成後、このプロパティは読み取り専用になります。
モデルの情報。LinearFormula オブジェクトとして表されます。
ドット表記を使用して、当てはめたモデル mdl の式を表示します。
mdl.Formula
尤度推定のペナルティ。"none" または "jeffreys-prior" として指定します。
"none"— モデルの当てはめ時に尤度推定にペナルティを課しません。"jeffreys-prior"— ジェフリーズ事前分布を使用して尤度推定にペナルティを課します。
ロジスティック モデルでは、LikelihoodPenalty を "jeffreys-prior" に設定することを "Firth 回帰" と呼びます。標本の数が少ない場合や可分データ セットで二項 (ロジスティック) 回帰を実行する場合の係数推定バイアスを減らすには、学習時に LikelihoodPenalty を "jeffreys-prior" に設定します。
例: LikelihoodPenalty="jeffreys-prior"
データ型: char | string
この プロパティ は読み取り専用です。
リンク関数。次の表で説明されているフィールドをもつ構造体として指定します。
| フィールド | 説明 |
|---|---|
Name | リンク関数の名前。文字ベクトルとして指定します。関数ハンドルを使用してリンク関数を指定する場合、Name は '' となります。 |
Link | リンク関数を定義する関数 f。関数ハンドルとして指定します。 |
Derivative | f の導関数。関数ハンドルとして指定します。 |
Inverse | f の逆数。関数ハンドルとして指定します。 |
リンク関数は、分布パラメーター μ を予測子の当てはめられた線形結合 Xb にリンクさせる関数 f です。
f(μ) = Xb.
データ型: struct
この プロパティ は読み取り専用です。
近似関数が当てはめで使用した観測値の個数。正の整数を指定します。NumObservations は、元の table、データセットまたは行列で指定された観測値の個数から、除外する行数 (名前と値のペアの引数 'Exclude' で設定) または欠損値が含まれている行数を減算した値です。
データ型: double
オブジェクトの作成後、このプロパティは読み取り専用になります。
モデルの当てはめに使用した予測子変数の数。正の整数として表されます。
データ型: double
オブジェクトの作成後、このプロパティは読み取り専用になります。
入力データに含まれている変数の数。正の整数として表されます。NumVariables は、元の table に含まれている変数の数、または予測子行列と応答ベクトルの列の総数です。
NumVariables には、モデルの当てはめに予測子または応答として使用していない変数もすべて含まれます。
データ型: double
この プロパティ は読み取り専用です。
観測値の情報。n 行 4 列の table として指定します。n は入力データの行数に等しくなります。ObservationInfo には、次の表で説明されている列が含まれます。
| 列 | 説明 |
|---|---|
Weights | 観測値の重み。数値として指定します。既定値は 1 です。 |
Excluded | 除外する観測値のインジケーター。logical 値として指定します。名前と値のペアの引数 'Exclude' を使用して観測値を当てはめから除外した場合、値は true です。 |
Missing | 欠損観測値のインジケーター。logical 値として指定します。観測値が欠損値である場合、値は true です。 |
Subset | 近似関数が観測値を使用するかどうかのインジケーター。logical 値として指定します。観測値が除外されず、欠損値でもない場合、つまり、近似関数が観測値を使用する場合、値は true です。 |
ベクトルとしてこれらの列のいずれかを取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl の重みベクトル w を取得するには、次のようにします。
w = mdl.ObservationInfo.Weights
データ型: table
オブジェクトの作成後、このプロパティは読み取り専用になります。
観測値の名前。モデルの当てはめに使用した観測値の名前が含まれている文字ベクトルの cell 配列として返されます。
当てはめが観測値の名前を含む table に基づいている場合、それらの名前がこのプロパティに格納されます。
それ以外の場合、このプロパティは空の cell 配列になります。
データ型: cell
この プロパティ は読み取り専用です。
オフセット変数。データの行数と同じ長さの数値ベクトルとして指定します。Offset は、fitglm または stepwiseglm から名前と値のペア引数 'Offset' で渡されます。近似関数は、1 で固定した係数値をもつ追加の予測子変数として Offset を使用します。つまり、当てはめのための式は次のようになります
f(μ) ~ Offset + (terms involving real predictors)
ここで、f はリンク関数です。予測子 Offset の係数は 1 です。
たとえば、ポアソン回帰モデルを検討してください。カウントの数が理論上の理由により予測子 A に対して比例していることがわかっていると仮定します。log リンク関数を使用し、オフセットに log(A) を指定することにより、この理論上の制約を満たすことをモデルに強制できます。
データ型: double
オブジェクトの作成後、このプロパティは読み取り専用になります。
モデルの当てはめに使用した予測子の名前。文字ベクトルの cell 配列として表されます。
データ型: cell
オブジェクトの作成後、このプロパティは読み取り専用になります。
応答変数の名前。文字ベクトルとして表されます。
データ型: char
オブジェクトの作成後、このプロパティは読み取り専用になります。
Variables に格納されている変数に関する情報。変数ごとに 1 つの行と以下に示す列で構成される table として表されます。
| 列 | 説明 |
|---|---|
Class | 変数のクラス。'double' や 'categorical' などの文字ベクトルによる cell 配列を指定します。 |
Range | 変数の範囲。ベクトルの cell 配列を指定します。
|
InModel | 当てはめたモデルにどの変数が含まれているかを示すインジケーター。logical ベクトルを指定します。モデルに変数が含まれている場合、値は true です。 |
IsCategorical | カテゴリカル変数のインジケーター。logical ベクトルを指定します。変数がカテゴリカルである場合、値は true です。 |
VariableInfo には、モデルの当てはめに予測子または応答として使用していない変数もすべて含まれます。
データ型: table
オブジェクトの作成後、このプロパティは読み取り専用になります。
変数の名前。文字ベクトルの cell 配列として返されます。
当てはめが table に基づいている場合、その table 内の変数の名前がこのプロパティに格納されます。
当てはめが予測子行列と応答ベクトルに基づいている場合、当てはめ手法の名前と値の引数
VarNamesによって指定された値がこのプロパティに格納されます。VarNamesの既定値は{'x1','x2',...,'xn','y'}です。
VariableNames には、モデルの当てはめに予測子または応答として使用していない変数もすべて含まれます。
データ型: cell
オブジェクトの作成後、このプロパティは読み取り専用になります。
入力データ。table として返されます。Variables には予測子と応答の両方の値が格納されます。
当てはめが table に基づいている場合、このプロパティにはその table のデータがすべて格納されます。
それ以外の場合、このプロパティは入力データ行列
Xと応答ベクトルyから作成された table です。
Variables には、モデルの当てはめに予測子または応答として使用していない変数もすべて含まれます。
データ型: table
オブジェクト関数
compact | コンパクトな一般化線形回帰モデル |
addTerms | 一般化線形回帰モデルへの項の追加 |
removeTerms | 一般化線形回帰モデルからの項の削除 |
step | 項の追加または削除による一般化線形回帰モデルの改良 |
coefCI | 一般化線形回帰モデルの係数推定の信頼区間 |
coefTest | 一般化線形回帰モデルの係数に対する線形仮説検定 |
devianceTest | 一般化線形回帰モデルの逸脱度の分析 |
partialDependence | 部分依存の計算 |
plotDiagnostics | 一般化線形回帰モデルの観測値の診断情報のプロット |
plotPartialDependence | 部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成 |
plotResiduals | 一般化線形回帰モデルの残差プロット |
plotSlice | 当てはめられた一般化線形回帰面を通るスライスのプロット |
gather | Gather properties of Statistics and Machine Learning Toolbox object from GPU |
例
2 次交互作用モデルを使用し、年齢、体重、性別を関数とする喫煙可能性のロジスティック回帰モデルを当てはめます。
patients データ セットを読み込み、変数 Age、Gender、Weight、および Smoker から table を作成します。
load patients tbl = table(Age,Weight,Gender,Smoker,VariableNames=["Age","Weight","Gender","Smoker"])
tbl=100×4 table
Age Weight Gender Smoker
___ ______ __________ ______
38 176 {'Male' } true
43 163 {'Male' } false
38 131 {'Female'} false
40 133 {'Female'} false
49 119 {'Female'} false
46 142 {'Female'} false
33 142 {'Female'} true
40 180 {'Male' } false
28 183 {'Male' } false
31 132 {'Female'} false
45 128 {'Female'} false
42 137 {'Female'} false
25 174 {'Male' } false
39 202 {'Male' } true
36 129 {'Female'} false
48 181 {'Male' } true
⋮
2 次交互作用および低次項を含む式を使用したモデルを指定します。
modelspec = "Smoker ~ Age*Weight*Gender - Age:Weight:Gender";一般化線形モデルを作成します。
mdl = fitglm(tbl,modelspec,Distribution="binomial")mdl =
Generalized linear regression model:
logit(Smoker) ~ 1 + Age*Weight + Age*Gender + Weight*Gender
Distribution = Binomial
Estimated Coefficients:
Estimate SE tStat pValue
___________ _________ ________ _______
(Intercept) -8.3351 29.02 -0.28722 0.77394
Age 0.13764 0.70593 0.19498 0.84541
Weight 0.043269 0.15966 0.27101 0.78638
Gender_Female 2.2859 12.424 0.18399 0.85402
Age:Weight -0.00071959 0.0038964 -0.18468 0.85348
Age:Gender_Female -0.020734 0.20681 -0.10025 0.92014
Weight:Gender_Female -0.01216 0.053168 -0.22871 0.8191
100 observations, 93 error degrees of freedom
Dispersion: 1
Chi^2-statistic vs. constant model: 5.07, p-value = 0.535
"p" 値が大きく、モデルが定数と統計的には異なっていない可能性があることを示しています。
20 個の予測子変数のうち 3 つを使って応答データを作成し、stepwiseglm が正しい予測子を検出しているかどうかを確認するために、定数モデルからステップワイズ回帰を使用して一般化線形モデルを作成します。
20 個の予測子変数をもつ標本データを生成します。3 つの予測子を使用して、ポアソン応答変数を生成します。
rng default % for reproducibility X = randn(100,20); mu = exp(X(:,[5 10 15])*[.4;.2;.3] + 1); y = poissrnd(mu);
ポアソン分布を使用して一般化線形回帰モデルを当てはめます。定数 (切片) 項だけを含むモデルとして、開始モデルを指定します。また、名前と値のペアの引数 'Upper' を使用して、近似を考慮する最大モデルとして、各予測子の切片および線形項をもつモデルを指定します。
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
stepwiseglm は x5、x10、および x15 という 3 つの正しい予測子を検出します。
詳細
観測値の "調整された応答" は、当てはめた応答 について、観測された応答値 で評価されたリンク関数の 1 次テイラー展開です。調整された応答は次で与えられます。
ここで
は、i 番目の観測値に対応する調整された応答です。
は、予測子データの行列の i 番目の行です。
β は、
mdl.Coefficientsで指定されたモデル係数の列ベクトルです。offset は、
mdl.Offsetで指定されたモデルのオフセットです。は、i 番目の観測値の観測された応答です。
は、i 番目の観測値の当てはめた応答値です。
g は、
mdl.Linkで指定されたリンク関数です。
一般化線形モデルの既定のリンク関数は、"正準リンク関数" です。名前と値のペアの引数 'Link' を使用して、fitglm または stepwiseglm でモデルを当てはめるときにリンク関数を指定できます。
| 分布 | 正準リンク関数名 | リンク関数 | 平均 (逆) 関数 |
|---|---|---|---|
'normal' | 'identity' | f(μ) = μ | μ = Xb |
'binomial' | 'logit' | f(μ) = log(μ/(1 – μ)) | μ = exp(Xb) / (1 + exp(Xb)) |
'poisson' | 'log' | f(μ) = log(μ) | μ = exp(Xb) |
'gamma' | -1 | f(μ) = 1/μ | μ = 1/(Xb) |
'inverse gaussian' | -2 | f(μ) = 1/μ2 | μ = (Xb)–1/2 |
クックの距離は当てはめた値におけるスケーリングされた変化であり、予測子変数に対する観測値から外れ値を特定する場合に便利です。クックの距離は、当てはめた応答値に対する各観測値の影響を示します。平均のクックの距離の 3 倍を超える観測は外れ値の可能性があります。
観測値 i のクックの距離 Di は
ここで
は分散パラメーター (推定値または理論値) です。
ei は線形予測子の残差 です。ここで
g はリンク関数です。
yi は、観測された応答です。
xi は、観測です。
は推定した係数ベクトルです。
p は回帰モデルの係数の数です。
hii は、ハット行列 H の i 番目の対角要素です。
てこ比は、入力空間で特定の観測の位置が原因で発生した、回帰予測におけるその観測値の影響を測定します。
観測値 i のてこ比はハット行列 H の i 番目の対角項 hii の値です。てこ比値の合計は p (回帰モデルの係数の個数) なので、てこ比が p/n (n は観測値の個数) を大幅に超える場合、観測値 i は外れ値であると考えることができます。
ハット行列は、応答観測値のベクトルを予測値のベクトルに射影する射影行列です。
ハット行列 H は、データ行列 X の項と対角重み付け行列 W の項で定義されます。
H = X(XTWX)–1XTWT.
W には対角要素 wi があります。
ここで
g は yi を xib にマップするリンク関数です。
はリンク関数 g の導関数です。
V は分散関数です。
μi は i 番目の平均です。
対角要素 Hii は次を満たします
ここで n は観測の数 (X の行) であり、p は回帰モデルの係数の数です。
逸脱度は、残差二乗和を汎化したものです。飽和モデルと比較した適合度を測定します。
モデル M1 の逸脱度は、モデル M1 の対数尤度と飽和モデル Ms の対数尤度の差の 2 倍です。飽和モデルは、推定可能な最大数のパラメーターを含むモデルです。
たとえば、n 個の観測値 (yi, i = 1, 2, ..., n) があり、XiTβ の値が異なる可能性がある場合、n 個のパラメーターを含む飽和モデルを定義できます。L(b,y) がパラメーター b をもつモデルの尤度関数の最大値を示しているものとします。この場合、モデル M1 の逸脱度は以下のようになります。
ここで、b1 および bs には、それぞれモデル M1 および飽和モデルの推定パラメーターが含まれます。逸脱度は自由度 n – p のカイ二乗分布になります。ここで、n は飽和モデルのパラメーター数、p はモデル M1 のパラメーター数です。
2 つの異なる一般化線形回帰モデル M1 および M2 があり、M1 は M2 内の項のサブセットをもつと仮定します。モデルの当てはめは、それらの逸脱度 D1 と D2 を比較することによって評価できます。逸脱度の差異は以下のとおりです。
差異 D は漸近的にカイ二乗分布となりますが、その自由度 v は、M1 および M2 で推定されたパラメーター数の差異に等しくなります。この検定の p 値は 1 — chi2cdf(D,v) を使用して取得できます。
通常は、定数項をもち予測子をもたないモデル M2 を使用して D を調べます。そのため、D は自由度が p – 1 のカイ二乗分布となります。分散を推定する場合、推定された分散で除算した差異は、分子の自由度が p – 1、分母の自由度が n – p の F 分布となります。
"項行列" T は、モデル内の項を指定する t 行 (p + 1) 列の行列です。ここで、t は項の数、p は予測子変数の数であり、+1 は応答変数に相当します。T(i,j) の値は、項 i の変数 j の指数です。
たとえば、3 つの予測子変数 x1、x2、x3 と応答変数 y が x1、x2、x3、y という順序で入力に含まれていると仮定します。T の各行は 1 つの項を表します。
[0 0 0 0]— 定数項 (切片)[0 1 0 0]—x2(x1^0 * x2^1 * x3^0と等価)[1 0 1 0]—x1*x3[2 0 0 0]—x1^2[0 1 2 0]—x2*(x3^2)
各項の最後の 0 は、応答変数を表します。一般に、項行列内のゼロの列ベクトルは、応答変数の位置を表します。予測子変数と応答変数が行列と列ベクトルにそれぞれ格納されている場合、各行の最後の列に応答変数を示す 0 を含めなければなりません。
参照
[1] McFadden, Daniel. "Conditional logit analysis of qualitative choice behavior." in Frontiers in Econometrics, edited by P. Zarembka,105–42. New York: Academic Press, 1974.
[2] Nagelkerke, N. J. D. "A Note on a General Definition of the Coefficient of Determination." Biometrika 78, no. 3 (1991): 691–92.
[3] Maddala, Gangadharrao S. Limited-Dependent and Qualitative Variables in Econometrics. Econometric Society Monographs. New York, NY: Cambridge University Press, 1983.
[4] Cox, D. R., and E. J. Snell. Analysis of Binary Data. 2nd ed. Monographs on Statistics and Applied Probability 32. London; New York: Chapman and Hall, 1989.
[5] Magee, Lonnie. "R 2 Measures Based on Wald and Likelihood Ratio Joint Significance Tests." The American Statistician 44, no. 3 (August 1990): 250–53.
拡張機能
使用上の注意および制限:
GeneralizedLinearModelモデルのオブジェクト関数は GPU 配列を完全にサポートしています。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2012a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)