在時間序列中,我們經常觀察到過去和現在的值之間的相似性。那是因為我們在此類數據中遇到自相關。換句話說,通過了解當今產品的價格,我們經常可以對明天的產品價值做出大致的預測。因此,在大數據分析python自回歸模型中,我們將討論一個反映這種相關性的模型。–自回歸模型。
自回歸模型或簡稱為AR模型,僅依靠過去的時間值來預測當前值。這是一個線性模型,其中當前期間的值是過去結果的總和乘以數字因子。我們將其表示為AR(p),其中“ p”稱為模型的階數,表示我們要包括的滯后值的數量。
好了,現在我們需要打破方程的唯一部分是ε 牛逼。這就是所謂的殘留,并代表周期t和正確的值(ε我們的預測之間的差噸 = Y 噸 - ? 噸)。這些殘差通常是不可預測的差異,因為如果存在某種模式,它將被模型的其他現有因素捕獲。
現在,通常來說,考慮到更多數據進行預測的模型通常會更好。但是,如果系數(? 1,? 2,…… n)與0的差別不大,則它們對預測值沒有影響(因為? k X t-k = 0),因此將它們包括在內幾乎沒有意義。在模型中。
立即查看完整的大數據分析技術文章。從我們的統計,數學和Excel課程開始,從基礎知識入手,逐步掌握SQL,Python,R和Tableau的經驗,并通過機器學習,深度學習,信用風險建模,時間序列分析升級技能和Python中的客戶分析。如果您仍然不確定要把對數據科學的興趣變成扎實的職業,我們還提供了大數據分析試聽課程。聯系在線客服小姐姐索取試聽課程
的一個主要目標是基于一個或多個預測變量來預測結果值(我們也用它來研究兩個變量的相關性,同時校正其他混雜因素)。那么,當我們取得了預測模型后,根據該預測模型對新數據進行預測得出的預測值是什么?這個預測值的可信度如何呢?今天的講解中,我們會給出答案。
# Call:## lm(formula = dist ~ speed, data = cars)## Coefficients:## (Intercept) speed ## -17.58 3.93
例如,與速度19相關的95%置信區間為(51.83,62.44),平均預測值為57.1。根據我們的模型,一輛時速為19 mph的汽車的平均制動距離為51.83到62.44ft,即平均值落在51.83到62.44到概率為95%。
給定過去一段時間的數據,如何對未來的數據進行預測?這類時間序列預測問題是很多領域都關心的問題。在機器學習中,目前主流的方法是利用LSTM等遞歸神經網絡來對未來數據進行預測,這次介紹的DeepAR模型也不例外,不過不同的是,DeepAR模型并不是直接簡單地輸出一個確定的預測值,而是輸出預測值的一個概率分布,這樣做的好處有兩點:1、很多過程本身就具有隨機屬性,因此輸出一個概率分布更加貼近本質,預測的精度反而更高;2、可以評估出預測的不確定性和相關的風險。接下來我們就來看DeepAR模型是如何具體實現的。
另外,最近還有一篇論文利用DeepAR模型做了一些金融領域的實驗,這里簡單介紹兩個小實驗,第一個是在S&P500股票數據上的收益實驗,該實驗構建了這樣一個多空交易策略:在時刻t,預測所有股票在t+h時刻的漲跌情況,然后做多期望收益最高的k只股票,并做空期望損失最大的k支股票(利用蒙特卡洛方法來估計收益期望)。得到的收益與目前主流的非概率模型的結果對比如下:
這篇論文提出的DeepAR模型不同于以往的時間序列預測模型,它輸出的是未來數據的一個概率分布,我們需要通過采樣的方法,用DeepAR遞歸地生成對于未來一段時間數據的預測,不過因為是從概率分布中采樣得到的,這只是一條可能的“軌跡”,要計算期望值的話,就需要利用蒙特卡洛方法多次重復采樣后取平均來得到。個人感覺這種讓模型輸出概率分布的方法特別適用于像金融數據這類具有較大不確定性的時間序列數據,這類數據上往往具有一些噪聲,這就導致直接對未來數據做直接預測并不一定可靠,而對于預測概率分布的DeepAR模型,最大化未來序列的似然函數的方式反而能夠更好地反映出數據內在的隨機性質,它不僅能夠預測數值,還可以預測未來的波動,這一特點對于需要考慮風險的金融領域是非常有幫助的。
二項分布是由伯努利提出的概念,指的是重復n次獨立的伯努利試驗。在每次試驗中只有兩種可能的結果,而且兩種結果發生與否互相對立,并且相互獨立,與其它各次試驗結果無關,事件發生與否的概率在每一次獨立試驗中都保持不變,則這一系列試驗總稱為n重伯努利實驗,當試驗次數為1時,二項分布服從0-1分布。
也就是說,在age,yearsmarried,religiousness等協變量都不變的情況下,當rating從1變成5時,affair的概率從0.526變成了0.153. 基本上模型的預測就是這樣,可以用predict函數,推廣到其它的模型,如線性模型等,預測在某一自變量變化(如從分位濃度1變成分位濃度3時,因變量的變化)