为什么多元隐马尔可夫模型会生成一维样本数据?

问题描述 投票:0回答:1

我正在使用 python pomegranate 库,并且我正在使用方法

from_sample
初始化一个 hmm 模型。我有多元时间序列数据 - 每个时间点 t 具有不同的观察变量(a、b、c)。根据石榴文档,我将数据作为 numpy 数组列表传递,其中行是不同的时间点,列是特征/观察到的变量。

array = numpy.array([[t1a, t1b, t1c], [t2a, t2b, t2c])

model = HiddenMarkovModel.from_samples(MultivariateGaussianDistribution, n_components=20, X=array)

我正在使用“样本”从模型生成数据。

samples = model.sample(length = 5)

据我了解,用此方法生成的序列应该是发出的项目列表 - 但在上面的示例中,“samples”包含 5 个列表,每个列表只有一个元素。但我的意思是做一个多变量嗯 - 每个时间点发出三个变量。那么,为什么“样本”不包含每三个变量的列表呢?我做错了什么?

我非常感谢对此的任何帮助和反馈!

提前非常感谢您。

我已经在这里和石榴文档中搜索了问题/问题......但我找不到解决方案。

hidden-markov-models pomegranate
1个回答
0
投票

我认为这里的错误是当使用“sample”方法通过使用model.sample(lenght=5)生成数据时。您正在生成 5 个未连接的独立序列。样本应该定义为包含 ([[t1a, t1b, t1c], [t2a, t2b, t2c]),而不是数组,这样它就被注册为相同的序列而不是 5 个单独的序列。

我附上了另一个使用类似命令和程序的 stackoverflow 问题的链接。 石榴贝叶斯网络的样本

© www.soinside.com 2019 - 2024. All rights reserved.