Plotly:ols 和 lowess 趋势线有什么区别

数据挖掘 情节地
2022-02-16 00:05:08

我正在绘制带有趋势线的数据集,但使用olsvslowess给了我显着不同的线条形状。我确信这是一个预期且完全正常的结果,但恐怕我不明白差异的重要性。有人可以解释发生了什么吗?这是我的代码使用ols

fig = px.scatter(df_small, y="Ratio",
                 trendline="ols", 
                 trendline_color_override="red")
fig.show()

这是它产生的情节: 在此处输入图像描述

Usinglowess给了我这个图: 在此处输入图像描述 就上下文而言,我的数据集代表了过去 18 个月安大略省每日 Covid 死亡人数与新感染人数的比率。

1个回答

我很好奇,于是查了一下:

  • 第一种方法 OLS 实际上是普通最小二乘回归,因此它只适合线性回归线。在这种情况下,它可能不是您想要的,因为它无法适应波浪(除非您只想显示整体趋势)。
  • lowess 方法是局部多项式回归由于plotly 5.2.1 trendline_option可用于降低趋势线,这可以使趋势线更紧密地跟随基础数据。

作为记录,我用 R 和 ggplot2 做了一个小测试,似乎有更好的实现:

library(ggplot2)
library(plyr)

t<-seq(0,12,.1)
noise<-rnorm(121,0,.25)
v<-cos(t)+noise
d<-data.frame(x=t,y=v)
ggplot(d,aes(x,y))+geom_point()+ geom_smooth(method="loess")

ggplot2中带有黄土回归的噪声曲线