私は線形回帰から変換された変数の標準誤差を計算したい、つまり2つの変数を除算し、この変数から標準誤差を得る。線形回帰における変換された変数の標準誤差の導出
msm
パッケージのdeltamethod
機能を使用しますが、正確な標準エラーが発生しません。例えば
:データの
シミュレーション:
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を取得します(ここで私はmissingsを取り除く必要があり、いくつかのように私の実際のデータの係数はNAであり、ループ内で多くの回帰を計算します)
vcov_reg <- vcov(reg2)
coef_reg <- coef(reg2)
coef_reg <- na.omit(coef_reg)
coef_reg <- as.numeric(coef_reg)
Deltamethod、X3で割った変数X1のために(私はMSMパッケージによるとX2とX4を使用する必要があります意味する):
deltamethod(~ x2/x4, coef_reg, vcov_reg)
これは私に変換変数の標準誤差を与える(X1/X3) 3.21であり、この回帰からのすべての標準誤差は約0.03である。
どのようなアイデアの理由/何が間違っていますか? それを計算するための他の提案も歓迎します。
答えはどうなっていると思いますか? – MrFlick