区域内的人数预测算法对比实验分析

来源:互联网 发布:淘宝怎样刷好评 编辑:程序博客网 时间:2024/05/17 02:49

本文根据 http://blog.csdn.net/konglongaa/article/details/51453429 罗列的几种算法进行了实验对比分析。



实验数据以某景区的人数变化做分析,采样4月1日至4月3日的数据用于实验。每10分钟统计一次景区的人数,然后预测下一个10分钟的数据。


一个月的实际人数走势如下(3月13日 -- 4月12日):

其中包含清明节




备注:以下图中系列1为实际人数,系列x为对应方法最终的预测人数。

方法一:简单平移法

。简单的移动平均的计算公式如下: Ft=(At-1+At-2+At-3+…+At-n)/n式中, $ w1 {, g- b" C% r+ _1 n4 U
•Ft--对下一期的预测值;
•n--移动平均的时期个数;
•At-1--前期实际值; # I% V( h4 |7 y. M
•At-2,At-3和At-n分别表示前两期、前三期直至前n期的实际值。 & |: m* m3 ?- x7 e- w1 p


本实验n取值为3,即用半个小时前的数据预测10分钟后的数据,



2.方法二:加权移动平均法

加权移动平均给固定跨越期限内的每个变量值以不同的权重。其原理是:历史各期产品需求的数据信息对预测未来期内的需求量的作用是不一样的。除了以n为周期的周期性变化外,远离目标期的变量值的影响力相对较低,故应给予较低的权重。 加权移动平均法的计算公式如下: 0 |' M# M% k! P7 {
/ ^! r {+ u6 |2 ^/ e, r* n
  Ft=w1At-1+w2At-2+w3At-3+…+wnAt-n式中, : g* o4 x* b- W+ T

•w1--第t-1期实际销售额的权重;
•w2--第t-2期实际销售额的权重; * f2 g2 |4 @$ n$ e, }% _3 G
•wn--第t-n期实际销售额的权 $ p& B3 E& o, c4 |- \
•n--预测的时期数;w1+ w2+…+ wn=1 # t& T$ H5 l- ~( e8 e


本方法中 n=3 ,由于下一个人数的值与最近时刻的值相关性最大,因此w1=0.05,w2=0.05,w3=0.9


3,方法三:一次指数平滑法

指数平滑法是在移动平均法基础上发展起来的一种时间序列分析预测法,它是通过计算指数平滑值,配合一定的时间序列预测模型对现象的未来进行预测。

其原理是任一期的指数平滑值都是本期实际观察值与前一期指数平滑值的加权平均。 # t% c1 d+ [$ x' K; B6 W
指数平滑法的基本公式是:St=ayt+(1-a)St-1 式中, 5 L7 ^/ ~5 Y" t$ v( f
$ B ^# z8 C5 M( G, `
•St--时间t的平滑值; " p9 C3 v, v% k) ^; g- T
•yt--时间t的实际值;
•St − 1--时间t-1的平滑值;
•a--平滑常数,其取值范围为[0,1]; 4 d/ ?% m4 P: R' i8 e
  由该公式可知:
6 b5 I0 ^) N, d* d; ~1 l7 o
  1.St是yt和 St − 1的加权算数平均数,随着a取值的大小变化,决定yt和 St − 1对St的影响程度,当a取1时,St = yt;当a取0时,St = St − 1。
7 h S" e) ~7 G
  2.St具有逐期追溯性质,可探源至St − t + 1为止,包括全部数据。其过程中,平滑常数以指数形式递减,故称之为指数平滑法。指数平滑常数取值至关重要。

平滑常数决定了平滑水平以及对预测值与实际结果之间差异的响应速度。平滑常数a越接近于1,远期实际值对本期平滑值影响程度的下降越迅速;平滑常数a越接近于 0,

远期实际值对本期平滑值影响程度的下降越缓慢。

由此,当时间数列相对平稳时,可取较大的a;当时间数列波动较大时,应取较小的a,以不忽略远期实际值的影响。生产预测中,

平滑常数的值取决于产品本身和管理者对良好响应率内涵的理解。

  3.尽管St包含有全期数据的影响,但实际计算时,仅需要两个数值,即yt和 St − 1,再加上一个常数a,这就使指数滑动平均具逐期递推性质,从而给预测带来了极大的方便。 * n1 E/ w" j, z" H/ D6 C: I! f
