当前位置:网站首页>时间序列分析
时间序列分析
2022-08-09 14:59:00 【Lov1_BYS】
来源:数学建模清风学习内容整理
- 阅读建议:可直接看SPSS建模例题部分,再返回模型部分查询公式模型等写到论文中
什么是时间序列?
- 时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分,分别是描述过去、分析规律和预测未来。



时间序列分解(季节分解)
01 数学模型

----> 百度指数:http://index.baidu.com/v2/index.html#/
不 规 则 变 动 又称 白 噪 声


02 SPSS预处理
处理时间序列中的缺失值


定义时间变量

画时间序列图

- 时序图可以放入论文中,并做详细说明分析



03 时间序列分析模型

- 时间序列分解需要周期小于一年

指数平滑模型(7种)



参考:https://otexts.com/fpp2/holt.html



参考:https://otexts.com/fpp2/taxonomy.htm

参考:https://otexts.com/fpp2/holt‐winters.html


一元时间序列分析的模型
01 平稳时间序列和白噪声序列


- 只有b和g是平稳的,只要有上升或下降趋势的都不平稳。
02 差分方程和滞后算子



03 AR模型


04 MA模型



05 ARMA模型


06 ACF和PACF系数
- 确定p和q:


07 ARMA模型的估计
- ACF和PACF都在拖尾

ARMA模型的极大似然估计https://wenku.baidu.com/view/34b3c968011ca300a6c39087.html
08 AIC和BIC准则


09 ARIMA模型

- 差分一次:1阶差分

- 差分两次:2阶差分

10 SARIMA模型(季节性的ARIMA模型)

SPSS建模过程

例题一:销量数据预测


- 要先定义时间变量


可以把离群值都勾选上


- 可以把置信区间也分析说明,写进论文




例题二:人口数据预测

- 先定义时间变量!!!



- 例题中用于人口预测的建模其实并不准确,因为人口是不会一直趋于增长的,具体的预测模型看预测算法模型一篇、
例题三:上证指数预测





例题四:GDP增速预测



拓展模型
何时使用ARCH模型或GARCH模型?

ARCH模型



GARCH模型



示例:深成B指时间序列的预测建模




- 建立4个模型来比较AIC和BIC来选择模型








