ドキュメンテーション

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

stepwiseglm

ステップワイズ回帰による一般化線形回帰モデルの作成

構文

  • mdl = stepwiseglm(tbl,modelspec)
  • mdl = stepwiseglm(X,y,modelspec)
  • mdl = stepwiseglm(...,modelspec,Name,Value)

説明

mdl = stepwiseglm(tbl,modelspec) は、予測子を追加または削除するステップワイズ回帰を使用して、テーブルまたはデータセット配列 tbl の一般化線形モデルを作成します。modelspec はステップワイズ手順の開始モデルです。

mdl = stepwiseglm(X,y,modelspec) は、予測子を追加または削除するステップワイズ回帰を使用して、データ行列 X に対する応答 y の一般化線形モデルを作成します。

mdl = stepwiseglm(...,modelspec,Name,Value) は、1 つまたは複数の Name,Value の引数のペアによって指定された追加オプションを使用して一般化線形モデルを作成します。

すべて折りたたむ

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

開始モデルは、定数モデルです。stepwiseglm は既定でモデルの逸脱度を基準として使用します。最初に、x5 が モデルに追加されます。これは、テストの統計逸脱度 (2 つのモデルの逸脱度の違い) に対する p の値が、既定のしきい値 0.05 より小さいためです。次に、x15 を追加します。これは指定された x5 がモデル内に存在するためです。x15 を追加した場合、カイ二乗検定の p の値は 0.05 より小さくなります。次に x10 に追加されます。指定された x5x15 がモデル内に存在するためです。x10 を追加する場合、カイ二乗検定統計の p の値は再び 0.05 より小さくなります。

関連する例

入力引数

すべて折りたたむ

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

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

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

データ型: single | double | logical

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

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

データ型: single | double | logical

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

データ型: single | double

以下のいずれかとして指定される、stepwiseglm の開始モデル。

  • 開始モデルのタイプを指定する文字列。

    文字列開始モデルのタイプ
    'constant'モデルは定数 (切片) 項だけを含みます。
    'linear'モデルは各予測子に対して切片と線形項を含みます。
    'interactions'切片、各予測子の線形項、および異なる予測子のペアすべての積がモデルに含まれます (二乗項はありません)。
    'purequadratic'切片、線形項、および各予測子の二乗項がモデルに含まれます。
    'quadratic'切片、線形項、交互作用、および各予測子の二乗項がモデルに含まれます。
    'polyijk'モデルは多項式であり、最初の予測子は次数 i まで、2 番目の予測子は次数 j まで、3 番目以降もすべて同様に 0 から 9 までの数値を使用します。たとえば、'poly2111' には定数項に加えてすべての線形*項および積項があり、予測子 1 を二乗した項も含まれています。

    stepwiseglm で近似するモデルに含まれている最小または最大の項の集合を指定するには、名前と値のペアの引数 Lower および Upper を使用します。

  • モデル内に含める項を指定する t 行 (p+1) 列の行列。つまり項行列であり、t は項の数、p は予測子変数の数、+1 は応答変数を示します。

  • 次の形式のを表す文字列

    'Y ~ terms'

    termsウィルキンソンの表記法 にあります。

名前/値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。ここで、Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: 'Criterion','aic','Distribution','poisson','Upper','interactions' は、モデルに変数を追加または削除する基準として赤池情報量基準を、応答変数の分布としてポアソン分布を、近似を考慮する最大モデルとして、可能性のあるすべての相互作用をもつモデルを指定します。

すべて折りたたむ

二項分布の試行回数、つまり標本サイズ。スカラー値または応答と同じ長さのベクトルで構成されるコンマ区切りのペアとして指定します。これは近似した二項分布のための n パラメーターです。BinomialSize は、Distribution パラメーターが 'binomial' であるときにだけ適用されます。

BinomialSize がスカラー値の場合は、すべての観測が同じ試行回数であることを意味します。

BinomialSize の代替法として、列 1 にカウント、列 2 に BinomialSize をもつ 2 列ベクトルとして応答を指定できます。

データ型: single | double

近似のカテゴリカル変数。'CategoricalVars' と、テーブルまたはデータセット配列 tbl のカテゴリカル変数名の文字列のセル配列か、どの列がカテゴリカルであるかを示す論理インデックス ベクトルまたは数値インデックス ベクトルで構成される、コンマ区切りのペアとして指定します。

  • データがテーブルまたはデータセット配列 tbl の場合、既定では、すべてのカテゴリカル変数または論理変数、文字配列、文字列のセル配列がカテゴリカル変数として扱われます。

  • データが行列 X の場合、この名前と値のペア引数の既定値は空の行列 [] になります。つまり、指定しない限り、カテゴリカルになる変数はありません。

たとえば、以下のいずれかの例を使用して、6 つの観測値のうち観測値 2 および 3 をカテゴリカルとして指定できます。

例: 'CategoricalVars',[2,3]

例: 'CategoricalVars',logical([0 1 1 0 0 0])

データ型: single | double | logical

項を追加または削除する基準。'Criterion' と以下のいずれかで構成される、コンマ区切りペアとして指定します。

  • 'Deviance'stepwiseglm の既定値。項の追加または削除による逸脱度の変化に対する F 検定またはカイ二乗検定の p 値。F 検定では、単一のモデルを検定します。カイ二乗検定は、2 つの異なるモデルを比較します。このオプションは、stepwiselm では無効です。

  • 'sse'stepwiselm の既定値。項の追加または削除による二乗平均誤差の変化に対する F 検定の p 値。

  • 'aic' — AIC (赤池情報量基準) の値の変化。

  • 'bic' — BIC (ベイズ情報量基準) の値の変化。

  • 'rsquared' — R2 の値の増加。

  • 'adjrsquared' — 調整された R2 の値の増加。

例: 'Criterion','bic'

'binomial' および 'poisson' 分布の分散パラメーターを計算するインジケーター。'DispersionFlag' と以下のいずれかで構成されるコンマ区切りのペアとして指定します。

true標準誤差を計算するときに分散パラメーターを推定する
false既定の設定。標準誤差を計算するときに理論値を使用する

近似関数は常に他の分布の分散を予測します。

例: 'DispersionFlag',true

応答変数の分布。'Distribution' と以下のいずれかで構成されるコンマ区切りのペアとして指定します。

'normal'正規分布
'binomial'二項分布
'poisson'ポアソン分布
'gamma'ガンマ分布
'inverse gaussian'逆ガウス分布

例: 'Distribution','gamma'

近似から除外する観測値。'Exclude' と、近似から除外する観測値を示す論理インデックス ベクトルまたは数値インデックス ベクトルで構成されるコンマ区切りのペアとして指定します。

たとえば、以下のいずれかの例を使用して、6 つの観測値のうち観測値 2 および 3 を除外できます。

例: 'Exclude',[2,3]

例: 'Exclude',logical([0 1 1 0 0 0])

データ型: single | double | logical

近似の定数項 (切片) のインジケーター。'Intercept' と、モデルに定数項を含める true またはモデルから定数項を削除する false で構成されるコンマ区切りのペアとして指定します。

式または行列ではなく、文字列を使用してモデルを指定する場合にのみ、'Intercept' を使用します。

例: 'Intercept',false

モデルから削除できない項を表すモデル仕様。'Lower' と、モデルの名前を表す modelspec に対する文字列オプションの 1 つで構成されるコンマ区切りのペアとして指定します。

例: 'Lower','linear'

近似のオフセット変数。'Offset' と、応答と同じ長さの変数のベクトルまたは名前で構成されるコンマ区切りのペアとして指定します。

fitglmstepwiseglm は、1.0 で固定した係数値をもつ追加の予測子変数として Offset を使用します。つまり、近似の式は次のようになります

μ ~ Offset + (terms involving real predictors)

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

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

データ型: single | double | char

