带逆自变量的回归

机器算法验证 回归 数据转换 线性模型
2022-03-26 21:08:45

假设我有一个N-向量Y因变量,和N-向量X的自变量。什么时候Y是针对1X,我看到两者之间存在线性关系(上升趋势)。现在,这也意味着两者之间存在线性下降趋势YX.

现在,如果我运行回归:Y=βX+ϵ 并得到拟合值Y^=β^X

然后我运行回归:Y=α1X+ϵ并得到拟合值 Y~=α^1X

将两个预测值,Y^Y~大致相等?

2个回答

 当 Y 被绘制在1X,我看到两者之间存在线性关系(上升趋势)。现在,这也意味着 Y 和 X 之间存在线性下降趋势

最后一句话错了:有下降趋势,但绝不是线性的: Y ~ 1 / X Y ~ X

我用了一个f(x)=1x作为功​​能加上一点噪音Y. 如您所见,在绘图时Y反对1X产生线性行为,Y反对X远非线性。

(@whuber 指出Y反对1X情节看起来不是同调的。我认为它似乎有较低的方差Y因为更高的案例密度导致更大的范围,这基本上是我们所感知的。实际上,数据是同方差的:我曾经Y = 1 / X + rnorm (length (X), sd = 0.1)生成数据,所以不依赖于大小X.)

所以总的来说,这种关系是非常非线性的。也就是说,除非你的范围X太窄了,你可以近似d1xdx=1x2const.这是一个例子:

Y ~ 1 / X Y ~ X

底线:

  • 一般来说,很难近似 1X型函数由线性或多项式函数。如果没有偏移项,您将永远无法获得合理的近似值。
  • 如果X间隔足够窄以允许线性近似,无论如何您都无法从数据中猜测关系应该是1X并且不是线性的(X)。

我认为他们没有理由“大致相等”——但你所说的大致相等到底是什么意思?

这是一个玩具示例:

library(ggplot2)
n <- 10^3
df <- data.frame(x=runif(n, min=1, max=2))
df$y <- 5 / df$x + rnorm(n)
p <- (ggplot(df, aes(x=x, y=y)) +
      geom_point() +
      geom_smooth(method="lm", formula=y ~ 0 + x) +  # Blue, OP's y hat
      geom_smooth(method="lm", formula=y ~ 0 + I(x^-1), color="red"))  # Red, OP's y tilde
p

图片:

我会说这些远非“大致相等”

如果允许“蓝色”模型有一个截距(即常数)项,它会做得更好......