假设和之间存在某种“真实”关系,使得,其中和是常数,是同等噪声。当我从那个R代码随机生成数据时:然后适合一个模型,显然,我得到和合理估计。b ϵx <- 1:100; y <- ax + b + rnorm(length(x))
y ~ x
如果我在切换变量的作用(x ~ y)
,但是,然后重写结果为是的函数,将得到的斜率总是更陡比由所估计的(或更负或更积极的)回归。我正在尝试确切地理解为什么会这样,如果有人能给我关于那里发生的事情的直觉,我将不胜感激。y ~ x
假设和之间存在某种“真实”关系,使得,其中和是常数,是同等噪声。当我从那个R代码随机生成数据时:然后适合一个模型,显然,我得到和合理估计。b ϵx <- 1:100; y <- ax + b + rnorm(length(x))
y ~ x
如果我在切换变量的作用(x ~ y)
,但是,然后重写结果为是的函数,将得到的斜率总是更陡比由所估计的(或更负或更积极的)回归。我正在尝试确切地理解为什么会这样,如果有人能给我关于那里发生的事情的直觉,我将不胜感激。y ~ x
Answers:
鉴于数据点,在飞机上,让我们画出直线 。如果我们预测i − a x i − b ),则平方误差为 (y i − a x i −作为值ÿ我的ÿ 我,则误差是(ÿ 我- Ŷ我)= (ÿ,总平方误差 ∑ n i = 1(y i - a x i - b )2。我们问
什么选择的和 使S = n ∑ i = 1(y i - a x i - b )2最小化 ?
由于是(x i,y i)距直线的垂直距离,因此我们要求得到这样一条线,即点与点的垂直距离的平方和线越小越好。现在小号 是两者的二次函数一个和b并达到其最小值时一个和b是这样的, ∂ 小号 。从第二方程,我们得到 b=1
如果我们互换的角色和ÿ,画线 X = 一个 ÿ + b,并要求的值 一和b,最大限度地减少 Ť = Ñ Σ我= 1(X 也就是我们希望线条使得的平方和水平从线中点的距离尽可能小,然后我们得到
和的最小值 Ť是 Ť 分钟 = [ (1
注意,这两个线穿过点 但斜率 一个= (1 等一般不同。确实,正如@whuber在评论中指出的那样,当所有点(xi,yi)时,斜率都相同
只是为了说明Dilip的答案:在以下图片中,
y ~ x
,它使红色段的长度的平方最小。x ~ y
,该线使红色段的长度的平方最小。编辑(最小矩形回归)
如果没有自然的方法来选择“响应”和“协变量”,而是两个变量是相互依赖的,则您可能希望保留对称的作用
这是具有相同数据点的示例,对于每个点,将“矩形”计算为两个红色段的长度的乘积,并且将矩形的总和最小化。我对这种回归的性质了解不多,对Google也了解不多。
当您的输入上也有噪音时(我们可以说总是这样,没有命令或观察是完美的),这变得很有趣。
x = np.linspace(0, 1, n)
y = x
x_o = x + np.random.normal(0, 0.2, n)
y_o = y + np.random.normal(0, 0.2, n)
查看不同的结果(这里的odr是正交距离回归,即与最小矩形回归相同):
所有代码都在其中:
https://gist.github.com/jclevesque/5273ad9077d9ea93994f6d96c20b0ddd
您可能有一些“真正的”因果关系,例如
但拟合的回归线y ~ x
或x ~ y
与该因果关系的含义不同(即使在实践中,回归线之一的表达可能与因果“真”关系的表达重合)
对于两个切换的简单线性回归:
您可以按照以下方式关联斜率:
因此,斜率不是彼此相反的。
原因是
您可以想象条件概率与关系的强度有关。回归线反映了这一点,当关系的强度较小时,线的斜率可能会变浅,而当关系的强度较强时,线的斜率可能会变陡。斜率不只是彼此成反比。
代替
最好也使用
条件期望值(线性回归中的值)为
Y ~ X
X ~ Y
简单线性回归的目标是在y
给定变量值的情况下,得出x
变量的最佳预测。这与尝试在x
给定变量值的情况下对y
变量进行最佳预测相比,是一个不同的目标。
简单的线性回归可y ~ x
为您提供“最佳”的预测y
给定的模型x
。因此,如果您为拟合模型x ~ y
并进行代数反演,则该模型最多只能与的模型一样好y ~ x
。但是,与“最佳” 模型相比,反转适合的模型x ~ y
在预测y
给定值时通常会做得更糟,因为创建“反转模型”是为了实现不同的目标。x
y ~ x
x ~ y
假设您有以下数据集:
当运行的OLS回归时y ~ x
,您会得到以下模型
y = 0.167 + 1.5*x
y
通过进行以下具有相关错误的预测,可以优化的预测:
在最右边一列的值之和(即平方和)应尽可能小的意义上,OLS回归的预测是最佳的。
当您对进行OLS回归时x ~ y
,您会得出不同的模型:
x = -0.07 + 0.64*y
通过进行以下带有相关误差的预测,可以优化x的预测。
同样,从最右边一列的值之和尽可能小(等于0.071
)的意义上说,这是最佳的。
现在,假设您尝试y = 0.167 + 1.5*x
使用代数反转第一个模型,得到模型x = -0.11 + 0.67*x
。
这将为您提供以下预测和相关的错误:
最右边一列中的值之和为0.074
,它大于从x对y进行回归得到的x ~ y
模型(即模型)中相应的和。换句话说,“反向y ~ x
模型”在预测x方面比的OLS模型做得更差x ~ y
。