時間序列模型的選擇思路——學習筆記
時間序列的四個特性
時間序列:某個物理量對時間的函式。
拿到一個時間序列,可以從四個角度去認識和挖掘它:
1:隨機vs確定
可由外界的變化而確定,也可以是因為有複雜的原因,結果不確定。要先想想時間序列是否可以重複。有概率空間的概念。
2:無記憶vs歷史依賴
無記憶:只和上一時刻相關,沒有複雜記憶(馬爾科夫過程);有記憶:與之前很多的時刻都相關,有複雜的歷史依賴。
3:線性vs非線性
影響序列的因素之間是否相互獨立。若獨立,則可以拆分為各因素的疊加,稱之為線性;若不獨立,相互之間有影響,則為非線性,問題會複雜的多。
4.問題的維度
時間序列的觀測值的維度。高維時是否該降維,低維時是否該投影到高維。
選用預測模型的方向
考慮完以上幾個特性之後,可以考慮選用相應的模型。
比如:若線性,則各因素可以疊加,選用LR就不錯;若無記憶,則HMM就很好。若有記憶、非線性、緯度高,那麼可以考慮用神經網路。
舉例
1.股市預測
巨大的隨機性(因素太多,很難考慮全)、很強的歷史依賴、非線性、單維度的時間序列。
2.備件預測
備件的需求量(在保期內的損壞量)是隨機的、歷史依賴的、線性的(多個電腦機型的該備件的在保損壞量的時間序列的疊加。它與電腦的在保量序列(電腦銷售量結合保期轉換為在保量序列)密切相關)、一維向量。這就需要對與該備件相關的每款電腦的銷售量做預測。每款電腦的銷售量序列是一個隨機的、歷史依賴的、非線性的(銷售趨勢,產品階段,季節影響,隨機波動等因素。因素間並不獨立,會有影響,不能直接疊加)、一維度向量(是否降維或者投影到高維)。
總結
電腦銷量預測是隨機、歷史依賴強、可以假設成線性的、單維度。可以試試分解、ARIMA兩種方式建模。預測效果應該還可以。或者用點神經網路模型,也不是不可以。但如果直接對在保期內的損壞量直接進行這兩種方式的建模,我認為很難保證效果。因為不知道每一時刻參與備件的機型有幾種,所以找出來的模式可能很難在後續中重現。如果模型能準確的把某一時刻各個機型的量分解開來(一維變成多維),不用我自己去找有幾臺相應的機型,再去分別預測,那就太好了,這種傻瓜式模型估計就只有神經網路能辦到吧。至於是否能很好的分解,是否需要大量的資料,目前還不瞭解,這個坑先留著吧。
綜上所以比較靠譜的方案是:先對幾個電腦銷量做預測(做一個轉換 得到在保量的數量),再對這幾個型號的資料做線性迴歸(找出損壞率的因素)。或者上神經網路模型,但是個人感覺要確定在歷史和將來的時間段中,參與進來的機型個數是不變的,這樣效果才能穩定吧。