回帰予測をするときに、ピンポイントの予測値だけでなく、大体このくらいのレンジに収まるという範囲を示して欲しいと言われることがあると思います。
DataRobotの時系列予測では予測区間を出力することができますが、非時系列回帰予測ではその機能は無いと認識しています。非時系列回帰予測で予測区間を算出するとしたら、どのような方法が取れるでしょうか。
(Quantile regressionとか無いですよね?)
解決済! 解決策の投稿を見る。
残念ながら現状の非時系列回帰予測では、予測区間を算出する為のQuantile metricなどの損失関数をサポートしていないため、DataRobotを使って算出するのは難しいです。
しかしながらご要望としては確かによく頂いておりますので、今後サポートする可能性はございます。
マニアックな話になりますが、「Gradient Boosted Trees Regressor」では高度なチューニングからlossをquantileに変更できます
その上でalphaを調整すればQuantile Regressionになる認識です
もしくはモデルが2段階になってしまいますが、残差の二乗を予測するモデルを作成して、予測値の平方根を標準偏差ぽく扱う方法も考えられます。
時系列予測の予測区間の算出ロジックをDataRobot社が公開してくれないかなあ|ω・`)チラ
> 「Gradient Boosted Trees Regressor」では高度なチューニングからlossをquantileに変更できます
確かに!! loss = quantileに設定すると「Gradient Boosted Greedy Trees Regressor (Quantile Loss)」のモデルが出来ました。例えば alpha = 0.9 と 0.1 のモデルを作れば、80%予測区間を取得することが出来そうです。
もしやと思ってLightGBMのobjective parameterにも quantile あるかなと思いましたが、こっちはありませんでした(MicrosoftのLightGBM公式実装にはあります)。設定追加を期待して待つことにします。
残差を予測する2段階モデルは、ちょうど私も試してみようかなあと思っていました。後処理をいとわなければ、こちらの方が汎用性ありそうですね。
皆さまご回答ありがとうございました。
同じことを調べていました。。
「Gradient Boosted Trees Regressor」では、「loss」を「quantile」に指定できるのですが、
「 Light Gradient Boosted Trees Regressor」では「objective」に「quantile」を指定出来ないんですね。
https://qiita.com/shnchr/items/22868bea27a3a8bf0977#quantile-regression
のようなイメージで指定できるのかとおもっていましたw
@AkiraI なんと・・・このアルゴリズムだけサポートしていたとは知りませんでした。失礼いたしました。
補足ありがとうございます。