Interesuje mnie lepsze zrozumienie metody delta do aproksymacji standardowych błędów średnich efektów krańcowych modelu regresji, który obejmuje termin interakcji. Patrzyłem na powiązane pytania metodą delta, ale żadne nie dostarczyło tego, czego szukam.
Rozważ następujące przykładowe dane jako motywujący przykład:
set.seed(1)
x1 <- rnorm(100)
x2 <- rbinom(100,1,.5)
y <- x1 + x2 + x1*x2 + rnorm(100)
m <- lm(y ~ x1*x2)
Interesują mnie średnie efekty krańcowe (AME) x1
i x2
. Aby je obliczyć, po prostu wykonuję następujące czynności:
cf <- summary(m)$coef
me_x1 <- cf['x1',1] + cf['x1:x2',1]*x2 # MEs of x1 given x2
me_x2 <- cf['x2',1] + cf['x1:x2',1]*x1 # MEs of x2 given x1
mean(me_x1) # AME of x1
mean(me_x2) # AME of x2
Ale jak użyć metody delta do obliczenia standardowych błędów tych AME?
Mogę ręcznie obliczyć SE dla tej konkretnej interakcji:
v <- vcov(m)
sqrt(v['x1','x1'] + (mean(x2)^2)*v['x1:x2','x1:x2'] + 2*mean(x2)*v['x1','x1:x2'])
Ale nie rozumiem, jak używać metody delta.
Idealnie szukam wskazówek, jak myśleć (i kodować) metodę delta dla AME dowolnego modelu regresji arbitralnej. Na przykład to pytanie zawiera formułę dla SE dla określonego efektu interakcji, a ten dokument Matta Goldera zawiera formuły dla różnych modeli interaktywnych, ale chcę lepiej zrozumieć ogólną procedurę obliczania SE dla AME, a nie formułę dla SE dowolnego konkretnego lekarza orzecznika medycyny lotniczej.