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使用xauth方式登录饭否网然后发消息
Apr 11 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
Python实现iOS自动化打包详解步骤
Oct 03 Python
实例讲解python中的序列化知识点
Oct 08 Python
Python批处理更改文件名os.rename的方法
Oct 26 Python
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
Jul 23 Python
解决django后台管理界面添加中文内容乱码问题
Nov 15 Python
Python如何使用OS模块调用cmd
Feb 27 Python
Python如何存储数据到json文件
Mar 09 Python
如何使用Django Admin管理后台导入CSV
Nov 06 Python
分享7个 Python 实战项目练习
Mar 03 Python
python实现简单的三子棋游戏
Apr 28 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
PHP面向对象编程快速入门
2006/10/09 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
jquery里的正则表达式说明
2011/08/03 Javascript
浅谈javascript实现八大排序
2015/04/27 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
详谈javascript中的cookie
2015/06/03 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
2016/12/22 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
JS倒计时实例_天时分秒
2017/08/22 Javascript
深入理解vue-router之keep-alive
2017/08/31 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
基于postman获取动态数据过程详解
2020/09/08 Javascript
Python中for循环控制语句用法实例
2015/06/02 Python
flask + pymysql操作Mysql数据库的实例
2017/11/13 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
python实现三次样条插值
2018/12/17 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
Django ORM filter() 的运用详解
2020/05/14 Python
python退出循环的方法
2020/06/18 Python
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
Prototype如何更新局部页面
2013/03/03 面试题
外贸业务员的岗位职责
2013/11/23 职场文书
3的组成教学反思
2014/04/30 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
2015年医院后勤工作总结
2015/05/20 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
运动会100米加油稿
2015/07/21 职场文书
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP
Java设计模式中的命令模式
2022/04/28 Java/Android
java版 简单三子棋游戏
2022/05/04 Java/Android
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS