时序预测 | MATLAB实现HMM隐马尔可夫模型时间序列预测
预测效果
基本介绍
HMM 是一个双重随机的模型,以隐层状态序列组成的马尔科夫链为基础,对观测序列进行描述。隐马尔科夫模型开始于一个有限的状态集,由状态转移概率矩阵确定下一个状态值,由混淆概率矩阵确定从一个特定状态产生的观测值,因此具有学习时间序列信息的能力。
模型描述
程序设计
% 前向概率
ntime = size(Closing,2);
alpha = zeros(ntime,num_States);
beta = zeros(ntime,num_States);
% 尺度因子
S_alpha = zeros(ntime,1);
%本函数需要预测值与观测值
%nnR - R^2 value
%style - options for display of figures (1 or 2)
%titleN - title to be included (string)
clear title xlabel ylabel
%set figure number
n = get(gcf,'Number');
ylimMax1 = max(dataSim);
ylimMax2 = max(dataObs);
ylimMax = max(ylimMax1,ylimMax2);
ylimMin1 = min(dataSim);
ylimMin2 = min(dataObs);
ylimMin = min(ylimMin1,ylimMin2);
figure(n)
plot(dataObs)
title(' 曲线');
ylabel('数据');
xlabel('样本');
set(gca,'FontSize',12)
学习总结
马尔可夫链是一种研究事物转移规律与状态变化情况的理论,不仅能够应用在时间序列的分析中,也可以应用在空间序列的分析中,马尔可夫链系统在每一个阶段的状态都有着随机性的特征,其时期状态是按照概率来进行转移的,下一时期状态只由本时期转移概率与状态来决定,不会受到其他因素的影响.本文提出了一种基于HMM 时间序列预测模型,利用隐马尔科夫模型的时序特性,克服了现有基于机器学习算法的局限性。
在社会的发展之下,股票市场日趋成熟,股票预测方式正是基于计算工具、经济理论以及社会发展基础下产生,当然,该种方法并非适宜用于所有问题的计算中,在使用基于时间序列马尔科夫链进行股市预测时,需要将各种历史信息充分合理地利用起来,这样既可有效提升预测的准确性,还可以帮助股市投资者分析出预测股票价格,在这一过程中,股市投资者能够根据自己的偏好来选择预测方式,采取针对性的投资方式,防止发生不合理投资行为.
参考资料
[1] https://download.csdn.net/download/kjm13182345320/85467003?spm=1001.2014.3001.5503
[2] https://download.csdn.net/download0/85476841?spm=1001.2014.3001.5503
[3] https://download.csdn.net/download45320/85467255?spm=1001.2014.3001.5503