Skip to main content
QUICK REVIEW

[論文レビュー] Automatic Generation of Probabilistic Programming from Time Series Data

Anh Tong, Jaesik Choi|arXiv (Cornell University)|Jul 4, 2016
Time Series Analysis and Forecasting参考文献 12被引用数 5
ひとこと要約

この論文では、時間系列データから自動的にStan確率的プログラミングコードを生成するStanABCDというシステムを提案する。Automatic Bayesian Covariance Discovery (ABCD)フレームワークを活用し、合成ガウス過程を用いて学習された記述的共分散構造を、実行可能なStanコードに変換することで、ABCDの結果と高い整合性を保ちつつ、効率的なベイズ推論と外挿を可能にする。

ABSTRACT

Probabilistic programming languages represent complex data with intermingled models in a few lines of code. Efficient inference algorithms in probabilistic programming languages make possible to build unified frameworks to compute interesting probabilities of various large, real-world problems. When the structure of model is given, constructing a probabilistic program is rather straightforward. Thus, main focus have been to learn the best model parameters and compute marginal probabilities. In this paper, we provide a new perspective to build expressive probabilistic program from continue time series data when the structure of model is not given. The intuition behind of our method is to find a descriptive covariance structure of time series data in nonparametric Gaussian process regression. We report that such descriptive covariance structure efficiently derives a probabilistic programming description accurately.

研究の動機と目的

  • 手動でのモデル指定を必要とせず、時間系列データから確率的プログラミングコードを自動生成すること。
  • 自動統計モデリング(ABCD)と実行可能な確率的プログラミング(Stan)の間のギャップを埋め、スケーラブルな推論を可能にすること。
  • ABCDが学習したカーネル構造から、後続の統計解析に適した一対一のマッピングでStanコードに変換すること。
  • 推論をコンパイル済み確率的プログラミング環境に移譲することで、ABCDにおけるカーネル学習の高速化を図ること。
  • コンactかつ解釈可能なStanコード表現を用いて、異種時間系列の複雑なモデリングを可能にすること。

提案手法

  • ABCDを用いて、滑らかさ、周期性、チェンクポイントなどの解釈可能な要素を含む記述的共分散構造を時間系列から抽出する。
  • 合成カーネル学習を用いて、基本カーネル(例:SE, PER, WN, LIN, CONST)の和および積として合成カーネルを表現する。
  • カーネル演算を行列演算に翻訳することで、合成カーネルをStan構文にマッピングする:加算は行列の和、乗算はハダマード積に対応させる。
  • Cholesky分解を用いて、変換済みパrametersブロックで結合ガウス過程事前分布を実装し、効率的な多変量正規分布サンプリングを実現する。
  • 生成された量ブロックを用いて、標準正規乱数の線形変換を平均およびCholesky分解済み共分散を介して予測出力に変換する。
  • PyStanを用いて生成されたStanコードをコンパイル・実行し、テストポイントにおける事後予測分布からのサンプリングを実施する。

実験結果

リサーチクエスチョン

  • RQ1ABCDが学習した共分散構造は、Stanにおける実行可能な確率的プログラムに体系的に変換可能か?
  • RQ2生成されたStanコードは、実世界の時間系列データにおいてABCDの外挿性能をどれほど正確に再現できるか?
  • RQ3自動コード生成は、元のABCDモデルの解釈可能性と表現力の両方をどの程度保持しているか?
  • RQ4生成されたStanプログラムは、新たなデータポイントに対する効率的なベイズ推論と事後分布サンプリングを可能にするか?
  • RQ5予測不確実性および関数形の観点から、生成された確率的プログラムは元のABCDモデルとどの程度の忠実度を持っているか?

主な発見

  • StanABCDは、ABCDが学習した合成カーネル構造から、一対一のマッピングで有効かつ実行可能なStanコードを正常に生成した。
  • 生成されたStanプログラムは、国際線旅客機乗客数およびインドネシアルピア為替レートの両データセットにおいて、ABCDと同程度の外挿サンプリング性能を達成した。
  • 生成された確率的プログラムは、ABCDモデルの構成要素(例:周期性、線形トレンド、ノイズ)の解釈可能性を保持した。
  • 変換済みパrametersブロックにおけるCholesky分解の使用により、結合ガウス過程事前分布からの効率的かつ数値的に安定したサンプリングが実現された。
  • 本研究は、自動確率的プログラミング生成が実現可能で正確であることを示し、手動でのモデル再実装を伴わずにスケーラブルな推論を可能にした。
  • 生成されたコードは、最小限の工学的作業で事後予測サンプリングや不確実性の定量化といった後続タスクをサポートした。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。