このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
一般化線形回帰モデル クラス
GeneralizedLinearModel
は、あてはめ済みの一般化線形回帰モデルです。一般化線形回帰モデルは、応答と予測子の間の非線形関係を記述する非線形モデルの特別なクラスです。一般化線形回帰モデルには、線形回帰モデルの一般的な特徴があります。応答変数は、平均応答 μ を含むパラメーターをもつ、正規分布、二項分布、ポアソン分布、ガンマ分布、または逆ガウス分布に従います。リンク関数 f は、μ と予測子の線形結合との間の関係を定義します。
あてはめ済みの一般化線形回帰モデルを調べるには、GeneralizedLinearModel
オブジェクトのプロパティを使用します。オブジェクト プロパティには、係数推定値、要約統計、あてはめ手法および入力データに関する情報が含まれています。オブジェクト関数を使用して応答を予測し、モデルの修正、評価、および可視化を行います。
GeneralizedLinearModel
オブジェクトの作成には、fitglm
または stepwiseglm
を使用します。
fitglm
は、固定されたモデル仕様を使用して、一般化線形回帰モデルをデータにあてはめます。モデルに対して項を追加または削除するには、addTerms
、removeTerms
または step
を使用します。あるいは、stepwiseglm
でステップワイズ一般化線形回帰を使用してモデルをあてはめます。
CoefficientCovariance
— 係数推定値の共分散行列このプロパティは読み取り専用です。
係数推定値の共分散行列。p 行 p 列の数値の行列を指定します。p は、あてはめたモデルの係数の個数です。
詳細については、係数の標準誤差と信頼区間を参照してください。
データ型: single
| double
CoefficientNames
— 係数の名前このプロパティは読み取り専用です。
係数の名前。対応する項の名前が含まれている文字ベクトルの cell 配列を指定します。
データ型: cell
Coefficients
— 係数の値このプロパティは読み取り専用です。
係数の値。table を指定します。Coefficients
には、各係数に対応する 1 つずつの行と次の列が格納されます。
Estimate
— 推定される係数値
SE
— 推定の標準誤差
tStat
— 係数が 0 であるかどうかに対する検定の t 統計量
pValue
— t 統計量の p 値
coefTest
を使用して、係数に線形仮説検定を実行します。係数推定値の信頼区間を求めるには、coefCI
を使用します。
ベクトルとしてこれらの列のいずれかを取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl
内の推定された係数ベクトルを取得するには、次のようにします。
beta = mdl.Coefficients.Estimate
データ型: table
NumCoefficients
— モデルの係数の数このプロパティは読み取り専用です。
モデルの係数の個数。正の整数を指定します。NumCoefficients
には、モデルの項がランク落ちとなる場合にゼロに設定される係数が含まれます。
データ型: double
NumEstimatedCoefficients
— 推定された係数の数このプロパティは読み取り専用です。
モデル内の推定された係数の個数。正の整数を指定します。NumEstimatedCoefficients
には、モデルの項がランク落ちとなる場合にゼロに設定される係数は含まれません。NumEstimatedCoefficients
は回帰の自由度です。
データ型: double
Deviance
— あてはめの逸脱度このプロパティは読み取り専用です。
あてはめの逸脱度。数値を指定します。逸脱度は、一方のモデルが他方のモデルの特別なケースである 2 つのモデルを比較するために役立ちます。2 つのモデルの逸脱度の差異は、2 つのモデル間に推定されるパラメーター数の差異と等しい自由度をもつカイ二乗分布になります。詳細は、逸脱度を参照してください。
データ型: single
| double
DFE
— 誤差に対する自由度このプロパティは読み取り専用です。
誤差 (残差) の自由度。推定された係数の個数を観測値の個数から減算した値に等しくなります。正の整数を指定します。
データ型: double
Diagnostics
— 観測値の診断情報このプロパティは読み取り専用です。
観測値の診断情報。各観測値に対応する 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
Dispersion
— 応答の分散のスケール係数このプロパティは読み取り専用です。
応答の分散のスケール係数。数値スカラーとして指定します。
fitglm
または stepwiseglm
の名前と値のペアの引数 'DispersionFlag'
が true
である場合、関数は、応答の分散を計算する際にスケール係数 Dispersion
を推定します。応答の分散は、スケール係数を乗算した理論的分散に等しくなります。たとえば、二項分布の分散関数は p(1–p)/n です。ここで p は確率パラメーターで、n は標本サイズのパラメーターです。Dispersion
が 1
に近い場合、データの分散は二項分布の理論的分散に一致して見えます。Dispersion
が 1
より大きい場合、データセットは二項分布に比べて "過剰に分散" しています。
データ型: double
DispersionEstimated
— 分散のスケール係数の使用を示すフラグこのプロパティは読み取り専用です。
fitglm
が Dispersion
のスケール係数を使用して Coefficients.SE
の係数の標準誤差を計算したかどうかを示すフラグ。論理値を指定します。DispersionEstimated
が false
であれば、fitglm
は分散の理論値を使用しました。
二項分布およびポアソン分布の場合のみ、DispersionEstimated
は false
になる可能性があります。
fitglm
または stepwiseglm
の名前と値のペアの引数 'DispersionFlag'
を設定することによって、DispersionEstimated
を設定します。
データ型: logical
Fitted
— 入力データを基にあてはめを行った応答値このプロパティは読み取り専用です。
入力データに基づいてあてはめ (予測) を行った値。各観測値に対応する行と次の表で説明されている列がある table として指定します。
列 | 説明 |
---|---|
Response | 応答のスケール上の予測値 |
LinearPredictor | 予測子の線形結合がもつスケール上の予測値 (Response あてはめた値に適用されるリンク関数と同じ) |
Probability | あてはめの確率 (二項分布でのみ含まれます) |
ベクトルとしてこれらの列のいずれかを取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl
で応答スケール上の近似値のベクトル f
を取得するには、次のようにします。
f = mdl.Fitted.Response
predict
を使用して、他の予測値の予測を計算するか、Fitted
で信頼限界を計算します。
データ型: table
LogLikelihood
— 対数尤度このプロパティは読み取り専用です。
応答値におけるモデルの分布の対数尤度。数値として指定します。平均はモデルからあてはめられ、他のパラメーターはモデルのあてはめに伴って推定されます。
データ型: single
| double
ModelCriterion
— モデルの比較基準このプロパティは読み取り専用です。
モデルの比較基準。次のフィールドがある構造体を指定します。
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
Residuals
— あてはめたモデルの残差このプロパティは読み取り専用です。
あてはめたモデルの残差。各観測値に対する 1 つずつの行と次の表に記載されている列が含まれている table を指定します。
列 | 説明 |
---|---|
Raw | 観測した値からあてはめた値を減算した値 |
LinearPredictor | 調整応答値から予測子のあてはめた線形結合を減算した値に等しい、線形予測子のスケールでの残差 |
Pearson | 生の残差を応答の推定標準偏差で除算した値 |
Anscombe | 歪度を削除するために選択した変換で変換データに対して定義された残差 |
Deviance | 観測の逸脱度への寄与に基づく残差。 |
ObservationInfo.Missing
内の欠損値のためにあてはめに使用されなかった行には、次を例外として NaN
値が含まれます。
ベクトルとしてこれらの列のいずれかを取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl
内にある通常の生の残差ベクトル r
を取得するには、次のようにします。
r = mdl.Residuals.Raw
データ型: table
Rsquared
— モデルの決定係数の値このプロパティは読み取り専用です。
モデルの決定係数の値。5 つのフィールドがある構造体を指定します。
Ordinary
— 通常の (自由度未調整) 決定係数
Adjusted
— 係数の数に対する自由度調整済み決定係数
LLR
— 対数尤度比
Deviance
— 逸脱度
AdjGeneralized
— 一般化された自由度調整済み決定係数
決定係数の値は、モデルによって説明される二乗総和の比率です。通常の決定係数値は、SSR
および SST
のプロパティに関係します。
Rsquared = SSR/SST
これらの値のいずれかをスカラーとして取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl
の自由度調整済み決定係数の値を取得するには、次のようにします。
r2 = mdl.Rsquared.Adjusted
データ型: struct
SSE
— 誤差の二乗和このプロパティは読み取り専用です。
誤差 (残差) の二乗和。数値を指定します。
データ型: single
| double
SSR
— 回帰二乗和このプロパティは読み取り専用です。
回帰二乗和。数値を指定します。回帰二乗和は、近似値の平均に対する近似値の偏差二乗和に等しい値です。
データ型: single
| double
SST
— 二乗の総和このプロパティは読み取り専用です。
二乗総和。数値を指定します。二乗総和は、mean(y)
に対する応答ベクトル y
の偏差二乗和に等しい値です。
データ型: single
| double
Steps
— ステップワイズ近似の情報このプロパティは読み取り専用です。
ステップワイズ近似の情報。次の表で説明されているフィールドをもつ構造体を指定します。
フィールド | 説明 |
---|---|
Start | 開始モデルを表す式 |
Lower | 下限モデルを表す式。Lower 内の項は必ずモデルに残ります。 |
Upper | 上限モデルを表す式。Upper より多い項をモデルに含めることはできません。 |
Criterion | 'sse' などのステップワイズ アルゴリズムに使用された基準 |
PEnter | Criterion が項を追加するためのしきい値 |
PRemove | Criterion が項を削除するためのしきい値 |
History | 近似で実行されたステップを表すテーブル |
table History
には、初期のあてはめを含む各ステップに対応する 1 つずつの行と、次の表で説明されている列が含まれています。
列 | 説明 |
---|---|
Action | そのステップで行われたアクション
|
TermName |
|
Terms | 項の行列内のモデル仕様 |
DF | そのステップの後の回帰自由度 |
delDF | 前のステップに対する回帰自由度の変化 (項を削除するステップの場合は負) |
Deviance | (一般化線形回帰モデルの場合のみ) そのステップにおける逸脱度 (残差二乗和) |
FStat | そのステップに導いた F 統計量 |
PValue | F 統計量の p 値 |
ステップワイズ回帰を使用してモデルをあてはめた場合を除き、この構造体は空です。
データ型: struct
Distribution
— 一般化分布の情報このプロパティは読み取り専用です。
一般化分布の情報。次の表で説明されているフィールドをもつ構造体として指定します。
フィールド | 説明 |
---|---|
Name | 分布の名前: 'normal' 、'binomial' 、'poisson' 、'gamma' 、または 'inverse gaussian' |
DevianceFunction | あてはめを行ったパラメーター値とその応答値との関数として逸脱度の成分を計算する関数 |
VarianceFunction | あてはめを行ったパラメーター値の関数として分布の理論的分散を計算する関数。DispersionEstimated が true である場合、Dispersion は係数の標準誤差を計算するときに分散関数を乗算します。 |
データ型: struct
Formula
— モデルの情報LinearFormula
オブジェクトこのプロパティは読み取り専用です。
モデルの情報。LinearFormula
オブジェクトを指定します。
ドット表記を使用して、あてはめたモデル mdl
の式を表示します。
mdl.Formula
Link
— リンク関数このプロパティは読み取り専用です。
リンク関数。次の表で説明されているフィールドをもつ構造体として指定します。
フィールド | 説明 |
---|---|
Name | リンク関数の名前。文字ベクトルとして指定します。関数ハンドルを使用してリンク関数を指定する場合、Name は '' となります。 |
LinkFunction | リンク関数を定義する関数 f。関数ハンドルとして指定します。 |
DevianceFunction | f の導関数。関数ハンドルとして指定します。 |
VarianceFunction | f の逆数。関数ハンドルとして指定します。 |
リンク関数は、分布パラメーター μ を予測子のあてはめられた線形結合 Xb にリンクさせる関数 f です。
f(μ) = Xb.
データ型: struct
NumObservations
— 観測値の数このプロパティは読み取り専用です。
近似関数があてはめで使用した観測値の個数。正の整数を指定します。NumObservations
は、元の table、データセットまたは行列で指定された観測値の個数から、除外する行数 (名前と値のペアの引数 'Exclude'
で設定) または欠損値が含まれている行数を減算した値です。
データ型: double
NumPredictors
— 予測子変数の数このプロパティは読み取り専用です。
モデルのあてはめに使用した予測子変数の個数。正の整数を指定します。
データ型: double
NumVariables
— 変数の数このプロパティは読み取り専用です。
入力データに含まれている変数の個数。正の整数を指定します。NumVariables
は、元の table またはデータセットに含まれている変数の個数、または予測子行列と応答ベクトルの列の総数です。
NumVariables
には、予測子または応答としてモデルのあてはめに使用される変数ではないものも含まれます。
データ型: double
ObservationInfo
— 観測値の情報このプロパティは読み取り専用です。
観測値の情報。n 行 4 列の table として指定します。n は入力データの行数に等しくなります。ObservationInfo
には、次の表で説明されている列が含まれます。
列 | 説明 |
---|---|
Weights | 観測値の重み。数値として指定します。既定値は 1 です。 |
Excluded | 除外する観測値のインジケーター。logical 値として指定します。名前と値のペアの引数 'Exclude' を使用して観測値をあてはめから除外した場合、値は true です。 |
Missing | 欠損観測値のインジケーター。logical 値として指定します。観測値が欠損値である場合、値は true です。 |
Subset | 近似関数が観測値を使用するかどうかのインジケーター。logical 値として指定します。観測値が除外されず、欠損値でもない場合、つまり、近似関数が観測値を使用する場合、値は true です。 |
ベクトルとしてこれらの列のいずれかを取得するには、ドット表記を使ってプロパティにインデックスを付けます。たとえば、モデル mdl
の重みベクトル w
を取得するには、次のようにします。
w = mdl.ObservationInfo.Weights
データ型: table
ObservationNames
— 観測値の名前このプロパティは読み取り専用です。
観測値の名前。あてはめで使用した観測値の名前が含まれている文字ベクトルの cell 配列を指定します。
近似が観測名を含むテーブルまたはデータセットに基づいている場合、ObservationNames
はそれらの名前を使用します。
それ以外の場合、ObservationNames
は空の cell 配列になります。
データ型: cell
Offset
— オフセット変数このプロパティは読み取り専用です。
オフセット変数。データの行数と同じ長さの数値ベクトルとして指定します。Offset
は、fitglm
または stepwiseglm
から名前と値のペア引数 'Offset'
で渡されます。近似関数は、1
で固定した係数値をもつ追加の予測子変数として Offset
を使用します。つまり、あてはめのための式は次のようになります
f(μ) ~ Offset + (terms involving real predictors)
ここで、f はリンク関数です。予測子 Offset
の係数は 1
です。
たとえば、ポアソン回帰モデルを検討してください。カウントの数が理論上の理由により予測子 A
に対して比例していることがわかっていると仮定します。log リンク関数を使用し、オフセットに log(A)
を指定することにより、この理論上の制約を満たすことをモデルに強制できます。
データ型: double
PredictorNames
— モデルのあてはめに使用した予測子の名前このプロパティは読み取り専用です。
モデルのあてはめに使用した予測子の名前。文字ベクトルの cell 配列を指定します。
データ型: cell
ResponseName
— 応答変数名このプロパティは読み取り専用です。
応答変数名。文字ベクトルを指定します。
データ型: char
VariableInfo
— 変数に関する情報このプロパティは読み取り専用です。
Variables
に格納されている入力変数に関する情報。各変数に対応する 1 つずつの行と次の表で説明されている列がある table を指定します。
列 | 説明 |
---|---|
Class | 変数のクラス。'double' や 'categorical' などの文字ベクトルによる cell 配列を指定します。 |
Range | 変数の範囲。ベクトルの cell 配列を指定します。
|
InModel | あてはめたモデルにどの変数が含まれているかを示すインジケーター。logical ベクトルを指定します。モデルに変数が含まれている場合、値は true です。 |
IsCategorical | カテゴリカル変数のインジケーター。logical ベクトルを指定します。変数がカテゴリカルである場合、値は true です。 |
VariableInfo
には、予測子または応答としてモデルのあてはめに使用される変数ではないものも含まれます。
データ型: table
VariableNames
— 変数の名前このプロパティは読み取り専用です。
変数の名前。文字ベクトルの cell 配列を指定します。
あてはめが table またはデータセットに基づいている場合、このプロパティはその table またはデータセット内の変数の名前を与えます。
あてはめが予測行列と応答ベクトルに基づいている場合、近似メソッドの名前と値のペアの引数 'VarNames'
によって指定された値が VariableNames
に格納されます。'VarNames'
の既定値は {'x1','x2',...,'xn','y'}
です。
VariableNames
には、予測子または応答としてモデルのあてはめに使用される変数ではないものも含まれます。
データ型: cell
Variables
— 入力データこのプロパティは読み取り専用です。
入力データ。table を指定します。Variables
には予測子と応答の両方の値が格納されます。あてはめが table またはデータセット配列に基づいている場合、Variables
にはその table またはデータセット配列のデータがすべて格納されます。それ以外の場合、Variables
は入力データ行列 X
と応答ベクトル y
から作成された table です。
Variables
には、予測子または応答としてモデルのあてはめに使用される変数ではないものも含まれます。
データ型: table
CompactGeneralizedLinearModel
の作成compact | コンパクトな一般化線形回帰モデル |
addTerms | 一般化線形回帰モデルへの項の追加 |
removeTerms | 一般化線形回帰モデルからの項の削除 |
step | 項の追加または削除による一般化線形回帰モデルの改良 |
coefCI | 一般化線形回帰モデルの係数推定の信頼区間 |
coefTest | 一般化線形回帰モデルの係数に対する線形仮説検定 |
devianceTest | 一般化線形回帰モデルの逸脱度の分析 |
partialDependence | 部分従属の計算 |
plotDiagnostics | 一般化線形回帰モデルの観測値の診断情報のプロット |
plotPartialDependence | 部分従属プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成 |
plotResiduals | 一般化線形回帰モデルの残差プロット |
plotSlice | 近似された一般化線形回帰面を通るスライスのプロット |
gather | 線形または一般化線形回帰モデルのプロパティの収集 |
2 次交互作用モデルを使用し、年齢、体重、性別を関数とする喫煙可能性のロジスティック回帰モデルをあてはめます。
hospital
データセットを読み込みます。
load hospital
データセット配列をテーブルに変換します。
tbl = dataset2table(hospital);
2 次交互作用および低次項を含む式を使用したモデルを指定します。
modelspec = 'Smoker ~ Age*Weight*Sex - Age:Weight:Sex';
一般化線形モデルを作成します。
mdl = fitglm(tbl,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
大きい 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 つの正しい予測子を検出します。
一般化線形モデルの既定のリンク関数は、"正準リンク関数" です。名前と値のペアの引数 '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 |
観測値 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 内の項のサブセットをもつと仮定します。モデルのあてはめは 2 つのモデルの逸脱度 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
を含めなければなりません。
使用上の注意事項および制限事項:
fitglm
または stepwiseglm
を使用してモデルをあてはめる場合、以下の制限が適用されます。
コード生成ではカテゴリカル予測子がサポートされません。logical ベクトル、文字配列、categorical 配列、string 配列、または文字ベクトルの cell 配列が格納されている table 内の学習データは指定できません。また、名前と値のペアの引数 'CategoricalVars'
は使用できません。カテゴリカル予測子をモデルに含めるには、モデルをあてはめる前に dummyvar
を使用してカテゴリカル予測子を前処理します。
名前と値のペアの引数 'Link'
の Link
、Derivative
および Inverse
フィールドを無名関数にすることはできません。つまり、リンクに無名関数を使用して作成された一般化線形モデルを使用するコードを生成することはできません。代わりに、リンク コンポーネント用の関数を定義します。
詳細は、コード生成の紹介を参照してください。
使用上の注意事項および制限事項:
次のオブジェクト関数は GPU 配列を完全にサポートしています。
次のオブジェクト関数は、GPU 配列の入力引数を使ってあてはめられたモデル オブジェクトをサポートしています。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
Select web siteYou can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.