預測算法 ---------- 指數平滑

基本思路:最近的過去態勢,在某種程度上會持續的未來。指數平滑法是移動平均法中的一種,其特點在于給過去的觀測值不一樣的權重,即較近期觀測值的權數比較遠期觀測值的權數要大。指數平滑法分為一次指數平滑法、二次指數平滑法和三次指數平滑法等等。

一次指數平滑法:

平滑值的基本公式:St = a * yt + (1-a) * St-1 式中,
St:時間t的平滑值;
yt:時間t的實際值;
St-1:時間t-1的平滑值;

假設以下數據:



如果僅有從y1開始的數據,那么確定初始值的方法有:
  1)取S0等于y1;
  2)待積累若干數據后,取S1等于前面若干數據的簡單算術平均數,如:S1=(y1+ y2+y3)/3等等。
這里取前三號的平均值,以*a *= 0.5的一次指數平滑值計算為例,有


構建的預測模型如下,


當時間數列無明顯的趨勢變化,可用一次指數平滑預測。其預測公式為:
yt+1'=a * yt+(1-a) * yt' 式中
那么,預測 S16 = 0.5 * 28.06 + 29 * 0.5 = 28.53

這里我我們嘗試不同的權重值a ,看看平滑曲線呈現什么樣的走勢。


當 權重值a 越小,曲線的平滑作用越強,對數據的起伏程度越小。

二次指數平滑預測

指數平滑值序列出現一定的滯后偏差的程度隨著權系數(平滑系數)的增大而減少;但當時間序列的變動出現直線趨勢時,用一次指數平滑法來進行預測仍將存在著明顯的滯后偏差。因此,也需要進行修正。

在一次指數平滑的基礎上得二次指數平滑 的計算公式為:

St(2) = a * St(1) + (1 - a) * St-1(2)

St(2):t周期的二次指數平滑值;
St(1):t周期的一次指數平滑值;
St-1(2):t-1周期的二次指數平滑值;
a: 加權系數(也稱為平滑系數)。

數學模型為


Y t+T : 預測曲線
T: 離間隔t 的數

二次平滑實驗 - 平滑函數

def func(data, a):
    se = []
    for i in range(len(data)):
        pre = 0.;
        if not i  == 0:
            pre = a * data[i] + (1-a) * se[i-1]
        else: 
            pre = (1-a) * (data[0] + data[1] + data[2]) / 3 + a * data[i] 
        se.append(round(pre,2))
    return se

三次指數平滑預測

若時間序列的變動呈現出二次曲線趨勢,則需要采用三次指數平滑法進行預測。
平滑公式為:
St(3) = a * St(2) + (1 - a) * St-1(3)

image.png

預測公式:

預測結果實驗如下


總結:

一次指數平滑預測: 時間數列無明顯的趨勢變化
二次指數平滑預測:適用于具線性趨勢的時間數列
三次指數平滑預測 :時間序列的變動呈現出二次曲線趨勢

參考資料:
1.http://wiki.mbalib.com/wiki/%E6%8C%87%E6%95%B0%E5%B9%B3%E6%BB%91%E6%B3%95
2.https://baike.baidu.com/item/%E6%8C%87%E6%95%B0%E5%B9%B3%E6%BB%91%E6%B3%95/8726217?fr=aladdin
3.http://blog.csdn.net/nieson2012/article/details/51980943

jupyter實驗過程代碼:
鏈接: https://pan.baidu.com/s/1i6WLH6t 密碼: sbnb

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 這個不錯分享給大家,從扣上看到的,就轉過來了 《電腦專業英語》 file [fail] n. 文件;v. 保存文...
    麥子先生R閱讀 6,610評論 5 24
  • 時間序列預測法及Spark-Timeserial 時間序列預測法 時間序列預測法(Time Series Fore...
    raincoffee閱讀 14,648評論 8 17
  • 順其自然,呵呵,說來容易,怎樣做到。內心總會受到煎熬。
    DaDa2閱讀 158評論 0 0
  • 今天一天瞎忙活,上午看了一會兒linux的書,之后就是各種取快遞,安排值日,等等許多亂七八糟的事情,中午午休了一下...
    夢里醉乾坤閱讀 189評論 0 0
  • 今天雪糕又有進步了。我跟她說去換片片了,去哪換啊?她指了指自己房間,然后走進去了,但是去到床前又會反悔,往外跑。但...
    文兩文閱讀 142評論 0 0