python rolling regression. 使用 Python 实现滚动回归操作
作者:antiemperor 发布时间:2021-01-11 09:38:07
滚动回归
所谓滚动回归,通常用在时间序列上。记当前时刻为 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='')
来源:https://blog.csdn.net/weixin_44607126/article/details/103099303
猜你喜欢
- gzip 是什么东东呢?百科跟我们说gzip是GNU zip的缩写,它是一个 GNU 自由软件的文件压缩程序。…gzip 的基础是 DEFL
- Jupyter Notebook读取csv文件失败1.IndentationError: expected an indented bloc
- Django2.0中编写models类下的ForeignKeybook = models.ForeignKey('BookInfo&
- Function getIpvalue(clientIP)'得到客户端的IP转换成长整型,返回值getIpvalue&nb
- 【原文地址】New "Orcas" Language Feature: Extension Methods【原文发表日期
- Aphorismthe fight is worth it.django models 连接 sqlite 数据库django 版本为 1.
- vim有各种强大的插件,这不仅归功于其提供的用来编写插件的脚本语言vimL,还得益于它良好的接口实现,从而支持python等语言编写插件。当
- 让我们描绘一下本文的情节:假设您要在本地机器上运行一个进程,而部分程序逻辑却在另一处。让我们特别假设这个程序逻辑会不时更新, 而您运行进程时
- 首先从 ueEditor官网 下载最新版本的包,目前官网上提供了ASP、.NET、PHP、JSP版本的,django版本只有一个第三方个人开
- 一个用asp来处理jmail发信的过程,及使用方法. 发信时,直接调用这个过程就行了,很方便。<% dim
- 本文实例讲述了PHP单例模式用法。分享给大家供大家参考,具体如下:<?phpclass db { public $conn
- 这个是JS控制图片滚动的效果,当鼠标结果新闻标题时开始滚动到对应的图片,可以作为图片新闻。效果图:<!DOCTYPE HTML PUB
- Microsoft SQL server2000由一系列相互协作的组件构成。能满足最大的WEB站点和企业数据处理系统存储
- Python获取时间范围内日期列表和周列表的函数 1、获取日期列表# -*- coding=utf-8 -*-import datetime
- $array=explode(separator,$string); $string=implode(glue,$array);使用和理解这
- 如何用表单的方式推送请求的信息?具体见下:<html><head><title>答复用户信息
- [sql] --1.将每个老师的工资更新为原来的工资+奖金 --定义两个变量,用来存储ttid与reward declare @tid in
- 1.对于RGB三通道图片,直接用两层for循环的话,效率比较低2.可以先将RGB图片转为灰度图片,再利用numpy.where的广播机制统计
- oracle数据库的权限系统分为系统权限与对象权限。系统权限( database system privilege )可以让用户执行特定的命
- sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdat