运行arima的一个相关程序时,总是打印一些我不需要的数据,如下:
RUNNING THE L-BFGS-B CODE
* * *
Machine precision = 2.220E-16
N = 1 M = 12
This problem is unconstrained.
At X0 0 variables are exactly at the bounds
At iterate 0 f= 9.57642E+00 |proj g|= 0.00000E+00
* * *
Tit = total number of iterations
Tnf = total number of function evaluations
Tnint = total number of segments explored during Cauchy searches
Skip = number of BFGS updates skipped
…
后面还有很多,为了找到问题所在,开始研究这个并不太熟悉的程序。
在程序最开始import了一些函数:from statsmodels.tsa import stattools, arima_model,有关这个statsmodels的知识,在下面的这个网站能够找到:http://statsmodels.sourceforge.net/devel/,继续往下滑可以找到tsa的相关知识:http://statsmodels.sourceforge.net/devel/tsa.html
原来tsa是time series analysis的缩写,在第二个网址中能找到stattools和arima_model的相关介绍:
stattools : empirical properties and tests, acf, pacf, granger-causality, adf unit root test, ljung-box test and others.
arima_model:univariate ARMA process, estimation with conditional and exact maximum likelihood and conditional least-squares statsmodels.tsa.arima_model.ARIMA()
下面有它们里面的函数的功能,里面有个fit()函数,通过查看它的功能发现:
Fits ARIMA(p,d,q) model by exact maximum likelihood via Kalman filter.,
它的返回是Returns:`statsmodels.tsa.arima.ARIMAResults` class
打印了一下它的返回值类型:<class 'statsmodels.tsa.arima_model.ARIMAResultsWrapper'>
http://statsmodels.sourceforge.net/devel/generated/statsmodels.tsa.arima_model.ARIMA.fit.html#statsmodels.tsa.arima_model.ARIMA.fit
而'statsmodels.tsa.arima_model.ARIMAResults类型,它有很多methods,例如aic(),arfreq(),forecast()等.
经过一番折腾,才发现,这个信息是底层函数打印出来的,由于看不到底层函数的语句,所以还没有找到办法。存疑。