煤炭价格走势分析 数学建模

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

煤炭价格走势分析
摘要:本文通过分析对煤炭价格的变化趋势与对煤炭价格影响的主要因素,通
过运用分析中的回归分析,简历单变量非线性回归模型与多元线性回归预测模型,以达到对煤炭价格的预测。

首先通过对我国山西大同Q550煤炭2012年9月-2014年5月的价格走势分析,建立以煤炭价格为因变量,以时间为自变量的单变量非线性回归模型,并且利用软件拟合出煤炭价格随时间变化的规律,本模型在一定程度上能预测未煤炭价格的预期就是,但运用此模型对未来进行长久预测具有较大的误差,与实际相差较大。

由于国家政策的变化,我们对模型偏差的原因进行了分析,发现供求关系就是影响煤炭价格的主要因素。

选取1995-2013年间煤炭的生产量、需求量作为自变量,仍以煤炭价格作为因变量,建立了多元线性回归模型,并且对此模型的四个变量做了时间序列分析,得到了2014年各个自变量的预测值,继而运用此模型比较精确的预测出了2014年的灭摊价格。

由于对我国煤炭需求总量的预测会受到许多因素的影响 ,以前的预测与实际相差较大。

经过认真比较与研究 ,我们采用基于灰色系统理论的 GM ( 1 ,1 ) 模型 ,对我国煤炭需求总量进行数列预测。

关键词:曲线估计、单变量非线性回归分析,多元回归分析、价格预测、时间序列分析、灰色模型
一、问题的提出
中国仍就是世界上以煤为主要能源的国家之一,煤炭在中国经济发展中占据着重要的位置,它不仅就是工业的主要能源,也就是民用的主要能源与化工原料,并且就是我国出口的商品。

煤炭仍就是中国的主要能源,未来较长的一段时间内,煤炭仍然就是中国能源的支柱,它仍在国民经济中具有重要的战略地位。

近几年来,我国煤炭的价格一直处于较大的波动范围,特别就是近几年的煤炭大幅下降引起了社会的广泛关注。

煤炭作为基础能源,需求关系的变化,必然会导致价格的变化。

煤炭作为国家主要能源,客观分析个判定煤炭价格的影响因素,了解预测未来煤炭的价格,对于掌握决策的主动权,就是非常重要的。

二、问题的分析
预测未来各类煤炭价格走势规律,需要掌握近年来煤炭价格的数据。

通过查询,可以获得的就是近两年各类煤炭的价格走势。

通过对所得数据的分析,发现煤炭价格逐渐增加,并且随着时间成非线性变化。

在对整体数据分析的基础上,可以建立煤炭价格与时间的单变量非线性回归方程,继而可根据此回归方程进行价格预测。

单变量回归模型仅就是单纯地研究了煤炭价格随时间的变化规律,过于简单且表面化。

事实上煤炭价格受多方因素的影响,这些影响因素才就是煤炭价格变化的根本原因,建立煤炭价格与各影响因素间的回归模型,对未来煤炭价格进行分析预测更具有合理性。

在不考虑国家政策强制干预的前提下,决定煤炭价格的主要因素就是供需关
系。

随着煤炭市场的有序放开与煤炭市场化进程的加快,煤炭价格回归理性的预期将会显现。

这就需要结合我国煤炭产业的实际情况,重点从煤炭的生产量、消费量、进口量以及出口量对煤炭价格进行统计模拟分析,建立煤炭价格与这些变量的回归模型,从而实现对未来煤炭价格的预测。

一、模型假设
1、1查找得到的数据真实可靠,且煤炭价格为地区平均价格。

1、2多元线性回归模型中,煤炭价格主要受市场条件下的供求关系的影响,建立模型过程中不考虑国家政策的强制干预。

1、3多元线性回归模型中,假设在市场条件下,主要讨论煤炭价格受煤炭生产量、煤炭消费量的影响,忽略其她影响因素。

二、模型的建立与求解
2、1非线性回归模型
2、1、1 模型的建立
设2012年5月1号为日期变量编号1,每增长15天变量增加1,如2012年5月16号为2,以此类推,我们得出了2012年5月1号到2014年5月1号动力煤的价格散点图,以此分析动力煤的价格走势。

