我需要计算一个帽子矩阵(如线性回归)。标准 R 代码将是:
H <- tcrossprod(tcrossprod(X, solve(crossprod(X))), X)
用X是相对大的矩阵(即1E5 * 100),并且该线具有运行数千次。我知道最大的限制部分是逆计算,但叉积也可能很耗时。有没有更快的替代方法来执行这些矩阵运算?我尝试了 Rcpp 并查看了几篇文章,但我测试的任何替代方法都较慢。也许我没有正确编写 C++ 代码,因为我不是高级 C++ 程序员。
X
谢谢!
performance r matrix-inverse cross-product rcpp
cross-product ×1
matrix-inverse ×1
performance ×1
r ×1
rcpp ×1