statsmodels是python中用于统计计算的模块,有很多功能,很interesting。
是statsmodels中用于time series的部分。这其中分为stattools,ar_model.AR,arima_model,vector_ar等等。stattools包含统计方法,如自相关系数,偏自相关系数等等(此处需要再补充)
1. 其中如 statsmodels.tsa.stattools.acf(x,unbiased=False,nlags=40,
qstat=False,fft=False,alpha=None,missing='none')
x:输入的time series
unbiased:是否采用无偏
nlags:图片x轴显示的点的个数
qstat:是否返回Ljung—Box q
统计自相关系数(统计知识)
fft:是否用fft计算acf。alpha:置信系数设置。
missing:可在 [‘none’, ‘raise’, ‘conservative’, ‘drop’]中选择,用于对待nan。
return:acf,confint,qstat,pvalues
acf:自相关系数,confint:置信区间,qstat同上,pvalues:Q—statistics
2.statsmodels.tsa.arima_model.ARMA(endog,order,exog=None,dates=None,freq=None,missing='none')
endog:endogogenous variable内生变量(须看统计的书,order:p和q的值
exog:外生变量,不明白
dates:函数接受的必须是series或者dataframe形式的变量,所以需要date,如果之前给出的是列表,可以在此处添加date
freq:如果有date,freq可以自动生成所需要的时间指标,BDWMAQ是可选参数。
返回的是一个类,可用得attribute有endog_name,返回endog的name。methods有fit,from_formula,geterrors,hessian,information,intialize,loglike,loglike_css,loglike_kalman,predict,score.
3.statsmodels.tsa.arima_model.ARMA.fit(start_params=None, trend='c', method='css-mle', transparams=True
solver='lbfgs', maxiter=50, full_output=1, disp=5, callback=None, start_ar_lags=None, **kwargs)[source])
需要用fit来拟合模型,然后再用命令获取其他命令
start_params:ARMA(p,q)的起始参数
transparams:布尔变量,检查是否需要把data改成平稳的
method:str{‘css-mle’,’mle’,’css’},不太清楚
trend:是否引入一个常数,’c’和’nc’。
solver:解决方法有lbfg,newton,cg,ncg,powell
maxiter:最大的估计值,default为50.
tol:收敛精度,默认为很小,可以不用管。
full_output:布尔变量,和选用的solver有关。
callback:不明白。
start_ar_lags:不明白
kwargs:没什么卵用。
return:statsmodels.tsa.arima_model.ARMAResults class.