通过添加一列的1来实现y截距



我试图理解以下链接线性回归系数beta0和beta1的计算y = beta0 + beta1 x。

我理解beta1的第一次计算,这实际上是一个简单的最小二乘回归,但只有一个参数要找到(斜率系数)?

在"事故"的例子中,为什么他们在x数组中添加一列1来计算两个系数:

X = [ones(length(x),1) x];
b = Xy
结果:

b =
   1.0e+02 *
   1.427120171726537
   0.000001256394274

这列1的底层计算是什么?

如果有人能给我解释一下。

这更像是注释。但我不允许这样做,所以写作为一个答案。

他们正在添加一列,使其适合矩阵乘法。有y = beta0 + beta1*x。在矩阵乘法形式下,它可以写成:y = [1 x]* [beta0 beta1]'。请注意矩阵上的转置符号。

由于我不知道的原因,在Matlab和r中鼓励对变量进行向量化。据我所知,向量化有望减少资源消耗。

1通常用来表示"偏见"。在您的情况下,尝试可视化这个等式:

y = w1 * x + c

加1表示另一个输入,但总是1。

y = w1 * x1 + c * x2(which is 1)

因此,为了对含有常数(偏差)的方程进行建模,需要在输入中添加常数。

因为在方程y = beta0 + beta1 * x中,beta0隐式地乘以1。换句话说,考虑 (x,y)对:

y[i] = beta0     + beta1 * x[i]
     = beta0 * 1 + beta1 * x[i]

对任意i乘以a0的1就是1向量的来源

最新更新