国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Python 時間序列預測:Hot-winters

開發 后端
今天要說到Holt-Winters是利用三次指數平滑來做時間序列預測的方法。Holt-Winters是綜合了1957年Holt和1960年Winters兩個人的思路的一種方法。

[[408855]]

Python中文社區(ID:python-china)

 1. 什么是Holt-Winters

時間序列是非常常見的數據格式,以[時間,觀測值]形式表現,如下圖。

現實場景中如股票走勢圖,國家GDP歷年數據,機器cpu利用率,內存數據等都是時間序列。對未來時間的觀測值進行預測是有意義的工作,提前預知未來的數據的走勢,可以提前做出行動,如預測cpu使用率,如果cpu飆高,可以及早進行調整,避免機器負載過高而宕機,這個在AIOPS是很常見的一個應用場景。

今天要說到Holt-Winters是利用三次指數平滑來做時間序列預測的方法。Holt-Winters是綜合了1957年Holt和1960年Winters兩個人的思路的一種方法。

一次指數平滑 

我們來看下,一次指數平滑如下圖:

可知,si表示第i時刻的平滑估計,si可以表示為當前實際值xi和上一時刻平滑估計值得加權組合,權重由alpha來決定。那為什么稱為指數平滑呢?我們來把式子展開,如下:

有點類似泰勒展開式的味道

alpha 屬于[0, 1], 越大表示近期的數據影響更大

二次指數平滑:加上趨勢的因素

一次指數平滑,沒有考慮時間序列的趨勢和季節性,二次指數平滑加上趨勢因素。

從公式可知,一個時間序列的時刻值分解為baseline部分和趨勢部分,t表示趨勢,可以表示為連續兩個時刻的差值;可知,ti也是一次的指數平滑。

Holt-Winters三次指數平滑:加上季節性因素 

在二次指數平滑基礎上,考慮季節性因素,就是三次指數平滑,也就是Holt-Winters。由此,一個時間序列的時刻值分解為baseline部分和趨勢部分以及季節部分。由于季節性,存在周期,比如按周,按月等。pi季節性為當前季節性值和上一個周期季節性估計值的加權組合,周期在公式中以k來表示。如下:

2. Holt-Winters的實現

從第一部分可知,要實現Holt-Winters,只要知道:

 •  初始值:s0,t0和p0

 •  合適的參數:alpha,beta, gamma

 •  套入公式即可完成預測

