我只想运行
lm()
和 glm()
进行线性回归,而不重构权重,即按照指定的方式使用权重。我怎样才能做到这一点?
众所周知,但没有记录,这些函数会根据需要重构权重。 https://www.metafor-project.org/doku.php/tips:rma_vs_lm_lme_lmer 因此,如果您指定一些权重
w
以及 w*100
,那么您将获得相同的 p 值和置信区间。该问题仅存在于线性回归中,对于逻辑回归,权重被正确处理。
首先,更正:
lm
和glm
不要重新调整权重(您可以检查代码),只是权重的总体平均值不会影响线性回归的答案(因为它应该't)。权重的平均值被吸收到尺度参数中——您可以看到估计的残差标准误差发生了变化。
如果您想通过将所有权重乘以 10 或类似的结果来获得小 10 倍的方差,一种方法是使用
lm
或 glm
,然后将标准误差除以重量。或者,如果您使用 glm
,您可以为 summary
函数指定不同的残差标准误差。
或者,如果你的权重是整数,你也可以这样做
expanded_data <- data[rep(1:nrow(data), data$weights), ]
重复每次观察的次数与其重量相同。
线性回归中这方面的统计应用并不多,因此它不是内置的。
如果您有一个具有固定尺度参数(例如泊松或二项式)的广义线性模型,则权重的总体尺度确实会影响标准误差(应该如此),但是如果您开始估计尺度参数(例如使用
quasibinomial
或 quasipoisson
)则不然。