1. 程式人生 > >常見時間序列模型

常見時間序列模型

本文主要對各種時間序列模型及其特徵做了一個歸納總結,以便查詢瞭解。
符號說明:
變數: x , y x,y
變數集: X , Y

X,Y
變數 x x t t 時刻的值: x
t x_t

引數: α , β \alpha, \beta

自迴歸模型(Autoregressive model,AR)

自迴歸,顧名思義,就是用自己預測自己,即用同一變數 x x 之前的資訊 { x 1 , x 2 , , x t 1 } \{x_1,x_2,\dots,x_{t-1}\} 來預測 x x 當前時刻 x x 的資訊 x t x_t ,並假設他們是線性關係。

定義

X t = i = 1 p φ X t i + ε t + c = i = 1 p φ X t i + c X_t =\sum_{i=1}^{p}\varphi X_{t-i}+\varepsilon_{t}+c\\ =\sum_{i=1}^{p}\varphi X_{t-i}+c
其中, ε t \varepsilon_{t} 是均值為0,方差為 σ 2 \sigma^2 的隨機誤差值,假設 σ \sigma 對於任何的 t t 都不變; c c 是常數項。

優缺點

優點:所需的資料或資訊不多,只用自身來預測自身;
缺點:必須具有自相關性;只能適用於預測與自身前期相關的現象。

移動平均模型(Moving average model,MA)

移動平均模型也被稱為移動平均過程,是一種常見的對單變數時間序列(univariate time series)建模的方法。它指出輸出變數線性依賴於當前值和不同隨機項的過去值。

定義

q階移動平均模型通常簡記為MA(q):
X t = ε t + θ 1 ε t 1 + + θ q ε t q + μ = ε t + j = 1 q θ j ε t j + μ X_{t} = \varepsilon_{t}+\theta_{1}\varepsilon_{t-1}+\dots+\theta_{q}\varepsilon_{t-q}+\mu\\ =\varepsilon_{t}+\sum_{j=1}^{q}\theta_{j}\varepsilon_{t-j}+\mu
其中, θ 1 , , θ q \theta_{1},\dots,\theta_{q} 是序列的引數, ε 1 , , ε t q \varepsilon_{1},\dots,\varepsilon_{t-q} 是白噪聲、隨機誤差項, μ \mu 是序列的均值。
其也可以表示成:
X t = ( 1 + θ 1 B + + θ q B q ) ε t + μ X_{t}=(1+\theta_{1}B+\dots+\theta_{q}B^{q})\varepsilon_{t}+\mu

自迴歸滑動平均模型(Autoregressive moving average model,ARMA)

自迴歸滑動平均模型可以看成是由自迴歸模型和移動平均模型“混合”構成的弱平穩隨機過程。
當系統是一系列未觀察到的衝擊(MA部分)以及它自己行為的函式時,使用ARMA是合適的。例如,股票價格可能會受到基本資訊的衝擊,以及由於市場參與者而表現出的技術趨勢和均值迴歸效應。

定義

ARMA(p,q)表示 p p 階AR和 q q 階MA:
X t = i = 1 p φ X t i + ε t + j = 1 q θ j ε t j + c X_t = \sum_{i=1}^{p}\varphi X_{t-i}+\varepsilon_{t}+\sum_{j=1}^{q}\theta_{j}\varepsilon_{t-j}+c

差分迴歸移動平均模型(Autoregressive integrated moving average,ARIMA)

在統計、經濟學和時間序列分析中,ARIMA模型是ARMA模型的擴充套件,二者都是適用於時序資料更好地理解資料和預測序列中未來的點。ARIMA可以適用於資料非穩態的情況。

定義

ARIMA(p,d,q)中,AR是"自迴歸", p p 為自迴歸項數;MA為"滑動平均", q q 為滑動平均項數, d d 為使之成為平穩序列所做的差分次數(階數)。其定義為:
( 1 i = 1 p ϕ i L i ) ( 1 L ) d X t = ( 1 + i = 1 q θ i L i ) ε t \left (1-\sum_{i=1}^{p}\phi_{i}L^{i} \right)(1-L)^{d}X_{t}=\left(1+\sum_{i=1}^{q}\theta_{i}L^{i} \right)\varepsilon_{t}

相關推薦

常見時間序列模型

本文主要對各種時間序列模型及其特徵做了一個歸納總結,以便查詢瞭解。 符號說明: 變數: x , y

時間序列模型

拓展 方差 ive 進行 線性 參數 本質 預測 模型 AR模型是一種線性預測,即已知N個數據,可由模型推出第N點前面或後面的數據(設推出P點),所以其本質類似於插值。 MA模型(moving average model)滑動平均模型,模型參量法譜分析方法

多元季節性時間序列模型SARIMAX的應用——預測與異常診斷

import pandas as pd import numpy as np import matplotlib.pylab as plt from matplotlib.pylab import rcParams rcParams["figure.figsize"] = 15,6 #讀取資料 f

DL時間序列---一個基本的單時間序列模型1

1.介紹lookback # convert an array of values into a dataset matrix def create_dataset(dataset, look_back=1): dataX, dataY = [], [] for i in range(len

時間序列--模型前的轉換

1.sqrt轉換 先看序列的trend,如果有二次曲線的表現形式的話,可以做個sqrt 昨晚sqrt之後張成這樣子 原來的資料長這樣: 做個sqrt from pandas import Series from pandas import DataFrame f

基於時間序列模型的預測

Statespace Model Results ==============================================================

機器學習(十一)時間序列模型

1 時間序列簡介 1.1 定義 時間序列是指將同一統計指標的數值按其發生的時間先後順序排列而成的數列。 1.2 構成要素 時間序列可以分為長期趨勢(trend)、季節變動(seasonal)、迴圈變動(cycling)和隨機波動(irregular)四個部分。 長期趨勢( T )

利用Python構建時間序列模型解決實際問題的正確姿勢

要本著應用到實際工作中目的去學時間序列分析,才能深入淺出的學會,不要糾結於理論,只聽我的,我有信心說明白。 本章內容 趨勢分析 序列分解 序列預測 序列分解

簡介量化金融中使用的時間序列模型(一)

在計量經濟學領域中,我們主要研究三種資料,即橫截面資料、面板資料和時間序列資料。其中橫截面資料研究在一個給定的時間點上,不同觀測樣本的狀態,例如:2016年12月16日全國各個城市天氣質量AQI指數。面板資料指的是某些給定的樣本在給定的時間跨度內的觀測值。例如:201

ARIMA——從案列出發,讓你徹底懂得時間序列模型

解讀導航:文章脈絡會先以圖問結合的方式,讓你理解ARIMA的基本概念和術語,然後以預測下月商品銷售額為例項,帶你親臨建立時間序列模型的步驟和方法,之後介紹一種很有前瞻性的方法Prophet,最後總結時間序列模型的要點、技巧和注意事項。 一、用圖形理解概念 ARIMA模型的

時間序列模型的選擇思路——學習筆記

時間序列的四個特性 時間序列:某個物理量對時間的函式。 拿到一個時間序列,可以從四個角度去認識和挖掘它: 1:隨機vs確定 可由外界的變化而確定,也可以是因為有複雜的原因,結果不確定。要先想想時間序列是否可以重複。有概率空間的概念。 2:無記憶vs歷史依賴 無記憶:只和上

時間序列算法(平穩時間序列模型,AR(p),MA(q),ARMA(p,q)模型和非平穩時間序列模型,ARIMA(p,d,q)模型)的模型以及需要的概念基礎學習筆記梳理

預測 acf 現在 參數取值 畫出 移動平均 了解 變化 如果 在做很多與時間序列有關的預測時,比如股票預測,餐廳菜品銷量預測時常常會用到時間序列算法,之前在學習這方面的知識時發現這方面的知識講解不多,所以自己對時間序列算法中的常用概念和模型進行梳理總結(但是為了內容的正確

時間序列模式——ARIMA模型

ati 存儲 close 常量 技術 經濟 股市 enc logs ARIMA模型全稱為自回歸積分滑動平均模型(Autoregressive Integrated Moving Average Model,簡記ARIMA),是由博克思(Box)和詹金斯(Jenkins)於7

時間序列】ARIMA模型在鞋服行業銷售預測中的運用

大綱: -資料處理-模型構建-擬合效果 1.資料處理 真實業務資料。來源於特步四川分公司。 資料按照地區可以劃分為:成都/樂山/南充/綿陽等;按品類可以劃分為羽絨服/板鞋/短袖POLO等等。 資料時間跨度:2014年1月~2017年10月 樣本:成都地區跑鞋銷量預測 #讀取資料 l

使用Python為時間序列預測建立ARIMA模型

                     如何在Python中為時間序列預測建立ARIMA模型        ARIMA模型是一種流行且廣泛使用的

8.4.2 時間序列預測——使用TFLearn自定義模型——程式碼執行錯誤及解決方法

《TensorFlow》:實戰Google深度學習框架中第八章的——8.4.2 時間序列預測——使用TFLearn自定義模型下的原始碼執行報錯: 原因分析: score=metrics.accuracy_score(y_test,y_predicted)該句程式碼中y_predi

python時間序列分析(ARIMA模型

原文地址:https://blog.csdn.net/u011596455/article/details/78650458 轉載請註明出處。 什麼是時間序列       時間序列簡單的說就是各時間點上形成的數值序列,時間序列分析就是通過觀察歷史資料預測未來的值。在這裡需要

常見時間序列資料庫概述

對於時間序列的儲存,一般會採用專門的時間序列資料庫,而不會去使用mysql或是mongo(但zabbix就是用的mysql,所以它在IO上面遇到了瓶頸)。現在時間序列的資料庫是有很多的,比如graphite、opentsdb以及新生的influxdb。最近也相繼研究了一下

時間序列--ARIMA模型的一些引數解釋(cheatsheet)

1.solver:採用哪一種收斂演算法(不建議更改 2.disp:True會列印中間過程,我們直接設定False即可 3.transparam:預設是True,建議選擇true Whether or not to transform the parameters to ensure st

時間序列--選擇基準模型(以後的模型和這個基準比較

1.以前基準是用上一個時刻的值當做這一個時刻的值, 現在我設定引數不知道過去哪一個時刻的值取當做今天的值 from pandas import Series from sklearn.metrics import mean_squared_error from math import sqr