三個重要參數:alpha,beta, gamma都屬于[0, 1]之間,要么人為的搜索,要么通過數據來估計,通常采用L-BFGS優化算法來擬合數據。優化算法來自包scipy.optimize的fmin_l_bfgs_b。 

  1. from __future__ import division  
  2. from sys importexit  
  3. from math import sqrt  
  4. from numpy import array  
  5. from scipy.optimize import fmin_l_bfgs_b  
  6. # 優化算法的loss function,即判斷擬合效果,由RMSE MAE等  
  7. def RMSE(params, *args):  
  8.     Y = args[0]  
  9.     type = args[1] 
  10.     rmse = 0  
  11.     alpha, beta, gamma = params  
  12.     m = args[2]       
  13.     a = [sum(Y[0:m]) / float(m)]  
  14.     b = [(sum(Y[m:2* m]) - sum(Y[0:m])) / m ** 2]  
  15. if type == 'additive':  
  16.         s = [Y[i] - a[0] for i in range(m)]  
  17.         y = [a[0] + b[0] + s[0]]  
  18. for i in range(len(Y)):  
  19.             a.append(alpha * (Y[i] - s[i]) + (1- alpha) * (a[i] + b[i]))  
  20.             b.append(beta * (a[i + 1] - a[i]) + (1- beta) * b[i])  
  21.             s.append(gamma * (Y[i] - a[i] - b[i]) + (1- gamma) * s[i])  
  22.             y.append(a[i + 1] + b[i + 1] + s[i + 1])  
  23.     rmse = sqrt(sum([(m - n) ** 2for m, n in zip(Y, y[:-1])]) / len(Y))  
  24. return rmse  
  25. # 加性的時間序列  
  26. def additive(x, m, fc, alpha = Nonebeta = Nonegamma = None):  
  27.     Y = x[:]  
  28. # 利用fmin_l_bfgs_b來估計參數alpha beta和gamma  
  29. if(alpha == Noneor beta == Noneor gamma == None):  
  30.         initial_values = array([0.3, 0.1, 0.1])  
  31.         boundaries = [(0, 1), (0, 1), (0, 1)]  
  32.         type = 'additive'  
  33.         parameters = fmin_l_bfgs_b(RMSE, x0 = initial_valuesargs = (Y, type, m), bounds = boundariesapprox_grad = True 
  34.         alpha, beta, gamma = parameters[0]  
  35. # 初始值 a表示baseline, b表示趨勢,s表示季節性,y表示預測值, 分別取第一個周期的統計數據為初始值  
  36.     a = [sum(Y[0:m]) / float(m)]  
  37.     b = [(sum(Y[m:2* m]) - sum(Y[0:m])) / m ** 2]  
  38.     s = [Y[i] - a[0] for i in range(m)]  
  39.     y = [a[0] + b[0] + s[0]]  
  40.     rmse = 0  
  41. # 套用上面公式,從0開始,fc表示預測的數量,如已知前7天,預測接下來的一個小時的數據,如果數據粒度是5分鐘,fc為12。 
  42. for i in range(len(Y) + fc):  
  43. if i == len(Y):  
  44. # 預測值為  
  45.             Y.append(a[-1] + b[-1] + s[-m])  
  46.         a.append(alpha * (Y[i] - s[i]) + (1- alpha) * (a[i] + b[i])) 
  47.          b.append(beta * (a[i + 1] - a[i]) + (1- beta) * b[i])  
  48.         s.append(gamma * (Y[i] - a[i] - b[i]) + (1- gamma) * s[i])  
  49.         y.append(a[i + 1] + b[i + 1] + s[i + 1]) 
  50.  # 計算rmse值  
  51.     rmse = sqrt(sum([(m - n) ** 2for m, n in zip(Y[:-fc], y[:-fc - 1])]) / len(Y[:-fc]))  
  52. return y[-fc:], alpha, beta, gamma, rmse 

另外,statsmodels包中也提供的實現的方法 

  1. from statsmodels.tsa.holtwinters importExponentialSmoothing 

3. Holt-Winters參數

從上面實現可知,holt-winters通過預估alpha,beta和gamma來預測。算法的關鍵就是這三個參數和初始化值。三個參數可以通過優化算法來預估,但有可能并不是最優的。初始值的設置除了上面統計值外,還可以通過時序的分解的趨勢和季節部分來初始。 

  1. import numpy as np  
  2. from pandas import read_csv  
  3. import matplotlib.pyplot as plt  
  4. from statsmodels.tsa.seasonal import seasonal_decompose  
  5. decomposition = seasonal_decompose(df_clean.bw, model='additive'period=288 
  6. decomposition.plot() 

Holt-Winters針對波形比較穩定,沒有突刺的情況下,效果會比較好。

對于存在突刺,統一的alpha,beta,gamma不能很好擬合,預測可能會滯后。

4. 總結

本文分享了時間序列預測算法Holt-Winters以及重要參數的選擇,希望對你有幫助。總結如下:

 •  Holt-Winters是三次指數平滑,分別為baseline,趨勢和季節性;

 •  alpha、beta和gamma分別為baseline,趨勢和季節性的指數加權參數,一般通過優化算法L-BFGS估計

 •  初始化可通過平均值,也可通過時間序列分解得到

 •  周期m或者k的選擇要根據實際數據來選擇

 •  Holt-Winters針對波形比較穩定,沒有突刺的情況下,效果會比較好 

 

責任編輯:龐桂玉 來源: Python中文社區
相關推薦

2021-07-01 21:46:30

PythonHot-Winters數據

2024-05-09 16:23:14

2024-06-27 16:38:57

2021-04-07 10:02:00

XGBoostPython代碼

2023-10-13 15:34:55

時間序列TimesNet

2025-01-14 13:32:47

2024-07-18 13:13:58

2024-06-17 16:02:58

2023-03-16 18:09:00

機器學習數據集

2022-08-16 09:00:00

機器學習人工智能數據庫

2024-10-24 16:46:41

2017-11-20 11:51:40

KerasLSTM深度學習

2023-01-30 17:10:23

DeepTime元學習

2024-09-04 16:36:48

2023-03-16 07:27:30

CnosDB數據庫

2022-11-24 17:00:01

模型ARDL開發

2024-11-15 15:20:00

模型數據

2023-12-29 22:37:42

時間序列NLP

2023-03-27 07:34:28

XGBoostInluxDB時間序列

2024-05-07 11:46:50

時間序列概率預測
點贊
收藏

51CTO技術棧公眾號

色视频在线观看免费| 国产日韩精品一区观看| 九色福利视频| 久久精品噜噜噜成人av农村| 久久久久久久久久av| 在线观看免费网站黄| 欧美韩日一区二区三区| 日本一区视频在线观看| 久久香蕉国产| 久久在线免费视频| 黄页网站在线| 色综合久久综合网| 亚洲乱码国产一区三区| 日本aⅴ亚洲精品中文乱码| 国产成人jvid在线播放| 秋霞国产精品| 日韩天堂在线观看| 欧美伦理影视网| 亚洲精品欧美综合四区| 国产成人精品视频免费看| 免费成人美女在线观看| 成人精品一二区| 欧美在线色图| 97在线视频免费看| 日韩福利影视| 亚洲欧美日韩精品久久| 性欧美videoshd高清| 欧美亚洲综合在线| 永久在线免费观看| 亚洲线精品一区二区三区| 国产三级日本三级在线播放| 国产传媒日韩欧美成人| 欧洲一区二区日韩在线视频观看免费| 亚洲综合自拍| 国产精品久久久久久五月尺| 日韩欧美四区| 欧美在线性爱视频| 亚洲v天堂v手机在线| 韩国日本不卡在线| 欧美亚洲国产日韩| 77777少妇光屁股久久一区| 日韩成人在线电影| 久久影视免费观看| 中文字幕视频精品一区二区三区| 欧美成人免费大片| 国产欧美啪啪| 国产精品一区二区三区毛片淫片 | 欧美风情在线观看| 欧美日韩尤物久久| www.xxxx欧美| 99这里只有精品视频| 久久久噜噜噜久久| 亚洲宅男网av| 91久久在线观看| 影音先锋亚洲一区| 亚洲ai欧洲av| jlzzjlzz亚洲日本少妇| 亚洲免费av一区二区三区| 亚洲欧美一区二区三区久本道91| 午夜丝袜av电影| 欧美性感一类影片在线播放| caopeng在线| 亚洲最新在线视频| 国产一区二区三区免费在线 | 欧洲一区二区在线观看| 精品一二线国产| aa在线观看视频| 中文字幕一区二区三| 中文字幕免费在线视频| 欧美日韩国产小视频| 亚洲美女炮图| 91av视频在线| 亚洲美女黄色| 亚洲人成无码网站久久99热国产 | 日韩免费电影一区二区| 国产一区二区三区四区在线观看| 免费在线激情视频| 欧美日韩黄色大片| 9999精品成人免费毛片在线看| 在线中文字幕日韩| 精品福利久久久| 欧美色欧美亚洲另类七区| 懂色av一区二区三区免费看| 黑人巨大精品欧美一区二区奶水| 在线看不卡av| 欧美a视频在线| 91在线网站视频| 国产91丝袜在线播放| 国产特级毛片| 精品国产乱子伦一区| 亚洲一区电影| 欧美日韩精品免费观看视一区二区 | 国产精品激情自拍| 毛片一区二区三区| hbad中文字幕| 欧美一区二区在线免费观看| 久久伊人精品| 欧美黑人xxxxx| 国产精品免费av| 阿v视频在线| 成人性生交大片免费观看嘿嘿视频| 卡一卡二国产精品| 一级片免费视频| 亚洲精品一区二区三区不| 国产精品免费大片| 国产精品夜夜夜爽张柏芝| 亚洲一区二区三区四区在线| 日韩精品av| 99伊人久久| 中文字幕日韩精品一区| 92国产精品| 精品无码久久久久久久动漫| 中文在线免费一区三区高中清不卡| 97影院秋霞午夜在线观看| 日韩av免费看网站| 99久久精品99国产精品 | aaa在线观看| 久久久久久久久国产| 狠狠色狠狠色综合系列| 亚洲做受高潮| 91国内揄拍国内精品对白| 国产在线播放一区三区四| 北岛玲日韩精品一区二区三区| 欧美黄色小视频| 国内外成人在线视频| 91大神xh98hx在线播放| 日韩美女写真福利在线观看| 97久久精品人人爽人人爽蜜臀| 青草影视电视剧免费播放在线观看| 国产精品视频区1| 国产精品亚洲第一区| 精品国内二区三区| 蜜桃tv一区二区三区| www.av中文字幕| 亚洲国产欧美久久| 亚洲精品婷婷| 宅男视频免费在线观看视频| 久久久久久久久久久免费精品| 国产乱淫av一区二区三区 | 黄视频在线播放| 国产成人涩涩涩视频在线观看| 99re这里只有精品视频首页| 成人性生活av| 一本二本三本亚洲码| 欧美sm美女调教| 丝袜国产日韩另类美女| 91精彩视频在线观看| av资源一区二区| 色乱码一区二区三区88| 一区二区三区在线| 日韩美女一级视频| 91九色在线视频| 日本高清不卡aⅴ免费网站| 中文字幕一区二区三三| 九色视频在线观看免费播放| 91视频九色网站| 欧洲一区二区av| 亚洲国产精品一区制服丝袜| av在线资源站| 日本午夜精品一区二区| 亚洲国产精品人人爽夜夜爽| 久久99精品一区二区三区| 日韩伦理在线| www污在线观看| 欧美精品中文字幕一区| 中文字幕第一页久久| 西野翔中文久久精品国产| 黄色免费影视| 亚洲va欧美va国产综合久久| 91福利精品视频| 日韩精品国产精品| 免费高潮视频95在线观看网站| 欧美一级爱爱视频| 久久精品男人天堂| 日本一区二区三区dvd视频在线| 视频小说一区二区| 视频在线不卡| 欧美大陆一区二区| 亚洲欧洲视频在线| 久久精品欧美一区二区三区不卡 | 日韩女同互慰一区二区| 免费的成人av| 成人在线视频播放| 日韩黄色片视频| 日韩免费在线播放| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 亚洲精品影院| 伊人青青综合网站| 亚洲欧美一区二区久久| 激情成人亚洲| 欧洲一区精品| 三上悠亚在线一区二区| 91久久国产精品| 国产丝袜视频一区| 中文字幕亚洲综合久久菠萝蜜| 国产一区亚洲| 成人日韩在线观看| 又黄又爽的视频在线观看| 欧美激情导航| 欧美—级a级欧美特级ar全黄|