新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要讲解了如何使用Python实现滚动回归操作,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
成都创新互联公司是一家专注于成都网站设计、成都做网站与策划设计,裕民网站建设哪家好?成都创新互联公司做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:裕民等地区。裕民做网站价格咨询:028-86922220滚动回归
所谓滚动回归,通常用在时间序列上。记当前时刻为 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 # 每一步估计的样本内预测值