如何使用 matplotlib 将线性回归绘制为一条线段

约翰

我有一些数据用 matplotlib 绘制为 250 点长的线。我可以拟合整个数据集。但是,我希望使用最小二乘法将回归线拟合并绘制到最后 50 个数据点。最好的方法是什么?(我的情节代码如下。)

j = 0
for line, rank in sortedSymbols:
    series = getattr(self, line)["CLOSE"]
    dates = pd.to_datetime(getattr(self, line)["DATE"]).dt.date
    ax.plot(dates.iloc[-250:], series.iloc[-250:]/series.iloc[-250] * (40+j), label = line)
    j += 10
弯曲

有很多不同的方法可以做到这一点。但是如果没有关于您的数据结构的更多信息以及您正在寻找什么,这是可以完成的一种方式。np.polyfit()此处的文档)对列表或数组中的顺序数据使用 OLS 回归。

import numpy as np

j = 0
for line, rank in sortedSymbols:
    series = getattr(self, line)["CLOSE"]
    dates = pd.to_datetime(getattr(self, line)["DATE"]).dt.date

    #Calculate the slope and intercept of fitted curve based on last 50 datapoint using the values 
    #you plotted before with 1 specified for a linear best fit line
    slope, intercept = np.polyfit(dates.iloc[-50:].index,series.iloc[-50:]/series.iloc[-250] * (40+j),1)

    #plot the trend line
    ax.plot(dates.iloc[-50:],slope*dates.iloc[-50:].index+intercept,label=line)


    j += 10

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用plot在matplotlib中将二维二进制矩阵绘制为一条线?

如何在matplotlib中已绘制的线上添加一条线?

3D时,Python for循环总是绘制同一条线(使用matplotlib)

当我使用 matplotlib 绘制图形时,如何增加其中一条线的线宽(或加粗)?

如何用matplotlib画一条线?

libGDX - 如何将多边形绘制为一条线(斜接连接类型)?

我如何找出一条线与 Pandas/matplotlib 的另一条线交叉的位置?

如何使用matplotlib绘制多元线性回归模型

如何在matplotlib中的熊猫条形图上添加一条线?

如何在matplotlib中的数据点和轴之间画一条线?

使用轴坐标系用matplotlib画一条线

使用Matplotlib在一条线上选择N个点

使用 matplotlib 在点之间画一条线,忽略缺失的数据

如何使用 matplotlib 将矩阵绘制为距离与时间图?

使用matplotlib将地形绘制为背景

如何绘制一条线以匹配 div 与 JQuery?

使用matplotlib绘制scikit以了解线性回归结果

使用matplotlib.pyplot中的日期绘制线性回归

在matplotlib中的预测和ground_truth点之间绘制一条线

在matplotlib中用矩形插值绘制一条线

如何从训练集的每个点到matplotlib中的曲面绘制一条垂直线

如何在python的matplotlib上重新绘制一条曲线以获得乘法曲线图?

在我的图中使用 matplotlib 绘制一条垂直线

如何在一张图中为我的 3 个图拟合一条线性回归线?

在Corona SDK中,如何在绘制另一条线时使一条线消失?

如何使用pyplot在表面图后面绘制一条线

如何在文本下方使用伪元素绘制一条线并忽略填充?

如何完成绘图工具的使用(从而完成绘制一条线)

如何使用Graphics Class在顶点之间绘制一条线?