時間序列

缺失數據對 RMSE 估計的意義

  • May 6, 2019

我有一個涵蓋十年每日收盤價的時間序列,我將其與模型生成的理論時間序列進行比較。原始系列有一些缺失的數據點(~2%),其中一些是連續出現的。

我打算計算兩者之間的執行 RMSE。使用一些基本的插值技術是否有效,或者是否需要更高級的 ARIMA(或此類)模型?處理缺失數據並不是本練習的主要重點,也是我不太熟悉的一個問題,但如果它有重大影響,我不想討論這個問題。

對於失去數據的更多/更少發生頻率怎麼辦?

除非您的工作完全是預測性的,否則插值會給您帶來問題。這仍然是一個問題,但只是在低估你的預測的傳播範圍內。

這個問題的最佳解決方案是使用貝氏方法來解決它。這是由於貝氏方法如何處理缺失數據。如果這是一個學術練習,你不想這樣做,但如果這是一個現實世界的問題,那麼你就去做。

在頻率模型下考慮您的選擇。如果你想保留位置的中心,那麼你顯然應該做一些類似於插值的事情,但是你可能會低估了模型中的不確定性。僅缺少 2% 的影響可能可以忽略不計,但對於一些時間序列,這是一個大問題。相反,如果您根據序列其餘部分的參數估計隨機生成觀測值,您可能會保留不確定性,但會損害預測能力。您可以簡單地從沒有失去數據的點執行該系列,但隨後您丟棄了資訊,這絕不是好的。最後,您可以進行薈萃分析。文獻中有關於對時間序列進行薈萃分析的研究。如果您要留在常客陣營,這可能是您最好的選擇。

這種情況的貝氏解決方案部分取決於首先為什麼數據失去。數據失去的原因有很多。

假設您的數據由應付賬款組成,而在 2008 年第 3 季度,應付賬款為零,因此報告不是報告為零,而是缺少條目。在這種情況下,這些值應記錄為零,並且您的概似函式應包括值有時為零的情況。這可能是由於審查造成的,並且有一個完整的統計分支涉及審查,這篇文章太長了。如果是由於審查,那麼您應該研究審查模型。但是,我的猜測是,由於您文章的語氣似乎暗示結果是隨機遺漏的,因此解決方案相當簡單。

正態貝氏回歸採用樣本並將其視為一組常數,並將機率分佈分配給不可觀察的參數。當某些樣本缺失時,可以將缺失點視為未觀察到的值,並且可以為每個缺失點分配一個機率分佈。例如,如果 $ x_{32}=25 $ 和 $ x_{34}=27 $ 那麼你可以為 $ x_{33} $ 獲得該值的後驗密度。

如果您以前沒有使用過貝氏方法,它們會創建機率分佈作為答案而不是點。例如,而不是 $ \hat{\beta}=.075 $ 你可能會得到一個結果,比如 $ \beta\sim\mathcal{N}(.075,.05^2) $ . 它將參數視為從分佈中抽取的隨機數,並將觀測值視為常數。這是Frequentist方法的逆邏輯。樣本是隨機抽取的,參數在Frequentist方法中是固定的。在機率的意義上,貝氏方法中的參數不是隨機的,而是在它們的真實值不確定的意義上。參數被認為是不可觀察的。

答案的分佈取決於您從樣本本身之外的資訊中對答案的了解。先驗資訊的分佈通常稱為*“先驗”。* 正如元分析需要主觀選擇一樣,先驗是主觀選擇的形式化。您包括從先前的研究和專業知識中獲得的任何資訊。

想像一下,你有一個簡單的固定模型 $ x_{t+1}=\beta{x_t}+\alpha+\epsilon_{t+1} $ . 根據其他研究和專業經驗,您認為很有可能 $ \beta\in[0,.2] $ , $ \alpha\approx{0} $ , 和可變性 $ \sigma\approx{1} $ . 如果沒有缺失數據,您將創建一個三元先驗分佈來大致說明參數的位置。給出一個關於如何建構邊際分佈的想法 $ \beta $ , 假設它被認為在範圍內 $ [0,.20] $ 分佈的一個簡單選擇是 $ \beta\sim\mathcal{N}\left(.1,\left(\frac{.1}{3}\right)^2\right) $ . 您將使用經驗規則來設置可能值範圍內的可變性。

如果有一個缺失值,您將分配一個機率分佈,在這種情況下, $ x_{33} $ . 中心可以是插值,並且變異性至少與觀察到的基礎數據的變異性一樣大。使用這種方法有許多優點。首先,貝氏方法有一個稱為*邊緣化的過程,*它允許直接分析缺失的變數。通過與Frequentist方法的弱類比,這允許研究人員將p值分配給缺失值。您可以測試以查看結果值是否是合理的值。

