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创建XML文档
Mar 01 Python
python计算牛顿迭代多项式实例分析
May 07 Python
详解基于django实现的webssh简单例子
Jul 17 Python
Python基于百度云文字识别API
Dec 13 Python
django中使用Celery 布式任务队列过程详解
Jul 29 Python
tensorflow求导和梯度计算实例
Jan 23 Python
python3 xpath和requests应用详解
Mar 06 Python
浅谈python opencv对图像颜色通道进行加减操作溢出
Jun 03 Python
Python新手学习raise用法
Jun 03 Python
Python Opencv轮廓常用操作代码实例解析
Sep 01 Python
python实现简单遗传算法
Sep 18 Python
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
Apr 12 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+html5+ajax实现上传图片的方法
2016/05/14 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
解决vue动态下拉菜单 有数据未反应的问题
2020/08/06 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
python WindowsError的错误代码详解
2017/07/23 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
numpy.transpose对三维数组的转置方法
2018/04/17 Python
Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例
2018/06/09 Python
Flask框架WTForm表单用法示例
2018/07/20 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
解决python replace函数替换无效问题
2020/01/18 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
英智兴达软件测试笔试题
2016/10/12 面试题
金鑫耀Java笔试题
2014/09/06 面试题
六五普法宣传标语
2014/10/06 职场文书
单位委托书
2014/10/15 职场文书
私用公车造成事故检讨书
2014/11/16 职场文书
幼儿教师2014年度工作总结
2014/12/16 职场文书
商务邀请函
2015/01/30 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers