滚动回归

所谓滚动回归,通常用在时间序列上。记当前时刻为 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,rolling,regression,滚动回归

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
白云城资源网 Copyright www.dyhadc.com

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。