分析动力煤价格散点图,利用SPSS软件进行曲线拟合,经过对比分析,发现三次方拟合度最好,R方最高,上表就是对三次曲线拟合效果的检验表,R方为0、680,相对其她曲线拟合度最高,顾客判断日期与动力煤价格在短期内之间有显著的三次曲线关系。

下表相伴概率sig、=0、000说明模型具有显著的统计学意义。

从表中可以得知因变量与自变量的三次回归模型为:
y=641、611-1、123x-0、137x2 +0、003x3
炼焦煤价格走势图,对炼焦煤价格进行拟合如下图:
R 方为0、874,拟合度较高。

Sig、为0、000,同理得炼焦煤的三次回归模型为: Y
=733、191-23、046x+1、197x2-0、19x3
2
由预测函数可知动力煤在短期内会上涨,炼焦煤在短期内价格会下降。

2、2多元线性回归预测模型
2、2、1模型的建立
对煤炭价格影响因素的研究,国内的学者有众多分歧。

在模型中,认为煤炭价格主要受煤炭供求平衡情况影响,建立煤炭价格与煤炭生产量、煤炭需求量的多元回归模型。

从1995到2013年的历年的煤炭价格、煤炭生产量、煤炭需求量的数据如下5、2表
表5、2 1995-2013年煤炭各变量的历史统计数据
需求量为变量x1,生产量为x2。

确定各变量之间的关系。

根据数据,画出煤炭价格与各变量的散点图,同时计算煤炭价格与各变量的相关系数(如表5-3所示)。

表5-3 煤炭价格与各影响变量的相关系数
相关系数0、778 0、789 图5-3 生产量与煤炭价格的散点图
图 5-6 需求量与煤炭价格的散点图
从以上煤炭价格与各个变量的相关系数与散点图可以瞧出,煤炭价格与煤炭生产量、需求量具有显著的相关性,鉴于此,建立如下模型:
(5-3)
εββ++=2110x x y
2、2、2回归模型参数的求解
根据我国1995-2013年关于煤炭价格、煤炭生产量、煤炭需求量的历史统计数据见表5-2),对模型(5-3)进行求解,得到各参数与相应的统计指标,如表5-4所示。

参数或
指标
0β 1β 显著水平 α 2R F p ε 估计值 0、002 -0、001 0、05 0、963 103、45
<0、
0001 0、543 从上表可知,2R =0、963,即因变量(煤炭价格)96、3%可由模型确定,且F 值超过了F 检验的临界值,p <α,所以模型就是可以应用的。

将表中回归参数的估计
值带入模型(5-3)中,建立起我国煤炭价格与煤炭生产量、需求量之间的回归预测模型,即为:
21001.0002.0543.0x x y -+=
(5-4)
2、2、3采用时间序列预测2014年相关变量的值
(1)单变量随机线性模型主要有两种:一种为自回归模型()()AR p ,其方程为:
1122p t t t t p t y y y y a φφφ---=++⋅⋅⋅+ (5-5)
式中:12,,,p φφφ⋅⋅⋅——待估自回归参数;t a ——随机冲击,就是一个白噪声序列 ,服从2(0,)N σ;另一种为滑动平均模型()()MA q ,其方程为:
1122t t t t q t q y a a a a θθθ---=---⋅⋅⋅- (5-6)
式中:12,,,p θθθ⋅⋅⋅——滑动平均参数。

对这两种模型的识别主要借助于其自相关函数与偏相关函数,分别定义为
0k
k r r ρ= (5-7)
1111111,1111,1,1,1
1k k k k j kj j kj k K j j k j kj k K k k j φρφρρφρφφφφφ-++-++==+++-+⎧=⎪⎪⎛⎫⎛⎫⎪=-•-⎨ ⎪ ⎪⎝⎭⎝⎭⎪⎪=-⎪⎩∑∑ (5-8)
其中:()()
1111,n k
n k t k t t i t r y y y y y y n n -+===--=∑∑ 若随机序列t y 的偏自相关函数kk φ在p 步以后截尾,即当k p 〉时,0kk φ=,而且其自相关函数k ρ拖尾,即k ρ随k 的增大而衰减,有收敛到零的趋势,则模型为()AR p 模型。

