1. 程式人生 > >移動平均(轉載)

移動平均(轉載)

說明 說過 net 意義 blog 裏的 學校 普通 考試

移動平均(英語:Moving Average,MA),又稱“移動平均線”簡稱均線,是技術分析中一種分析時間序列數據的工具。最常見的是利用股價、回報或交易量等變數計算出移動平均。移動平均可撫平短期波動,反映出長期趨勢或周期。數學上,移動平均可視為一種卷積。

簡單移動平均(英語:Simple Moving Average,SMA)即算術平均。例如,收市價的10日簡單移動平均指之前10日收市價的平均數。

加權移動平均(英語:Weighted Moving Average,WMA)指計算平均值時將個別數據乘以不同數值,在技術分析中,n日WMA的最近期一個數值乘以n、次近的乘以n-1,如此類推,一直到0:

指數移動平均

(英語:Exponential Moving Average,EMA或EWMA)是以指數式遞減加權的移動平均。各數值的加權影響力隨時間而指數式遞減,越近期的數據加權影響力越重,但較舊的數據也給予一定的加權值。

技術分享圖片

指數移動平均的內涵是個遞推公式,在計算今天的平均值時,使用了昨天的平均值,可以加快計算效率。詳細內容如下:

前言

上一篇我們說通過mini batch的方式來為梯度下降算法增速。 這次說一說指數加權平均。 它同樣是用來給梯度下降增速的。 在我們的正常的梯度下降中,不論是mini batch還是 full batch,梯度下降的效果大概是下面這個樣子的。

梯度下降算法就像是上面這個圖一樣,像一個碗一樣。這是我們優化成本函數J的方式,不停的更新w和b的值。讓函數移動到最下面的那個紅色的點,也就是全局最優解。在這個過程中在縱軸上我們是上下波動的,橫軸上我們不停的像最優解移動。 在這中間我們發現縱軸上下波動的太大導致我們在橫軸上的移動速度不是很快。 這就需要我們增加叠代次數或者調大學習率來達到最後到達最優解的目的。 但是調大學習率會導致每一次叠代的步長過大,也就是擺動過大,誤差較大。 而增加叠代次數則明顯的增加了訓練時間。 這時候指數加權就出現了。

動量梯度下降法

我們在之前的學習中知道梯度下降是一個優化成本函數J的過程,不停的更新w和b的參數來是成本函數J最小。 公式是這樣的:y = wx + b。 每一次叠代都更新w和b的值, 讓w = w - 學習率*J對w的導數。那麽指數加權就是在更新w的時候做一些手腳。看下圖。

可以看到我們多了一個求Vdw和Vdb, 分別在對w和b的導數上求指數加權平均。然後更新w和b的時候不再是減去學習率*導數了,而是導數的指數加權平均值。其中β就是加權。這也是我們的超參數之一。一般設置為0.9. 它的效果差不多是下面這樣的。

藍色部分是正常的梯度下降,紅色部分是增加了指數加權平均的梯度下降,增加了指數加權後會減少縱軸的上下擺動從而讓橫軸上更快的移動來達到增速的作用。 那麽到底什麽是指數加權呢?

指數加權平均值

舉例說明,下面是一個同學的某一科的考試成績:
平時測驗 80, 期中 90, 期末 95
學校規定的科目成績的計算方式是:
平時測驗占 20%;
期中成績占 30%;
期末成績占 50%;
這裏,每個成績所占的比重叫做權數或權重。那麽,
加權平均值 = 8020% + 9030% + 95*50% = 90.5
算數平均值 = (80 + 90 + 95)/3 = 88.3

所以這就是指數加權平均值了。 在t時刻,根據實際的觀測值可以求取V(t):V(t) = βY(t) + (1-β)EWMA(t-1),t = 1,2,.....,n;其中,V(t) t時刻的估計值(也就是指數加權平均值);Y(t) t時刻的測量值;n 所觀察的總的時間;β(0 < β <1)表示對於歷史測量值權重系數。之所以稱之為指數加權,是因為加權系數β是以指數式遞減的,即各指數隨著時間而指數式遞減。用n表示為β = 2/(n+1)。
物理意義:系數β越接近1表示對當前抽樣值的權重越高,對過去測量值得權重越低,估計值(器)的時效性就越強,反之,越弱;另外,V還有一定的吸收瞬間突發的能力,也即平穩性,顯然隨著β減小,參考過去測量值的程度更多一些,平穩性增強,反之則降低。

通過這樣一個公式,比如我們現在有100天的溫度值,要求這100天的平均溫度值。24,25,24,26,34,28,33,33,34,35..........32。
我們直接可以用公式:

化簡開得到如下表達式:

通過上面表達式,我們可以看到,V100等於每一個時刻天數的溫度值再乘以一個權值。
本質就是以指數式遞減加權的移動平均。各數值的加權而隨時間而指數式遞減,越近期的數據加權越重,但較舊的數據也給予一定的加權。
而在我們上面提到的普通平均數求法,它的每一項的權值都是一樣的,如果有n項,權值都為1/n。

結尾

之前曾經說過,系數β越接近1表示對當前抽樣值的權重越高,對過去測量值得權重越低,估計值(器)的時效性就越強,反之,越弱。

像上圖一樣,我們V(指數加權平均值) 是約等於上面的公式的。這裏的測量值就是我們的叠代次數。假如我們把β設置為0.9. 那麽根據公式,那麽相當於我們對於過去10次叠代。1除以(1-0.1). 這就是說我們把過去10次叠代的w和b的值算入了指數平均值中。也就是說我們對過去10次叠代的數據作為樣本,求出了一個平均值作為指數加權。之後根據這個值更新w和b。之所以說有這麽一個公式,是因為我們發現指數是隨著時間衰減的,太老的數據可以忽略不計了。 根據經驗,我們設置為0.9這個值是比較常見的, 也就是用過去10次叠代作為參考。

refs:

https://www.cnblogs.com/sddai/p/5740100.html

https://blog.csdn.net/AnySomeday/article/details/80215061

移動平均(轉載)