本文介绍了多元多元回归中系数的R检验等价性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试进行多元多元回归分析。幸运的是,我找到了一个很好的页面,演示了如何在Stata中做到这一点:
http://www.ats.ucla.edu/stat/stata/dae/mvreg.htm
问题是我使用的是R,虽然我已经弄清楚了如何在R中运行多元多元回归模型的基本操作,但我仍然不确定如何查看每个因变量的系数是否不同(如链接中所示)。有人知道如何用R来计算这个分析吗?如果相同的自变量对每个因变量产生不同的影响,这似乎是一个非常有用的工具,我希望能够做到这一点!更新:以下是我到目前为止使用我自己的数据所做的一个可重复的示例:
# data
data(mtcars)
# fitting a multivariate multiple regression where mpg and cyl are predicted by wt and hp
car.mod <- lm(cbind(mpg,cyl) ~ wt + hp,data=mtcars)
# see if there is a multivariate effect of wt and hp
summary(manova(car.mod),test="W")
# Get coefficients for each dependent variable
summary(car.mod)
在本例中,我想知道的是如何在"mpg"和"cyl"上测试"wt"的等价性。显然,在Stata中使用test
命令可以做到这一点。推荐答案
AFAIK,没有可执行此操作的包,因此我将使用手动解决方案。手动解决方案是
z=(b1-b2)/(b1^2+b2^2)^(1/2)。
下面是(草率的)代码。也许有一个更好的解决方案来提取系数和标准误差。
# extract coefficients and SEs
coef_mpg <- coef(summary(car.mod))[[1]]
coef_cyl <- coef(summary(car.mod))[[2]]
# test equality of wt coefficients
z_wt <- (coef_mpg[2, 1] - coef_cyl[2, 1]) / (coef_mpg[2, 2]^2 + coef_cyl[2, 2]^2)^(1/2)
p_wt <- 2*pnorm(-abs(z_wt))
p_wt
但我会觉得引导解决方案更好,因为它做的假设更少。
require(boot)
b_b <- function(data=mtcars, indices) {
d <- data[indices, ]
model_mpg <- lm(mpg ~ wt + hp, data=d)
model_cyl <- lm(cyl ~ wt + hp, data=d)
return(coef(model_mpg)["wt"] - coef(model_cyl)["wt"])
}
results <- boot(data=mtcars, statistic=b_b, R=1000)
results
这篇关于多元多元回归中系数的R检验等价性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!