实际识别时,只要当k p 〉时,kk φ在零的上下波动,即可认为kk φ就是截尾的;若随机序列t y 的自相关函数k ρ在q 步以后截尾,而其偏自相关函数kk φ拖尾,则模型可识别为()MA q 模型。

模型的确立
对于时间序列,首先要进行模型的识别与定阶,即要判断模型的类别,并估计阶数,p q ,在此过程中以模型定阶的AIC 准则为判定依据。

当模型定阶后,
还要对模型参数进行估计,可以使用最小二乘法,无条件最小二乘法及最大似然估计进行求解。

最后并要对模型进行考核,即要检验t ε就是否为平稳白噪声。

(3)各变量所对应的时间序列的具体形式
对于变量1x 为()()MA q 形式:10.45084X B ∇=+;
对于变量2x 为()AR p 形式:210.354750.64525X B B ∇=--;
对于变量3x 为()AR p 形式:10.22735X B ∇=-;
对于变量4x 为()()MA q 形式: 1X B ∇=+;
注:1t t X x x -∇=-为变量X 的一阶差分;
在()AR p 模型中,算子B 定义为k t t k B X X -≡;
在()MA q 模型中,算子B 定义为k t t k B εε-≡。

(4):
将上表中对2014(5-3),计算得到:
20014年的煤炭价格354、257元, 相对于单变量的非线性回归,此模型较为精确的预测出了2014年的煤炭价格。

2、4、1煤炭行业循环经济建设就是一个长期的过程。

目前我国循环经济水平还不高,正处于从传统工业阶段向循环经济初级阶段的过渡。

未来煤炭行业循环经济发展,首先应当做好行业循环经济规划,从源头抓起,提高原煤入洗率,降低能源与物料的消耗;然后重点建设煤炭行业的相关产业链,通过资源的相互转化提高效率,减少末端污染的排放;在循环经济各项指标都均衡发展的同时,完成煤炭行业向资源集约型。

2、3于对煤炭的需求总量及其增长受经济发展、能源结构、产业结构、居民收入水平、气候等诸多因素的影响 ,其中一些因素就是确定的 ,而一些因素不确定 , 故可以把它瞧作一个灰色系统。

灰色预测法能够避免相关数据不足的致命弱点 , 也可以避免由于个人经验、知识与偏好以及宏观政策等因素的影响而造成的主观臆断 , 能较好地把握系统的自我演变规律。

3、3、1 GM ( 1 ,1) 预测模型的建立
建立模型
GM ( 1 ,1) 就是一阶、一个变量的微分方程型模型 ,适合于对系统行为特征值大小的发展变化进行预测[ 1 ]。

其实质就是通过对原始数据序列作一次累加生成 ( 1 2 A GO) , 使生成数据序列呈现一定规律 ,从而构造预测模型。

