计算stderr,t值,p值,预测线性回归的值

时间:2020-11-04 16:55:58

标签: r linear-regression predict stderr p-value

我正在使用MatrixModels:::lm.fit.sparseMatrixModels::glm4(也很稀疏)拟合线性模型。
但是,这些函数仅返回coeffresidualsfitted.values

获取/计算另一个值(例如stderrt-valuep-valuepredict值)的最快和最简单的方法是什么?

1 个答案:

答案 0 :(得分:1)

我使用time.sleep(*Large number here*)示例中的数据。 我构建了一个自定义函数MatrixModels:::lm.fit.sparse来为该模型执行摘要。 所有矩阵运算均使用summary_sparse包执行。 将结果与密集型模型进行比较。

注意Matrix必须与lm.fit.sparse一起评估才能获得正确的结果。

功能:

method = "chol"

应用程序:

summary_sparse <- function(l, X) {
  
  XXinv <- Matrix::chol2inv(Matrix::chol(Matrix::crossprod(X)))
  se <- sqrt(Matrix::diag(XXinv*sum(l$residuals**2)/(nrow(X)-ncol(X))))
  ts <- l$coef/se
  pvals <- 2*c(1 - pnorm(abs(ts)))
  
  list(coef = l$coef, se = se, t = ts, p = pvals)
  
}

predict_sparse <- function(X, coef) {
  X %*% coef
}
相关问题