想像一下這個例子 $ \Pr(x_{33}|x_1\dots{x_{32}},x_{34}\dots{x_N})\sim\mathcal{N}(37,.01^2) $ . 這與您認為應該的位置相去甚遠。這是一個強烈的警告,表明您的整體模型存在嚴重問題。對於數學來說,將缺失值放置在離您認為應該的位置如此之遠的地方,這意味著如果需要這樣一個極端值才能使您的模型有意義,那麼正在發生其他事情。如果您要發布結果,您應該發布對缺失點的分析。

這種整體方法很好,因為它幾乎不會干擾 $ \alpha,\beta, $ 或者 $ \sigma $ 從人口參數。它允許您準確披露發生了什麼,並允許您分析模型的有效性。

第二種選擇是通過注意如果 $ x_{t+1}=\beta{x_t}+\alpha+\epsilon_{t+1} $ 如果一天不見了,那麼通過迭代 $ x_{t+1}=\beta\left[{\beta{x_{t-1}}+\alpha}\right]+\alpha+\epsilon_{t+1} $ . 沒有 $ \epsilon_t $ 因為沒有實際數據發生。這使您可以簡單地忽略缺失值。這樣做的危險在於,如果遺漏不是由於週末或假期等原因,那麼確實有一個觀察結果在某種意義上被忽略了;如果它根本沒有被記錄。

貝氏方法的雙重優點是它強制對缺失的內容以及缺失的原因進行正式建模;以及分析該模型並將其公開以供外界批評的方法。如果您尚未使用貝氏方法,則存在學習曲線。缺點是計算複雜性和學習曲線。

當您的解決方案是 p 維機率密度函式而不是 p 點時,您必須進行更多計算。這需要額外的時間,有時需要很多額外的時間。此外,還有很多要分析的。如果您認為某些參數值與應有的值相去甚遠,那麼還有工作要做。使用頻率模型,您可以確信它最適合數據,因此無需分析任何意外情況。使用貝氏模型,發現意想不到的東西應該​​觸發分析。獲得 p 維密度並一次將其邊緣化到一維需要工作。分析維度之間的潛在相互作用需要更多時間。

貝氏方法會創建有關模型數學的更多資訊,但不一定會創建有關數據或參數的更多資訊。

不過,如果我有遺漏,我會使用貝氏方法。如果我沒有遺漏,我可能會將 OLS 用於同變異數、靜止的情況。產生所有額外工作的成本很高。

這是一個相當大的話題,整本書都是關於缺失數據的。只是跟進之前的評論,貝氏方法實際上只是處理缺失數據的可能方法之一,而常客也有可行的方法來處理它。

首先,您應該查看一些容易獲得的參考資料,例如 Wikipedia: Missing Data。數據刪除過程/失去數據機制很重要。是完全隨機缺失 (MCAR)(說明它的含義)還是只是隨機缺失(命名不當,但缺失可能取決於數據集中的變數),還是隨機缺失(例如,審查數據),這取決於完全靠觀察。

如果您正在處理它,聽起來 MCAR 不一定是一個糟糕的假設。如果您只做 OLS,那麼您基本上只需要擔心估計因變數和自變數之間的均值和共變異數矩陣。在該文獻中,他們討論了插補(估算缺失值)和推斷(例如,根據您擁有的數據估計均值和共變異數矩陣)。

對於估計均值/共變異數矩陣的情況,我個人使用了 EM 方法,例如參見Schneider:Analysis of Complete climate data: Estimation of mean values and covariance matrices and imputation of missing values,(你會注意到它已經被引用了大約 590 次,這使它成為該領域的小經典)。

如果它更複雜,只需搜尋這些術語,您就會找到很多好的材料。關於該主題的一個很好的參考資料是Little and Rubin: Statistical Analysis with Missing Data。Little 和 Rubin 涵蓋了許多不同的方法,包括頻率學派和貝氏派。鑑於該領域文獻的不斷發展,您會發現有更新的評論文章。

如果您的估算器是非線性的,而不僅僅是一些簡單的 OLS,那麼您可能應該從一些 google 學者搜尋開始,包括經典(大量引用)和一些文獻綜述,如“我們知道什麼……”或“狀態藝術的…”類型的文章,它也將有一個很好的參考書目,可以幫助你整理。

順便說一句,其中一些方法被很好地覆蓋,您甚至可以找到直接進行插補和推理的軟體。我相信 SAS 和 Stata 都有處理這個問題的包。甚至可能有一些python repo。

當然有評論文章只是涵蓋貝氏方法。AFAIK,貝氏方法嚴重依賴 MCMC,而多重插補方法通常是一種迭代方法,您只需執行直到它似乎已經收斂。它們都是數值逼近方法,但每次執行它們時 MCMC 的答案都會發生變化(除非您保存偽隨機數生成種子)。這對我來說是一個關閉。如今,如果你有一些像 Stan 這樣可以有效執行 MCMC 並平滑後驗分佈的好包,你可以使用它,這可能是讓答案的隨機性看起來更容易接受的最佳方法之一。

引用自:https://quant.stackexchange.com/questions/41092