Excel:数据趋势拟合错误

Excel的曲线趋势拟合功能,其实我没怎么用过,今天随便试了一下,发现有一个问题:对一组普通的线性数据进行线性拟合,用Python拟合出来的方程和Excel拟合出来的完全不一样,后面对两种方式进行校核,发现Excle拟合出来的结果完全是错的,最尴尬的是,图文不符

  • 最后的解决方式,在Excle添加趋势线之前,把图表类型从折线图改成散点图,这样出来的趋势线方程才是正确的。

https://zhidao.baidu.com/question/281402512.html

数据示例

  • 数据是很简单,近似线性分布。
x = np.linspace(0, 100, 21) # 1、5、10、... ... 100
y =[1118.25, 1106.25, 1090, 1104.25, 1076.75, 1097, 1073.75, 1066.5, 1033, 1041.75, 1046.75, 1029.5, 1017.5, 1011.5, 983.5, 971.25, 996, 958.25, 983.75, 951,957.5]

Python拟合

  • 直接用numpy的polyfit来拟合,那么出来
fit_ab = np.polyfit(x, y, 1)
  • y = -1.70370129870129x + 1119.18506493506 (R² = 0.950568554137217),这个是正确的。

折线图拟合

  • 在excel中,画出上述数据的折线图,然后添加趋势线。
  • 那么出来:y = -8.5185 * x + 1127.7 (R^2 = 0.9506),这个方程不正确,和实际差距很大。
  • 从Excel的图表显示上来看,它好像是正确的,但图和数据不符合,实际函数是错误

    excle-fit-1
  • 如果你单独拿公式出来作图,会发现这个公式所给出的曲线和实际数据根本对不上。

    excle-fit-1

散点图拟合

  • 在excel中画出上述数据的散点图,然后添加趋势线。
  • 那么出来:y = -1.7037x + 1119.2 (R² = 0.9506),这个正确的,包括函数方程和趋势线
  • 其实仔细一看,折线图拟合时,图中的那个趋势线满足的是这个方程。
标题:Excel:数据趋势拟合错误
链接:http://www.outblue.cc/312
来源:OutBlue Blog
说明:文章版权本站所有,欢迎转载分享,望能备注出处
THE END
分享
二维码
< <上一篇
下一篇>>