回帰問題に対して予測をしたく、予測をする際には入力する特徴量が外挿のデータの可能性があるかも合わせて知りたいと考えています。
(外挿データを予測しているかどうかを知る事により、利用者の判断に役立てたいと考えています。
活用例:確率が低くて高い有効性がある予測結果より、確率が高くて有効性がある予測結果を使う)
この上で以下について、確認させてください。
・分類問題において予測した際、どのクラスになるか確率も合わせて出力されますが、回帰問題も同様に確率を出力する事はできますでしょうか。
また出力できた場合、どのような計算がされた確率でしょうか。(例えば、モデルの信頼性評価に基づいた値)
・出力できない場合、入力する特徴量が外挿値かどうか予測時に判断する方法は、何かありますでしょうか。
異常検知モデルを別途作成し、利用すれば外挿かどうかは判断できそうですが、それ以外で可能な方法があれば教えて頂きたいです。
解決済! 解決策の投稿を見る。
@yo-he さん
ご質問ありがとうございます。
入力の特徴量の外挿となっているかどうかをみる一つにMLOpsのデータドリフトがあると思います。
内部のアルゴリズムから考えると、分布の比較を行っているため、予測実行時にすぐさま反映されることはないですが、ここでトラッキングすれば、いつ頃、どんなデータで入ってきたのかというおおよその傾向を捉えることができるのではないでしょうか。
他にもデプロイした後であれば信頼性ルールを設定し、特定の値(この場合デプロイ前に使っていたデータ)より外であれば、エラーを返すという方法も可能です。
ただし、この場合には、ルールを10個までしか設定できないので、特徴量自体が少ない場合には有効かと思います。
> 回帰問題も同様に確率を出力する事はできますか?
Quantile Lossが該当するかなと思います。例えば、コミュニティのこの記事なんかで設定方法が書かれていますが、分位数(例. 25%なら数値はいくつになる?)を指定して回帰問題を解けます。
これによって回帰問題の予測区間を算出し、確率に変えてしまえばいいかと思います。
> 異常検知モデル
問題によりそうですね。本当に全然違うデータであれば使えそうですが、外挿に対してそこまで異常判定するのかというのはやってみないとわからないと思います。
回答になっていますか?