Saya tertarik untuk lebih memahami metode delta untuk mendekati kesalahan standar dari efek marginal rata-rata dari model regresi yang mencakup istilah interaksi. Saya telah melihat pertanyaan terkait di bawah metode delta tetapi tidak ada yang memberikan apa yang saya cari.
Pertimbangkan contoh data berikut ini sebagai contoh yang memotivasi:
set.seed(1)
x1 <- rnorm(100)
x2 <- rbinom(100,1,.5)
y <- x1 + x2 + x1*x2 + rnorm(100)
m <- lm(y ~ x1*x2)
Saya tertarik dengan efek marginal rata-rata (AME) dari x1
dan x2
. Untuk menghitung ini, saya cukup melakukan hal berikut:
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
Tetapi bagaimana saya menggunakan metode delta untuk menghitung kesalahan standar AME ini?
Saya dapat menghitung SE untuk interaksi khusus ini dengan tangan:
v <- vcov(m)
sqrt(v['x1','x1'] + (mean(x2)^2)*v['x1:x2','x1:x2'] + 2*mean(x2)*v['x1','x1:x2'])
Tapi saya tidak mengerti cara menggunakan metode delta.
Idealnya, saya mencari beberapa panduan tentang cara berpikir tentang (dan kode) metode delta untuk AME dari setiap model regresi sewenang-wenang. Misalnya, pertanyaan ini memberikan rumus untuk SE untuk efek interaksi tertentu dan dokumen ini dari Matt Golder menyediakan rumus untuk berbagai model interaktif, tetapi saya ingin lebih memahami prosedur umum untuk menghitung UK dari AMEs daripada rumus untuk SE dari AME tertentu.
Jawaban:
Metode delta hanya mengatakan bahwa jika Anda dapat mewakili variabel bantu Anda dapat mewakili sebagai fungsi dari variabel acak yang terdistribusi normal, bahwa variabel tambahan terdistribusi secara normal dengan varians yang sesuai dengan seberapa banyak variasi pembantu terkait dengan variabel normal (EDIT: seperti yang ditunjukkan oleh Alecos Papadopoulos, metode delta dapat dinyatakan lebih umum sehingga tidak memerlukan normalitas asimptotik). Cara termudah untuk memikirkan ini adalah sebagai ekspansi Taylor, di mana istilah pertama suatu fungsi adalah rata-rata, dan varians berasal dari istilah urutan kedua. Secara khusus, jika adalah fungsi dari parameter dan adalah penduga yang konsisten dan terdistribusi normal untuk parameter itu:g β b
Secara umum jika Anda ingin melakukan ini, Anda dapat secara eksplisit kode apapun Anda ingin menjadi sebagai fungsi dari semua koefisien Anda dan kemudian menggunakan untuk mengambil gradien numerik (jika tidak, anda harus menggunakan komputer aljabar) fungsi sehubungan dengan parameter Anda, pada parameter yang Anda perkirakan. Maka Anda cukup mengambil varians-kovarians matriks dan gradien numerik ini dan hubungkan ke formula dan voila! Metode delta.g
R
numDeriv
ADDENDUM: Dalam kasus khusus ini
R
kodenya adalah:Perhatikan bahwa akan selalu lebih disukai untuk mendapatkan gradien yang tepat daripada gradien numerik untuk masalah ini, karena gradien yang tepat akan memiliki lebih sedikit kesalahan komputasi. Fakta bahwa linier menghilangkan masalah ini, dan untuk fungsi yang lebih rumit, gradien yang tepat mungkin tidak selalu tersedia.g
sumber
mean(x2)
saat menghitung SE. Bukankah itu hanya untuk efek marginal pada rata-rata? Intuisi saya adalah bahwa untuk AME, saya harus SE untuk setiap pengamatan dan kemudian rata-rata melintasi mereka dalam beberapa cara.g
sebagai rata-rata efek marginal untuk setiap individu, dan mungkin menggunakan gradien numerik, saya tidak yakin bahwa mengambil SE untuk masing-masing akan cukup sama.