多維灰色預測模型心得

Joseph苗發表於2020-12-22

對於多維非線性資料的預測分析,我們選擇其實不多,有幾個方案:其一,用非線性迴歸分析,但這基於你已瞭解該非線性的規律去做,若它不怎麼規則,那就不合適。其二,用機器學習的演算法去分析,就如我的程式,我用了隨機森林,但機器學習有諸多侷限性,隨機森林則對超出原資料邊界的預測無能為力,而神經網等其它機器學習,則不能分析連續資料,若經過變換,將犧牲一定的預測效果。其三,灰色模型,這個模型則是一個很吸引人研究的東西,它的優勢在於:容納非線性資料,不用摸索資料的規律,不需要大量取樣,你甚至不需要關注你在分析的是基於什麼業務的資料。缺點是:方法不成熟,很多程式設計師寫出來的灰色模型都發現了Bug,例如預測結果出現負值,奇異性無法消除,至今這些問題沒有獲得確實的解決方案。
無論怎樣,多於某個領域,灰色模型是值得繼續推廣和研究的,這個領域就是描繪一些事務的展望,我們通過灰色模型,可以得到一種偏離原資料較遠的展望性預測。但使用上有很多地方需要注意:
1、灰色模型數學方法的選擇,目前較多使用的有有gm(1,1),gm(1,n),gm(0,n),gm(1,1)是最穩定少bug的,但這隻適合一維的情況,當你要同時分析多個因素時,只能用多維的灰色模型,而二階或高階的灰色模型,則極少人問津,畢竟我們一階的都沒用得得心應手。然而對於gm(1,n),我是研究得最多的,我已寫出R語言平臺下的程式,有機會我會把原始碼放出。但目前gm(1,n)依然存在很多缺陷,個別預測結果出現瘋狂偏離,也有負值出現。面對這些問題,目前我認為最好的解決辦法是,舍缺部分相關資料,以求穩定度,我試過用改變資料的辦法,如加值、無量綱、標準化等,都不湊小,唯獨捨棄部分資料,達到了最好效果。至於gm(0,n),這很值得一試,其中0代表了不做微分,僅作累加的數學方法,已有人實踐過此法,精確率很高,而資料還不是遞增那種,而是有起伏的型別,所以我接下來會關注這個方法。
2、預測的辦法,灰色模型需要提供新的自變數值才能得出預測結果,其實這點和多維迴歸分析一樣,只不過我們做多了一維時序資料的預測,以為它可以單憑本身預測未來一段時間的走勢,這就錯了,它只能預測一個值,而且要輸出假設或已知的個維度自變數值。另外,很多人套用數學方法寫程式,程式是出來了,卻無法做最後一步,獲得預測結果,它只能自檢精確率。其實要預測結果,我們可以加一個子程式,裡面用回同樣的數學方法,不同的是這次只做一次迴圈,具體不再闡述,因為我有更方便的方法,就是把新的自變數值加到原資料最後,一併作為灰色建模程式處理,這樣輸出的最後一個檢驗值G(n)便是要預測的值了。

相關文章