Estou interessado em entender melhor o método delta para aproximar os erros padrão dos efeitos marginais médios de um modelo de regressão que inclui um termo de interação. Analisei questões relacionadas no método delta, mas nenhuma forneceu exatamente o que estou procurando.
Considere os seguintes dados de exemplo como um exemplo motivador:
set.seed(1)
x1 <- rnorm(100)
x2 <- rbinom(100,1,.5)
y <- x1 + x2 + x1*x2 + rnorm(100)
m <- lm(y ~ x1*x2)
Estou interessado nos efeitos marginais médios (AMEs) de x1
e x2
. Para calcular isso, basta fazer o seguinte:
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
Mas como uso o método delta para calcular os erros padrão desses AMEs?
Eu posso calcular o SE para essa interação específica manualmente:
v <- vcov(m)
sqrt(v['x1','x1'] + (mean(x2)^2)*v['x1:x2','x1:x2'] + 2*mean(x2)*v['x1','x1:x2'])
Mas eu não entendo como usar o método delta.
Idealmente, estou procurando alguma orientação sobre como pensar (e codificar) o método delta para AMEs de qualquer modelo de regressão arbitrário. Por exemplo, esta pergunta fornece uma fórmula para o SE para um efeito de interação específico e este documento de Matt Golder fornece fórmulas para uma variedade de modelos interativos, mas eu quero entender melhor o procedimento geral para calcular SEs de AMEs em vez da fórmula para SE de qualquer AME em particular.
Respostas:
O método delta simplesmente diz que, se você pode representar uma variável auxiliar, pode representar como uma função de variáveis aleatórias distribuídas normalmente, essa variável auxiliar é aproximadamente normalmente distribuída com uma variação correspondente a quanto o auxiliar varia em relação às variáveis normais (EDIT: como apontado por Alecos Papadopoulos, o método delta pode ser afirmado de maneira mais geral, de modo que não exija normalidade assintótica). A maneira mais fácil de pensar nisso é como uma expansão de Taylor, onde o primeiro termo de uma função é a média e a variação vem dos termos de segunda ordem. Especificamente, se é uma função do parâmetro β e b é, um estimador normalmente distribuído consistente para que o parâmetro: g (g β b
Dado que β é uma constante eb é um estimador consistente de β , podemos dizer:
√
R
numDeriv
ADENDO: Nesse caso específico, o
R
código seria:fonte
mean(x2)
ao calcular o SE. Isso não seria apenas para o efeito marginal na média? Minha intuição seria que, para as AMEs, eu precisaria SE para cada observação e, em seguida, calcular a média entre elas de alguma forma.g
como a média dos efeitos marginais de cada indivíduo e, provavelmente, usar o gradiente numérico, não tenho certeza de que tomar o SE para cada um seria o mesmo.