Я хотел бы вычислить стандартную ошибку преобразованной переменной из моей линейной регрессии, то есть разделить две переменные и получить стандартную ошибку из этой переменной.
Я использую функцию deltamethod
из пакета msm
, но не могу получить точные стандартные ошибки.
Например:
Моделирование данных:
set.seed(123)
nobs = 1000
data <- data.table(
x1 = rnorm(nobs),
x2 = rnorm(nobs),
x3 = rnorm(nobs),
x4 = rnorm(nobs),
y = rnorm(nobs))
Линейная регрессия:
reg2 <- lm(y~x1+x2+x3+x4, data=data)
Получите coef и vcov (здесь мне нужно избавиться от пропусков, так как некоторые коэффициенты в моих реальных данных являются NA, и я вычисляю множество регрессий в цикле)
vcov_reg <- vcov(reg2)
coef_reg <- coef(reg2)
coef_reg <- na.omit(coef_reg)
coef_reg <- as.numeric(coef_reg)
Deltamethod для переменной x1, деленной на x3 (это означает, что я должен использовать x2 и x4 в соответствии с пакетом msm):
deltamethod(~ x2/x4, coef_reg, vcov_reg)
Это дает мне стандартную ошибку преобразованной переменной (x1 / x3) 3,21, в то время как все стандартные ошибки этой регрессии составляют около 0,03.
Есть идеи, почему / что здесь не так? Также приветствуются другие предложения по его расчету.