gpt4 book ai didi

python - 为什么 statsmodels select_order 函数与 AR 模型的参数不同?

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:12 28 4
gpt4 key购买 nike

import pandas as pd
import numpy as np
import statsmodels.tsa.api as smt
import pandas_datareader.data as web

start = '2007-01-01'
end = '2015-01-01'
get_px = lambda x: web.DataReader(x, 'yahoo', start=start, end=end)['Adj Close']
symbols = ['SPY','TLT','MSFT']
# raw adjusted close prices
data = pd.DataFrame({sym:get_px(sym) for sym in symbols})
# log returns
lrets = np.log(data/data.shift(1)).dropna()

# Select best lag order for MSFT returns
max_lag = 30
mdl = smt.AR(lrets.MSFT).fit(maxlag=max_lag, ic='aic', trend='nc')
est_order = smt.AR(lrets.MSFT).select_order(maxlag=max_lag, ic='aic', trend='nc')

print('best estimated lag order = {}'.format(est_order))
print mdl.params

输出是这样的。

best estimated lag order = 23
L1.MSFT -0.075405
L2.MSFT -0.067423
L3.MSFT 0.031371
L4.MSFT -0.063610
L5.MSFT -0.045080
L6.MSFT -0.001510
L7.MSFT -0.051875
L8.MSFT -0.015192
L9.MSFT -0.018665
L10.MSFT 0.044720
L11.MSFT 0.041655
L12.MSFT 0.034231
L13.MSFT -0.042473
L14.MSFT -0.008583
L15.MSFT 0.022171
L16.MSFT 0.009983
L17.MSFT 0.038606
L18.MSFT -0.073060
dtype: float64

这里的问题是,即使 statsmodels 确定 AR 模型的理想滞后是 23,但检查参数时只有 18 个参数。不应该一样吗?如果来自“select_order”的订单数量小于参数数组的长度,这可能是有意义的。我知道“select_order”在这种情况下使用 AIC 标准决定理想的滞后顺序。

有人能解释一下为什么吗?假设 23 确实是理想的滞后顺序,那么我在这里最多只能获取 18 个参数,如何获取额外的 5 个参数?

最佳答案

并非所有 23 个滞后都有助于拟合 - 如果它们为零,它们将被丢弃并且不计算在内。

关于python - 为什么 statsmodels select_order 函数与 AR 模型的参数不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40853549/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com