1.1 去趨勢
差分、取對數
1.2去週期性
濾波、差分
1.3變平穩的原因除了1.1、1.2之外還有
穩定方差、使資料呈現正態分佈、使週期效應累加
arima模型的示例**
from pandas import read_csv
from pandas import datetime
from matplotlib import pyplot
from statsmodels.tsa.arima_model import arima
from sklearn.metrics import mean_squared_error
def parser(p):
return datetime.strptime('190'+p,'%y-%m)
series = read_csv('input.csv',header = 0,parse_dates = [0],index_col = 0,squeeze = true,date_parser = parser)
p = series.values
size = int(len(p)*0.66)
train,test = p[0:size],p[size:len(p)]
history = [p for p in train]
predictions = list()
for t in range(len(test)):
model = arima(history,order=(5,1,0))
model_fit = model.fit(disp=0)
output = model_fit.forecast()
yhat = output[0]
obs = test[t]
print('predicted = %f,expected = %f' %(yhat,obs))
error = mean_squared_error(test,predictions)
print('test mse: %.3f' % error)
pyplot.plot(test)
pyplot.plot(predictions,color='red')
pyplot.show()
r**
auto.arima模型的優點在於它自動查詢資料的順序、趨勢和週期性
asm_weekwise <- read.csv('weekwise.csv',header = true)
asm_weekwise$week <- null
library(mass)
library(tseries)
library(forecast)
asm_weekwise[is.na(asm_weekwise)] <- 0
asm_weekwise[asm_weekwise <= 0] <- mean(as.matrix(asm_weekwise))
weekjoyforecastvalues <- date.frame("asm"=interger(),"value" = integer(),stringsaafactors=false)
for (i in 2:ncol(asm_weekwise))
weekjoyforecastvalues$value <- as.integer(weekjoyforecastvalues$value)
時間序列分析
協方差矩陣和相關係數主要研究兩個連續變數的相似程度 相關性 協方差公式 協方差矩陣 相關係數 cov x,y var x var y 相關係數矩陣 可以使用ljung box方法進行檢驗。即box.test data,type ljung box lag num 來檢驗,當p value大於0.05...
時間序列分析
時間序列資料分為平穩 寬平穩 和非平穩兩種。平穩序列中也包括隨機序列,即序列資料之間沒有任何相關性或記憶性,純隨機的,這種序列沒有挖掘分析的必要。純隨機序列也稱為白雜訊序列。序列中的隨機變數之間的相關係數r k 0,k不為 0 經過預處理若發現序列是平穩非隨機序列,則可用的模型為arma。ar模型是...
時間序列python
平穩性檢測 平穩性的定義 圍繞乙個常數上下波動且波動範圍有限,即有常數均值和常數方差。如果有明顯的趨勢或者週期性,那它通常不是平穩序列。檢測方法有三種 1 時序圖檢測 2 自相關係數和偏相關係數 通過spss 截尾 就是在某階之後,係數都為0 拖尾 就是有乙個緩慢衰減的趨勢,但是不都為0 2.不平穩...