項を追加するための改善手段。'PEnter' とスカラー値で構成されるコンマ区切りのペアとして指定します。既定値は次のようになります。

規範既定値判定
'Deviance'0.05F の p 値またはカイ二乗統計が PEnter よりも小さい場合、項をモデルに追加します。
'SSE'0.05モデルの SSE が PEnter よりも小さい場合、項をモデルに追加します。
'AIC'0モデルの AIC の変化が PEnter よりも小さい場合、項をモデルに追加します。
'BIC'0モデルの BIC の変化が PEnter よりも小さい場合、項をモデルに追加します。
'Rsquared'0.1モデルの決定係数値の増加が PEnter よりも大きい場合、項をモデルに追加します。
'AdjRsquared'0モデルの自由度調整済み決定係数値の増加が PEnter よりも大きい場合、項をモデルに追加します。

規範についての詳細は、Criterion の名前と値のペアの引数を参照してください。

例: 'PEnter',0.075

近似で使用する予測子変数。'PredictorVars' と、テーブルまたはデータセット配列 tbl の変数名の文字列のセル配列、あるいはどの列が予測子変数であるかを示す論理インデックス ベクトルまたは数値インデックス ベクトルで構成されるコンマ区切りのペアとして指定します。

文字列は、tbl にある名前、または名前と値のペア引数 'VarNames' を使用して指定した名前にしてください。

既定の設定は、X 内のすべての変数、または ResponseVar を除く、tbl 内のすべての変数です。

たとえば、以下のいずれかの例を使用して、2 番目と 3 番目の変数を予測子変数として指定できます。

例: 'PredictorVars',[2,3]

例: 'PredictorVars',logical([0 1 1 0 0 0])

データ型: single | double | logical | cell

項を削除するための改善手段。'PRemove' とスカラー値で構成されるコンマ区切りのペアとして指定します。

規範既定値判定
'Deviance'0.10F の p 値またはカイ二乗統計が PRemove よりも大きい場合、項をモデルから削除します。
'SSE'0.10F 統計の p 値が PRemove よりも大きい場合、項をモデルから削除します。
'AIC'0.01モデルの AIC の変化が PRemove よりも大きい場合、項をモデルから削除します。
'BIC'0.01モデルの BIC の変化が PRemove よりも大きい場合、項をモデルから削除します。
'Rsquared'0.05モデルの決定係数値の増加が PRemove よりも小さい場合、項をモデルから削除します。
'AdjRsquared'-0.05モデルの自由度調整済み決定係数値の増加が PRemove よりも小さい場合、項をモデルから削除します。

各ステップでは、ステップワイズ アルゴリズムによって、項が現在のモデル内の他の項に対して冗長 (線形従属) かどうかもチェックされます。項が現在のモデルの他の項に線形従属している場合は、基準値に関係なく削除されます。

規範についての詳細は、Criterion の名前と値のペアの引数を参照してください。

例: 'PRemove',0.05

近似で使用する応答変数。'ResponseVar' と、テーブルまたはデータセット配列 tbl の変数名の文字列、あるいはどの列が応答変数であるかを示す論理インデックス ベクトルまたは数値インデックス ベクトルで構成される、コンマ区切りのペアとして指定します。通常、テーブルまたはデータセット配列 tbl を近似させる場合に 'ResponseVar' を使用する必要があります。

たとえば、以下のいずれかの方法を使用して、6 つの変数のうち 4 番目の変数、つまり yield を応答変数として指定できます。

例: 'ResponseVar','yield'

例: 'ResponseVar',[4]

例: 'ResponseVar',logical([0 0 0 1 0 0])

データ型: single | double | logical | char

近似において最大の項集合を記述するモデル仕様。'Upper' と、モデルの名前を表す modelspec に対する文字列オプションの 1 つで構成されるコンマ区切りのペアとして指定します。

例: 'Upper','quadratic'

近似の変数の名前。'VarNames' と、X の列名を最初に含み、応答変数 y の名前を最後に含む文字列のセル配列で構成されるコンマ区切りのペアとして指定します。

