下面是使用statsmodels进行OLS滚动的概要,应该对您的数据有效。只需使用df=pd.read_csv('estimated_pred.csv')而不是我随机生成的df:import pandas as pd

import numpy as np

import statsmodels.api as sm

#random data

#df=pd.DataFrame(np.random.normal(size=(500,3)),columns=['time','X','Y'])

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

df=df.dropna() #uncomment this line to drop nans

window = 5

df['a']=None #constant

df['b1']=None #beta1

df['b2']=None #beta2

for i in range(window,len(df)):

temp=df.iloc[i-window:i,:]

RollOLS=sm.OLS(temp.loc[:,'Y'],sm.add_constant(temp.loc[:,['time','X']])).fit()

df.iloc[i,df.columns.get_loc('a')]=RollOLS.params[0]

df.iloc[i,df.columns.get_loc('b1')]=RollOLS.params[1]

df.iloc[i,df.columns.get_loc('b2')]=RollOLS.params[2]

#The following line gives you predicted values in a row, given the PRIOR row's estimated parameters

df['predicted']=df['a'].shift(1)+df['b1'].shift(1)*df['time']+df['b2'].shift(1)*df['X']

我存储常量和beta,但是有很多方法可以用来预测。。。您可以使用您的拟合模型对象mine isRollOLS和.predict()方法,或者您自己乘以它,就像我在最后一行中所做的那样(在本例中,这样做更容易,因为变量的数量是固定的和已知的,您可以一次完成简单的列计算)。

不过,要对sm进行预测,就像这样:predict_x=np.random.normal(size=(20,2))

RollOLS.predict(sm.add_constant(predict_x))

但请记住,如果按顺序运行上述代码,则预测值将仅使用最后一个窗口的模型。如果要使用不同的模型,则可以在运行时保存这些模型,或者在for循环中预测值。注意,您还可以使用RollOLS.fittedvalues获得合适的值,因此如果您对循环中的每个迭代平滑数据拉取并保存RollOLS.fittedvalues[-1]。

为了帮助了解如何使用您自己的数据,在运行滚动回归循环之后,这里是my df的尾部:time X Y a b1 b2

495 0.662463 0.771971 0.643008 -0.0235751 0.037875 0.0907694

496 -0.127879 1.293141 0.404959 0.00314073 0.0441054 0.113387

497 -0.006581 -0.824247 0.226653 0.0105847 0.0439867 0.118228

498 1.870858 0.920964 0.571535 0.0123463 0.0428359 0.11598

499 0.724296 0.537296 -0.411965 0.00104044 0.055003 0.118953

python的ols回归_Python滚动窗口OLS回归估计相关推荐

  1. python的ols回归_python统计学实战——OLS回归

    import pandas as pd media = pd.read_csv("Media.csv") media.head() 输出结果: 项目的目的:在TV Radio Ne ...

  2. python面板数据回归_Python中的Fama Macbeth回归(Pandas或Statsmodels)

    编辑:新建库 已存在可通过以下命令安装的更新库:pip install finance-byu 新的库包括Fama Macbeth回归实现,速度得到了提高,并且更新了Regtable类.新的图书馆还包 ...

  3. python写窗体程序_python写窗口

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 最近在学习 pyqt5 gui 编程,大致路线是找了套网课<撩课-pyth ...

  4. python tkinter设置窗口大小_Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例...

    我就废话不多说了.大家直接看代码吧! #!/usr/bin/env python #coding=utf-8 ''' 窗口屏幕居中,设置窗口最大,最小尺寸... 版权所有 2014 yao_yu (h ...

  5. python线性加权回归_python深度学习-tensorflow实现一个线性回归的案例

    线性回归:w1x1+w2x2+w3x3+......+wnxn+bias(这是一个偏移量),我们采用的算法是:线性回归,策略是:均方误差,优化是:梯度下降API, 1.转准备好实验的数据:100个数据 ...

  6. python tkinter控件_Python——Tkinter窗口的函数,Pythontkinter,视窗,功能,部件

    tkinter简介 Tkinter 是使用 python 进行窗口视窗设计的模块.Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.作为 pytho ...

  7. python文件闪退_python运行窗口闪退(python打开文件出现闪退什么原因)

    有时候,我们在运行python程序的时候会闪退,到底是什么原因呢?python文件是以.py结尾的,可以自己在python环境下运行的.对于这种闪退的情况,大概可以从以下几个方面分析. 第一步 首先找 ...

  8. 用python做逻辑回归_python实现逻辑回归

    首先得明确逻辑回归与线性回归不同,它是一种分类模型.而且是一种二分类模型. 首先我们需要知道sigmoid函数,其公式表达如下: 其函数曲线如下: sigmoid函数有什么性质呢? 1.关于(0,0. ...

  9. python做面板回归_Python中的Panel回归

    尝试下面的内容 – 我从上面的链接中复制了库存数据,并为x列添加了随机数据.对于面板回归,您需要注释中提到的"MultiIndex". df = pd.DataFrame(df.s ...

最新文章

  1. 运维数据库平台~inception审核规则详解
  2. 互联网跨界营销掘金“大数据”
  3. BCH区块链上启动新应用程序Chainfeed
  4. 神经网络迭代次数的简并和不可约谱项
  5. NTLDR is missing解决方法
  6. 后置通知(After Advice)
  7. [蓝桥杯][算法提高VIP]夺宝奇兵(记忆化搜索||DP)
  8. 牛客题霸 [顺时针旋转矩阵] C++题解/答案
  9. IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) C. Bear and Up-Down 暴力
  10. [公告]积分算法问题改正
  11. html复选框打钩行变颜色,Excel 单元格打勾会变颜色,开发工具的复选框这样玩...
  12. Notepad++文本比较
  13. ArduPilot之遥控器数据读取
  14. upc 7834 送礼物
  15. 兔年新春,快来领取你的春节全屏动效吧
  16. Handler---
  17. Android中的EditText属性说明
  18. 从志愿军“断刀”再论敏捷之道(上篇)
  19. 拼多多商品详情采集上传京东店铺(拼多多商品详情接口,京东商品详情接口,整店宝贝采集接口,一键采集宝贝详情接口,无货源商品详情采集接口)代码对接教程
  20. word毕业论文题注自动编号设置——第一章与图1-1

热门文章

  1. ssm项目中重定向和转发的区别
  2. 7个用于锁定Docker和Kubernetes的容器安全工具
  3. 什么是网站流量?如何计算?
  4. 卡特兰数(Catalan)的原理和题目
  5. 八卦某 G 的前端开发方式及流程
  6. python并行_在Python中实现多个任务并行
  7. Word05---表格
  8. 发布karaf的features
  9. git commit 后出现了Aborting commit due to empty commit message。乐学偶得
  10. 【域名解析-hosts文件】