研究所用的原始数据 ,灰色模型煤炭需求预测 , 一般采用的方法有类比法 、
外推法与因果分析法等、 在实际应用中有弹性系数法 、人均能量消耗法 、单位产值能耗法 、技术分析法 、部门分析法 、经济计量模型法与能源投入产出分析法等、 国内一些专家与研究单位曾采用不同的方法 , 对我国 2004-2013年的能源与煤炭需求做过大量研究工作
}10,2,1|)()0()0( ,==t t X
X {}
)10(,),2(),1()0()0()0(X X X = }
0.361100,1.352647,2.342950,5.312236,1.2958933,9.281095,9.272745,5.2506065,1.231851,3.207561{ ①首先按GM(1,1)建模方法,对已知原始数据序列
X )0(进行一阶累加生成(即
1-AG0):
()()∑==t m m t X X 1)0()1( 。

得到生成数列X )1(,如下: {)}10,,2,1|)()1()1( ==t t X X
{})(,),(,)()
10()2()1(t t t X X X = ②构造数据矩阵B 及数据向量YN
⎥⎥⎥⎥⎥⎥⎥⎦
⎥⎢⎢⎢⎢⎢⎢⎢⎣⎢+-+-+-=111))()1-n ((21))3()2((21))2()1((21)1()1()1()1()1()1( n B X X X X X X []T N n X X X Y )(,),3(),2()0()0()0( =
③求模型参数α Y N T T T B B B b a 1-)(),(==∧α
④建立模型:根据参数α建立模型, 模型的时间响应方程为:
煤炭价格走势分析 数学建模
9 a
b a b t e X
X at +-=+-))1(()1()
0()
1( 其中: t = 0 ,1 ,2、 、 、 N 。

1、 2 模型改进
为了提高模型精度, 又对参数进行二次拟合估计, 以进一步改进模型[2 ] 。

将以上时间响方 程写成:
B Ae X
at
t +=
+)1()
1(
根据第一次估计的α值及原始1- A GO 数列
)(X )1(k 对A 与B 进行估计。

构造数据矩阵G 及
数据向量)1(X :
⎥⎥
⎥⎥
⎥⎦
⎤⎢⎢⎢⎢
⎢⎣⎡=---111)1(0n a a e e e G :
))(),2(),1(()1()1()1()1(B A n X X X X T 和求出参数 =
3498
.41225546705.4325113-==B A
)1(1)(}{X G G G B
A
T T -=这就是 1 - A GO 生成数列的预测模型 可以通过逆累加生成IAGO 得出原始数列的预测模型 ,即全国煤炭需求总量的预测模型 :
)()1()1()1()1()0(t X t X t X -+=+
3498.41225546705.4325113054122.0-=t e
其中: ,2,1,0n t =)1()1()1()0(X X = 3、3、2模型的精度检验及预测值精度评估 采用后验差方法检验以上模型的精度。

首先计算残差:n
t t X t X t e ,2,1),()()()0()0(=-=得残差相
量:))(),2(),1((N e e e e =
记原始数列)0(X 几残差数列e 的方差分别就是2
221S S 和,则
煤炭价格走势分析 数学建模
10
2
1
2
22
1)
0()
0(21)
)((1)
)((1∑∑-=-=N t
N
t
e t e N
S X
t X
N S 计算后验残差比值:1
2
S S C =
=0、1032<0、35,模型等级为好。

在计算小误差概率:
%95%1006745.0})({1≥=<-=S e t e P p ,该模型的精度为1级(好)
本模型经后验差检验表明 , 模型可靠、预测精度较高 , 有实际应用价值 , 不必建立 GM ( 1 , 1) 残差修正模型 , 亦有较高的预测精度。

结论对 GM ( 1 , 1) 模型在煤炭需求预测中的应用进行了深入研究 , 得出以下几点结论。

( 1) 采用灰色系统理论进行建模 , 能够克服相关数据不足的缺陷与避免人为因素的影响。

本文建立的预测模型的仿真结果与实际值接近 , 预测误差较小 , 模型精度好 , 这表明基于灰色理论的预测方法 , 适合于对我国煤炭需求总量的趋势进行预测。

该方法就是切实可行并有效的 , 对我国煤炭工业的发展规划有重要参考价值。

( 2) 未来一些扰动因素将不断进入系统而对系统施加影响 , 当利用模型进一步外推时 , 将会发灰区间越来越大 , 即用这个模型进行长期预测 ,效果将越来越差 , 因此不能用本模型去预测未来所有的值。

模型的参数应当根据信息的出现而不断调节 [ 2 ]避免模型中灰参数的估计“一劳永逸”。

实践证明 , 在对变化过程中的未知系统进行
预测时 , 只有不断增加新信息、新数据 , 才能对系统的变化趋势有一个更好的拟合。

( 3) 建立本模型的主要目的在于探索一种煤炭需求预测的科学有效的方法 , 提供一个解决问题的思路 , 并非试图提供一个“万能”的计算公式。

任何预测技术都有其局限性 , 虽然灰色模型可以进行煤炭需求的预测 , 但仍存在不足 。

三、 模型的优缺点及改进方向
1、在单变量的非线性回归模型中,建立的就是煤炭价格随时间变化的三次回归方程,模型建立简单,仅有时间一个变量。

最终模型通过了检验,并能在一定程度上对煤炭的价格进行预测。

但其存在一个很大的缺点,由于考虑影响因素过于表面化,对于真正影响煤炭价格变动的复杂内因并未深入研究,已经时间间隔过短,只能对短期几个月进行预测,导致其预测的准确性大打折扣,仅能运用于较粗略的预测。

2、在多元线性回归预测模型中,抓住了生产量与消费量关系对煤炭价格变动的主要影响,所建立的模型能够较精确地对未来的煤炭价格进行预测。

但就是,该模型对影响价格变动的因素选取还欠全面,且有些笼统。

煤炭价格的变动还要受到其她能源价格、煤炭储存量、供需关系,以及煤炭库存量等诸多因素的影响。

在对模型进行改进的过程中,要将这些变量重新进行分析,提取主成分,然后建立多变量的回归模型。

得到的模型的2R 值可能会更大,能更好地解释煤炭价格的变化。

煤炭价格走势分析数学建模
四、参考文献
一、中国商务网
二、国家数据中华人民共与国国家统计局
三、煤炭行业循环经济发展模式与指标体系研究江涛张天柱 (清华大学环境科学与工程系,北京100084) 基于灰色理论的煤炭需求预测模型研究荆全忠,苏同营
用时间序列预测2014年煤炭的生产量X1
data dixs;
input x;
cards;
133461、7
137211、9
133159、0
122810、6
104500、0
138418、5
147152、7
155040、0
183489、9
212261、1
234951、8
252855、1
269164、3
280200、0
297300、0
323500、0
351600、0
364500、0
368200、0
run;
proc arima data=dixs;
identify var=x(1);
estimate p=1 method=cls plot;
forcast lead=1;
estimate p=2 method=cls plot;
forcast lead=1;
estimate p=3 method=cls plot;
forcast lead=1;
estimate q=1 method=cls plot;
forcast lead=1;
estimate q=2 method=cls plot;
forcast lead=1;
estimate q=3 method=cls plot;
11
煤炭价格走势分析数学建模forcast lead=1;
estimate p=1 q=1 method=cls plot;
forcast lead=1;
estimate p=1 q=2 method=cls plot;
forcast lead=1;
estimate p=2 q=1 method=cls plot;
forcast lead=1;
run;
程序2 用时间序列预测20014年煤炭的需求量X2 data dixs;
input x;
cards;
137676、5
144734、4
139248、0
129492、2
126365、3
141091、7
144528、1
152282、7
180587、0
207561、3
231851、1
255065、5
272745、9
281095、9
295833、1
312236、5
342950、2
352647、1
361100、0
run;
proc arima data=dixs;
identify var=x(1);
estimate p=1 method=cls plot;
forcast lead=1;
estimate p=2 method=cls plot;
forcast lead=1;
estimate p=3 method=cls plot;
forcast lead=1;
estimate q=1 method=cls plot;
forcast lead=1;
estimate q=2 method=cls plot;
forcast lead=1;
12
煤炭价格走势分析数学建模estimate q=3 method=cls plot;
forcast lead=1;
estimate p=1 q=1 method=cls plot;
forcast lead=1;
estimate p=1 q=2 method=cls plot;
forcast lead=1;
estimate p=2 q=1 method=cls plot;
forcast lead=1;
run;
程序3 灰色模型
%二次拟合预测GM(1,1)模型建立M文件程序function gmcal=gm1(x)
sizexd2 = size(x,2);
%求数组长度
k=0;
for y1=x
k=k+1;
if k>1
x1(k)=x1(k-1)+x(k);
%累加生成
z1(k-1)=-0、5*(x1(k)+x1(k-1));
%z1维数减1,用于计算B
yn1(k-1)=x(k);
else
x1(k)=x(k);
end
end
%x1,z1,k,yn1
sizez1=size(z1,2);
%size(yn1);
z2 = z1';
z3 = ones(1,sizez1)';
YN = yn1'; %转置
%YN
B=[z2 z3];
au0=inv(B'*B)*B'*YN;
au = au0';
%B,au0,au
afor = au(1);
ufor = au(2);
ua = au(2)、/au(1);
%afor,ufor,ua
%输出预测的 a u 与 u/a的值
constant1 = x(1)-ua;
13
煤炭价格走势分析数学建模
afor1 = -afor;
x1t1 = 'x1(t+1)';
estr = 'exp';
tstr = 't';
leftbra = '(';
rightbra = ')';
%constant1,afor1,x1t1,estr,tstr,leftbra,rightbra
strcat(x1t1,'=',num2str(constant1),estr,leftbra,num2str(afor1),tstr,r ightbra,'+',leftbra,num2str(ua),rightbra)
%输出时间响应方程
%******************************************************
%二次拟合
k2 = 0;
for y2 = x1
k2 = k2 + 1;
if k2 > k
else
ze1(k2) = exp(-(k2-1)*afor);
end
end
%ze1
sizeze1 = size(ze1,2);
z4 = ones(1,sizeze1)';
G=[ze1' z4];
X1 = x1';
au20=inv(G'*G)*G'*X1;
au2 = au20';
%z4,X1,G,au20
Aval = au2(1);
Bval = au2(2);
%Aval,Bval
%输出预测的 A,B的值
strcat(x1t1,'=',num2str(Aval),estr,leftbra,num2str(afor1),tstr,rightb ra,'+',leftbra,num2str(Bval),rightbra)
%输出时间响应方程
nfinal = sizexd2-1 + 1;
%决定预测的步骤数5 这个步骤可以通过函数传入
%nfinal = sizexd2 - 1 + 1;
%预测的步骤数 1
for k3=1:nfinal
x3fcast(k3) = constant1*exp(afor1*k3)+ua;
end
%x3fcast
%一次拟合累加值
14
煤炭价格走势分析数学建模
for k31=nfinal:-1:0
if k31>1
x31fcast(k31+1) = x3fcast(k31)-x3fcast(k31-1);
else
if k31>0
x31fcast(k31+1) = x3fcast(k31)-x(1);
else
x31fcast(k31+1) = x(1);
end
end
end
x31fcast
%一次拟合预测值
for k4=1:nfinal
x4fcast(k4) = Aval*exp(afor1*k4)+Bval;
end
%x4fcast
for k41=nfinal:-1:0
if k41>1
x41fcast(k41+1) = x4fcast(k41)-x4fcast(k41-1);
else
if k41>0
x41fcast(k41+1) = x4fcast(k41)-x(1);
else
x41fcast(k41+1) = x(1);
end
end
end
x41fcast,x
%二次拟合预测值
%***精度检验p C************////////////////////////////////// k5 = 0;
for y5 = x
k5 = k5 + 1;
if k5 > sizexd2
else
err1(k5) = x(k5) - x41fcast(k5);
end
end
%err1
%绝对误差
xavg = mean(x);
%xavg
%x平均值
15
煤炭价格走势分析数学建模
err1avg = mean(err1);
%err1avg
%err1平均值
k5 = 0;
s1total = 0 ;
for y5 = x
k5 = k5 + 1;
if k5 > sizexd2
else
s1total = s1total + (x(k5) - xavg)^2;
end
end
s1suqare = s1total 、/ sizexd2;
s1sqrt = sqrt(s1suqare);
%s1suqare,s1sqrt
%s1suqare 残差数列x的方差 s1sqrt 为x方差的平方根S1 k5 = 0;
s2total = 0 ;
for y5 = x
k5 = k5 + 1;
if k5 > sizexd2
else
s2total = s2total + (err1(k5) - err1avg)^2; end
end
s2suqare = s2total 、/ sizexd2;
%s2suqare 残差数列err1的方差S2
Cval = sqrt(s2suqare 、/ s1suqare);
Cval
%nnn = 0、6745 * s1sqrt
%Cval C检验值
k5 = 0;
pnum = 0 ;
for y5 = x
k5 = k5 + 1;
if abs( err1(k5) - err1avg ) < 0、6745 * s1sqrt
pnum = pnum + 1;
%ppp = abs( err1(k5) - err1avg )
else
end
end
pval = pnum 、/ sizexd2;
pval
%p检验值
16
煤炭价格走势分析数学建模
%arr1 = x41fcast(1:6)
%预测结果为区间范围预测步长与数据长度可调整程序参数进行改进
%输入十年需求量数据
x=[180587,207561、3,231851、1,255065、5,272745、9,281095、9,295833、1,312236、5,342950、2,352647、1,361100];
gm1(x)
17。

相关文档
最新文档