テーブルまたはデータセット配列の変数には既に名前が設定されているため、'VarNames' はこれらの配列には適用されません。

たとえば、データ内で、自動車の馬力、加速度、モデル年度が予測子変数であり、ガロンあたりの走行マイル数 (MPG) が応答変数である場合は、以下のように変数に名前を付けることができます。

例: 'VarNames',{'Horsepower','Acceleration','Model_Year','MPG'}

データ型: cell

観測値の重み。'Weights' と、非負のスカラー値の n 行 1 列のベクトル (n は観測値の数) で構成されるコンマ区切りのペアとして指定します。

データ型: single | double

出力引数

すべて折りたたむ

データに対する応答のリンクの最小二乗近似を表す一般化線形モデル。GeneralizedLinearModel オブジェクトとして返されます。

一般化線形モデル オブジェクト mdl のプロパティとメソッドについては、GeneralizedLinearModel クラスのページを参照してください。

代替方法

fitglm を使用して、固定された仕様のモデルを作成します。stepaddTerms または removeTerms を使用して近似モデルを調整します。

詳細

すべて折りたたむ

項の行列

項行列は、モデル内の項を指定する t 行 (p + 1) 列の行列です。t は項の数、p は予測子変数の数、+ 1 は応答変数を示します。

T(i,j) の値は、項 i の変数 j の指数です。ABC の 3 つの予測子変数があると仮定します。

[0 0 0 0] % Constant term or intercept
[0 1 0 0] % B; equivalently, A^0 * B^1 * C^0
[1 0 1 0] % A*C
[2 0 0 0] % A^2
[0 1 2 0] % B*(C^2)
各項の最後の 0 は、応答変数を表します。一般に、以下のようになります。

  • テーブルまたはデータセット配列に変数がある場合、応答変数の位置に応じて 0 で応答変数を表さなければなりません。次の例はこれを説明します。

    標本データを読み込み、データセット配列を定義します。

    load hospital
    ds = dataset(hospital.Sex,hospital.BloodPressure(:,1),hospital.Age,...
    hospital.Smoker,'VarNames',{'Sex','BloodPressure','Age','Smoker'});

    線形モデル 'BloodPressure ~ 1 + Sex + Age + Smoker' を項行列で表します。応答変数はデータセット配列の 2 列目にあるので、応答変数を示す 0 の列が項行列の 2 列目になければなりません。

    T = [0 0 0 0;1 0 0 0;0 0 1 0;0 0 0 1]
    
    T =
    
         0     0     0     0
         1     0     0     0
         0     0     1     0
         0     0     0     1

    データセット配列を再定義します。

    ds = dataset(hospital.BloodPressure(:,1),hospital.Sex,hospital.Age,...
    hospital.Smoker,'VarNames',{'BloodPressure','Sex','Age','Smoker'});
    

    これで、応答変数はデータセット配列の最初の項になりました。項行列を使用して、同じ線形モデル 'BloodPressure ~ 1 + Sex + Age + Smoker' を指定します。

    T = [0 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]
    T =
    
         0     0     0     0
         0     1     0     0
         0     0     1     0
         0     0     0     1
  • 行列および列ベクトルに予測子と応答変数がある場合、各項の最後に応答変数を示す 0 がなければなりません。次の例はこれを説明します。

    標本データを読み込み、予測子の行列を定義します。

    load carsmall
    X = [Acceleration,Weight];
    

    項行列を使用してモデル 'MPG ~ Acceleration + Weight + Acceleration:Weight + Weight^2' を指定し、このモデルをデータにあてはめます。このモデルには、変数 Acceleration および Weight の主効果および 2 因子交互作用項、変数 Weight の 2 次の項が含まれます。

    T = [0 0 0;1 0 0;0 1 0;1 1 0;0 2 0]
    
    T =
    
         0     0     0
         1     0     0
         0     1     0
         1     1     0
         0     2     0
    

    線形モデルを近似します。

    mdl = fitlm(X,MPG,T)
    mdl = 
    
    Linear regression model:
        y ~ 1 + x1*x2 + x2^2
    
    Estimated Coefficients:
                       Estimate       SE            tStat      pValue    
        (Intercept)         48.906        12.589     3.8847    0.00019665
        x1                 0.54418       0.57125    0.95261       0.34337
        x2               -0.012781     0.0060312    -2.1192      0.036857
        x1:x2          -0.00010892    0.00017925    -0.6076         0.545
        x2^2            9.7518e-07    7.5389e-07     1.2935       0.19917
    
    Number of observations: 94, Error degrees of freedom: 89
    Root Mean Squared Error: 4.1
    R-squared: 0.751,  Adjusted R-Squared 0.739
    F-statistic vs. constant model: 67, p-value = 4.99e-26

    変数 Weight に対応する切片および x2 の項のみが 5% の有意水準を示しています。

    ここで、定数モデルを開始モデルとし、交互作用項をもつ線形モデルを上位モデルとして、ステップワイズ回帰を実行します。

    T = [0 0 0;1 0 0;0 1 0;1 1 0];
    mdl = stepwiselm(X,MPG,[0 0 0],'upper',T)
    1. Adding x2, FStat = 259.3087, pValue = 1.643351e-28
    
    mdl = 
    
    Linear regression model:
        y ~ 1 + x2
    
    Estimated Coefficients:
                       Estimate      SE           tStat      pValue    
        (Intercept)        49.238       1.6411     30.002    2.7015e-49
        x2             -0.0086119    0.0005348    -16.103    1.6434e-28
    
    Number of observations: 94, Error degrees of freedom: 92
    Root Mean Squared Error: 4.13
    R-squared: 0.738,  Adjusted R-Squared 0.735
    F-statistic vs. constant model: 259, p-value = 1.64e-28

    ステップワイズ回帰の結果は、前の手順の fitlm の結果と整合性があります。

