python的ols回归_Python滚动窗口OLS回归估计
下面是使用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回归估计相关推荐
- python的ols回归_python统计学实战——OLS回归
import pandas as pd media = pd.read_csv("Media.csv") media.head() 输出结果: 项目的目的:在TV Radio Ne ...
- python面板数据回归_Python中的Fama Macbeth回归(Pandas或Statsmodels)
编辑:新建库 已存在可通过以下命令安装的更新库:pip install finance-byu 新的库包括Fama Macbeth回归实现,速度得到了提高,并且更新了Regtable类.新的图书馆还包 ...
- python写窗体程序_python写窗口
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 最近在学习 pyqt5 gui 编程,大致路线是找了套网课<撩课-pyth ...
- python tkinter设置窗口大小_Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例...
我就废话不多说了.大家直接看代码吧! #!/usr/bin/env python #coding=utf-8 ''' 窗口屏幕居中,设置窗口最大,最小尺寸... 版权所有 2014 yao_yu (h ...
- python线性加权回归_python深度学习-tensorflow实现一个线性回归的案例
线性回归:w1x1+w2x2+w3x3+......+wnxn+bias(这是一个偏移量),我们采用的算法是:线性回归,策略是:均方误差,优化是:梯度下降API, 1.转准备好实验的数据:100个数据 ...
- python tkinter控件_Python——Tkinter窗口的函数,Pythontkinter,视窗,功能,部件
tkinter简介 Tkinter 是使用 python 进行窗口视窗设计的模块.Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.作为 pytho ...
- python文件闪退_python运行窗口闪退(python打开文件出现闪退什么原因)
有时候,我们在运行python程序的时候会闪退,到底是什么原因呢?python文件是以.py结尾的,可以自己在python环境下运行的.对于这种闪退的情况,大概可以从以下几个方面分析. 第一步 首先找 ...
- 用python做逻辑回归_python实现逻辑回归
首先得明确逻辑回归与线性回归不同,它是一种分类模型.而且是一种二分类模型. 首先我们需要知道sigmoid函数,其公式表达如下: 其函数曲线如下: sigmoid函数有什么性质呢? 1.关于(0,0. ...
- python做面板回归_Python中的Panel回归
尝试下面的内容 – 我从上面的链接中复制了库存数据,并为x列添加了随机数据.对于面板回归,您需要注释中提到的"MultiIndex". df = pd.DataFrame(df.s ...
最新文章
- 运维数据库平台~inception审核规则详解
- 互联网跨界营销掘金“大数据”
- BCH区块链上启动新应用程序Chainfeed
- 神经网络迭代次数的简并和不可约谱项
- NTLDR is missing解决方法
- 后置通知(After Advice)
- [蓝桥杯][算法提高VIP]夺宝奇兵(记忆化搜索||DP)
- 牛客题霸 [顺时针旋转矩阵] C++题解/答案
- IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) C. Bear and Up-Down 暴力
- [公告]积分算法问题改正
- html复选框打钩行变颜色,Excel 单元格打勾会变颜色,开发工具的复选框这样玩...
- Notepad++文本比较
- ArduPilot之遥控器数据读取
- upc 7834 送礼物
- 兔年新春,快来领取你的春节全屏动效吧
- Handler---
- Android中的EditText属性说明
- 从志愿军“断刀”再论敏捷之道(上篇)
- 拼多多商品详情采集上传京东店铺(拼多多商品详情接口,京东商品详情接口,整店宝贝采集接口,一键采集宝贝详情接口,无货源商品详情采集接口)代码对接教程
- word毕业论文题注自动编号设置——第一章与图1-1