五一数学建模竞赛
承 诺 书
我们仔细阅读了五一数学建模竞赛的竞赛规则。
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、
网上咨询等)与本队以外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其它公开
的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处
和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞
赛规则的行为,我们愿意承担由此引起的一切后果。
我们授权五一数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示
(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。
参赛题号(从 A/B/C 中选择一项填写):
参赛队号:
参赛组别(研究生、本科、专科、高中):
所属学校(学校全称):
参赛队员: 队员 1 姓名:
队员 2 姓名:
队员 3 姓名:
联系方式: Email:
联系电话:
日期:年 月 日
(除本页外不允许出现学校及个人信息)
五 一 数 学 建 模 竞 赛
1
题 目:
煤炭价格预测问题研究
关键词:煤炭价格 灰色关联分析 时间序列 逐步回归 SPSS Matlab
摘 要:煤炭作为不可再生能源,是我国最安全、可靠的重要能源之一。煤炭价格
的变化往往反映了煤炭市场的变化,能源市场的变化,其不仅影响煤炭市场的供需
平衡,也影响煤炭产业结构调整的幅度。科学有效的预测煤炭价格的变话规律,可
以使煤炭行业更加兴旺,也能为国家能源市场的宏观调控提供科学依据。
本文在对秦皇岛煤炭价格的历史数据分析的基础上,利用灰色关联分析给出影
响煤炭价格变化的重要因素,并利用时间序列预测未来的煤炭价格,同时结合逐步
回归分析,给出研究的结论,并对煤炭市场给出一些建议。
对于问题一要求给出影响煤炭价格的重要因素并排序,进行灰色系统分析,利
用灰色关联分析求出煤炭价格与指标之间的两两相关性并排序。
对于问题二要求预测未来 31 天、35 周、36 个月的煤炭价格,结合煤炭价格折
线图数据,发现一定周期性和波动性,为了简化分析,在众多预测方法中选择了时
间序列,由于给出的煤炭价格为每周的价格,时间序列无法预测以天为单位的,采用
随机模拟,预测未来 31 天的煤炭价格。
对于问题三为了得到精准的预测模型,且考虑变量间的多重共线性问题,采用
逐步回归方法,找到一个能描述煤炭价格变化的多元线性回归方程,并以此进行灵
敏度分析,得出一些结论。
对于问题四可以基于问题三建立的多元线性回归方程,预测未来成本的变化趋
势以及影响煤炭价格波动的因子,根据价格波动因子,提出相关的合理意见以减少
煤炭价格的波动。
2
一、 问题重述
煤炭属于大宗商品,煤炭价格既受国家相关部门的监管,又受国内煤炭市场的
影响。除此之外,气候变化、出行方式、能源消耗方式、国际煤炭市场等其他因素
也会影响煤炭价格。请完成如下问题。
1. 请建立数学模型,通过量化分析的方法,给出影响煤炭价格的主要因素(不超
过 10 种),并且以秦皇岛港动力煤价格为例,给出从 2019 年 5 月 1 日至 2020
年 4 月 30 日,影响秦皇岛港动力煤价格的主要因素的排序(按影响程度从大到
小排序,不超过 10 种)。
2. 请结合秦皇岛港动力煤价格的历史数据(附件 1),以及问题 1 中的影响煤炭价格
的主要因素,建立煤炭价格预测模型,分别以天、周、月为单位,预测未来 31
天、35 周、36 个月的煤炭价格,并完成表 1。
3. 为了更加准确地预测秦皇岛港动力煤价格,请综合考虑未来各种情况(例如突
发事件)引起的煤炭价格影响因素在结构性和重要性方面的变化,建立煤炭价
格综合预测模型,并给出模型的预测结果。
4. 为保障我国未来煤炭市场的平稳发展,请结合问题 3 的模型,向政府部门提供
相关的政策建议。
二、 问题假设
1. 假设附件中的数据真实可靠,可以作为分析依据。
2. 假设秦皇岛港动力煤的月平均价格可以直接视作该月各周其价格的均值。
3. 假设个别周煤炭平均价格的缺少不会影响整体煤炭平均价格的走势。
4. 假设问题 2 中未来煤炭的价格仅受问题 1 模型中所涉及的因素的影响。
符号
BIC
三、 符号说明
说明
相关系数
灰色相关性
贝叶斯信息准则
滞后算子
四、 问题分析
4.1 问题一的分析
问题一要求给出影响煤炭价格的重要因素并排序,因此需要搜索影响煤炭价格
的指标数据,由于数据较少,我们认为是灰色系统,利用灰色关联分析求出煤炭价
格与指标之间的两两相关性并排序。
4.2 问题二的分析
3
问题二要求预测未来 31 天、35 周、36 个月的煤炭价格,结合煤炭价格折线图
数据,发现一定周期性和波动性,为了简化分析,在众多预测方法中选择了时间序
列,由于给出的煤炭价格为每周的价格,时间序列无法预测以天为单位的,我们采用
随机模拟,预测未来 31 天的煤炭价格。
4.3 问题三的分析
为了得到精准的预测模型,且考虑变量间的多重共线性问题,采用逐步回归方
法,找到一个能描述煤炭价格变化的多元线性回归方程,并以此进行灵敏度分析,
得出一些结论。
4.4 问题四的分析
问题四要求给出维持我国煤炭市场平稳发展的建议,基于问题三建立的多元线
性回归方程,预测未来成本的变化趋势以及影响煤炭价格波动的因子,根据价格波
动因子,提出相关的合理意见以减少煤炭价格的波动。
五、 问题一模型的建立与求解
5.1 模型准备
5.1.1 数据收集
我们从网络上收集到 2019-5 月到 2020-3 月份煤炭进口量/万吨,煤炭出口量/
万吨,全国铁路煤炭发运量/万吨,居民消费者指数价格指数(上月=100),全国煤
炭企业库存/万吨,GDP,煤炭加工成本指数,秦皇岛平均最高气温/℃。
5.1.2 数据预处理
鉴于数据收集之繁琐且困难,在保证绝大部分数据真实可信的条件下,我们对
某些自变量(煤炭出口量,全国煤炭企业库存,煤炭产量,煤炭进口量)值进行临近
线性插值和算术平均处理,以及对因变量煤炭价格进行平均处理,求得每月平均价
格。大致数据如下表:
表 5-1 2019 年 5 月-2020 年 3 月与煤炭价格相关的各项指标
煤
炭
产
量/
亿
吨
3.10
煤炭进
口量/万
吨
煤炭
出口
量/万
吨
全国
铁路
煤炭
发运
量/万
吨
2747.00
31.90
20800.
00
居民消
费者指
数价格
指数
(上月
=100)
100.00
GDP
全国煤
炭企业
库存/万
吨
煤炭
价格
/元
煤炭
加工
成本
指数
秦皇
岛平
均最
高气
温
/℃
5300.00
80785.91 109.10 24.50 611.88
2019-5
2019-6
3.30
2710.00
33.20
20300.
99.90
5300.00
80658.23 105.60 25.80 597.50
00
2019-7
3.20
3288.00
66.20
21200.
100.40
5250.00
81129.66 100.30 28.00 600.00
00
2019-8
3.20
3295.00
34.10
20000.
100.70
5700.00
82200.20
98.60
28.80 586.00
00
4
2019-9
3.20
3028.00
23.80
20000.
100.90
5750.00
83869.86
90.90
26.90 586.50
00
2019-10 3.20
2569.00
34.00
21500.
100.90
6400.00
86138.64
88.70
19.40 577.50
00
2019-11 3.40
2078.00
79.20
21100.
100.40
6600.00
94611.59
84.30
10.70 554.50
00
2019-12 3.30
277.00
67.50
21500.
100.00
6800.00
93874.79
87.00
3.20
552.50
00
2020-1
2.45
3403.00
60.80
20500.
101.40
17105.00 89533.32
91.10
2.30
561.25
00
2020-2
2.45
3403.00
64.20
16750.
100.80
19256.00 81587.16
91.90
3.50
575.00
00
2020-3
3.40
2783.00
61.00
18500.
98.80
33726.00 70036.33
90.30
11.10 575.00
00
5.1.3 灰色关联分析介绍
灰色关联度分析是对多因素指标统计分析方法,用灰色关联度来描述各个因子
之间的强弱、大小和次序。灰色关联度分析法对数据的连续性、规律性、代表性均
没有严格 要求,能保证量化结果与定性分析结果的一致性。具体流程图如下:
5.2 模型建立
5.2.1 分析数列的确定
灰色关联度分析的进行需要确定参考序列,反映系统特征的数据列,还需要确
定比较数据序列,是影响系统变化的数据序列。
设为母序列(因变量)煤炭价格为 ,子序列(自变量)依次为
5.2.2 数据标准化
数据标准化处理去量纲,令
,其
5
中 为各序列的均值。
5.2.3 序列绝对差
对标准化后的参考序列与比较序列进行差值运算并取绝对值,计算得出每列数
列的最大差与最小差。数学表达式如下:
5.2.4 定义关联系数
,
表示参考序列与比较序列第 个序列的关联
程度,
5.2.5 计算灰色关联度
,数值越大,表示相关性越强,反之,相关性越小。一般地,
。
灰色关联度是对灰色关联系数做均值运算,将参考序列与比较序列在各个时刻
代表母序列 与子
所体现的关联度数值,转变为两序列间的关联度数值,以
序列 之间的灰色关联度,则计算公式表示为:
5.3 模型求解
利用 Matlab R2017a 平台(代码见附录),我们对母序列 与子序列 灰色关
联分析度进行求解,子序列中各个指标的灰色关联度分别为:
表 5-2 秦皇岛港煤炭价格与各项指标的关联性
煤炭产
量
煤炭进
口量
煤炭出
口量
全国铁
路煤炭
发运量
居民消
费者指
数价格
指数
GDP
全国煤
炭企业
库存
煤炭加
工成本
指数
秦皇岛
平均最
高气温
0.9353 0.8627 0.7559 0.9511 0.9779
0.6559 0.9328 0.9622
0.6777
4
6
7
3
1
9
5
2
8
关
联
性
大
小
排
序
由计算结果可知,从 2019 年 5 月 1 日至 2020 年 4 月 30 日,影响秦皇岛煤炭价
格的主要因素依次排序为经济水平,煤炭生产成本,煤炭产量,季节因素。
六、 问题二模型的建立与求解
6.1 模型准备
6
6.1.1 数据处理
题目中给出了秦皇岛港动力煤价格的共 600 多组历史数据,由于数据众多,因
此我们对秦皇岛港动力煤每周平均价格求平均值,便于后面的计算分析。
6.1.2 模型转化
且对于每天数据预测,查找文献,发现一周内的每天煤价的变化很小,且根据
第一问的影响因素发现煤价的波动范围具有很强的随机性。故将每天的数据由每周
平均值加上这个波动变化值来代替,这就将每天的数据预测转化为每周的平均值以
及波动范围边界预测。
对数据进行处理后,发现平均值近似等于最大值和最小值的平均值,波动范围
边界为平均值和最大值或者最小值的绝对值,所以决定通过建立 ARMA 时间序列模型
预测每周的最大值,最小值,进而实现对每天煤价的预测。
6.1.3 时间序列模型简介
时间序列模型有四种:自回归模型 AR、移动平均模型 MA、自回归移动平均模型
ARMA、自回归差分移动平均模型 ARIMA,而都是 ARIMA 模型的特殊形式。以下时间
序列都是基于 ARIMA 模型:
且
即
(1) 拟合优度评价指标:一般比较两个模型的好坏,我们可以使用平稳的 R 方或
者标准化 BIC(BIC 准则,它综合考虑了残差大小和自变量的个数,残差越
小 BIC 值越小,自变量个数越多 BIC 值越大),这两个指标既考虑了拟合的好
坏,又考虑了模型的复杂度,R 方可用来反映线性模型拟合的好坏,越接近
于 1 拟合的越准确。
(2) 白噪声序列:若时间序列 满足以下三个条件:
=− =0
= − =2
,− =0(≠0)
则称 为白噪声序列
(3) ACF 自相关系数:表示一个平稳序列 中,间隔 s 期的两个时间点之间的相
关系数。它的计算公式为=
() (,−)=0其中,0=(,)=
(,−)
()
(4) PACF 偏自相关系数:用来衡量和−在剔除掉所有中间取值的线性关系。
如果 是白噪声序列,那么= 1,=0
0,≠0,
样本自相关系数:= = =+1
−
−−
− 2
=1
0:1=2=⋯==0, 1:(=1,2,⋯,)
7
(5) 白噪声序列的残差检验:
1 Q 值(杨-博克斯)检验法
在0成立的条件下,统计量=(+2)
=1
2−
~−2
spss 软件会给我们算出 p 值,p 值小于 0.05 则拒绝原假设,此时模型没有识别完全,
需要修正.
注:(1)T 表示样本个数,
(2)n 表示模型中未知参数的个数(例如 ARMA(p,q)模型中,n=p+q+1)
(3)8 根据样本量的大小-般可以取 8,
24 等(SPSS 软件取的是 18)
16,
2 作残差的 ACF、PACF 图检验法
观察残差的 ACF 和 PACF 图,若所有滞后阶数的自相关系数和偏自相关系数均和
落在置信区间内则说明所建立的模型可以很好地识别所给数据;否则说明模型需要
改进,应剔除异常值后重新建模。
6.2 模型的建立与求解
由于每天的煤炭价格是通过对每周煤炭价格最大值和最小值的预测来实现的,
故先进行对每周煤炭价格的预测。
6.2.1 对未来 35 周煤炭价格的预测
(1)模型的选取与拟合
通过专家建模,我们选取了 ARIMA(1,1,18)模型来预测未来 35 周煤炭平均价格,
详细数据见附录。并利用时间序列建模器分别对这两个模型进行拟合度分析。
表 6-1 模型拟合度
百分位数
拟合统计
平均值
标准误差
最小值
最大值
5
10
25
平稳 R 方
R 方
正态化 BIC
.295
.992
5.160
.
.
.
.295
.992
5.160
.295
.992
5.160
.295
.992
5.160
.295
.992
5.160
.295
.992
5.160
模型拟合度(续表)
百分位数
拟合统计
平稳 R 方
R 方
正态化 BIC
50
75
90
95
.295
.992
5.160
.295
.992
5.160
.295
.992
5.160
.295
.992
5.160
由图中 R 方的值为 0.992,非常接近 1,BIC 较小,说明拟合程度较高,该模型
拟合准确。
(2)参数估算
由于
(3)残差的白噪声检验
模型对应的表达式较为复杂,这里不再赘述。
完成时间序列模型后,我们需要对残差进行白噪声检验,如果残差是白噪声,
8