モデル仕様の式は、'Y ~ terms' という形式の文字列です。

ここで、

  • Y は応答名です。

  • terms 次が含まれます

    • 変数名

    • + は次の変数を含むことを意味します

    • - は次の変数を含まないことを意味します

    • : は、項の積である交互作用を定義します

    • * は、交互作用とすべての低い順序の項を定義します

    • ^ は、* で繰り返されるとおりに予測子をべき乗にし、^ は低い次数の項も含みます

    • () は項をグループ化します

    メモ:   式には既定で定数 (切片) 項が含まれます。モデルから定数項を除外するには、式に -1 を含めます。

次に、例を示します。

'Y ~ A + B + C' は切片のある 3 変数線形モデルを意味します。
'Y ~ A + B + C - 1' は切片のない 3 変数線形モデルです。
'Y ~ A + B + C + B^2' は切片と B^2 項のある 3 変数モデルです。
'Y ~ A + B^2 + C' は、B^2B 項を含むので、前の例と同じです。
'Y ~ A + B + C + A:B'A*B 項を含みます。
'Y ~ A*B + C'A*B = A + B + A:B なので前の例と同じです。
'Y ~ A*B*C - A:B:C' には 3 因子交互作用を除き、ABC 間のすべての交互作用があります。
'Y ~ A*(B + C + D)' にはすべての線形項があり、さらに他の変数のそれぞれとの A の積があります。

ウィルキンソンの表記法

ウィルキンソンの表記法は、モデルに存在する因子を記述します。この表記法は、モデルに存在する因子に関係するものであり、それらの因子の乗数 (係数) に関係するものではありません。

ウィルキンソンの表記法標準表記の因子
1定数 (切片) 項
A^kk は正の整数AA2、...、Ak
A + BAB
A*BABA*B
A:BA*B のみ
-BB は含めない
A*B + CABCA*B
A + B + C + A:BABCA*B
A*B*C - A:B:CABCA*BA*CB*C
A*(B + C)ABCA*BA*C

