時間序列資料如何插補缺失值?

時間 2021-05-12 07:20:09

1樓:Luciano

時間序列資料的插補, 有很多不同的方法。

1、就近插補:前推法LOCF, 替換為缺失之前的最後一次觀測值,與後推法NOCB, 使用缺失值後面的觀測值進行填補。這個是時序當中最基本的方法,當然還有用Baseline Observaton,或者啥Worst observation,目前生科實驗好像有用。

2、線性插值:這個也是歷史悠久方法, 假定時序之間變動有很強的趨勢。早期天文學缺失資料都用這個方法。

4、均值中位數眾數,沒有考慮時序因素。但是假如你認為時序資料裡面基本沒有很強趨勢,也是可以的。當然裡面也還有比如Conditional Mean這樣改進方法。

5、多值插補/機器學習: Multiple Imputation , Expectation-Maximization , Nearest Neighbor ,和 Hot Deck 方法,這些方法都依賴於缺失資料不同屬性間關係,尋找最類似樣本。如果使用R的話,mice, VIM, AMELIA等都可以用來插補,但是這個必須是多變數時序。

如果單變數時序,無法找不同屬性關聯,用ImputeTS, 然後zoo, 或者forecast。

6、當然還要區別分類還是數值,如果類別變數,NA直接可以劃分新分類。

除了這些統計方法, 我想每個領域裡面缺失值都肯定還要借鑑專業知識來判斷。比如以國家軍費缺失資料為例,如果你知道因為戰亂帶來的缺失。那麼戰時資料比和平年代資料就更合適,很簡單就近填補。

然後插補不同學科可能都有預設或者建議的方法,比如社會學或者人口學無應答問卷資料,大量採用hotdeck,就是假定類似使用者類似行為,US Census Bureau也在用。

因為你的是氣候資料,看到有的文章在研究氣候變化時採用Expectation-Maximization algorithm,R裡面mtsdi。見這篇文章 Imputation of missing data in time series for air pollutants。當然python的話裡面也有很多。

最後,插補資料方法上如果你對資料生成機制很熟悉的情況下,可能一些簡單方法就可以。我對於本身純粹依賴演算法,不能給出解釋機制的插補有疑慮。為什麼說要增加專業知識判斷,因為缺失本身表明這些樣本資訊不足, 專業知識判斷就相當於額外增補資訊。

如何在金融時間序列資料中構造iid的樣本?

長沙王太傅 自相關是任何時間序列資料都存在的問題。在金融資料中這個問題更為嚴峻,因為不光是yt 1會影響yt,過去的volatility也會顯著的影響yt。這就是所謂的ARCH或者GARCH effect。 伊格諾 有overlaping當然不能假設iid,所以金融時間序列很多時候都是考慮non o...

如何將卷積神經網路應用在一維時間序列資料上?

哈哈哈 振動訊號就是天然的一維時間序列資料。卷積神經網路可以用在不同故障狀態下的振動訊號分類,據此進行機械裝置故障診斷。更進一步地,如果訊號中雜訊較多的話,可以考慮使用特殊形式的卷積神經網路,例如深度殘差收縮網路 1 在軟閾值化層的幫助下,深度殘差收縮網路更適合含噪振動訊號 2 深度殘差收縮網路 C...

(超)高頻交易資料的時間序列如何建模?

非等距時間發生的事件就是半馬爾可夫 semi markov 過程建模,查這關鍵字就有各種模型了 還有另外乙個,但實在是太好用了所以不想講 陳靚 目前我們對高頻資料的理解大致侷限於借用統計物理中的一些概念,除此之外都是自由發揮 所以,時間是否對齊並無意義 這點馬上會有人不同意,lead lag呢?物理...