精华内容
下载资源
问答
  • 常用时序预测模型的R实现 一

    千次阅读 2018-05-01 09:41:46
    预测模型本身会比较干巴,所以尽量多用些现实应用实例。一开始接触预测模型算法是因为公司澳洲分发中心的人员开支超预算了。大致是这么个情况柱状图显示的是每天发出去的订单量,蓝色是两班倒的日子,红色是周末上班...

    预测模型本身会比较干巴,所以尽量多用些现实应用实例。

    一开始接触预测模型算法是因为公司澳洲分发中心的人员开支超预算了。大致是这么个情况


    柱状图显示的是每天发出去的订单量,蓝色是两班倒的日子,红色是周末上班的日子,绿色是普通的shift。澳洲的物流小哥每个小时正常薪资在35-50间(软妹币175到250),周末双倍,第二个shift(两班倒)则每小时加15%。具体超支多少是商业机密这儿不方便说,总之已经超到管理层肉疼了。噢对了,两班倒用的不是同一批雇员,所以另外还有一笔training cost,每个人35块一小时,要培训一周。

    这张图其实已经充分说明了问题出在哪里。蓝色的柱子,高度不是应该差不多是绿色的两倍么?两班倒啊。可是并没有,事实上,histogram告诉我们,有相当一部分两班倒的日子其实完全可以用normal shift替代。


    虽然mask掉了具体单量,但两张图的x轴是在同一个scale上的。大约一半的double shift其实并不必要。

    经过和supply chain的director坦率而友好的交流,意识到问题的根本。物流中心是基于订单量安排人手的,而订单量的预测传统上依赖finance部门。金融会计部门的同事是怎么干的呢?拿去年的订单数据来,按照今年预期的growth,统统乘以同一个比率就得了。这么简单粗暴的方式能够用那么多年,自然有其合理性。零售业销售数据是典型的additive time series,有强烈的seasonality。每年的假期基本上差不多是同一个时段,外部变量曾经也是稳定的。你跟我说你要搞啥exponential smoothing? autoregressive integrated moving average? 犯得着吗,还不见得比我去年照搬过来的模式准呢。

    可是这两年,circumstances还真的变了。Amazon入侵,顾客群体年轻化,销售渠道网络化,澳洲的零售商们日子越来越难过,怎么办?折扣不断,降价不断,天天降价,欲购从速哇。好端端的seasonality就变成了一个promotion-driven的dynamic regression模型。简而言之,经济不景气的大趋势要考虑到,季节性要考虑到,而最关键的,外部变量复杂了。网站更新版本会带来流量增加,添加新型支付选项会提高转化率,还有SEM,social media marketing,EDM。。。突然冒出一大堆新的变量,每个变量还有自己的内部小模型,比如更高营销支出带来的是diminishing returns而绝非线性回归,这可不是finance的那些同事能用Excel搞定的!

    再说说预测的周期。之前简略提到过,两班倒的话,并不是能够立即找到第二班的雇员来顶上去的,还有个一周左右的培训周期。面临订单高峰无法及时处置的情况,物流中心也并非只有加班这个选项。还可以加packing benches来永久性的提高单位时间的订单处理能力 -- 当然,这又有个lead time,需要数周之久,因为需要安装相应的硬件设施,购买软件许可。所以预测周期一般而言需要在两周内有比较高的精度,在三四周内有indicative的准确性。

    以上是问题的大背景。

    下一篇 常用时序预测模型的准备知识

    展开全文
  • 常用时序预测模型的R实现 四

    千次阅读 2018-05-02 17:13:31
    简介这篇讲ARIMA。前一篇谈到ETS的灵感来自于两个极端方案的折中,一个极端是只用最近的一次观测,一个是求...其二,只依赖近期的数据又容易被outlier带偏,所以还是需要用历史数据点来修正预测。ARIMA的理论体系虽...

    简介

    这篇讲ARIMA。前一篇谈到ETS的灵感来自于两个极端方案的折中,一个极端是只用最近的一次观测,一个是求平均,折中方案是用指数衰减来用到所有点,同时又给近期观测更高的权重。换个角度看,这两个极端反映的其实是两个朴素的观念。其一,近期的数据由于recency的关系,对揭示未来也许更有帮助。其二,只依赖近期的数据又容易被outlier带偏,所以还是需要用历史数据点来修正预测。ARIMA的理论体系虽然和ETS完全不同,出发点却很相似。

    ARIMA的全称是Autoregressive Integrated Moving Average。拆开来看,Autoregressive是个自动回归模型,通常仅用p个近期观测值而不是所有观测点,否则作参数估计会是个噩梦。AR这一块,和ETS中指数权重异曲同工,只是不那么精致美用上所有点而已。Integrated比较好理解,假如存在趋势之类,自动回归不足以捕捉到,而需要做差分。

    Moving Average可能是最难理解的部分。首先它很容易和移动平均混淆,但这里完全是另一个概念。这里的moving average是一个q阶的自动回归模型,只是回归的对象是预测误差而非实际观测值。那么既然已经有了autoregressive model (AR),为何还需要MA?这个需要用实例来理解。有个叫Dimitriy V. Masterov的好人给了个很好的例子。在美帝(以及天朝)很多市场营销活动会发出去很多优惠券打折券啥的,这些外部噪声会影响到销售量。MA的自动回归就是用来对付这些外部噪声导致的预测偏差的。为什么不直接把这些噪声移出,而要用q阶回归模型来处理?因为咱家也不知道那些优惠券在某个时间点用掉了多少啊。优惠券的使用是有实效性的,有衰减并且会在有效期内衰减到0。这本身是个时序序列,故而需要另一个针对预测偏差的自动回归模型来模拟。在看到这个例子之前我想了三天都没想明白MA的必要性,所以看到这里的大兄弟大妹子,我很可能让你们的绳命少了三天的煎熬,请遥祝我健康。

    Box-Cox变换

    如果存在振幅变化怎么办呢?这时候需要variance stablization,往往用Box-cox Transformation来处理。在数学的世界里总是有那么些佛系的武器,比如Fourier函数,又比如Box-Cox变换。前者可以拟合天下任意函数,后者则能撸平一切浮华。

    比如,这几行代码构造了一个振幅有变化的体态婀娜且积极向上的时序:

    > a = c(10,20,30,40,50,60,70,80)
    > b = c(-1,2,-3,4,-5,6,-7,8)^3
    > c = a+b
    > c_ts = ts(c,start=c(1,1))
    > autoplot(c_ts)


    上Box-Cox,拈指一算:

    > BoxCox.lambda(c_ts)
    [1] 4.102259e-05

    把这个lambda值代入变换函数:

    > autoplot(BoxCox(c_ts,4.102259e-5))

    是不是撸平了?

    怎么做到的?

    祖师爷Hyndman有个很好的总结:


    就靠这俩函数,不同的lambda值,撸到不服不行。

    ARIMA在非季节性数据上的应用

    ARIMA在季节性数据上的应用

    ARIMA和Dynamic Regression





    如果存在振幅变化怎么办呢?这时候需要variance stablization,往往用Box-cox Transformation来处理。比如
    展开全文
  • 常用时序预测模型的R实现 二

    千次阅读 2018-05-01 18:10:16
    类似的,实现预测模型,第一步则是了解常用的数据预处理方法以求能让模型跑起来,学会判断模型好坏以保证预测结果是靠谱可用的。具体怎样优化模型不在这个系列里详谈。数据预处理在Python的世界里,Pandas就自带很...

    准备知识

    这个系列偏重实践。要学飞行,第一步是了解飞行前做什么准备以及什么状态的飞机可以放心上去飞,想造飞机了再去了解发动机怎么工作气动外形有何影响。类似的,实现预测模型,第一步则是了解常用的数据预处理方法以求能让模型跑起来,学会判断模型好坏以保证预测结果是靠谱可用的。具体怎样优化模型不在这个系列里详谈。

    数据预处理

    在Python的世界里,Pandas就自带很方便的时间戳转换, resample, slicing之类,基本是标准化的数据处理库。在R里有所不同,常用的时间序列类有ts, zoo, xts,还有一大堆不同的时间格式。xts是zoo的subclass所以能做zoo的一切,两者基本结构都是带时间戳的矩阵,而且基本能接受任何格式的时间戳。ts仅接受时间轴上均匀分布的点,而且需要指定起点时间和周期长度,而zoo和xts能接受不均匀的分布。xts在这个系列里仅用于把不那么好预处理的数据转为ts格式,不作详细讨论。以下是ts最关键的初始化代码:

    ts(1:10, frequency = 7, start = c(12, 2))

    这行意思是什么呢?1:10是数据序列,frequency是指定这个数据序列的周期是7(每个周期里有7个值),start里接受的两个参数,第一个数12是说这个序列的初始周期序号为12,第二个数2是说这个序列的第一个值是周期中的第2个值。打印出来是什么情况呢?

    > print( ts(1:10, frequency = 7, start = c(12, 2)), calendar = TRUE)
       p1 p2 p3 p4 p5 p6 p7
    12     1  2  3  4  5  6
    13  7  8  9 10

    这里用了calendar模式以突出序列的第一个值是周期中的第二位。再看个更贴近生活的例子:

    x <- ts(Weekly,start=c(2010,48),frequency=52)

    Weekly这个序列里存着销售数据,是从2010年的第四十八周开始记录的,记录频率是每周一次,也即这一列中的每一行都是一周的销售量。为何要用ts这个类?因为autoplot, forecast等类都以它作为输入格式。比如可以用刚才的x得到时序图:

    autoplot(x)

    注意观察时序图中曲线是不是从2010年的最后一个月开始的?销量的确直到2011年才开始为正值,但序列却已经开始了。类似的无脑方法还有很多,比如按不同周期标注不同颜色从而可以在同一个周期长度上比较不同周期观测值的:

    ggseasonplot(x) #这里放个彩蛋,这个函数可以加一个参数 polar = TRUE,看看变多帅了?对于周期长的序列尤其好用


    还有观察周期中每个时位数值变化范围的

    ggsubseriesplot(x)

    如果需要slice到特定时间域怎么办呢?有个window函数很好使:

    > x_sub = window(x, start=2017)
    > autoplot(x_sub)

    怎样判断到底是否存在季节性

    时序数据有季节性的很多,像电力消耗,降雨量,气温。有时候甚至存在周期套周期的情况,术语叫multiseasonal。比如零售业销售数据,不同季节因为气温、节假日体现出周而复始年年相似的模式,但这个大的周期里,每个礼拜又因为工作日和周末的关系存在周期性,而小到每一天,又由于作息导致存在24小时的周期律。

    有些时序数据中周期性却不那么显著。比如股票。比如Apple,每年发布新款的时间是固定的,那段时间大概要涨一涨,但谁也不知道下一个新款是不是依然那么受欢迎?又或者不巧碰倒金融危机?很多外部噪声可以破坏掉内生的规律。好在有一种专用的图表就是用来检视周期性的,叫ACF,Auto Correlation Function。它的原理是拿当下的时间序列和lag N的序列做比较,看相关系数为多少,N=1的时候就是和往前移一个时位形成的序列比,N=2和往前移两位比,如此递推。

    lagged<-lag(x_sub,-5)

    lag函数可以用于取得lag后的序列,注意第二个参数是往前推的相位,如果为负值就成了往后推了


    有了ACF函数,就不需要自己一个个相位去做比较,它全部一锤子买卖搞定:

    > ggAcf(x_sub)

    大于0.5就是比较强的correlation了,算比较显著的周期性。注意不要和Acf函数混淆,Acf是从lag=0开始的,也就是自己和自己比,那correlation当然是1了,会导致整个图的scale变得头重脚轻。

    还有值得一提的一个函数是ggPacf,也就是auto correlation function前面加了个partial。这个函数考虑到了不同的lag值可能被共同的变量影响了。比如4周的周期必然导致8周、12周也都显著。排除掉这个因素,绘制pacf会得到如下结果

    > ggPacf(x_sub)

    残值和白噪声

    残值即residual,是预测值和实际值之间的差别。在判断一个模型好坏时,一个标准是残值是否为白噪声,也就是说不再含有任何可以被模型学到的信息(趋势,周期性)。怎样的残值是白噪呢?如果它是个均值为零的随机正态分布就基本可以判断是白噪。均值不为零其实关系也不大,只要把预测值shift一下就好了。在Python里这些都要自己写,但在R里又有个强大的函数把这事情干了,

    > fit <- auto.arima(x_sub)
    > checkresiduals(fit)
    
    	Ljung-Box test
    
    data:  Residuals from ARIMA(0,1,1)(0,0,1)[52]
    Q* = 112.62, df = 102, p-value = 0.222
    
    Model df: 2.   Total lags used: 104

    auto.arima是在建立预测模型,具体怎么干的下一篇再讲。运行结果既包括那个Ljung-Box test又包括如下图表:


    图表显示的,正是白噪声。而Ljung-Box test里最重要的一项结果就是p-value=0.222,它代表的也即是残值确实为白噪(p<0.05则说明非白噪了)

    以上为准备知识。下一篇开始正式介绍预测模型。

    上一篇 常用时序预测模型之背景            下一篇 常用时序预测模型之ETS


    展开全文
  • 常见时序预测模型的R实现 三

    千次阅读 2018-05-01 22:03:59
    ETS模型接下来说说ETS模型,在R的forecast库中有实现。&gt; library(fpp2) Loading required package: forecast Loading required package: fma Loading required package: expsmooth Loading required package:...

    ETS模型

    接下来说说ETS模型,在R的forecast库中有实现。

    > library(fpp2)
    Loading required package: forecast
    Loading required package: fma
    Loading required package: expsmooth
    Loading required package: ggplot2

    作者Rob Hyndman是个H-index 54,citation过两万的大牛。他故意用这三个字母来使这个模型的名字能顾名思义(reminiscent),既可以理解为Error, Trend and Seasonality,又可以解作ExponenTial Smoothing模型。前者揭示了模型的三个组成部分,后者则描述了模型的工作原理。准确的说,ETS实际上是一整个系列的算法,可以基于这三个组成部分任意组合,而Hyndman写的forecast库中可以用ets()方法自动选择三个component的组合。

    之所以要从这个模型写起,是因为这个模型既足够强大,又足够简明。它可以预测以下几种时间序列:

    • 无趋势(trend),无季节性(seasonality) 比如我上个月跑了十次5公里,根据这十次时间估计我接下来一次要跑多久
    • 有趋势,无季节性 比如我刚开始学打字,一开始打1000个词要4个小时,以后随着熟练程度递减,预测下一次时间
    • 有趋势,有季节性 比如零售业的销售数据,趋势体现的可能是整个行业的冷暖,季节性则跟气温、假日有关
    • 无趋势,有季节性 比如近十年某地气温的变化,十年这样的短周期里也许体现不出大的趋势变化,但季节性是显著的

    不仅如此,由于它的error component既可以是additive的又可以是multiplicative的,它还能预测有季节性且在每个周期内幅度有变化的序列。比如电力供应,由于用的起空调之类制冷设备的家庭变多了,季节性的振幅可能是逐渐递增的。

    最简单的ETS

    最简单的ETS是ses模型,即simple exponential smoothing。这个模型只能解决没趋势也没季节性的时序。它的公式如下:


    公式是从Hyndman的书上抄来的。这个公式的设计基于怎样的考虑呢?Hyndman是这么说的。设想两个极端情况,一个情况是永远只采用当下的值来预测下一个值。假设数据完全没有任何规律,这也不失为一个方案吧。另一个情况是,对所有观测到的点作平均,这样预测值其实是样本集的均值。起码这样搞能让训练集上的方差小,而且用到所有点了,但不能反映出很多序列里recency很重要的特点。近期的观测值的确往往比远古观测值更有意义。然后ses就出现了:hey,我就是折中方案。我给近期的观测值更高的权重,但也用到所有过去的点。如果alpha值为1,则相当于把除当下值Yt以外的所有点权重都赋为0了。假如alpha为0.5,那权重就是个标准的底为0.5的指数函数。而无论alpha是多少,权重decay的速度都是由(1-alpha)的指数函数决定的,所以叫exponential smoothing。让alpha充分的接近0的话,各个点位的权重就会更平均,衰减速度更慢。

    虽然应用场景有限,ses的确是个很精致的方案。非常不幸的是,它完全木有办法对趋势建模。看个例子

    > x_st = ts(1:10,start=c(1,1),frequency=5)
    > autoplot(x_st)

    上ses会发生什么呢?ses可以用h参数指定预测多少个时间点,用alpha指定公式中的权重参数。我们先看一下alpha=1的情况,也即使用前一个值预测下一个值。注意由于alpha值域在0和1之间,这里用了0.9999作为近似

    > autoplot(ses(x_st,h=4,alpha=0.9999))

    如所预料,它取了最近的值,10,作为接下来4个点的预测值。再换alpha=0.5试试

    > autoplot(ses(x_st,h=4,alpha=0.5))

    当alpha充分接近0时,预测值逼近观测值均值。这一点在公式中看不出来,但应该跟y0有关。具体可以看源码,这里不深入。

    总结一下,ses对未来的预测来自对过去观测值赋予不同权重的求和,权重衰减函数是个指数函数,体现的其实是观测值的分布特性。它的预测曲线是个常数,与X轴平行,无法反映出历史数据中的趋势。

    关于趋势 Trend

    不能处理趋势,这可用性就相当不靠谱了。为了解决这个问题,有个叫Holt Winter的人给ses的模型加了一个component,


    公式依然抄自Hyndman的书。这里公式已经略有些复杂,可以在纸上自己展开,但不太方便打字了。这里理解的关键在于,alpha依然是用于确定观测值衰减速度的参数,但对于过去的点还考虑了每个点处的趋势量。趋势量本身也是采用了权重来估计的,并不仅采用过去一个点到当前点的变化趋势,而是把之前每个点的趋势都用一个指数衰减函数引入。这样的设计可以使曲线平滑。看一下案例,还是用之前的数据例子

    autoplot(hw(x_st,h=4))

    可见这个线形趋势被很好地capture了。换个数据集

    > x_st = ts((1:10)^2,start=c(1,1),frequency=5)
    > autoplot(hw(x_st,h=4))

    显然,非线性趋势也可以被capture到,只是由于未指定alpha值,自动选择的alpha显然考虑了比最近一个值更多的点,故而第一个预测值小于最后一个观测到的值,这和人类的直觉不符。我们可以通过调整hw()方法的参数来解决这个问题。

    关于季节 Seasonality

    解决了trend,是否就完满了呢?显然不是这样。再来一个数据集

    > x = ts(rep((-2:2)^2,4),start=c(1,1),frequency = 5)
    > autoplot(x)

    认为制造了一个周期为5的seasonal的数据集。上holt-winter算法试试看:


    第一眼会觉得很奇怪,我们并没有给出seasonal component啊,为什么这个模型会成功重构历史数据的模式?注意到Holt-Winters' additive method了么?原来forecast这个库里实现的是改进后的holt-winters方法,这个版本有一个seasonality的component,而且整出俩版本:



    公式依然是从Hyndman祖师爷那里抄来的。第一个是multiplicative版本,第二个是additive版本。前者能更好的解决振幅动荡迅速变大的时序数据。

    看到这里,ets的故事基本讲完了。漏过了一个维度:dampened trend,但这个component也是ets方法能够自动估计是否需要的,大致含义就是允许趋势逐渐减弱回归到水平。

    总结

    用祖师爷Hyndman的表格做个总结


    实际应用中我们只需要ets()基本就够了

    > fit = ets(x)
    > checkresiduals(fit)

    由于是用完美的数学函数生成的数据集,可以看到罕见的0残值:


    注意图中提到的ETS(A,N,A),对应上表可以搞清楚这个自动估计的ETS模型用了哪些components。第一个A是error,说明用的是additive error,第二个N表示没有trend,第三个A表示有additive seasonality。这完美匹配我们之前手动用hw()得到的预测模型。

    局限与不足

    在应用中,我发觉ETS起码有两个不足。第一,对周期长的序列,由于要估计的参数极多,会无法handle或异常慢。第二,无法方便的嵌入external variables。这些在下一篇讨论ARIMA时再进一步讨论。

    上一篇 常用时序预测模型之准备知识    下一篇 常用时序预测模型之ARIMA

    展开全文
  • 时序预测

    千次阅读 2019-06-27 16:23:22
    单实例单指标过去3个月是10万,单region有1万实例,单...arima和arma区别:关键的差别是有没有进行差分运算,不过差分运算会让人难懂模型的经济意义,差分的阶数也不能太高,否则会浪费过多的信息。 传统时序数...
  • 时序模型

    千次阅读 2019-02-20 20:09:33
    第一章、定义 1.与回归模型的区别 在经典的回归模型中,主要是通过回归分析...本案例要讨论如何利用时间序列数据本身建立模型,以研究事物发展自身的规律,并据此对事物未来的发展做出预测。 在时序模型中,以时...
  • 本文研究的主要目标是利用机器学习技术,应用Python编程语言构建股票预测模型,对我国股票市场进行分析与预测。采用SVM与DTW构建股票市场的分析和预测模型,并通过Python编程进行算法实现。本文对获取到的股票数据...
  • 自古以来,我们就希望预知未来,现如今,随着大数据人工智能技术的发展,我们早已经不满足传统的...深度学习神经网络为我们提供较为通用的解决方案,我们将在这里实践基于Python Keras LSTM多维输入输出时序预测模型
  • 转自:... ODM和OLAP实现时序预测(一) Part 1 概要 前言 http://oracledmt.blogspot.com/2006/01/time-series-forecasting-part-1_23.html   Oracle数据库中的ODM组件支持
  • 时序预测(Arima 和 HoltWinters)算法 及 评估方法 整理。spark 库里没有 Spark TimeSeries 时序预测算法,但是国外有人已经写好了相应的算法。https://github.com/sryza/spark-timeseries 时间序列分析 时间序列...
  • 特征越好,模型的性能越出色,构建的模型越简单,模型的灵活性越强。 2.概念 基于数据分析与探索提取潜在有价值的特征。数据分析与探索-提取特征-分析与因变量关联以筛选有价值特征-特征组合。 3.几大步骤(数据分析...
  • 时间序列预测模型

    2020-08-22 18:02:55
    时间序列预测模型 1.时间序列分解 2.ARIMA模型 时间序列(或称动态数列)是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。 一个时间...
  • 常见的时序模型

    2020-08-22 19:18:54
    1 时序模型时序模型中,以时间t为自变量,研究Y数值自身变化趋势。 研究时间序列数据的意义:在现实中,往往需要研究某个事物其随时间发展变化的规律。这就需要通过研究该事物过去发展的历史记录,以得到其自身...
  • 时间序列预测模型笔记

    千次阅读 2019-08-29 11:07:21
    详细解释时间序列预测模型相关基础概念:差分、白噪声、残差序列、ADF结果如何查看、pq值如何确定。ARIMA模型具体实现步骤。
  • 本文将介绍在时间序列预测相关问题中常见的异常检测算法,可以很大程度上帮助改善最终预测效果。异常分类时间序列的异常检测问题通常表示为相对于某些标准信号或常见信号的离群点。虽然有很多的异常类...
  • 时序预测遇到的问题以及处理

    千次阅读 2018-08-09 23:46:50
    模式,还提供在非线性关系存在条件下的无偏参数估计,这实际上是在建立回归模型时对方非线性关系的一个常用的方法。 如何设置   虚拟变量通常是对无序分类资料而言。在线性回归中,如果自变量中有分类变量,...
  • 通过 Python 代码实现时间序列数据的统计学预测模型 在本篇中,我们将展式使用 Python 统计学模型进行时间序列数据分析。 *** 问题描述 *** 目标:根据两年以上的每日广告支出历史数据,提前预测两个月的广告支出...
  • 设 y 是时间序列的真实值, yhat 是模型预测值。在分类模型中由于y是离散的,有很多维度可以去刻画预测的效果。但现在的y是连续的,工具一下子就少了很多。时间序列里比较常用的是 MAPE(mean absolute percentage...
  • 基于该方法,首先利用矩阵分解提取原始时序数据的特征,然后通过时序模型挖掘特征的趋势,最后根据预测的特征得到预测结果并进行推荐。实验结果表明,所提出的算法与已有的推荐算法相比,在均方根误差(root mean ...
  • 数据挖掘中最典型的四种方法是:分类与预测、聚类分析、关联规则、时序模式,我试试能不能用大白话讲清楚 概念、常用算法、分类、原理及评价标准。第一部分是分类与预测一、概念分类与预测指的都是根据一些特征来...
  • 预测模型-完整-教程

    千次阅读 2018-05-30 18:23:05
    基于树的方法支持具有高精度、高稳定性和易用性解释的预测模型。不同于线性模型,它们映射非线性关系相当不错。他们善于解决手头的任何问题(分类或回归)。决策树方法,随机森林,梯度增加被广泛用于各种数据科学问题...
  • 时间序列预测模型方法

    万次阅读 2016-04-21 13:46:36
    时间序列预测法是一种历史资料延伸预测,也称历史引伸预测法。是以时间数列所能反映的社会经济现象的发展过程和规律性,进行引伸外推,预测其发展趋势的方法。 时间序列,也叫时间数列、历史复数或动态数列。它是将...
  • 基于 Python 的时序模型——AMIRA模型

    千次阅读 2018-07-17 11:26:05
    时间序列分析的目的:给定一个已被观测了的时间序列,预测该序列的未来值 ARIMA 模型:如果一个时间序列经差分运算后具有平稳性,则该序列为差分平稳序列,可以使用 ARIMA 模型进行分析。 时间序列的预处理:  ...
  • PM2.5数据集LSTM时序预测python3代码

    千次阅读 2020-05-27 17:06:36
    PM2.5数据集LSTM实现预测数据集说明主要步骤环境全部代码转化为监督数据导入数据集归一化转化为监督数据删除不需要预测的列分割为训练集和数据集LSTM反归一化真实值与预测值的对比 数据集说明 本实验采用的PM2.5空气...
  • 智能穿戴设备上安装了很多微型传感器,包括:重力感应器、加速度传感器、方向感应器、三轴陀螺仪、距离传感器、光线传感器、方位...通过机器学习建模,构建分类预测模型。 1. 数据预处理 from sklearn import metric.
  • 交通预测模型和实现

    千次阅读 2020-07-30 18:36:29
    主要模型及应用 1. ARIMA 2. LSTM GRU 1 ARIMA模型 As early as 1976, Box and Jenkins[1] proposed the Autoregressive Integrate Moving Average Model (ARIMA). In 1995, Hamed et al[2] used the ARIMA model...
  • ​KDD 2020 开源论文 | 图神经网络多变量时序预测

    千次阅读 多人点赞 2020-11-02 13:09:26
    挑战 时空图神经网络是最适合多变量时序预测任务的图神经网络类型,因为多变量时序预测问题需要考虑时间维和空间维的信息表达。通常时空图神经网络以多变量时序数据和外部图结构作为输入,预测时序数据的未来值或...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,091
精华内容 2,436
关键字:

常用的时序预测模型