キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
DataRobot コミュニティ

回帰予測における予測区間(Prediction interval)の算出方法

kmorihiro
青色LED

回帰予測における予測区間(Prediction interval)の算出方法

回帰予測をするときに、ピンポイントの予測値だけでなく、大体このくらいのレンジに収まるという範囲を示して欲しいと言われることがあると思います。

DataRobotの時系列予測では予測区間を出力することができますが、非時系列回帰予測ではその機能は無いと認識しています。非時系列回帰予測で予測区間を算出するとしたら、どのような方法が取れるでしょうか。

(Quantile regressionとか無いですよね?)

0 件の賞賛
5件の返信5
Isao
データロボット同窓生

残念ながら現状の非時系列回帰予測では、予測区間を算出する為のQuantile metricなどの損失関数をサポートしていないため、DataRobotを使って算出するのは難しいです。

しかしながらご要望としては確かによく頂いておりますので、今後サポートする可能性はございます。

0 件の賞賛

マニアックな話になりますが、「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段階モデルは、ちょうど私も試してみようかなあと思っていました。後処理をいとわなければ、こちらの方が汎用性ありそうですね。

 

皆さまご回答ありがとうございました。

0 件の賞賛
ShinichiroOhno
リニアアクチュエータ

同じことを調べていました。。

Gradient Boosted Trees Regressor」では、「loss」を「quantile」に指定できるのですが、

image.png

「 Light Gradient Boosted Trees Regressor」では「objective」に「quantile」を指定出来ないんですね。

ShinichiroOhno_0-1583319669726.png

https://qiita.com/shnchr/items/22868bea27a3a8bf0977#quantile-regression

のようなイメージで指定できるのかとおもっていましたw

0 件の賞賛
Isao
データロボット同窓生

@AkiraI なんと・・・このアルゴリズムだけサポートしていたとは知りませんでした。失礼いたしました。

補足ありがとうございます。

0 件の賞賛