【发布时间】:2017-03-08 02:22:55
【问题描述】:
我正在尝试使用矩阵的奇异值分解来编写用于多元回归分析 (y = Xb + e) 的函数。 y 和 X 必须是输入和回归系数向量 b,残差向量 e 和方差占 R2 作为输出。下面是我到目前为止所拥有的,我完全被困住了。重量的labels 部分也给了我一个错误。这是什么labels 部分?谁能给我一些提示以帮助我继续进行?
Test <- function(X, y) {
x <- t(A) %*% A
duv <- svd(x)
x.inv <- duv$v %*% diag(1/duv$d) %*% t(duv$u)
x.pseudo.inv <- x.inv %*% t(A)
w <- x.pseudo.inv %*% labels
return(b, e, R2)
}
【问题讨论】:
-
案例很重要 -
x和X是不同的。你的函数的第一行使用A,但A没有输入。它从何而来?我也不确定labels是什么——这不是你写的代码吗?它应该做什么? -
大部分是我在这个网站上找到的代码。他们使用
labels。是的,抱歉,A 是一个测试矩阵。但是我的问题已经在下面回答了,还是谢谢!
标签: r matrix regression linear-regression svd