例えば、地下水に対する施工の影響。施工前の水位観測データで実行雨量などから簡単なモデルを作成しておき、施工中の水位低下について施工の影響が含まれているかどうか(予測区間を外れているかどうか)を判断したい。このような場合に多用されてきました。
実行雨量から機械学習になっても、考え方は同じです。
区間を作る方法は以下のように複数あります。他にもありますが、分布を仮定せず、早いのは 時系列拡張型の conformal prediction でしょうか。
区間を作る方法は以下のように複数あります。他にもありますが、分布を仮定せず、早いのは 時系列拡張型の conformal prediction でしょうか。
① ブートストラップ
- 元データから復元抽出で複数セット作成 → モデル再学習(複数回)で予測分布や区間を構築。
- 理論背景がシンプルでモデル非依存(どのようなMLでも適用可能)。
- 分布の仮定をしない分、推定精度はデータ量に強く依存する。
- 繰返し計算で高コスト/遅い。
② 分位点回帰
- 目的変数の特定の分位点(例:中央値、95パーセンタイル)を出力する回帰。
- 分布の仮定不要で非線形構造にも強い。
- 多数実装GBDT系では実装あり。
- 分位点ごとに個別学習が必要でコスト増(例:2.5%, 97.5%予測には2モデル)
③ conformal prediction
- MLモデルでの予測後に別途実施するため、モデル問わず「後付け」可能。
- 絶対誤差 もしくは正規化絶対誤差を順に並べ、閾値を決めることで区間を予測(回帰)
- 誤分類率や区間内率など「理論保証」される。
- 時系列の取り扱いやデータ分割に工夫が必要。
よくよく考えると、区間を連続して外れると異常となるわけですから、教師ありの異常検知とも言えます。
先日、水位データの異常値を除く方法を問うているプロポがありましたが、こういった方法も使えると思います。
先日、水位データの異常値を除く方法を問うているプロポがありましたが、こういった方法も使えると思います。
0 件のコメント:
コメントを投稿