【问题标题】:calculate whether regression coefficient is statistically significant in R计算回归系数在 R 中是否具有统计显着性
【发布时间】:2012-07-28 15:07:57
【问题描述】:

我有使用另一个程序进行的回归分析的结果,我想用 R 测试它们是否显着。我知道 ls.diag() 计算回归结果的标准误差和 t 检验,但它需要非常特定的输入格式(即 lsfit() 的结果),所以我认为我不能使用它。 r 中是否有任何函数可以计算回归分析的标准误差和 t 检验,让我可以简单地手动将相关系数赋予函数?

【问题讨论】:

  • 从你的描述中不清楚你从“其他程序”中得到了什么,但我很确定回到原始数据并在 R 中做所有事情的工作要少得多。
  • 取决于。如果 OP 有系数及其标准误差,那么这很容易(尽管她提到(“计算 [ing] 标准误差”)。不过,我们确实需要知道其他程序产生了什么。如果只是系数,那么答案是“不”。
  • 这些是回归分析的结果,该分析控制了样本中分类群之间的系统发育相关性。 R 有一个函数(caper 中的 pgls())来执行此操作,但它不适用于我的部分数据。从 OP 我有系数和特征方差,但没有系数方差。

标签: r statistics regression standard-error


【解决方案1】:

我不太确定这是您要查找的内容,但这里有一个指南

# this is a model obtained from ?lm 
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2,10,20, labels=c("Ctl","Trt"))
weight <- c(ctl, trt)
lm.D9 <- lm(weight ~ group)
summary(lm.D9) this is our target

假设我们只有回归系数、标准误和样本量

beta <- coef(lm.D9)
errorBeta <- summary(lm.D9)$coefficients[,2]
n <- length(weight) # the sample size
k <- length(beta) # number of regression parameters

我认为这是你的情况,如果你没有系数标准误,那么你必须估计它们,这很容易。

一旦有了回归系数及其标准误,就可以估计 t-stat:

t_stats <- beta/errorBeta

经验法则表明,如果 |t_stats| >= 2,则该系数在 5% 的水平上具有统计显着性。但是,如果您想知道 p 值,请使用:

pt(abs(t_stats), n-k, lower.tail=FALSE)*2

如果 p 值 > 0.05,则相关系数在该水平上没有统计学意义。

您所需要的只是了解系数、标准误和样本量。否则你不会这样做。

【讨论】:

  • 谢谢吉尔伯!这听起来正是我需要的。你是对的,我只有系数,没有别的。我知道系数标准误差是回归系数方差的平方根。但是,我没有回归系数的方差 - 这是一个问题吗?你说估计它们很容易,你能告诉我怎么做吗?
  • 首先你必须估计残差的方差,它只是残差平方和除以 n-k,使用这个结果并假设你有数据集,然后只将残差的方差乘以设计矩阵 {(X'X)⁻¹}。很奇怪你没有标准误差,如果你有估计你必须有标准误差。无论如何,您可以阅读任何计量经济学教科书以找到正确的说明。
  • 感谢 Jilber,这很有帮助!
猜你喜欢
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 2014-10-23
  • 2018-03-16
  • 2013-02-12
  • 2020-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多