$ q* E" ~# h8 h' ]
  4.根据公式S1=ay1+(1-a)S0,当欲用指数平滑法时才开始收集数据,则不存在y0。无从产生S0,自然无法据指数平滑公式求出S1,指数平滑法定义S1为初始值。

初始值的确定也是指数平滑过程的一个重要条件。 a) V, D/ s# ?1 `

  如果能够找到y1以前的历史资料,那么,初始值S1的确定是不成问题的。数据较少时可用全期平均、移动平均法;数据较多时,可用最小二乘法。

但不能使用指数平滑法本身确定初始值,因为数据必会枯竭。 3 | j0 B3 ~+ D5 l" D! H- X
t6 g+ k: g! ?6 g
  如果仅有从y1开始的数据,那么确定初始值的方法有: ! L/ c$ S- c+ d0 w! p

  1)取S1等于y1; c$ b9 x% F8 Y8 ^( t

  2)待积累若干数据后,取S1等于前面若干数据的简单算术平均数,如:S1=(y1+ y2+y3)/3等等。 " |6 l0 N; J. p# b" ~4 X( L
% d% v. M) k1 U7 M
指数平滑的预测公式
  据平滑次数不同,指数平滑法分为:一次指数平滑法、二次指数平滑法和三次指数平滑法等。
(一) 一次指数平滑预测 0 R0 S' y4 S2 C
  当时间数列无明显的趋势变化,可用一次指数平滑预测。其预测公式为: 0 O3 W4 E8 s# L/ A8 y! v8 B1 y
( f$ m8 D" u- O( ~- ^
  yt+1'=ayt+(1-a)yt' 式中, ! u& n5 o8 r" N- c) J' y

•yt+1'--t+1期的预测值,即本期(t期)的平滑值St ;
•yt--t期的实际值;
•yt'--t期的预测值,即上期的平滑值St-1 。
  该公式又可以写作:yt+1'=yt'+a(yt- yt')。可见,下期预测值又是本期预测值与以a为折扣的本期实际值与预测值误差之和。



方法四:二次指数平滑法

0 a( R8 I/ q! z: U; D' \
  二次指数平滑是对一次指数平滑的再平滑。它适用于具线性趋势的时间数列。其预测公式为: . Q+ K: x$ `5 x7 x8 F4 z8 u
" H0 p+ n! V9 j9 a. b
  yt+m=(2+am/(1-a))yt'-(1+am/(1-a))yt=(2yt'-yt)+m(yt'-yt) a/(1-a) / L6 U( J+ e. V
# I$ Y% N- N) q0 o
  式中,yt= ayt-1'+(1-a)yt-1
0 J9 H2 R" S! F- y5 d7 P
  显然,二次指数平滑是一直线方程,其截距为:(2yt'-yt),斜率为:(yt'-yt) a/(1-a),自变量为预测天数。 


方法五:线性回归法

采用一元线性回归预测模型

7 r. E2 E( h- p,,一元线性回归预测法是分析一个因变量与一个自变量之间的线性关系的预测方法。 常用统计指标:平均数、增减量、平均增减量。

  确定直线的方法是最小二乘法 最小二乘法的基本思想:最有代表性的直线应该是直线到各点的距离最近。然后用这条直线进行预测。 

以最近3次的统计结果建立一元回归模型,预测下一个点。



总结:

通过上面的对比图可以发现,每中方法基本上都可以较准确的预测下一个时刻的统计结果,但是方法之间实际偏差还是有区别的,+ Z! E8 n+ M( m, j8 ^# d l! Q0 ~

其中平均平移量如下

数据时间\方法简单平移加权平移一次平滑二次平滑线性回归4.1-3272.17158.39171.67204.7344.18

平均偏移量标准差

数据时间\方法简单平移加权平移一次平滑二次平滑线性回归4.1-3286.4166.11180.11215.2645


偏移量对比图



原始数据映射    是指将实际统计的人数 按照比例缩小 到该图上,便于对比展示。

从图中可以看出,线性回归方法有较好的预测效果。在人数增长或下降的趋势变化过程中,除了线性方法外的其他方法偏差都较大,说明其他方法在趋势变化比较平稳时,预测效果较好






0 0