window - Statsmodels OLS 按年份滚动窗口
问题描述
是否有使用一年滚动窗口执行 OLS 的特定方法?例如:
训练集:1970-1990,测试集:1991
训练集:1970-1991,测试集:1992
. . .
训练集:1970-2009,测试集:2010
我尝试执行以下操作,但我有一个巨大的数据框,所以它不起作用。
for i in range(1989, 2010):
print(i)
train = df[df['year'] <= i]
test = df[df['year'] == i+1]
x_train = train[train_columns]
y_train = train[column]
x_test = test[train_columns]
y_test = test[column]
model = sm.OLS(y_train, x_train) #missing = "drop"
results = model.fit()
y_pred = results.predict(x_test)
解决方案
推荐阅读
- code-snippets - 如何使用下面给出的自动优化片段从优化中排除两个页面
- java - 以编程方式更改 TextStyle
- android - 使用材料设计,如何以编程方式创建材料按钮?
- linux - Linux下的gcc可执行文件在哪里?
- python - (Python) RuntimeWarning: double_scalars """ 中遇到无效值
- c++ - 向量
>v(大小);打印时显示 0 作为值 - c - 重映射函数指针
- android - 当我重建项目时出现错误:不兼容的类型:ModalEvent 无法转换为上下文
- sql - SQL Server 表锁定/阻塞
- amazon-web-services - 如何从 kubernetes 的前端调用 spring api