Statistics and Machine Learning Toolbox™ 表記は、-1 を使用して項を明示的に削除しない限り、常に定数項を含みます。

正準関数

一般化線形モデルの既定のリンク関数は、"正準リンク関数" です。

一般化線形モデル用の正準リンク関数

分布リンク関数名リンク関数平均 (逆) 関数
'normal''identity'f(μ) = μμ = Xb
'binomial''logit'f(μ) = log(μ/(1–μ))μ = exp(Xb) / (1 + exp(Xb))
'poisson''log'f(μ) = log(μ)μ = exp(Xb)
'gamma'-1f(μ) = 1/μμ = 1/(Xb)
'inverse gaussian'-2f(μ) = 1/μ2μ = (Xb)–1/2

ヒント

  • 正則化された線形モデル mdl は、別途 Distribution 名前と値のペアで指定しない限り、標準線形モデルです。

  • devianceTest などの他のメソッドや、GeneralizedLinearModel オブジェクトのプロパティについては、GeneralizedLinearModel を参照してください。

アルゴリズム

"ステップワイズ回帰" は、応答変数の説明としての各項の統計的な重要性に基づき、線形または一般化線形モデルの項を追加したり削除するための体系的な方法です。この方法は、まず modelspec を使用して指定される初期モデルから開始して、徐々により大きいまたはより小さいモデルの説明能力を比較していきます。

MATLAB® ではフォワードおよびバックワードのステップワイズ回帰を使用して最終的なモデルを決定します。この方法では各ステップで 'Criterion' 引数の値に基づきモデルに追加したりモデルから削除する項を探します。'Criterion' の既定値は 'sse' で、この場合 stepwiselm は F 統計量の p 値を使用して、各ステップで追加可能項がある場合とない場合のモデルを検定します。ある項が現在はモデルにない場合、帰無仮説は、項がモデルに追加された場合に係数ゼロをもつということです。帰無仮説を棄却する十分な証拠があれば、その項がモデルに追加されます。逆に、ある項がモデルに現在ある場合、帰無仮説は、その項が係数ゼロをもつことです。帰無仮説を棄却する十分な証拠がなければ、その項がモデルから削除されます。

以下に、'Criterion''sse' である場合のステップワイズの処理方法を示します。

  1. 初期モデルで近似します。

  2. モデルにない任意の項が開始許容誤差よりも小さい p 値をもつ場合 (すなわち、モデルに加えられた場合にゼロ係数をもつ可能性がない場合)、最小の p 値をもつ項を追加し、この手順を繰り返します。そうでない場合、手順 3 に進みます。

  3. モデルの任意の項が、終了許容誤差よりも大きい p 値をもつ場合 (つまり、係数ゼロをもつという仮説が棄却される場合)、最大の p 値をもつ項を削除して手順 2 に移動します。そうでない場合は終了します。

stepwiseglm の既定値は 'Deviance' で、項を追加または削除するための同様の手順に従います。

ほかにもいくつかの基準を使用できます。基準は 'Criterion' 引数を使用して指定できます。赤池情報量基準、ベイズ情報量基準、決定係数、自由度調整済み決定係数の値の変量を、項の追加や削除の基準として使用できます。

この方法では、初期モデルに含まれる項と、項が出入りする順序に依存して、追加可能項の同じ集合から異なるモデルが作成されることがあります。この方法は、1 つのステップがモデルを改良することがないと終了します。しかし、初期モデルが異なる場合またはステップの順序が異なる場合に、より良い近似にならないという保証はありません。この意味において、ステップワイズ モデルは、局所的には最適でも大域的には最適ではないことがあります。

参照

[1] Collett, D. Modeling Binary Data. New York: Chapman & Hall, 2002.

[2] Dobson, A. J. An Introduction to Generalized Linear Models. New York: Chapman & Hall, 1990.

[3] McCullagh, P., and J. A. Nelder. Generalized Linear Models. New York: Chapman & Hall, 1990.

R2013b で導入

この情報は役に立ちましたか?