残差タブの「残差分布」の中の、一番左の
「残差と実測」のグラフが右下がり傾向にあるとき
どのようにチューニングをすれば良いかをコメント頂けますと幸いです。
データロボットのマニュアルはこちらを参照しております
https://docs.datarobot.com/ja/docs/modeling/analyze-models/evaluate/residuals.html
Linear Regressionで残差と実測のグラフを表示すると
概ね横一列に点が並んでいるのですが
Eureqa Regressor (Quick Search: 250 Generations)の場合、上記のマニュアルの図と同じような、下記の右下がりのグラフとなってしまいました。
つまり残差プロットが、目的変数の値が大きくなるほど過小評価され、小さくなるほど過大評価となる傾向が見られました。
本来であれば横一列に点が並ぶ方が望ましいと思うのですが
このような場合、どのようなチューニング(またはそもそも)のアクションが考えられるでしょうか?
なお別件となりますが、残差タブの横にリフトチャートがありますが、
こちら実測のオレンジの丸のサイズが大小あるのですが、何の大小を表現しているかマニュアルに記載がないように思えたので、お分かりでしたらコメント頂けますと幸いです。
なお青の線上にも一部、白い十字マークが付与されている点があるのですが、十字の意味もコメント頂けますと幸いです。
よろしくお願いいたします。
解決済! 解決策の投稿を見る。
Sakaki-san,
"残差プロットが、目的変数の値が大きくなるほど過小評価され、小さくなるほど過大評価となる傾向が見られました。"
何か目的変数を予測するために重要な変数が抜けている場合にこのような現象が生じます。
モデルの細かいチューニングより、重要な変数を新しく入れることにFocusいただくと良いかと思います。
また、リフトチャートについてですが、お手数ですが、スクリーンショットをいただいてもよろしいでしょうか?
鎌田
@Sasaki -san,
ありがとうございます。
そちらは、”ドリルダウンを有効化”を押していただいた後に見えるUIでございます。
”ドリルダウンを有効化”を押していただくと、リフトチャートの上位2つ・下位2つをクリックした際に、その部分の予測値をダウンロードしていただける仕様になっております。
どこのビンのデータをダウンロードできるかをわかりやすくするために、オレンジの丸が大きく、そして青の十字が少し光ってみえるようになっております。
@Kei -san
早速ご返信いただきありがとうございます。
たしかに上位2つ・下位2つだけが丸が大きく、そして十字マークが付与されておりますね。ありがとうございます。
なお、前述のテーマの
"残差プロットが、目的変数の値が大きくなるほど過小評価され、小さくなるほど過大評価となる傾向になってしまう" 理由として
何か目的変数を予測するために重要な変数が抜けている場合にこのような現象が生じる
ということだったのですが、なぜ重要な変数が抜けるこの傾向になってしまうのか
についてコメント(または参考文献)などありましたら補足いただけますと大変ありがたいです。
経緯として、回帰分析では原点を通るように回帰線を引いてしまうと誤った結果になってしまうので、原点を通らない設定で線を引く必要がある、という話かと思い、
原点を0にしない設定に変えてみたのですが解消されなかったので、そういうことではないようでした。
よろしくお願いいたします。
@Sasaki -san,
"何か目的変数を予測するために重要な変数が抜けている場合にこのような現象が生じるということだったのですが、なぜ重要な変数が抜けるこの傾向になってしまうのかについてコメント(または参考文献)などありましたら補足いただけますと大変ありがたいです"
こちらですが、データの特性を捉えたモデルを構築することができていれば、残差plotはノイズだけになるはずで、そこに規則性は生じない結果が出てきます。
一方、そこに傾向が生じるということは、何か捉えきれていない特徴がそこに存在するということであり、それは多くのケースで、そもそもまだ捉えきれていない変数があることになります。
お答えになっていますでしょうか?
@Kei -san
コメント頂きありがとうございます。
データの特性を捉えたモデルを構築することができていれば、残差plotはノイズだけになるはずで、そこに規則性は生じない結果が出る
ということでおっしゃる通りだと思う一方で、同じデータセットなのですが、もっと単純な Linear Regression の結果が下記で
左端の、実測と残差のグラフが、縦軸の0付近に上記よりも点が集まっているので
こちらのほうが「データの特性を捉えたモデル」にはなっているような気もする一方で
R2乗はこちらのが低く、さらにこの決定係数が-1.6という状況なので、良いモデルとは言えなさそうです。
上述のEureqa Regressor は過学習してしまい、性能指標自体は高くなったが、
過学習の裏付けとして、残差分布は右下がりになっていると考えられるでしょうか?
@Sasaki -san,
データ分布の形だけ見ると、Linear regressionの方が、0付近に多いように見えますが、y軸のスケールにご注目いただければと思います。
Linear regressionの方が、外すときに幅(残差)が大きくなっているのが見えるかと思います。
Eureqa Regressor が過学習というより、シンプルにLinear Regressionの予測精度が、Eureqa Regressorよりも低いという解釈の方が妥当かと結果を見て私は思いましたが、いかがでしょうか?
今回の例のように「残差分布」にて左上から右下へ一直線の残差プロットに関しては、「予測分布」の方で予測vs実測のプロットを見ていただくと問題点が直感的にわかると思います。
下図の例であれば、実測と無関係に一定の値をただ予測している、と言うことが分かります。このケースであれば結局「何も予測できていないモデル」が出来ており、今のデータには予測に必要な特徴量が入っていないと言う結論になるかと思います。(該当のモデルの決定係数は恐らく0付近と推察します。)
@Kei -san
コメントありがとうございます。
確かにy軸のスケールに着目すると
Linear regressionの方が、外すときに幅(残差)が大きくなっているので
Eureqa RegressorよりもLinear Regressionの方が単純に予測精度が低い
という風に表現するのが妥当なように思えてきました。
@Isao -san
コメントありがとうございます。
予測分布を確認すると、
Linear Regression については
となっており、縦か横に一直線、という状況にまではいっていない
という風にも解釈できそうでしょうか?
なお、Eureqa Regressor (Quick Search: 250 Generations)
の予測分布はこちらで
決定係数は0.13と低いものの、こちらも
実測とは無関係に予測を一直線に出す、とまではいっていないようにも見えますでしょうか?
(実測が1.8等の特に大きいデータの情報を反映していないという観点もありますが)
Linear Regressionは大半のデータをほぼ1付近で予測しており、その中でも実測が2の箇所を1、実測が1の箇所の数データを2や0以下と予測しており、余計な学習をしてむしろ外している様子を見て取れますので、極めて精度が悪いです。
決定係数がマイナスというのは「平均値予測より悪い」ということを示していますので、このモデルは「特性を捉えるどころが誤った学習をして余計に外している」ということになります。
Eureqa Regressor (Quick Search: 250 Generations)は
実測が0.6 - 1.8まである中で、0.8 - 1.2までの範囲でしか予測しておらず、決定係数が0.13であることから、「わずかに特性は捉えてはいるものの、ほとんど予測できてない」ということになります。
どちらにも共通するのは、学習・予測するのに有効な特徴量が今のデータには含まれていない、という結論になるかと存じます。
こちら対応させていただきました。再度ご確認いただいてもよろしいでしょうか?