import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import statsmodels.api as sm
from statsmodels.tsa.arima.model import ARIMA
sns.set_theme()# 设置风格
%config InlineBackend.figure_format = 'retina' # 让图片更清晰
df = pd.read_excel('D:/data/HOUSTNSA.xlsx')# 导入数据
print(df)
data = df['HOUSTNSA'].values
year = pd.date_range("1/1/1959", periods=770, freq="M")
ts = pd.DataFrame(data, index=year,columns=['HOUSTNSA'])
print(ts)
res = sm.tsa.arma_order_select_ic(
ts,
max_ar=2,
max_ma=2,ic=["aic", "bic"]
)# 定阶
res
{'aic': 0 1 2
0 7778.111863 7089.007586 6790.807042
1 6500.479592 6470.421294 6442.842546
2 6461.