rickey1227の日記

機械学習や計量経済学、ソフトウェアエンジニアリング、アジャイル、開発組織などについて書きます

機械学習による区間予測入門 ①: はじめに

値ではなく区間で予測したい

 機械学習の実務において、「この商品は100〜150個売れるでしょう」といったように幅を持った予測値を出したいケースは多くあるでしょう。しかし、機械学習の実務家・研究者向けの一般的なテキストや資料では点予測を前提としたものがほとんどで、区間予測について言及しているものは多くありません。そのため機械学習の経験を多く積んだ人でも区間予測についてはあまり良く知らない方が多いのではないでしょうか。

 他方、 scikit-learn のチュートリアルでは勾配ブースティングを用いたノンパラメトリック分位点回帰により予測区間を算出する方法が紹介されています。

scikit-learn.org

例えば90%予測区間を形成したい場合、目的変数の5%分位点と95%分位点を予測する二つのGBMの分位点回帰モデルを学習し、これらのモデルで推論した予測値の間を予測区間とする、という方法です。予測区間は下図(1)のようなイメージです。私の経験上、このやり方はベースラインのモデリングとして実務上上手く機能することが多いという感覚です。しかし、予測区間をより厳密に求めるためには、Conformalized Quantile Regression と呼ばれる上記の手法を改良した別のアプローチが適しています。

図(1): GBMを用いた分位点回帰による予測区間の例。scikit-learnの"Prediction Intervals for Gradient Boosting Regression"のページより転載。

Conformalized Quantile Regression とは

 Conformalized Quantile Regression とは、予測区間を model agnostic に算出するための方法論であるConformal Predictionと、上記の分位点回帰による区間予測とを組み合わせた手法です。簡単に言うと次のようなアプローチです: 

  1. ベースとなる予測区間は分位点回帰により求める (モデルは何でも良い)
  2. 未知データでも予測区間有意水準を満たせるよう、学習に使用していないホールドアウトセットを使って区間をどう補正したら良いかを決める

 CQRによる予測区間は、有限標本下でも統計的に望ましい性質を満たし、特定のモデルや分布の仮定を必要としない汎用性の高さとアルゴリズムのシンプルさとを兼ね備えた魅力的な手法だと感じています。CQRを使いこなせるようになれば、「幅を持たせた予測をしたい」といった機械学習のお題に対応する上で強力な武器となるでしょう。

機械学習による区間予測入門シリーズ

 本稿の後続の記事では、CQR を理解するにあたり必要な技術要素を連載の形式で解説します。本稿を①とし、下記リンクの順に解説します。

機械学習による区間予測入門 ②: 分位点回帰

機械学習による区間予測入門 ③: Conformal Prediction

機械学習による区間予測入門 ④: Conformalized Quantile Regression

機械学習による区間予測入門 ⑤: 予測区間の評価指標

機械学習による区間予測入門 ⑥: 実装例