相关疑难解决方法(0)

Python数据帧中的滚动回归估计

我有这样的数据帧:

           Date         Y         X1         X2          X3
22   2004-05-12  9.348158e-09  0.000081  0.000028     0.000036   
23   2004-05-13  9.285989e-09  0.000073  0.000081     0.000097   
24   2004-05-14  9.732308e-09  0.000085  0.000073     0.000096   
25   2004-05-17  2.235977e-08  0.000089  0.000085     0.000099   
26   2004-05-18  2.792661e-09  0.000034  0.000089     0.000150   
27   2004-05-19  9.745323e-09  0.000048  0.000034     0.000053 

......

1000   2004-05-20  1.835462e-09  0.000034  0.000048     0.000099   
1001   2004-05-21  3.529089e-09  0.000037  0.000034     0.000043   
1002   2004-05-24  3.453047e-09  0.000043  0.000037     0.000059   
1003   2004-05-25  2.963131e-09  0.000038  0.000043     0.000059   
1004   2004-05-26  1.390032e-09  0.000029  0.000038     0.000054   
Run Code Online (Sandbox Code Playgroud)

我想运行一个滚动的100天窗口OLS回归估计,这是:

首先是第101行,我使用第1行到第100行运行Y-X1,X2,X3的回归,并估计第101行的Y;

然后对于第102行,我使用第2行到第101行运行Y-X1,X2,X3的回归,并估计第102行的Y;

然后对于第103行,我使用第2行到第101行运行Y-X1,X2,X3的回归,并估计第103行的Y;

......

直到最后一排.

这该怎么做?

python dataframe pandas

12
推荐指数
3
解决办法
1万
查看次数

Python - 滚动窗口 OLS 回归估计

对于我的评估,我在此链接( https://drive.google.com/drive/folders/0B2Iv8dfU4fTUMVFyYTEtWXlzYkk ) 中找到了一个数据集,格式如下。我数据集中的第三列 (Y) 是我的真实值 - 这就是我想要预测(估计)的值。

 time     X   Y
0.000543  0  10
0.000575  0  10
0.041324  1  10
0.041331  2  10
0.041336  3  10
0.04134   4  10
  ...
9.987735  55 239
9.987739  56 239
9.987744  57 239
9.987749  58 239
9.987938  59 239
Run Code Online (Sandbox Code Playgroud)

我想运行例如 5 window 的滚动OLS regression estimation,并且我已经使用以下脚本进行了尝试。

# /usr/bin/python -tt

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv('estimated_pred.csv')

model = pd.stats.ols.MovingOLS(y=df.Y, x=df[['X']], 
                               window_type='rolling', window=5, intercept=True) …
Run Code Online (Sandbox Code Playgroud)

python numpy pandas scikit-learn statsmodels

3
推荐指数
1
解决办法
8827
查看次数

标签 统计

pandas ×2

python ×2

dataframe ×1

numpy ×1

scikit-learn ×1

statsmodels ×1