python rolling regression. 使用 Python 实现滚动回归操作


Posted in Python onJune 08, 2020

滚动回归

所谓滚动回归,通常用在时间序列上。记当前时刻为 t,回归时长为 s,则一直使用 当作自变量来预测 。使用滚动回归的目的通常是为了避免未来函数对于回归的影响。

具体来说,如果我们直接用所有数据来建立线性回归模型,则回归系数 ,是关于所有 x 与所有 y 的函数。然而,我们在 时是不知道未来的数据点的!如果使用全部数据进行回归则相当于未卜先知,会造成严重的过拟合。

Python实现

之前 python 的 pandas 与 statsmodels 库均支持滚动回归,但是现在两个都不支持。因此如果大家使用的是最新版的 pandas 与 statsmodels ,那么网上的那些做法均没有用。

目前我找到的唯一可以实现滚动回归的 python 库是 pyfinance,代码如下:

from pyfinance.ols import PandasRollingOLS
 
results = PandasRollingOLS(x, y, window) # window 是滚动回归的自变量个数
results.solution # 每一步估计的截距与斜率
results.beta # 每一步估计的斜率
results.alpha # 每一步估计的截距
results.predicted # 每一步估计的样本内预测值

补充知识:python 实现字幕动态滚动和等待效果

晚上看了些python实现动态字幕效果的文章,总会提到print函数的flush=True参数,还有os.system('cls')清屏,总是迷糊,并不能实现滚动屏幕效果。经过多方思索和查找,总结如下。

1.windows平台下pycharm工具,其实加不加 flush=True 效果都是一样的,因为网上说,有些系统是把字符存放在缓存里不会实时显示,总是再最后才一次性把所有的缓存信息显示,这样的延迟导致看不到动态效果。经过测试,windowns平台的pycharm工具不存在此问题,加不加效果都一样。

2.回车换行符的使用:

# 回车和换行的历史: # 机械打字机有回车和换行两个键作用分别是: # 换行 '\n' 就是把滚筒卷一格,不改变水平位置。 (即移到下一行,但不是行首,而是和上一行水平位置一样) # 回车 '\r' 就是把水平位置复位,不卷动滚筒。 (即将光标移到行首,但是不会移到下一行,如果继续输入的话会覆盖掉前面的内容) # Enter = 回车+换行(\r\n)

所以可以利用回车符,不断清除前面的字符,然后循环显示新的字符,来实现动态滚动效果。

2个实例如下:

实例1 动态广告语

import time
 
content = '钻石永久远,一颗永流传!'
while True:
  print('\r', content, end='', flush=True) #去掉flush参数效果也一样
  content = content[1:] + content[0]
  time.sleep(0.5)

实例2 等待效果

import time
 
while True:
  print('钻石永久远,一颗永流传', end=' ')
  for i in range(10):
    print('·', end='', flush=True) #去掉flush参数效果也一样
    time.sleep(0.3)
  print('\r',end='')

以上这篇python rolling regression. 使用 Python 实现滚动回归操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python支持断点续传的多线程下载示例
Jan 16 Python
Django1.7+python 2.78+pycharm配置mysql数据库教程
Nov 18 Python
简单介绍Python中用于求最小值的min()方法
May 15 Python
谈谈如何手动释放Python的内存
Dec 17 Python
速记Python布尔值
Nov 09 Python
Python实现破解12306图片验证码的方法分析
Dec 29 Python
python生成lmdb格式的文件实例
Nov 08 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
Sep 28 Python
python异常处理try except过程解析
Feb 03 Python
Python tkinter和exe打包的方法
Feb 05 Python
Python读取pdf表格写入excel的方法
Jan 22 Python
python热力图实现简单方法
Jan 29 Python
Python selenium爬虫实现定时任务过程解析
Jun 08 #Python
python:HDF和CSV存储优劣对比分析
Jun 08 #Python
Python实现一个简单的毕业生信息管理系统的示例代码
Jun 08 #Python
Python while true实现爬虫定时任务
Jun 08 #Python
python 实现rolling和apply函数的向下取值操作
Jun 08 #Python
基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解
Jun 08 #Python
Python实现查找数据库最接近的数据
Jun 08 #Python
You might like
openPNE常用方法分享
2011/11/29 PHP
PHP设计模式 注册表模式
2012/02/05 PHP
帝国cms目录结构分享
2015/07/06 PHP
YII Framework框架教程之缓存用法详解
2016/03/14 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
JS DOM 操作实现代码
2010/08/01 Javascript
jQuery 操作option的实现代码
2011/03/03 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
js 实现 input type="file" 文件上传示例代码
2013/08/07 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
JS定义网页表单提交(submit)的方法
2015/03/20 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
JQuery实现ajax请求的示例和注意事项
2018/12/10 jQuery
浅谈 Webpack 如何处理图片(开发、打包、优化)
2019/05/15 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
Javascript数组及类数组相关原理详解
2020/10/29 Javascript
Django中使用group_by的方法
2015/05/26 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
python如何获取列表中每个元素的下标位置
2019/07/01 Python
python basemap 画出经纬度并标定的实例
2019/07/09 Python
python应用文件读取与登录注册功能
2019/09/23 Python
Python中的Cookie模块如何使用
2020/06/04 Python
python3.7添加dlib模块的方法
2020/07/01 Python
美术第二课堂活动总结
2014/07/08 职场文书
商业用房租赁协议书
2014/10/13 职场文书
社会实践活动总结格式
2015/05/11 职场文书
2015年法务工作总结范文
2015/05/23 职场文书
返乡农民工证明
2015/06/24 职场文书
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏
PostgreSQL逻辑复制解密原理解析
2022/09/23 PostgreSQL