このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
step
項の追加または削除による一般化線形回帰モデルの改良
説明
例
入力引数
出力引数
詳細
アルゴリズム
"ステップワイズ回帰" は、応答変数の説明としての各項の統計的な重要性に基づき、線形または一般化線形モデルの項を追加したり削除するための体系的な方法です。この方法は、まず
modelspec
を使用して指定される初期モデルから開始して、徐々により大きいまたはより小さいモデルの説明能力を比較していきます。関数
step
は、変数増減法のステップワイズ回帰を使用して、最終的なモデルを決定します。各ステップで、名前と値のペアの引数'Criterion'
の値に基づいて、モデルに追加する項またはモデルから削除する項が探索されます。線形回帰モデルでは、
'Criterion'
の既定値は'sse'
です。この場合、LinearModel
のstep
とstepwiselm
は、各ステップで F 統計量の p 値を使用して、ある項が存在する場合と存在しない場合のモデルを検定します。ある項が現在はモデルにない場合、帰無仮説は、項がモデルに追加された場合に係数ゼロをもつということです。帰無仮説を棄却する十分な証拠がある場合、その項がモデルに追加されます。逆に、ある項がモデルに現在ある場合、帰無仮説は、その項が係数ゼロをもつことです。帰無仮説を棄却する十分な証拠がない場合、その項がモデルから削除されます。'Criterion'
が'sse'
である場合、ステップワイズ回帰では以下のステップが実行されます。初期モデルを当てはめます。
使用可能な一連の項の中でモデルに含まれていないものを調べます。いずれかの項に対する p 値が開始許容誤差より小さい場合 (つまり、モデルに追加すると係数がゼロになる可能性が低い場合)、p 値が最小である項を追加し、このステップを繰り返します。それ以外の場合、ステップ 3 を実行します。
モデルに含まれている使用可能な項のいずれかに対する p 値が終了許容誤差より大きい場合 (つまり、係数がゼロになるという仮説を棄却できない場合)、p 値が最大である項を削除してステップ 2 に戻ります。それ以外の場合、このプロセスを終了します。
高い次数の項は、その項のサブセットである低い次数の項のすべてもモデルに含まれている場合を除き、どの段階でも追加されません。たとえば、
X1
とX2^2
の両方が既にモデルに含まれている場合を除き、X1:X2^2
という項の追加は試行されません。同様に、高い次数の項がモデルに残っている場合、そのサブセットである低い次数の項は削除されません。たとえば、X1:X2^2
がモデルに残っている場合、X1
またはX2^2
の削除は試行されません。一般化線形モデルでは、
'Criterion'
の既定値は'Deviance'
です。GeneralizedLinearModel
のstep
とstepwiseglm
は、同様の手順に従って項を追加または削除します。名前と値のペアの引数
'Criterion'
を使用して、他の基準を指定できます。たとえば、赤池情報量基準、ベイズ情報量基準、決定係数または自由度調整済み決定係数の値の変化を、項の追加または削除の基準として指定できます。初期モデルに含まれている項と、項の追加および削除を行う順序によって、同じ一連の項から異なるモデルが構築される可能性があります。どのステップでもモデルが改良されなくなると、この関数は終了します。ただし、異なる初期モデルまたはステップの順序を使用しても、近似が向上するという保証はありません。この意味において、ステップワイズ モデルは、局所的には最適でも大域的には最適ではないことがあります。
step
では、カテゴリカル予測子が次のように扱われます。L 個の水準 (カテゴリ) があるカテゴリカル予測子をもつモデルには、L – 1 個の指標変数が含まれています。1 番目のカテゴリが基準水準として使用されるので、基準水準に対する指標変数はモデルに含まれません。カテゴリカル予測子のデータ型が
categorical
である場合、categories
を使用してカテゴリの順序をチェックし、reordercats
を使用してカテゴリを並べ替えることにより、基準水準をカスタマイズできます。指標変数の作成の詳細については、ダミー変数の自動作成を参照してください。step
は、L – 1 個の指標変数のグループを単一の変数として扱います。指標変数を個別の予測子変数として扱うには、dummyvar
を使用して指標変数を手動で作成します。そして、モデルを当てはめるときに、カテゴリカル変数の基準水準に対応するものを除く指標変数を使用します。カテゴリカル予測子X
についてdummyvar(X)
のすべての列と切片項を予測子として指定した場合、計画行列はランク落ちとなります。L 個の水準をもつカテゴリカル予測子と連続予測子の間の交互作用項は、L – 1 個の指標変数と連続予測子の要素単位の積から構成されます。
L 個の水準をもつカテゴリカル予測子と M 個の水準をもつカテゴリカル予測子の間の交互作用項は、2 つのカテゴリカル予測子の水準について可能なすべての組み合わせを含めるため、(L – 1)*(M – 1) 個の指標変数から構成されます。
指標の二乗はそれ自体に等しいので、より次数が高い項をカテゴリカル予測子に対して指定することはできません。
したがって、
step
がカテゴリカル予測子を追加または削除する場合、実際には指標変数のグループが一度に追加または削除されます。同様に、カテゴリカル予測子が含まれている交互作用項をstep
が追加または削除する場合、実際には、カテゴリカル予測子が含まれている交互作用項のグループが追加または削除されます。step
は、tbl
、X
およびY
に含まれているNaN
、''
(空の文字ベクトル)、""
(空の string)、<missing>
、および<undefined>
値を欠損値と見なします。step
は、欠損値がある観測値を当てはめで使用しません。当てはめたモデルのObservationInfo
プロパティは、step
が各観測値を当てはめで使用したかどうかを示します。
代替機能
stepwiseglm
を使用して開始モデルの項を指定し、項の追加や削除が有益ではなくなるまでモデルの改善を続けます。特定の項を追加または削除するには、
addTerms
またはremoveTerms
を使用します。
拡張機能
バージョン履歴
R2012a で導入