应用三次指数平滑法通过c语言编程预测未来交通量
交运02  30210212 张兴如
指数平滑法是1960年美国人布朗首先提出来的,布朗认为时间序列的态势具有稳定性或规则性,所以时间序列可被合理地顺势推延;他认为最近的过去态势,在某种程度上会持续的未来,所以将较大的权数放在最近的资料。鉴于指数平均法的诸多优点且计算便捷,因此在理论上极被推崇,在实际中广泛应用。
 交通量预测,作为道路工程可行性研究报告的一项重要内容,是工程建设规模、效益分析的重要依据。三次指数平滑预测法是传统时间序列分析预测中一种重要和常用的方法。在利用了经济变量所有历史数据的渐近形式下,三次指数平滑预测具有某类最优性。
(一)预测模型的建立
原始数列平滑修匀的计算公式:
式中:——对原始数列分别进行一次、二次和三次修匀后的新数列值;
(1)、(2)、(3)——分别代表第一、二、三次修匀;
——期运输量观测值;
——计算期(基期)期号;
——平滑系数,一般取0.2~0.6。
三次指数平滑方程的预测公式:
式中:——预测期运输量;
——预测的超前期数。
(二)案例
运用三次指数平滑法预测江苏省2015年公路交通运输总量,历史数据如下表:
江苏省近十年公路交通运输总量  单位:万吨
年份
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
运量
87819
92845
99136
111233
123004
141158
139711
152581
179014
194541
注:数据来自交通运输部与国家统计局网站
(三)程序编写
#include <stdio.h>
main()
{
int n, T, x[15], i, j;
float a, b, c, q, s[15][3], Y;
Printf  n ;
scanf("%d",&n);
Printf  T ;c编程网站
scanf("%d",&T);
Printf  q ;
scanf("%f",&q);
for(i=0;i<n;i++)
{
  Printf  x%d=\n",i+1,i+1 ;
  scanf("%d",&x[i]);
}
s[0][0]=x[0];
s[0][1]=x[0];
s[0][2]=x[0];
for(j=1;j<n;j++)
{
  s[j][0]=q*x[j]+(1-q)*s[j-1][0];
  s[j][1]=q*s[j][0]+(1-q)*s[j-1][1];
  s[j][2]=q*s[j][1]+(1-q)*s[j-1][2];
}
a=3*s[n-1][0]-3*s[n-1][1]+s[n-1][2];
b=q*((6-5*q)*s[n-1][0]-2*(5-4*q)*s[n-1][1]+(4-3*q)*s[n-1][2])/(2*(1-q)*(1-q));
c=q*q*(s[n-1][0]-2*s[n-1][1]+s[n-1][2]);
Y=a+b*T+c*T*T;
printf("Y=%f\n",Y);
getch();
}
(四)实验结果
将上述历史数据带入,取(预测2015年运输量),运行程序后得出结果。预测江苏省2015年公路交通运输总量为285266.8万吨。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。