数学建模--时间序列分析

这篇具有很好参考价值的文章主要介绍了数学建模--时间序列分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.时间序列

2.平稳时间序列

差分方程

滞后因子

时序平稳性 

自回归模型AR(P)

滑动平均模型 MA(q)

自回归移动平均模型ARMA(p,q)

3.matlab时序分析

garchset函数

garchfit函数

4.案例分析


1.时间序列

        时间序列分析是一种数据分析方法,它研究的对象是代表某一现象的一串随时间变化而又相关联的数据系列,从而描述和探索该现象随时间发展变化的规律性。
时间序列分析方法包括:

  1. 确定性时序分析
  2. 随机性时序分析

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

2.平稳时间序列

        分析平稳的时间序列的规律,一般的分析程序可用下面框图表示: 

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

差分方程

        将某个时间序列变量表示为该变量的滞后项、时间和其他变量的函数,这样的一个函数方程被称为差分方程。

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

差分方程的齐次部分:只包含该变量自身和它的滞后项的式子。 

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

滞后因子

 

时序平稳性 

 文章来源地址https://www.toymoban.com/news/detail-663700.html

弱平稳:

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

 白噪声序列:

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

自回归模型AR(P)

如果时间序列Xt是它的前期值随机项(at)的线性函数,即可表示为

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

 称为P阶自回归模型,记为AR(P)

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言 

注1:实参数 称为自回归系数,是待估参数。随机项 at是相互独立的白噪声序列,且服从均值为0、方差为 的正态分布。随机项与滞后变量不相关。
注2:一般假定Xt均值为0,否则令时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

滑动平均模型 MA(q)

 如果时间序列Xt是它的当期前期的随机误差项的线性函数,即可表示为

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

称为q阶移动平均模型,记为MA(q)注:实参数 为移动平均系数,是待估参数。

引入滞后算子,并令:

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

一般地,任何经济变量的时间序列都可以自回归过程来描述。但在模型分析的实 践中,为简化估计参数的工作量,我们当然希望模型当中的参数尽可能地少。于是便 有了引进移动平均过程MA(q)的必要。

注1:移动平均过程无条件平稳。
注2:滞后多项式 的根都在单位圆外时,AR过程与MA过程能相互表出,即过程可逆, 

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

 即为MA过程的逆转形式,也就是MA过程等价于无穷阶的AR过程。

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

自回归移动平均模型ARMA(p,q)

如果时间序列Xt是它的当期和前期的随机误差项以及前期值的线性函数,即可表示为 

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

称为(p,q)阶的自回归移动平均模型,记为ARMA(p,q) 

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

        在实际的社会经济现象中收集到的时序大多数是呈现出明显的趋势性或周期性,要把趋势和波动综合考虑进来,于是Xt = μt+Yt。其中μt 表示Xt中随时间变化的均值(往往是趋势值),Yt是Xt中剔除μt后的剩余部分,表示零均值平稳过程。

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

3.matlab时序分析

garchset函数

通过命令garchset指定模型的结构

Spec=garchset(‘属性1’,属性1的值,’属性2’,属性2的值,…)

garchfit函数

garchfit对模型中的参数进行估计

[Coeff,Errors,LLF,Innovations,Sigmas]=garchfit(Spec,Series)
  • Spec指定模型的结构,
  • Series 为时间序列的样本观测值。
  • Coeff是模型的参数估计值,
  • Errors是模型参数的标准差,
  • LLF是最大似然估计法中的对数目标函数值,
  • Innovations是残差向量,
  • Sigmas是对应于Innovations 的标准差。

4.案例分析

选取1978-2006历年国内生产总值数据如下,试对该时间序列进行建模并预测。

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

解析:

1、问题分析与模型建立

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

首先画出数据的走势图,这一时间序列是具有明显趋势且不含有周期性变化经济波动序列,即为非平稳的时间序列,对此序列进行建模预测需要用上面介绍的非平稳时间序列分析方法。采用模型:Xt = μt+Yt。

2. 模型求解

2.1确定趋势是按指数趋势发展的时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

