11、convolve函數(shù):卷積

教材上有這樣一句話:“簡(jiǎn)單移動(dòng)平均線只不過是計(jì)算與等權(quán)重的指示函數(shù)的卷積。”又表明,“卷積定義為一個(gè)函數(shù)與經(jīng)過翻轉(zhuǎn)和平移的另一個(gè)函數(shù)的乘積的積分?!?/p>

那么,卷積到底是什么呢?具體可以參考這篇博客:https://www.cnblogs.com/delphi-xe5/p/11373199.html。從物理狀態(tài)而言,卷積是為了更好地從時(shí)間和空間上全局地去解釋結(jié)果。

np.convolve(a, v, mode=‘full’),這是numpy函數(shù)中的卷積函數(shù)庫(kù)。a和v表示的是兩個(gè)輸入的一維數(shù)組,即信號(hào)。其mode有三種形式,full、same、valid,顧名思義,full即表示卷積的全部影響都需要寫出來(包含邊際效應(yīng)),valid則只把所有信號(hào)都作用到的影響范圍寫出來,same的意思應(yīng)該是和原數(shù)組的元素?cái)?shù)一致,即兩個(gè)輸入數(shù)組為M和N的話,則same把最大的那個(gè)數(shù)值作為自身的長(zhǎng)度。

讀下圖所示的代碼和數(shù)字的計(jì)算公式,請(qǐng)把數(shù)組a當(dāng)作是輸入信號(hào),把數(shù)組b當(dāng)作是信號(hào)隨時(shí)間的權(quán)重,從上文博客中學(xué)到的翻轉(zhuǎn)和平移,在這邊就能很好地加以運(yùn)用了。

圖1 convolve的介紹

利用信號(hào)處理技術(shù)計(jì)算簡(jiǎn)單移動(dòng)平均線:與1/N的權(quán)重進(jìn)行卷積運(yùn)算。

圖2 計(jì)算簡(jiǎn)單移動(dòng)平均

指數(shù)移動(dòng)平均值的求解:

圖3 指數(shù)移動(dòng)平均線

布林帶的使用:在簡(jiǎn)單移動(dòng)平均的基礎(chǔ)上加入上軌和下軌:

圖4 布林帶釋義
圖5 布林帶代碼

注:教材上將std自行用公式求解了,本質(zhì)公式是一致的。另外教材上利用np.fill函數(shù)取了sma[i-N-1]的值作為average,這點(diǎn)讓我很疑惑;另外,選擇dev數(shù)組的時(shí)候,是從第5個(gè)元素向后取的,也是一個(gè)困惑點(diǎn)。因?yàn)槲覀冏鲆苿?dòng)平均,用的是0-4元素為一組的嘛。私以為上面截圖寫的才是對(duì)的,教材看看就好。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容