[英]R Regression with different null hypothesis
我有一系列回歸,我想在同一個回歸中執行不同的 null 假設。 這意味着我想測試一個自變量是否等於 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
lm
-object 的summary()
為您提供 null 假設下每個系數等於 0 的所有系數的 p 值。但是,它還為您提供了所有必要的信息,以使用不同的 null 假設進行自己的測試,例如系數為1.
這是詳細解釋回歸系數 t 檢驗的許多地方之一。 本質上,您通過計算(estimate - reference) / SE
獲得 t 值。 SE
是標准誤差, reference
是 null 假設下的系數假設值(通常為 0)。 因此,您所要做的就是將后一個值從 0 更改為 1,然后您就得到了 t 值。
我在下面的 function 中自動化了這個。 h0.value
是您在 null 假設下的假設值。 您可以通過使用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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.