① 一支簡單的股票價格預測的數學模型!!!!
對於股票價格只能是在理論上,換句話說是在你自己的期望預期。
而對於股票價格預測一般是從他的基本面上來考慮。
你可以試試下面的方法:
杜邦財務分析法及案例分析
摘要:杜邦分析法是一種財務比率分解的方法,能有效反映影響企業獲利能力的各指標間的相互聯系,對企業的財務狀況和經營成果做出合理的分析。
關鍵詞:杜邦分析法;獲利能力;財務狀況
獲利能力是企業的一項重要的財務指標,對所有者、債權人、投資者及政府來說,分析評價企業的獲利能力對其決策都是至關重要的,獲利能力分析也是財務管理人員所進行的企業財務分析的重要組成部分。
傳統的評價企業獲利能力的比率主要有:資產報酬率,邊際利潤率(或凈利潤率),所有者權益報酬率等;對股份制企業還有每股利潤,市盈率,股利發放率,股利報酬率等。這些單個指標分別用來衡量影響和決定企業獲利能力的不同因素,包括銷售業績,資產管理水平,成本控制水平等。
這些指標從某一特定的角度對企業的財務狀況以及經營成果進行分析,它們都不足以全面地評價企業的總體財務狀況以及經營成果。為了彌補這一不足,就必須有一種方法,它能夠進行相互關聯的分析,將有關的指標和報表結合起來,採用適當的標准進行綜合性的分析評價,既全面體現企業整體財務狀況,又指出指標與指標之間和指標與報表之間的內在聯系,杜邦分析法就是其中的一種。
杜邦財務分析體系(TheDuPontSystem)是一種比較實用的財務比率分析體系。這種分析方法首先由美國杜邦公司的經理創造出來,故稱之為杜邦財務分析體系。這種財務分析方法從評價企業績效最具綜合性和代表性的指標-權益凈利率出發,層層分解至企業最基本生產要素的使用,成本與費用的構成和企業風險,從而滿足通過財務分析進行績效評價的需要,在經營目標發生異動時經營者能及時查明原因並加以修正,同時為投資者、債權人及政府評價企業提供依據。
一、杜邦分析法和杜邦分析圖
杜邦模型最顯著的特點是將若干個用以評價企業經營效率和財務狀況的比率按其內在聯系有機地結合起來,形成一個完整的指標體系,並最終通過權益收益率來綜合反映。採用這一方法,可使財務比率分析的層次更清晰、條理更突出,為報表分析者全面仔細地了解企業的經營和盈利狀況提供方便。
杜邦分析法有助於企業管理層更加清晰地看到權益資本收益率的決定因素,以及銷售凈利潤率與總資產周轉率、債務比率之間的相互關聯關系,給管理層提供了一張明晰的考察公司資產管理效率和是否最大化股東投資回報的路線圖。
杜邦分析法利用各個主要財務比率之間的內在聯系,建立財務比率分析的綜合模型,來綜合地分析和評價企業財務狀況和經營業績的方法。採用杜邦分析圖將有關分析指標按內在聯系加以排列,從而直觀地反映出企業的財務狀況和經營成果的總體面貌。
杜邦財務分析體系如圖所示:
二、對杜邦圖的分析
1.圖中各財務指標之間的關系:
可以看出杜邦分析法實際上從兩個角度來分析財務,一是進行了內部管理因素分析,二是進行了資本結構和風險分析。
權益凈利率=資產凈利率×權益乘數
權益乘數=1÷(1-資產負債率)
資產凈利率=銷售凈利率×總資產周轉率
銷售凈利率=凈利潤÷銷售收入
總資產周轉率=銷售收入÷總資產
資產負債率=負債總額÷總資產
2.杜邦分析圖提供了下列主要的財務指標關系的信息:
(1)權益凈利率是一個綜合性最強的財務比率,是杜邦分析系統的核心。它反映所有者投入資本的獲利能力,同時反映企業籌資、投資、資產運營等活動的效率,它的高低取決於總資產利潤率和權益總資產率的水平。決定權益凈利率高低的因素有三個方面--權益乘數、銷售凈利率和總資產周轉率。權益乘數、銷售凈利率和總資產周轉率三個比率分別反映了企業的負債比率、盈利能力比率和資產管理比率。
(2)權益乘數主要受資產負債率影響。負債比率越大,權益乘數越高,說明企業有較高的負債程度,給企業帶來較多地杠桿利益,同時也給企業帶來了較多地風險。資產凈利率是一個綜合性的指標,同時受到銷售凈利率和資產周轉率的影響。
(3)資產凈利率也是一個重要的財務比率,綜合性也較強。它是銷售凈利率和總資產周轉率的乘積,因此,要進一步從銷售成果和資產營運兩方面來分析。
銷售凈利率反映了企業利潤總額與銷售收入的關系,從這個意義上看提高銷售凈利率是提高企業盈利能力的關鍵所在。要想提高銷售凈利率:一是要擴大銷售收入;二是降低成本費用。而降低各項成本費用開支是企業財務管理的一項重要內容。通過各項成本費用開支的列示,有利於企業進行成本費用的結構分析,加強成本控制,以便為尋求降低成本費用的途徑提供依據。
企業資產的營運能力,既關繫到企業的獲利能力,又關繫到企業的償債能力。一般而言,流動資產直接體現企業的償債能力和變現能力;非流動資產體現企業的經營規模和發展潛力。兩者之間應有一個合理的結構比率,如果企業持有的現金超過業務需要,就可能影響企業的獲利能力;如果企業佔用過多的存貨和應收賬款,則既要影響獲利能力,又要影響償債能力。為此,就要進一步分析各項資產的佔用數額和周轉速度。對流動資產應重點分析存貨是否有積壓現象、貨幣資金是否閑置、應收賬款中分析客戶的付款能力和有無壞賬的可能;對非流動資產應重點分析企業固定資產是否得到充分的利用。
三、利用杜邦分析法作實例分析
杜邦財務分析法可以解釋指標變動的原因和變動趨勢,以及為採取措施指明方向。下面以一家上市公司北汽福田汽車(600166)為例,說明杜邦分析法的運用。
福田汽車的基本財務數據如下表:
(一)對權益凈利率的分析
權益凈利率指標是衡量企業利用資產獲取利潤能力的指標。權益凈利率充分考慮了籌資方式對企業獲利能力的影響,因此它所反映的獲利能力是企業經營能力、財務決策和籌資方式等多種因素綜合作用的結果。
該公司的權益凈利率在2001年至2002年間出現了一定程度的好轉,分別從2001年的0.097增加至2002年的0.112.企業的投資者在很大程度上依據這個指標來判斷是否投資或是否轉讓股份,考察經營者業績和決定股利分配政策。這些指標對公司的管理者也至關重要。
公司經理們為改善財務決策而進行財務分析,他們可以將權益凈利率分解為權益乘數和資產凈利率,以找到問題產生的原因。
表三:權益凈利率分析表
福田汽車權益凈利率=權益乘數×資產凈利率
2001年0.097=3.049×0.032
2002年0.112=2.874×0.039
通過分解可以明顯地看出,該公司權益凈利率的變動在於資本結構(權益乘數)變動和資產利用效果(資產凈利率)變動兩方面共同作用的結果。而該公司的資產凈利率太低,顯示出很差的資產利用效果。
(二)分解分析過程:
權益凈利率=資產凈利率×權益乘數
2001年0.097=0.032×3.049
2002年0.112=0.039×2.874
經過分解表明,權益凈利率的改變是由於資本結構的改變(權益乘數下降),同時資產利用和成本控制出現變動(資產凈利率也有改變)。那麼,我們繼續對資產凈利率進行分解:
資產凈利率=銷售凈利率×總資產周轉率
2001年0.032=0.025×1.34
2002年0.039=0.017×2.29
通過分解可以看出2002年的總資產周轉率有所提高,說明資產的利用得到了比較好的控制,顯示出比前一年較好的效果,表明該公司利用其總資產產生銷售收入的效率在增加。總資產周轉率提高的同時銷售凈利率的減少阻礙了資產凈利率的增加,我們接著對銷售凈利率進行分解:
銷售凈利率=凈利潤÷銷售收入
2001年0.025=10284.04÷411224.01
2002年0.017=12653.92÷757613.81
該公司2002年大幅度提高了銷售收入,但是凈利潤的提高幅度卻很小,分析其原因是成本費用增多,從表一可知:全部成本從2001年403967.43萬元增加到2002年736747.24萬元,與銷售收入的增加幅度大致相當。下面是對全部成本進行的分解:
全部成本=製造成本+銷售費用+管理費用+財務費用
2001年403967.43=373534.53+10203.05+18667.77+1562.08
2002年736747.24=684559.91+21740.962+25718.20+5026.17通過分解可以看出杜邦分析法有效的解釋了指標變動的原因和趨勢,為採取應對措施指明了方向。
在本例中,導致權益利潤率小的主原因是全部成本過大。也正是因為全部成本的大幅度提高導致了凈利潤提高幅度不大,而銷售收入大幅度增加,就引起了銷售凈利率的減少,顯示出該公司銷售盈利能力的降低。資產凈利率的提高當歸功於總資產周轉率的提高,銷售凈利率的減少卻起到了阻礙的作用。
由表4可知,福田汽車下降的權益乘數,說明他們的資本結構在2001至2002年發生了變動2002年的權益乘數較2001年有所減小。權益乘數越小,企業負債程度越低,償還債務能力越強,財務風險程度越低。這個指標同時也反映了財務杠桿對利潤水平的影響。財務杠桿具有正反兩方面的作用。在收益較好的年度,它可以使股東獲得的潛在報酬增加,但股東要承擔因負債增加而引起的風險;在收益不好的年度,則可能使股東潛在的報酬下降。該公司的權益乘數一直處於2~5之間,也即負債率在50%~80%之間,屬於激進戰略型企業。管理者應該准確把握公司所處的環境,准確預測利潤,合理控制負債帶來的風險。
因此,對於福田汽車,當前最為重要的就是要努力減少各項成本,在控製成本上下力氣。同時要保持自己高的總資產周轉率。這樣,可以使銷售利潤率得到提高,進而使資產凈利率有大的提高。
四、結論
綜上所述,杜邦分析法以權益凈利率為主線,將企業在某一時期的銷售成果以及資產營運狀況全面聯系在一起,層層分解,逐步深入,構成一個完整的分析體系。它能較好的幫助管理者發現企業財務和經營管理中存在的問題,能夠為改善企業經營管理提供十分有價值的信息,因而得到普遍的認同並在實際工作中得到廣泛的應用。
但是杜邦分析法畢竟是財務分析方法的一種,作為一種綜合分析方法,並不排斥其他財務分析方法。相反與其他分析方法結合,不僅可以彌補自身的缺陷和不足,而且也彌補了其他方法的缺點,使得分析結果更完整、更科學。比如以杜邦分析為基礎,結合專項分析,進行一些後續分析對有關問題作更深更細致分析了解;也可結合比較分析法和趨勢分析法,將不同時期的杜邦分析結果進行對比趨勢化,從而形成動態分析,找出財務變化的規律,為預測、決策提供依據;或者與一些企業財務風險分析方法結合,進行必要的風險分析,也為管理者提供依據,所以這種結合,實質也是杜邦分析自身發展的需要。分析者在應用時,應注意這一點。
② 如何用Arma模型做股票估計
時間序列分析是經濟領域應用研究最廣泛的工具之一,它用恰當的模型描述歷史數據隨時間變化的規律,並分析預測變數值。ARMA模型是一種最常見的重要時間序列模型,被廣泛應用到經濟領域預測中。給出ARMA模型的模式和實現方法,然後結合具體股票數據揭示股票變換的規律性,並運用ARMA模型對股票價格進行預測。
選取長江證券股票具體數據進行實證分析
1.數據選取。
由於時間序列模型往往需要大樣本,所以這里我選取長江證券從09/03/20到09/06/19日開盤價,前後約三個月,共計60個樣本,基本滿足ARMA建模要求。
數據來源:大智慧股票分析軟體導出的數據(股價趨勢圖如下)
從上圖可看出有一定的趨勢走向,應為非平穩過程,對其取對數lnS,再觀察其平穩性。
2.數據平穩性分析。
先用EVIEWS生成新序列lnS並用ADF檢驗其平穩性。
(1)ADF平穩性檢驗,首先直接對數據平穩檢驗,沒通過檢驗,即不平穩。
可以看出lnS沒有通過檢驗,也是一個非平穩過程,那麼我們想到要對其進行差分。
(2)一階差分後平穩性檢驗,ADF檢驗結果如下,通過1%的顯著檢驗,即數據一階差分後平穩。
可以看出差分後,明顯看出ADF Test Statistic 為-5.978381絕對值是大於1%的顯著水平下的臨界值的,所以可以通過平穩性檢驗。
3.確定適用模型,並定階。可以先生成原始數據的一階差分數據dls,並觀測其相關系數AC和偏自相關系數PAC,以確定其是為AR,MA或者是ARMA模型。
(1)先觀測一階差分數據dls的AC和PAC圖。經檢驗可以看出AC和PAC皆沒有明顯的截尾性,嘗試用ARMA模型,具體的滯後項p,q值還需用AIC和SC具體確定。
(2)嘗試不同模型,根據AIC和SC最小化的原理確定模型ARMA(p,q)。經多輪比較不同ARMA(p,q)模型,可以得出相對應AIC 和 SC的值。
經過多次比較最終發現ARMA(1,1)過程的AIC和SC都是最小的。最終選取ARIMA(1,1,1)模型作為預測模型。並得出此模型的具體表達式為:
DLS t = 0.9968020031 DLS (t-1)- 1.164830718 U (t-1) + U t
4.ARMA模型的檢驗。選取ARIMA(1,1,1)模型,定階和做參數估計後,還應對其殘差序列進行檢驗,對其殘差的AC和Q統計檢驗發現其殘差自相關基本在0附近,且Q值基本通過檢驗,殘差不明顯存在相關,即可認為殘差中沒有包含太多信息,模型擬合基本符合。
5.股價預測。利用以上得出的模型,然後對長江證券6月22日、23日、24日股價預測得出預測值並與實際值比較如下。
有一定的誤差,但相比前期的漲跌趨勢基本吻合,這里出現第一個誤差超出預想的是因為6月22日正好是禮拜一,波動較大,這里正驗證了有研究文章用GARCH方法得出的禮拜一波動大的結果。除了禮拜一的誤差大點,其他日期的誤差皆在接受范圍內。
綜上所述,ARMA模型較好的解決了非平穩時間序列的建模問題,可以在時間序列的預測方面有很好的表現。藉助EViews軟體,可以很方便地將ARMA模型應用於金融等時間序列問題的研究和預測方面,為決策者提供決策指導和幫助。當然,由於金融時間序列的復雜性,很好的模擬還需要更進一步的研究和探討。在後期,將繼續在這方面做出自己的摸索。
③ 時間序列分析預測法優缺點
時間序列分析預測法有兩個特點:
①時間序列分析預測法是根據市場過去的變化趨勢預測未來的發展,它的前提是假定事物的過去會同樣延續到未來。事物的現實是歷史發展的結果,而事物的未來又是現實的延伸,事物的過去和未來是有聯系的。市場預測的時間序列分析法,正是根據客觀事物發展的這種連續規律性,運用過去的歷史數據,通過統計分析,進一步推測市場未來的發展趨勢。市場預測中,事物的過去會同樣延續到未來,其意思是說,市場未來不會發生突然跳躍式變化,而是漸進變化的。
時間序列分析預測法的哲學依據,是唯物辯證法中的基本觀點,即認為一切事物都是發展變化的,事物的發展變化在時間上具有連續性,市場現象也是這樣。市場現象過去和現在的發展變化規律和發展水平,會影響到市場現象未來的發展變化規律和規模水平;市場現象未來的變化規律和水平,是市場現象過去和現在變化規律和發展水平的結果。
需要指出,由於事物的發展不僅有連續性的特點,而且又是復雜多樣的。因此,在應用時間序列分析法進行市場預測時應注意市場現象未來發展變化規律和發展水平,不一定與其歷史和現在的發展變化規律完全一致。隨著市場現象的發展,它還會出現一些新的特點。因此,在時間序列分析預測中,決不能機械地按市場現象過去和現在的規律向外延伸。必須要研究分析市場現象變化的新特點,新表現,並且將這些新特點和新表現充分考慮在預測值內。這樣才能對市場現象做出既延續其歷史變化規律,又符合其現實表現的可靠的預測結果。
②時間序列分析預測法突出了時間因素在預測中的作用,暫不考慮外界具體因素的影響。時間序列在時間序列分析預測法處於核心位置,沒有時間序列,就沒有這一方法的存在。雖然,預測對象的發展變化是受很多因素影響的。但是,運用時間序列分析進行量的預測,實際上將所有的影響因素歸結到時間這一因素上,只承認所有影響因素的綜合作用,並在未來對預測對象仍然起作用,並未去分析探討預測對象和影響因素之間的因果關系。因此,為了求得能反映市場未來發展變化的精確預測值,在運用時間序列分析法進行預測時,必須將量的分析方法和質的分析方法結合起來,從質的方面充分研究各種因素與市場的關系,在充分分析研究影響市場變化的各種因素的基礎上確定預測值。
需要指出的是,時間序列預測法因突出時間序列暫不考慮外界因素影響,因而存在著預測誤差的缺陷,當遇到外界發生較大變化,往往會有較大偏差,時間序列預測法對於中短期預測的效果要比長期預測的效果好。因為客觀事物,尤其是經濟現象,在一個較長時間內發生外界因素變化的可能性加大,它們對市場經濟現象必定要產生重大影響。如果出現這種情況,進行預測時,只考慮時間因素不考慮外界因素對預測對象的影響,其預測結果就會與實際狀況嚴重不符。
④ 時間序列在股市有哪些應用
時間序列分析在股票市場中的應用
摘要
在現代金融浪潮的推動下,越來越多的人加入到股市,進行投資行為,以期得到豐厚的回報,這極大促進了股票市場的繁榮。而在這種投資行為的背後,越來越多的投資者逐漸意識到股市預測的重要性。
所謂股票預測是指:根據股票現在行情的發展情況地對未來股市發展方向以及漲跌程度的預測行為。這種預測行為只是基於假定的因素為既定的前提條件為基礎的。但是在股票市場中,行情的變化與國家的宏觀經濟發展、法律法規的制定、公司的運營、股民的信心等等都有關聯,因此所謂的預測難於准確預計。
時間序列分析是經濟預測領域研究的重要工具之一,它描述歷史數據隨時間變化的規律,並用於預測經濟數據。在股票市場上,時間序列預測法常用於對股票價格趨勢進行預測,為投資者和股票市場管理管理方提供決策依據。
⑤ 對股票收盤價進行時間序列分析,預測其下一個交易日的收盤價,並與實際收盤價格進行對比
股票投資的分析這么復雜啊,先問問老師有依據這個買股票沒,再回答。
⑥ 應用計量經濟學時間序列分析在股票預測上有多大的作用
作用沒有想像中的大,你可以用股票的滯後變數來進行回歸分析,滯後2~3期就夠了,不過數據必須具體點,最好細分到每季度、每月的上證指數,還有時間上怎麼也要十年左右吧!
我以前在論文附錄中做過分析,數據都是自己按季度整理的,挺麻煩的呢,如果需要的話就發給你~
還有就是,我覺得寫關於股票的預測方面的實際用處並不是很大,畢竟股票的影響因素太多,單單的憑藉以前的走勢而預期太不好了。。我自己也炒股票,就像那些macd、kdj之類的指標根本就起不到太大的作用,如果那個能預期的話,股市豈不就成了提款機了?現在你做的這個就像是那些指標一樣,要知道,股市是活的,人是活的,而指標確實死的!說這么多的意思就是股市不是能簡單預測的,你做的那個用處不大。。
如果你想做的話,建議換個題目,我當時的寫的是對弗里德曼的貨幣需求理論在中國市場的分析。你可以寫寫貨幣供應量對通貨膨脹的時滯性,分析下在我國市場的滯後期大概是多少~數據在國家統計局和中國人民銀行都可以找到的,樣本空間一定要足夠大,在對滯後變數分析時候主要考慮各自的T檢驗是否通過,一般從通過之後大概就是那個的滯後期!這個比較直接反而有些許用處~
要是能分析出國家的一般性政策對實體市場的影響就更好了,更有用了~
呵呵,以上只是自己的建議~有什麼其他的問題就給我留言吧~
⑦ 時間序列分析方法
時間序列是指一組在連續時間上測得的數據,其在數學上的定義是一組向量x(t), t=0,1,2,3,...,其中t表示數據所在的時間點,x(t)是一組按時間順序(測得)排列的隨機變數。包含單個變數的時間序列稱為單變數時間序列,而包含多個變數的時間序列則稱為多變數。
時間序列在很多方面多有涉及到,如天氣預報,每天每個小時的氣溫,股票走勢等等,在商業方面有諸多應用,如:
下面我們將通過一個航班數據來說明如何使用已有的工具來進行時間序列數據預測。常用來處理時間序列的包有三個:
對於基於AR、MA的方法一般需要數據預處理,因此本文分為三部分:
通過簡單的初步處理以及可視化可以幫助我們有效快速的了解數據的分布(以及時間序列的趨勢)。
觀察數據的頻率直方圖以及密度分布圖以洞察數據結構,從下圖可以看出:
使用 statsmodels 對該時間序列進行分解,以了解該時間序列數據的各個部分,每個部分都代表著一種模式類別。借用 statsmodels 序列分解我們可以看到數據的主要趨勢成分、季節成分和殘差成分,這與我們上面的推測相符合。
如果一個時間序列的均值和方差隨著時間變化保持穩定,則可以說這個時間序列是穩定的。
大多數時間序列模型都是在平穩序列的前提下進行建模的。造成這種情況的主要原因是序列可以有許多種(復雜的)非平穩的方式,而平穩性只有一種,更加的易於分析,易於建模。
在直覺上,如果一段時間序列在某一段時間序列內具有特定的行為,那麼將來很可能具有相同的行為。譬如已連續觀察一個星期都是六點出太陽,那麼可以推測明天也是六點出太陽,誤差非常小。
而且,與非平穩序列相比,平穩序列相關的理論更加成熟且易於實現。
一般可以通過以下幾種方式來檢驗序列的平穩性:
如果時間序列是平穩性的,那麼在ACF/PACF中觀測點數據與之前數據點的相關性會急劇下降。
下圖中的圓錐形陰影是置信區間,區間外的數據點說明其與觀測數據本身具有強烈的相關性,這種相關性並非來自於統計波動。
PACF在計算X(t)和X(t-h)的相關性的時候,挖空在(t-h,t)上所有數據點對X(t)的影響,反應的是X(t)和X(t-h)之間真實的相關性(直接相關性)。
從下圖可以看出,數據點的相關性並沒有急劇下降,因此該序列是非平穩的。
如果序列是平穩的,那麼其滑動均值/方差會隨著時間的變化保持穩定。
但是從下圖我們可以看到,隨著時間的推移,均值呈現明顯的上升趨勢,而方差也呈現出波動式上升的趨勢,因此該序列是非平穩的。
一般來講p值小於0.05我們便認為其是顯著性的,可以拒絕零假設。但是這里的p值為0.99明顯是非顯著性的,因此接受零假設,該序列是非平穩的。
從上面的平穩性檢驗我們可以知道該時間序列為非平穩序列。此外,通過上面1.3部分的序列分解我們也可以看到,該序列可分解為3部分:
我們可以使用數據轉換來對那些較大的數據施加更大的懲罰,如取對數、開平方根、立方根、差分等,以達到序列平穩的目的。
滑動平均後數據失去了其原來的特點(波動式上升),這樣損失的信息過多,肯定是無法作為後續模型的輸入的。
差分是常用的將非平穩序列轉換平穩序列的方法。ARIMA中的 'I' 便是指的差分,因此ARIMA是可以對非平穩序列進行處理的,其相當於先將非平穩序列通過差分轉換為平穩序列再來使用ARMA進行建模。
一般差分是用某時刻數值減去上一時刻數值來得到新序列。但這里有一點區別,我們是使用當前時刻數值來減去其對應時刻的滑動均值。
我們來看看剛剛差分的結果怎麼樣。
讓我們稍微總結下我們剛剛的步驟:
通過上面的3步我們成功的將一個非平穩序列轉換成了一個平穩序列。上面使用的是最簡單的滑動均值,下面我們試試指數滑動平均怎麼樣。
上面是最常用的指數滑動平均的定義,但是pandas實現的指數滑動平均好像與這個有一點區別,詳細區別還得去查pandas文檔。
指數滑動均值的效果看起來也很差。我們使用差分+指數滑動平均再來試試吧。
在上面我們通過 取log+(指數)滑動平均+差分 已經成功將非平穩序列轉換為了平穩序列。
下面我們看看,轉換後的平穩序列的各個成分是什麼樣的。不過這里我們使用的是最簡單的差分,當前時刻的值等於原始序列當前時刻的值減去原始序列中上一時刻的值,即: x'(t) = x(t) - x(t-1)。
看起來挺不錯,是個平穩序列的樣子。不過,還是檢驗一下吧。
可以看到,趨勢(Trend)部分已基本被去除,但是季節性(seasonal)部分還是很明顯,而ARIMA是無法對含有seasonal的序列進行建模分析的。
在一開始我們提到了3個包均可以對時間序列進行建模。
為了簡便,這里 pmdarima 和 statsmodels.tsa 直接使用最好的建模方法即SARIMA,該方法在ARIMA的基礎上添加了額外功能,可以擬合seasonal部分以及額外添加的數據。
在使用ARIMA(Autoregressive Integrated Moving Average)模型前,我們先簡單了解下這個模型。這個模型其實可以包括三部分,分別對應著三個參數(p, d, q):
因此ARIMA模型就是將AR和MA模型結合起來然後加上差分,克服了不能處理非平穩序列的問題。但是,需要注意的是,其仍然無法對seasonal進行擬合。
下面開始使用ARIMA來擬合數據。
(1) 先分訓練集和驗證集。需要注意的是這里使用的原始數據來進行建模而非轉換後的數據。
(2)ARIMA一階差分建模並預測
(3)對差分結果進行還原
先手動選擇幾組參數,然後參數搜索找到最佳值。需要注意的是,為了避免過擬合,這里的階數一般不太建議取太大。
可視化看看結果怎麼樣吧。
(6)最後,我們還能對擬合好的模型進行診斷看看結果怎麼樣。
我們主要關心的是確保模型的殘差(resial)部分互不相關,並且呈零均值正態分布。若季節性ARIMA(SARIMA)不滿足這些屬性,則表明它可以進一步改善。模型診斷根據下面的幾個方面來判斷殘差是否符合正態分布:
同樣的,為了方便,我們這里使用 pmdarima 中一個可以自動搜索最佳參數的方法 auto_arima 來進行建模。
一般來說,在實際生活和生產環節中,除了季節項,趨勢項,剩餘項之外,通常還有節假日的效應。所以,在prophet演算法裡面,作者同時考慮了以上四項,即:
上式中,
更多詳細Prophet演算法內容可以參考 Facebook 時間序列預測演算法 Prophet 的研究 。
Prophet演算法就是通過擬合這幾項,然後把它們累加起來得到時間序列的預測值。
Prophet提供了直觀且易於調整的參數:
Prophet對輸入數據有要求:
關於 Prophet 的使用例子可以參考 Prophet example notebooks
下面使用 Prophet 來進行處理數據。
參考:
Facebook 時間序列預測演算法 Prophet 的研究
Prophet example notebooks
auto_arima documentation for selecting best model
數據分析技術:時間序列分析的AR/MA/ARMA/ARIMA模型體系
https://github.com/advaitsave/Introction-to-Time-Series-forecasting-Python
時間序列分析
My First Time Series Comp (Added Prophet)
Prophet官方文檔: https://facebookincubator.github.io