首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Accord.NET估计多元回归HMM模型

用Accord.NET估计多元回归HMM模型
EN

Stack Overflow用户
提问于 2012-10-09 03:11:44
回答 1查看 1.4K关注 0票数 1

Accord.NET项目主页(http://code.google.com/p/accord/)包含基于单变量观测序列创建、训练和评估隐马尔可夫模型的示例。我也想做同样的事情,但是有很多变量的序列。我正在设想一个具有一个因变量和多个自变量的多元回归结构。我希望能够估计HMM,其中输出包括每个状态的估计截距和系数,以及转移概率矩阵。股票回报的时变betas就是一个例子。例如,ret(IBM) = intercept + b1*ret(Index) + b2*ret(SectorETF) + error,但其中intercept、b1和b2是状态相关的。

Marcelo Perlin在他的MS_Regress package for Matlab中就提供了这种功能。但是,我希望在C#中实现此功能。因此,无论是(1)使用Accord.NET库来估计多元回归HMM模型,(2)将Marcelo Perlin的软件包翻译成C#,或者(3)关于如何实现我的目标的其他想法,任何帮助都将非常感激。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2012-11-03 02:50:23

Accord.NET框架也支持多维特性。您可以通过使用泛型来指定要在状态中使用的任何概率分布,而且还有一个example available in the documentation

例如,如果您有二维观测向量,并选择假设多维模型假设高斯发射密度,则可以使用:

代码语言:javascript
复制
// 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或最大似然学习器的通用版本来学习模型。

然而,不幸的是,框架仍然不支持您所提到的确切的回归形式。但它看起来很有趣。也许它可以在未来的某个地方添加到框架中。如果您愿意,请在项目的问题跟踪器中留下一些参考资料和论文作为建议。这似乎是一个非常有用的补充。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12787963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档