t=1978:2006; 
x=[3624.10 4038.20 4517.80 4862.40 5294.70 5934.50 7171.00 8964.40 10202.20 11962.50 14928.30 16909.20 18547.90 21617.80 26638.10 34634.40 46759.40 58478.10 67884.60 74462.60 78345.20 82067.46 89468.10 97314.80 105172.34 116898.40 136515.00 182321.00 209407.00]; 
X=[ones(29,1) t'];                           %回归的资料矩阵 
y=log(x)';                                   %线性化 
[B,BINT,R,RINT,STATS] = regress(y,X)          %回归 
y2= exp(B(1)+B(2).*t)                         %预测值 
plot(t,x,t,y2,'+');                           %回归效果图 


B=[-290.4864,0.1510];    %回归系数两个 
STATS=1.0e+003*[0.0010,2.1838,0] ;
 

 时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

a = exp(-290.4864)=6.9721×10-127
b = exp(0.1510)=1.1630

2.2随机性趋势

残差序列

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

观察残差序列的散点图可知,该序列有很大的波动性,可认为是非平稳的,应该经过多次差分使其平稳。

r=x-y2;                 %残差数列 
plot(t,r,'O');           %残差散点图 
二次差分后序列 
r1=diff(r);        %残差的一阶差分 
r11=[0 r1];        %补数列差分后的项为0 
plot(t,r11,'o');   %一阶差分散点图 
r2=diff(r1);       %二阶差分 
r21=[0 0 r2];      %补数列差分后的项为0 
plot(t,r21,'o');   %二阶差分散点图

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

2.3  ωt的时间序列分析

ωt为上述二次差分序列的均值化序列

%序列{ωt}的样本自相关函数ρk程序
w=r2-mean(r2);       %零均值化 
gamao=var(w);        %求方差 
for j=1:27 
    gama(j)=w(j+1:end)*w(1:end-j)'/27; 
end                  
rho=gama/gamao       %样本自相关系数 
bar(rho)             %条状图 

%样本偏相关函数ΦKk

f(1,1)=rho(1); 
for k=2:27 
s1=rho(k);s2=1; %计算的初始值 
for j=1:k-1 
s1=s1-rho(k-j)*f(k-1,j); 
s2=s2-rho(j)*f(k-1,j); 
end 
f(k,k)=s1/s2;                      %对角上的样本偏相关系数 
for j=1:k-1 
f(k,j)=f(k-1,j)-f(k,k)*f(k-1,k-j);  %不在对角上的样本偏相关系数 
end 
end 
pcorr=diag(f)' %提取偏相关函数 
bar(pcorr)     %条形图

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

 模型定阶程序:

for i=0:3 
for j=0:3 
spec= garchset('R',i,'M',j,'Display','off'); %指定模型的结构 
[coeffX,errorsX,LLFX] = garchfit(spec,w);     %拟合参数 
num=garchcount(coeffX);                   %计算拟合参数的个数 
[aic,bic]=aicbic(LLFX,num,27); 
fprintf('R=%d,M=%d,AIC=%f,BIC=%f\n',i,j,aic,bic); %显示计算结果 
end 
end

得到结果为:
R=0,M=0,AIC=554.744695,BIC=557.336369
R=0,M=1,AIC=547.624381,BIC=551.511892
R=0,M=2,AIC=547.846439,BIC=553.029786
R=0,M=3,AIC=549.327469,BIC=555.806653
R=1,M=0,AIC=551.953049,BIC=555.840559
R=1,M=1,AIC=550.238380,BIC=555.421727
R=1,M=2,AIC=821.672996,BIC=828.152180
R=1,M=3,AIC=547.002577,BIC=554.777598
R=2,M=0,AIC=555.026386,BIC=560.209733
R=2,M=1,AIC=556.460271,BIC=562.939455
R=2,M=2,AIC=552.958726,BIC=560.733748
R=2,M=3,AIC=552.882696,BIC=561.953554
R=3,M=0,AIC=554.379959,BIC=560.859143
R=3,M=1,AIC=553.753258,BIC=561.528280
R=3,M=2,AIC=560.830281,BIC=569.901139
R=3,M=3,AIC=829.833618,BIC=840.200313
计算结果显示可以为ARMA(1,3)模型。

对模型 进行参数估计程序:

spec = garchset('R',1,'M',3,'Display','off'); %指定模型的结构 
[coeffX,errorsX,LLFX] = garchfit(spec,w) %拟合参数 

 模型检验和预测程序:

spec= garchset('R',1,'M',3);           %指定模型的结构 
[coeff,errors,LLF,innovations,sigmas,summary] = garchfit(spec,w) %拟合参数 
h=lbqtest(innovations)                %模型检验 
[sigmaForecast,x_Forecast] = garchpred(coeff,w,3)   %预测 

得到的结果为 h=0说明模型是可用的,未来三年ωt的预测值为15270,25983,24497。
通过指数预测的值加上残差的预测值并可以得到最终预测结果。

时间序列分析数学建模,数学建模,matlab,算法,开发语言,统一建模语言

 

到了这里,关于数学建模--时间序列分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数学建模day15-时间序列分析

            时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分,分别是 描述过去、分析规律和预测未来 ,本讲将主要介绍时间序列分析中常用的三种模型: 季节分解、指数平滑方法和ARIMA模型 ,并将结

    2024年01月19日
    浏览(27)
  • 数学建模——确定性时间序列分析方法

    目录 介绍 确定性时间序列分析方法 1、时间序列的常见趋势 (1)长期趋势 (2)季节变动 (3)循环变动 (4)不规则变动 常见的时间序列模型有以下几类 2、时间序列预测的具体方法 2.1 移动平均法 案例1 【符号说明】  【预测模型】 2.2 一次指数平滑预测法 (1)预测模型

    2024年02月05日
    浏览(45)
  • 数学建模:14 时间序列

    目录 步骤 基本概念 时间序列分解 叠加 / 乘积模型 使用SPSS的实例 步骤 指数平滑模型 Simple模型 线性趋势模型 布朗线性趋势模型 阻尼趋势模型 简单季节性 温特加法模型 温特乘法模型 一元时间序列分析的模型 基础概念 平稳时间序列、白噪声序列 差分方程及其特征方程 滞

    2024年02月09日
    浏览(23)
  • 数学建模-时间序列预测步骤

    目录 数据 第一步:定义时间 第二步:创建传统模型 结果 论文下笔 GG 点击条件,点击 离群值全部勾选 点击统计 点击图 保存 选项   由于我们的数据中不存在缺失值,且为季度数据,则可以作出时间序列图 从图中可以看出,销量数据存在递增趋势并且有很明显的季节性波动

    2024年01月19日
    浏览(35)
  • 数学建模——时间序列预测(股价预测)

    完整数据及代码:数学建模+时间序列预测+LSTM+股票数据分析-机器学习文档类资源-CSDN下载          股票数据由代码、简称、时间、开盘价、收盘价、最高价、最低价、前收盘价、成交量、成交金额、PE、市净率、换手率组成,其中,代码、简称、时间不用于建模,PE、市

    2024年02月05日
    浏览(38)
  • 数学建模:ARMA时间序列预测

    🔆 文章首发于我的个人博客:欢迎大佬们来逛逛 时间序列是按时间顺序的一组数字序列 时间序列的特点: 现实的、真实的一组数据,时间序列背后是某一现象的变化规律,时间序列预测就是学习之前的规律来预测后面的值 判断时间序列数据 是否平稳 ,若非平稳需要做 差

    2024年02月11日
    浏览(32)
  • 数学建模常用模型(六):时间序列预测

    时间序列预测是数学建模中的一个重要领域,用于预测时间序列数据中未来的趋势和模式。时间序列预测可以帮助我们了解数据的演变规律,做出合理的决策和规划。 这是我自己总结的一些代码和资料(本文中的代码以及参考书籍等),放在github上供大家参考: https://githu

    2024年02月13日
    浏览(31)
  • 数学建模系列-预测模型(三)时间序列预测模型

    目录 前言 1 时间序列定义 1.1 朴素法 1.2 简单平均法 1.3 移动平均法 1.4 指数平滑法 1.4.1 一次指数平滑  1.4.2 二次指数平滑 1.4.3 三次指数平滑 1.5 AR模型 1.6 MA模型 1.7 ARMA模型 1.8 ARIMA模型 1.9 SARIMA模型         时间序列的目的:进行预测, 根据已有的时间序列数据预测未来

    2024年02月07日
    浏览(40)
  • 数学建模--时间序列预测模型的七种经典算法的Python实现

    目录 1.开篇版权提示 2.时间序列介绍  3.项目数据处理 4.项目数据划分+可视化 5.时间预测序列经典算法1:朴素法 6.时间预测序列经典算法2: 简单平均法 7.时间预测序列经典算法3:移动平均法 8.时间预测序列经典算法4:简单指数法  9.时间预测序列经典算法5:Holt线性趋势法

    2024年02月10日
    浏览(30)
  • 金融时间序列预测方法合集:CNN、LSTM、随机森林、ARMA预测股票价格(适用于时序问题)、相似度计算、各类评判指标绘图(数学建模科研适用)

    项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域) :汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自

    2024年02月13日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包