在 R 中计算 'hat' 矩阵
Calculating 'hat' matrix in R
在用加权最小二乘法计算 'hat' 矩阵时,计算的一部分是
X^T*W*X
但是,我不确定在 R 中如何做到这一点
参见以下示例:
x <- matrix(c(1,2,3,4,5,6),nrow=3,ncol=2,byrow=T)
xt <- t(x)
w <- as.vector(c(7,8,9))
xt*w%*%x
给出错误:
Error in xt * w %*% x : non-conformable arrays
有什么基本的我误解了吗?
编辑
xt%*%w%*%x
报错:
Error in xt %*% w %*% x : non-conformable arguments
我对回归有点生疏,但我认为 hatvalues
函数正是您要找的。 ?hatvalues
提供有用的其他诊断。
在您的 R 代码中,w 是一个向量。应该是对角矩阵:
替换此行:
w <- as.vector(c(7,8,9))
通过这个:
w <- as.vector(c(7,8,9))*diag(3)
w
需要为 3x3,因此请使用 diag
将 w 构造为具有对角线上这些值的矩阵,而不是使用向量
x <- matrix(c(1,2,3,4,5,6),nrow=3,ncol=2,byrow=T)
xt <- t(x)
w <- diag(c(7,8,9))
xt %*% w %*% x
在用加权最小二乘法计算 'hat' 矩阵时,计算的一部分是
X^T*W*X
但是,我不确定在 R 中如何做到这一点
参见以下示例:
x <- matrix(c(1,2,3,4,5,6),nrow=3,ncol=2,byrow=T)
xt <- t(x)
w <- as.vector(c(7,8,9))
xt*w%*%x
给出错误:
Error in xt * w %*% x : non-conformable arrays
有什么基本的我误解了吗?
编辑
xt%*%w%*%x
报错:
Error in xt %*% w %*% x : non-conformable arguments
我对回归有点生疏,但我认为 hatvalues
函数正是您要找的。 ?hatvalues
提供有用的其他诊断。
在您的 R 代码中,w 是一个向量。应该是对角矩阵:
替换此行:
w <- as.vector(c(7,8,9))
通过这个:
w <- as.vector(c(7,8,9))*diag(3)
w
需要为 3x3,因此请使用 diag
将 w 构造为具有对角线上这些值的矩阵,而不是使用向量
x <- matrix(c(1,2,3,4,5,6),nrow=3,ncol=2,byrow=T)
xt <- t(x)
w <- diag(c(7,8,9))
xt %*% w %*% x