このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
ステップワイズ回帰の実行
ロバスト回帰をステップワイズ回帰と併用することはできません。stepwiselm
を使用する前にデータの外れ値をチェックしてください。
方差分析
などの他のメソッドや,LinearModel
オブジェクトのプロパティについては,LinearModel
を参照してください。
モデルに学習をさせた後で,新しいデータについて応答を予測するC / c++コードを生成できます。C / c++コードの生成にはMATLAB编码器™が必要です。詳細については,コード生成の紹介を参照してください。
“ステップワイズ回帰”は,応答変数の説明としての各項の統計的な重要性に基づき,線形または一般化線形モデルの項を追加したり削除するための体系的な方法です。この方法は,まずmodelspec
を使用して指定される初期モデルから開始して,徐々により大きいまたはより小さいモデルの説明能力を比較していきます。
関数stepwiselm
は,変数増減法のステップワイズ回帰を使用して,最終的なモデルを決定します。各ステップで,名前と値のペアの引数“标准”
の値に基づいて,モデルに追加する項またはモデルから削除する項が探索されます。
線形回帰モデルでは,“标准”
の既定値は上交所的
です。この場合,LinearModel
の一步
とstepwiselm
は,各ステップでF統計量のp値を使用して,ある項が存在する場合と存在しない場合のモデルを検定します。ある項が現在はモデルにない場合,帰無仮説は,項がモデルに追加された場合に係数ゼロをもつということです。帰無仮説を棄却する十分な証拠がある場合,その項がモデルに追加されます。逆に,ある項がモデルに現在ある場合,帰無仮説は,その項が係数ゼロをもつことです。帰無仮説を棄却する十分な証拠がない場合,その項がモデルから削除されます。
“标准”
が上交所的
である場合,ステップワイズ回帰では以下のステップが実行されます。
初期モデルをあてはめます。
使用可能な一連の項の中でモデルに含まれていないものを調べます。いずれかの項に対するp値が開始許容誤差より小さい場合(つまり,モデルに追加すると係数がゼロになる可能性が低い場合),p値が最小である項を追加し,このステップを繰り返します。それ以外の場合,ステップ3を実行します。
モデルに含まれている使用可能な項のいずれかに対するp値が終了許容誤差より大きい場合(つまり,係数がゼロになるという仮説を棄却できない場合),p値が最大である項を削除してステップ2に戻ります。それ以外の場合,このプロセスを終了します。
高い次数の項は,その項のサブセットである低い次数の項のすべてもモデルに含まれている場合を除き,どの段階でも追加されません。たとえば,X1
とX2 ^ 2
の両方が既にモデルに含まれている場合を除き,X1, X2 ^ 2
という項の追加は試行されません。同様に,高い次数の項がモデルに残っている場合,そのサブセットである低い次数の項は削除されません。たとえば,X1, X2 ^ 2
がモデルに残っている場合,X1
またはX2 ^ 2
の削除は試行されません。
一般化線形モデルでは,“标准”
の既定値は“异常”
です。GeneralizedLinearModel
の一步
とstepwiseglm
は,同様の手順に従って項を追加または削除します。
名前と値のペアの引数“标准”
を使用して,他の基準を指定できます。たとえば,赤池情報量基準、ベイズ情報量基準、決定係数または自由度調整済み決定係数の値の変化を、項の追加または削除の基準として指定できます。
初期モデルに含まれている項と,項の追加および削除を行う順序によって,同じ一連の項から異なるモデルが構築される可能性があります。どのステップでもモデルが改良されなくなると,この関数は終了します。ただし,異なる初期モデルまたはステップの順序を使用しても,近似が向上するという保証はありません。この意味において,ステップワイズモデルは,局所的には最適でも大域的には最適ではないことがあります。
stepwiselm
では,カテゴリカル予測子が次のように扱われます。
L個のレベル(カテゴリ)があるカテゴリカル予測子をもつモデルには,L - 1個の指標変数が含まれています。1番目のカテゴリが基準レベルとして使用されるので、基準レベルに対する指標変数はモデルに含まれません。カテゴリカル予測子のデータ型が分类
である場合,类别
を使用してカテゴリの順序をチェックし,reordercats
を使用してカテゴリを並べ替えることにより,基準レベルをカスタマイズできます。指標変数の作成の詳細については,ダミー変数の自動作成を参照してください。
stepwiselm
は,L - 1個の指標変数のグループを単一の変数として扱います。指標変数を個別の予測子変数として扱うには,dummyvar
を使用して指標変数を手動で作成します。そして,モデルをあてはめるときに,カテゴリカル変数の基準レベルに対応するものを除く指標変数を使用します。カテゴリカル予測子X
についてdummyvar (X)
のすべての列と切片項を予測子として指定した場合,計画行列はランク落ちとなります。
L個のレベルをもつカテゴリカル予測子と連続予測子の間の交互作用項は,L - 1個の指標変数と連続予測子の要素単位の積から構成されます。
L個のレベルをもつカテゴリカル予測子とM個のレベルをもつカテゴリカル予測子の間の交互作用項は,2つのカテゴリカル予測子のレベルについて可能なすべての組み合わせを含めるため,(l - 1)*(m - 1)個の指標変数から構成されます。
指標の二乗はそれ自体に等しいので,より次数が高い項をカテゴリカル予測子に対して指定することはできません。
したがって,stepwiselm
がカテゴリカル予測子を追加または削除する場合,実際には指標変数のグループが一度に追加または削除されます。同様に,カテゴリカル予測子が含まれている交互作用項をstepwiselm
が追加または削除する場合,実際には,カテゴリカル予測子が含まれている交互作用項のグループが追加または削除されます。
stepwiselm
は,资源描述
、X
およびY
に含まれている南
、”
(空の文字ベクトル),""
(空の字符串),< >失踪
,および<定义>
値を欠損値と見なします。stepwiselm
は,欠損値がある観測値をあてはめで使用しません。あてはめたモデルのObservationInfo
プロパティは,stepwiselm
が各観測値をあてはめで使用したかどうかを示します。
fitlm
を使用してモデルを構築し,次に一步
、addTerms
またはremoveTerms
を使用して手動でモデルを調整します。