Main Content

predictorImportance

決定木の回帰アンサンブルに関する予測子の重要度の推定

説明

imp = predictorImportance(ens) は、アンサンブル内のすべての弱学習器の推定を合計することにより、ens の予測子の重要度の推定を計算します。imp には、アンサンブルの学習に使用されたデータ内の入力予測子ごとに 1 つの要素が含まれます。値が高ければ、その予測子が ens で重要であることを示します。

[imp,ma] = predictorImportance(ens) は、ens 内の学習器に代理分岐が含まれる場合に、P 予測子の関連性予測尺度 ma をもつ PP 列の行列を追加で返します。詳細については、予測子の重要度を参照してください。

すべて折りたたむ

データ内のすべての予測子変数について予測子の重要度を推定します。

carsmall データ セットを読み込みます。

load carsmall

AccelerationCylindersDisplacementHorsepowerModel_Year および Weight を予測子として使用して、MPG に対する 100 本の回帰木のアンサンブルを成長させます。弱学習器として木の切り株を指定します。

X = [Acceleration Cylinders Displacement Horsepower Model_Year Weight];
t = templateTree(MaxNumSplits=1);
ens = fitrensemble(X,MPG,Method="LSBoost",Learners=t);

すべての予測子変数について予測子の重要度を推定します。

imp = predictorImportance(ens)
imp = 1×6

    0.0150         0    0.0066    0.1111    0.0437    0.5181

最後の予測子 Weight は、燃費に対する影響が最も大きくなっています。2 番目の予測子の重要度は 0 です。これは、ens による予測に気筒数が影響を与えないことを意味します。

代理分岐が含まれているアンサンブル回帰木で、データに含まれているすべての変数について予測子の重要度を推定します。

carsmall データ セットを読み込みます。

load carsmall

AccelerationCylindersDisplacementHorsepowerModel_Year および Weight を予測子として使用して、MPG に対する 100 本の回帰木のアンサンブルを成長させます。弱学習器として木の切り株を指定し、代理分岐も指定します。

X = [Acceleration Cylinders Displacement Horsepower Model_Year Weight];
t = templateTree(MaxNumSplits=1,Surrogate="on");
ens = fitrensemble(X,MPG,Method="LSBoost",Learners=t);

すべての予測子変数について予測子の重要度と関連性予測尺度を推定します。

[imp,ma] = predictorImportance(ens)
imp = 1×6

    0.2141    0.3798    0.4369    0.6498    0.3728    0.5700

ma = 6×6

    1.0000    0.0098    0.0102    0.0098    0.0033    0.0067
         0    1.0000         0         0         0         0
    0.0056    0.0084    1.0000    0.0078    0.0022    0.0084
    0.3537    0.4769    0.5834    1.0000    0.1612    0.5827
    0.0061    0.0070    0.0063    0.0064    1.0000    0.0056
    0.0154    0.0296    0.0533    0.0447    0.0070    1.0000

imp予測子の重要度の推定の結果と比較すると、燃費に対する影響が最も大きいのは Horsepower、2 番目に影響が大きいのは Weight になっています。

入力引数

すべて折りたたむ

完全なアンサンブル回帰モデル。fitrensemble で学習させた RegressionEnsemble モデル オブジェクト、またはcompactで作成した CompactRegressionEnsemble モデル オブジェクトとして指定します。

出力引数

すべて折りたたむ

予測子の重要度の推定。ens.X の予測子 (列) の数と同じ数の要素をもつ数値行ベクトルとして返されます。このエントリは予測子の重要度の推定で、0 は考えられる最小の重要度を示します。

関連性予測尺度。P 予測子の関連性予測尺度の値をもつ PP 列の行列として返されます。要素 ma(I,J) は、予測子 I が最適分割予測子となる予測子 J の代理分岐を平均化した関連性予測尺度です。predictorImportance は、アンサンブル内のすべてのツリーにおけるこの関連性予測尺度を平均化します。

詳細

すべて折りたたむ

予測子の重要度

predictorImportance は、アンサンブル ens 内の各木学習器について予測子の重要度を推定し、ens.TrainedWeight を使用して計算された加重平均 imp を返します。出力 imp には、予測子ごとに 1 つの要素が含まれています。

predictorImportance は、すべての予測子について分割によるノード リスクの変動を合計し、この合計を枝ノードの総数で除算することにより、木における予測子の重要度の尺度を計算します。ノード リスクの変動は、親ノードのリスクと 2 つの子のリスク合計との差です。たとえば、木で親ノード (例: ノード 1) が 2 つの子ノード (例: ノード 2 とノード 3) に分割される場合、predictorImportance は、次によって分割予測子の重要度を高めます。

(R1 – R2 – R3)/Nbranch,

ここで、Ri はノード i のノード リスク、Nbranch は枝ノードの総数です。"ノード リスク" は、ノード確率によって重み付けされたノード誤差として定義されます。

Ri = PiEi,

ここで、Pi はノード i のノード確率、Ei はノード i の平均二乗誤差です。

予測子の重要度の推定は、学習に代理分岐を使用するかどうかによって変化します。

  • 代理分岐を使用する場合、predictorImportance は、各枝ノードにおいて代理分岐を含むすべての分割上でノード リスクの変動を合計します。代理分岐を使用しない場合、この和は各枝ノードで検出される最適分割上で計算されます。

  • 予測子の重要度の推定は、代理分岐を使用する場合、予測子の順序には依存しませんが、代理分岐を使用しない場合には、予測子の順序に依存します。

関連性予測尺度

"関連性予測尺度" は、観測値を分割する決定規則間の類似度を示す値です。(木を成長させることによって求められる) 最適な分割に対して比較される、可能なすべての決定分岐の中で、最適な代理決定分岐は関連性予測尺度が最大になります。2 番目に最適な代理分岐は、関連性予測尺度が 2 番目に大きくなります。

xj と xk がそれぞれ予測子変数 j および k であり、j ≠ k であるとします。ノード t における最適な分割 xj < u と代理分岐 xk < v の間の関連性予測尺度は、次のようになります。

λjk=min(PL,PR)(1PLjLkPRjRk)min(PL,PR).

  • PL は、ノード t において xj < u となる観測値の比率です。添字 L は、ノード t の左の子を表します。

  • PR は、ノード t において xj ≥ u となる観測値の比率です。添字 R は、ノード t の右の子を表します。

  • PLjLk は、ノード t において xj < u および xk < v となる観測値の比率です。

  • PRjRk は、ノード t において xj ≥ u および xk ≥ v となる観測値の比率です。

  • xj または xk について欠損値がある観測値は、比率の計算に使用されません。

λjk は、(-∞,1] の値になります。λjk > 0 である場合、xk < v は xj < u の代理分岐として価値があります。

アルゴリズム

要素 ma(i,j) は、予測子 j が最適分割予測子となる予測子 i の代理分岐を平均化した関連性予測尺度です。この平均は、予測子 i の最適分割、および予測子 j の代理分岐における関連性予測尺度の正の値を合計し、予測子 ij 間の関連性予測尺度が負になる分割も含めた、予測子 i の最適分割の合計数で除算することによって計算されます。

拡張機能

バージョン履歴

R2011a で導入