十二、HMM 隐马尔可夫模型(未完)

深度学习兴起之前HMM主要用于语音识别,深度学习兴起之后,HMM主要用于隐式信息挖掘和数据分析。
在这里插入图片描述
在这里插入图片描述
在这里没有用到词典,在没有词典的前提下,利用HMM可以进行分词。但是使用词典,词典里没有出现的词可能分词会出现问题。
HMM不仅可以进行分词,还可以预测与轨迹或时间序列相关的量。比如股票、台风等。凡是与时间序列或空间序列相关的都可以。
在这里插入图片描述
在这里插入图片描述
由贝叶斯网络知,图中A在不可观测的情况下B与C不独立,因此z1不可观测的情况下,x1和右边所有都不独立。
在这种情况下(不可观测),可以考虑使用HMM来处理。它处理的是结构化数据,不能随意打乱网络。

LDA与HMM。
LDA假定词之间是独立的,每个词有一个主题。
如果假定前一个词的主题和后一个词的主题有某种制约关系,但是某个主题确定了,前一个主题和后一个主题是相互独立的。如果能做这个假定,可以采用HMM模型来做主题分析。
在这里插入图片描述
在这里插入图片描述
以上A矩阵为状态转移概率矩阵
在这里插入图片描述
B矩阵称为混淆矩阵。即给定隐变量z,能观测到x的概率。每行加和为1,可以理解为服从多项分布。

HMM模型中,z1为最特殊的结点,它是所有结点的父节点。 pai为初始阴状态的概率分布(n维向量)。

HMM要求隐藏状态一定是离散的,如果是连续的就变成卡尔曼滤波了。观测值可连续可离散。

如果B矩阵中m=n,且给定隐藏状态一定能观测到可见状态,那么矩阵B位单位阵,即无混淆状态。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
嗯,隐马尔可夫模型(Hidden Markov Model)是一种常用的序列建模方法,可以用于股票价格的预测。下面我将提供一个基于Python的整源码和数据的例子,来解释如何使用隐马尔可夫模型进行股票价格预测。 首先,我们需要准备一些数据。假设我们手头有股票A的每日收盘价数据,这些数据可以保存在一个以日期为索引的Pandas DataFrame中。 以下是数据的示例,其中Date表示日期,Close表示当天的收盘价: ```py import pandas as pd data = {'Date': ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05'], 'Close': [100, 110, 115, 105, 95]} df = pd.DataFrame(data) df['Date'] = pd.to_datetime(df['Date']) df.set_index('Date', inplace=True) ``` 接下来,我们需要使用Python的hmmlearn库来构建隐马尔可夫模型并进行预测。如果尚安装该库,可以使用以下命令进行安装: ```py pip install hmmlearn ``` 以下是使用隐马尔可夫模型进行股票价格预测的代码示例: ```py from hmmlearn import hmm # 创建隐马尔可夫模型对象 model = hmm.GaussianHMM(n_components=2, covariance_type="diag") # 拟合模型 model.fit(df[['Close']]) # 预测概率和状态序列 prob, states = model.decode(df[['Close']]) # 输出预测结果 df['State'] = states print(df) ``` 上述代码中,我们首先创建一个GaussianHMM对象,该对象的`n_components`参数指定了两个隐藏状态(我们假设股票价格会呈现上涨和下跌两种状态),`covariance_type`参数指定了协方差矩阵的类型。 然后,我们使用拟合方法(fit)来训练模型,输入的是收盘价数据。 接着,我们使用decode方法来计算每个观测值对应的隐藏状态,并将其保存在DataFrame中的State列中。 最后,打印输出整个DataFrame,即可查看预测结果。 使用隐马尔可夫模型进行股票价格预测是一个相对简化的方法,实际情况可能更加复杂。然而,这个例子可以帮助你了解如何使用隐马尔可夫模型进行股票价格预测,并且提供一个基于Python的整源码和数据的参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值