1

Accord.NET プロジェクト ホーム (http://code.google.com/p/accord/) には、一連の 1 変数観測に基づく隠れマルコフ モデルの作成、トレーニング、および評価の例が含まれています。同じことをしたいのですが、多くの変数のシーケンスを使用します。従属変数と複数の独立変数を持つ重回帰構造を想定しています。出力に各状態の推定切片と係数、および遷移確率行列が含まれる HMM を推定できるようにしたいと考えています。例としては、株式リターンの時変ベータがあります。たとえば、ret(IBM) = インターセプト + b1*ret(インデックス) + b2*ret(SectorETF) + エラーですが、インターセプト、b1、および b2 は状態に依存します。

Marcelo Perlin は、Matlab の MS_Regress パッケージでまさにこの機能を提供しています。ただし、C# でこの機能が必要です。したがって、(1) Accord.NET ライブラリを使用して重回帰 HMM モデルを推定する、(2) Marcelo Perlin のパッケージを C# に変換する、または (3) 私の目標を達成する方法に関する他のアイデアのいずれかについて、どんな助けも大歓迎です。

ありがとうございました!

4

1 に答える 1

3

Accord.NET Framework は、多次元機能もサポートしています。ジェネリックを使用して、州で使用する任意の確率分布を指定できます。また、ドキュメントで使用可能な例もあります。

たとえば、2 次元の観測ベクトルがあり、ガウス放出密度を仮定した多次元モデルを仮定することを選択した場合は、次を使用できます。

// Assume a Normal distribution for two-dimensional samples.
var density = new MultivariateNormalDistribution(dimension: 2);

// Create a continuous hidden Markov Model with two states organized in a forward
// topology and an underlying multivariate Normal distribution as emission density.      
var model = new HiddenMarkovModel<MultivariateNormalDistribution>(new Forward(2), density);

その後、通常の Baum-Welch、Viterbi、または最尤法学習器の汎用バージョンを使用してモデルを学習できます。

ただし、残念ながらフレームワークがまだサポートしていないのは、あなたが言及した正確な回帰形式です。しかし、それは非常に興味深いようです。おそらく、将来どこかでフレームワークに追加される可能性があります。必要に応じて、プロジェクトの課題トラッカーに参考文献や論文とともに提案として残してください。非常に便利な追加のようです。

于 2012-11-02T18:50:23.200 に答える