不會時間序列,但是像用R來建Arima模型,可能嗎??

我幾乎沒有數學背景,會基本的r語言,現在公司要用R來建立一個時間序列模型,我可以嗎?


最簡單的辦法,假設你的數據叫做 data,我隨機生成一點數據。

&> data &<- cumsum(rnorm(500)) &> forecast::auto.arima(data)
Series: data
ARIMA(3,1,2)

Coefficients:
ar1 ar2 ar3 ma1 ma2
1.2268 -0.7866 0.0277 -1.2148 0.8286
s.e. 0.1723 0.1540 0.0555 0.1666 0.1317

sigma^2 estimated as 0.8858: log likelihood=-677.87
AIC=1367.75 AICc=1367.92 BIC=1393.02

你可以看到,反正你隨便放進去數據總能輕鬆地跑出一個ARIMA模型的參數估計,對於 forecast 擴展包中的 auto.arima 函數而言,它甚至幫你做了階數選取。關鍵問題是:你怎麼知道你做的是正確的?

此時,你必須要看數據,畫相關性圖(ACF, PACF)、做一些統計檢驗之後才有理由假設數據生成過程符合ARIMA模型的形式。模型參數估計之後,還要做一系列統計檢驗來看看估計出的結果(殘差、殘差平方等)是否會在統計上違背你原先做出的假設可以推斷出的推論。最後,當你完成了模型估計、模型診斷等一系列驗證之後發現你的假設沒有被數據推翻,此時你才有理由相信你估計的模型可能會比較接近於真正的數據生成過程。另外,ARIMA模型有多種變體(比如季節性),你怎麼知道選哪種合適?

即使這些都解決了,你仍然對模型不能抱有太大的自信,因為你可以隨意通過模擬幾個數據生成過程並且用同樣的方法做模型估計和檢驗,你會發現樣本量小的情況下即使各種檢驗都能通過,估計出的參數也很可能和你設定的模型相去甚遠。如果你關注你的模型質量的話,那麼你需要嚴謹地學習時間序列分析等內容,否則做出來的東西基本不靠譜。因為你除了可以報告一下估計出來的結果,你有何自信去言說模型估計的好壞?


萬能的R什麼不能幹。。

還是好好答一下,forecast包裡面的arima函數就可以。用之前要了解下arima裡面的AR,MA都是什麼意思,為什麼要做差分,什麼是季節性,平穩性,還有如何用自相關和偏相關係數定階數。隨便找本時間序列的教材前幾章都可以解決。


你在公司有多少收入,我也想入這行。兩年過去了,現在怎麼樣


推薦閱讀:

如何開始學習空間計量經濟學?
市場波動率的研究意義到底何在?

TAG:數據挖掘 | 機器學習 | 計量經濟學 | R編程語言 | 時間序列分析 |