- stata代码
clear // 清空变量
* (1) 导入数据并生成时间序列 (*和//都可以用来注释一行)
insheet using "Bindex.csv" //导入位于和代码同一文件夹下的csv数据文件
gen datevar = date(date,"YMD") // 将csv中的变量date转换为stata能识别的时间数据datevar
format datevar %td // 对datevar的展示格式进行转换,转换后以:日月年 显示
label variable datevar "日期" // 设置datevar的标签为日期,主要用于画图时的展示
tsset datevar // 定义datevar是一个时间序列数据
gen time=_n // 定义一个从1到n的time序列,n是观测值的个数,系统自动在后台记录的
tsset time // 将time这个序列定义为时间序列,后续滞后算子时需要用到
// 画深成B指的时间序列图
line index datevar
graph export "深成B指的时间序列图.png", as(png) replace // 导出图片到本地文件夹
// 计算日收益率数据
gen r=100*(index-L.index)/L.index //(今天的收盘价-昨天的收盘价)/昨天的收盘价 L是lag的缩写
// 对日收益率r进行描述性统计
summarize r
// 做出日收益率的时间序列图
line r datevar
graph export "深成B指日收益率的时间序列图.png", as(png) replace // 导出图片到本地文件夹
// 检验收益率序列r是否为单位根,检验方法是ADF检验(原假设:是单位根序列,备择假设:是平稳序列)
dfuller r
// MacKinnon approximate p-value for Z(t) = 0.0000 p值为0意味着拒绝原假设,所以我们认为r序列平稳
// 观察acf图与pacf图 ,判断AMRA模型的阶数
ac r,lags(20) // 自相关系数图,滞后20期
graph export "自相关系数图.png", as(png) replace // 导出图片到本地文件夹
pac r,lags(20) // 偏自相关系数图,滞后20期
graph export "偏自相关系数图.png", as(png) replace // 导出图片到本地文件夹
// 根据acf和pacf图,初步判断使用四个备选的ARMA模型来拟合
set matsize 1500 // 把计算时支持的最大矩阵大小设置的大一点,否则计算机性能较差的电脑可能在计算中会报错
arima r,arima(3,0,3) // 用ARIMA(3,0,3)模型对r进行估计
estat ic // 得到AIC和BIC,用于选择合适的模型(选小原则,详见第十一讲)
arima r,arima(8,0,8)
estat ic
arima r,arima(3,0,8)
estat ic
arima r,arima(8,0,3)
estat ic
// ARIMA(3,0,3)模型的AIC值和BIC值的平均值最小,所以下面我们使用这个模型进行估计
arima r,arima(3,0,3)
// 得到残差的预测值并生成残差分布直方图图
predict residess, residuals // 保存残差
hist residess,norm freq // norm freq表示加上标准正态分布的概率密度函数
graph export "残差分布直方图.png", as(png) replace // 导出图片到本地文件夹
// 检验残差是否为白噪声序列,检验方法为Q检验:原假设是白噪声,备择假设不是白噪声
wntestq residess, lag(12) // 对残差序列进行白噪声检验
// 生成残差的平方,并进行Q检验
gen ressq = residess^2 // 生成残差平方序列ressq
wntestq ressq, lag(12) // 对残差平方序列ressq进行白噪声检验
// LM检验:是否存在ARCH误差
reg ressq l.ressq l2.ressq l3.ressq l4.ressq l5.ressq // 将残差平方项对其滞后项回归
gen LM_STAT=e(N)*e(r2) // 计算LM统计量
display LM_STAT // 输出LM统计量
display chiprob(e(df_m),LM_STAT) // 计算p值
// 利用AIC BIC选择合适的模型进行估计
// 注意:扰动项的分布在金融数据中常服从t分布
// 正态分布下GARCH(1,1)估计
arch r,arima(3 0 3) arch(1) garch(1)
estat ic
// t分布下GARCH(1,1)估计
arch r,arima(3 0 3) arch(1) garch(1) distribution(t 3) // 自由度为3的t分布
estat ic
// 正态分布下GARCH(2,2)估计
arch r,arima(3 0 3) arch(2) garch(2)
estat ic
// t分布下GARCH(2,2)估计
arch r,arima(3 0 3) arch(2) garch(2) distribution(t 3)
estat ic
// 得到拟合结果,并进行预测
arch r,arima(3 0 3) arch(1) garch(1) distribution(t 3)
tsappend ,add(10) // 将时间延长10期
predict result // 对数据进行预测
tsline result r, legend(label(1 "预测值") label(2 "真实值")) // 绘制拟合图
graph export "预测结果图.png", as(png) replace // 导出图片到本地文件夹
// 注意:代码文件仅供参考,一定不要直接用于自己的数模论文中
// 国赛对于论文的查重要求非常严格,代码雷同也算作抄袭
边栏推荐
猜你喜欢

堆(heap)系列_0x06:NT全局标志和gflags.exe一页纸

【力扣】11. 盛最多水的容器

深入浅出最优化(4) 拟牛顿法

堆(heap)系列_0x02:堆的前世今生(WinDbg+Visual Studio汇编)

【工具使用】Modbus Slave软件使用详解

深入浅出最优化(5) 共轭梯度下降法

Stetman读paper小记:Backdoor Learning: A Survey(Yiming Li, Yong Jiang, Zhifeng Li, Shu-Tao Xia)

VGG pytorch实现

MNIST数据集的训练(内附完整代码及其注释)

【Postgraduate Work Weekly】(Week 12)
随机推荐
【工具使用】Keil5软件使用-基础使用篇
抱抱脸(hugging face)教程-中文翻译-使用 AutoClass 加载预训练的实例
hugging face tutorial-Chinese translation-pipeline-based reasoning
【学习笔记】win10报0xc0000221错误无法开机
堆(heap)系列_0x04:堆的内部结构(_HEAP=_HEAP_SEGMENT+_HEAP_ENTRY)
Hold face (hugging face) tutorial - Chinese translation - create a custom framework
Why learn the principles of compiling
【力扣】75. 颜色分类
【研究生工作周报】(第八周)
SVM支持向量机——MATLAB在数学建模中的应用
【The sword refers to Offer II 091. Paint the house】
堆(heap)系列_0x06:NT全局标志和gflags.exe一页纸
Visual Studio 2019新手使用(安装并创建第一个程序详细教程)
抱抱脸(hugging face)教程-中文翻译-预处理
Photoshop CS6的使用心得
NLP-阅读理解任务学习总结概述
NiN(Network in Network) pytorch实现
蓝桥杯嵌入式备赛
大唐杯5G练习题(二)
[Paper reading] LIME: Low-light Image Enhancement via Illumination Map Estimation (the most complete notes)
















