在读研究生一年后,我的“加权最小二乘”的理解是这样的:让,是一些设计矩阵,是一个参数向量中的是误差向量,使得,其中和。然后模型
在该假设下的模型称为“加权最小二乘”模型。WLS问题最终是找到
假设,和
,因此
这给出
v_n ^ {-1}(y_n- \ mathbf {x} _ {n} ^ {T} \ boldsymbol \ beta)\ end {bmatrix} \ end {align}
因此
使用
这是我所熟悉的知识的范围。我从来没有教如何应选择,尽管它似乎是,通过判断在这里,通常,这很直观。(在WLS问题中,赋予高度可变的权重将使权重减小,而使变异性较小的观察将具有更大的权重。)
我特别好奇的是,R
当权重lm()
分配为整数时,如何处理函数中的权重。通过使用?lm
:
非
NULL
权重可用于表示不同的观察值具有不同的方差(权重中的值与方差成反比);或等效地,重元素为正整数时,每个响应是单位权重观测值的平均值(包括存在 观测值等于且数据已汇总的情况)。
我已经多次阅读了本段内容,对我而言这毫无意义。使用上面开发的框架,假设我具有以下模拟值:
x <- c(0, 1, 2)
y <- c(0.25, 0.75, 0.85)
weights <- c(50, 85, 75)
lm(y~x, weights = weights)
Call:
lm(formula = y ~ x, weights = weights)
Coefficients:
(Intercept) x
0.3495 0.2834
使用我上面开发的框架,这些参数如何导出?这是我手动进行的尝试:假设,我们有 并在Give中执行此操作(请注意,在这种情况下,可逆性不起作用,因此我使用了广义逆):
R
X <- matrix(rep(1, times = 6), byrow = T, nrow = 3, ncol = 2)
V_inv <- diag(c(1/50, 1/85, 1/75))
y <- c(0.25, 0.75, 0.85)
library(MASS)
ginv(t(X) %*% V_inv %*% X) %*% t(X) %*% V_inv %*% y
[,1]
[1,] 0.278913
[2,] 0.278913
这些与lm()
输出中的值不匹配。我究竟做错了什么?