【问题标题】:R Regression with different null hypothesis具有不同零假设的 R 回归
【发布时间】:2020-06-24 18:39:49
【问题描述】:

我有一系列回归,我想在同一个回归中执行不同的零假设。 这意味着我想测试一个自变量是否等于 1 而另一个等于 0。

netew3 <- summary(lm(ewvw[,3]-factors$RF ~ factors$Mkt.RF + factors$SMB + factors$HML + factors$MOM, na.action = na.exclude), data = ewvw)

我想测试第一个变量(factors$Mkt.RF)是否等于 1,其他变量(SMB、HML 和 MOM)是否等于 0。

提前感谢您的帮助。 最好的 PL

【问题讨论】:

    标签: r regression linear-regression


    【解决方案1】:

    summary() of an lm-object 在每个系数等于 0 的零假设下为您提供所有系数的 p 值。但是,它还为您提供了所有必要的信息,以使用不同的零假设进行自己的测试,例如系数为 1。

    This 是详细解释回归系数 t 检验的众多地方之一。本质上,您可以通过计算(estimate - reference) / SE 来获得 t 值。 SE 是标准误差,reference 是原假设下系数的假设值(通常为 0)。因此,您只需将后一个值从 0 更改为 1,即可获得 t 值。

    我在下面的函数中自动执行了此操作。 h0.value 是您在零假设下的假设值。您可以通过使用h0.value = 0 运行它来检查它是否适用于您的数据/模型,并将结果与​​您从summary() 获得的结果进行比较。如果可行,请将其与h0.value = 1 一起使用。

    estim_test <- function(lm.mod, h0.value = 0) {
      coefm <- as.data.frame(summary(lm.mod)$coefficients)
      n <- length(lm.mod$residuals)
      coefm$`t value` <- (coefm$Estimate - h0.value)/coefm$`Std. Error`
      coefm$`Pr(>|t|)` <- 2*pt(-abs(coefm$`t value`), df=lm.mod$df.residual)
      coefm
    }
    
    # Testing the function
    data("swiss")
    mod1 <- lm(Fertility ~ Agriculture + Education + Catholic, data=swiss)
    summary(mod1)
    estim_test(mod1, h0.value=0)
    estim_test(mod1, h0.value=1)
    

    【讨论】:

      猜你喜欢
      • 2020-06-01
      • 1970-01-01
      • 2021-01-21
      • 2014-01-21
      • 2011-12-28
      • 2017-10-07
      • 2019-06-26
      • 2018-06-11
      • 1970-01-01
      相关资源
      最近更新 更多