วิธีการใช้วิธีเดลต้าสำหรับข้อผิดพลาดมาตรฐานของผลกระทบเล็กน้อย?


20

ฉันสนใจที่จะเข้าใจวิธีการเดลต้าในการประมาณข้อผิดพลาดมาตรฐานของผลกระทบส่วนเพิ่มโดยเฉลี่ยของตัวแบบการถดถอยซึ่งรวมถึงคำศัพท์การโต้ตอบ ฉันได้ดูคำถามที่เกี่ยวข้องภายใต้แต่ไม่มีผู้ใดได้ให้สิ่งที่ฉันกำลังมองหา

พิจารณาข้อมูลตัวอย่างต่อไปนี้เป็นตัวอย่างที่สร้างแรงบันดาลใจ:

set.seed(1)
x1 <- rnorm(100)
x2 <- rbinom(100,1,.5)
y <- x1 + x2 + x1*x2 + rnorm(100)
m <- lm(y ~ x1*x2)

ฉันสนใจในผลกระทบที่ขอบเฉลี่ย (อาเมส) ของและx1 x2ในการคำนวณเหล่านี้ฉันทำต่อไปนี้:

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

แต่ฉันจะใช้วิธีการเดลต้าเพื่อคำนวณข้อผิดพลาดมาตรฐานของ AME เหล่านี้ได้อย่างไร

ฉันสามารถคำนวณ SE สำหรับการโต้ตอบเฉพาะนี้ด้วยมือ:

v <- vcov(m)
sqrt(v['x1','x1'] + (mean(x2)^2)*v['x1:x2','x1:x2'] + 2*mean(x2)*v['x1','x1:x2'])

แต่ฉันไม่เข้าใจวิธีการใช้วิธีเดลต้า

เป็นการดีที่ฉันกำลังมองหาคำแนะนำเกี่ยวกับวิธีการคิด (และรหัส) วิธีการเดลต้าสำหรับ AMEs ของรูปแบบการถดถอยใด ๆ โดยพลการ ตัวอย่างเช่นคำถามนี้มีสูตรสำหรับ SE สำหรับเอฟเฟกต์การโต้ตอบเฉพาะและเอกสารนี้จาก Matt Golderมีสูตรสำหรับโมเดลเชิงโต้ตอบที่หลากหลาย แต่ฉันต้องการเข้าใจขั้นตอนทั่วไปสำหรับการคำนวณ SEs ของ AME มากกว่าสูตร SE ของ AME เฉพาะใด ๆ


2
+1 คำถามที่ยอดเยี่ยม (จู้จี้ฉันมานานแล้วเช่นกัน)! มีการโพสต์ในฟอรั่ม Stata คือข้อผิดพลาดวิธีการมาตรฐานเดลต้าสำหรับค่าเฉลี่ยเล็กน้อย ... บน SE มีตัวอย่างโดยใช้วิธี bootstrap: ฟังก์ชัน mfxboot สำหรับเอฟเฟกต์ส่วนขอบสำหรับการถดถอยแบบโปรบิต .
Bernd Weiss

คำตอบ:


16

วิธีการเดลต้าเพียงแค่บอกว่าถ้าคุณสามารถเป็นตัวแทนของตัวแปรเสริมคุณสามารถเป็นตัวแทนของฟังก์ชั่นของตัวแปรสุ่มกระจายปกติตัวแปรเสริมนั้นประมาณกระจายตามปกติพร้อมกับความแปรปรวนที่สอดคล้องกับจำนวนเสริมที่แตกต่างกันไปตามตัวแปรปกติ (แก้ไข: ดังที่ Alecos Papadopoulos ชี้ไปที่วิธีเดลต้าสามารถระบุได้โดยทั่วไปเช่นนี้ซึ่งไม่จำเป็นต้องใช้วิธีการเชิงซีมโทติค) วิธีที่ง่ายที่สุดในการคิดเช่นนี้คือการขยายตัวของเทย์เลอร์โดยที่เทอมแรกของฟังก์ชันคือค่าเฉลี่ยและความแปรปรวนมาจากคำสั่งที่สอง โดยเฉพาะถ้าเป็นฟังก์ชันของพารามิเตอร์βและbเป็นตัวประมาณค่าที่สอดคล้องกันโดยทั่วไปสำหรับพารามิเตอร์นั้น: g (ก.β เนื่องจาก βเป็นค่าคงที่และ bเป็นค่าประมาณที่สอดคล้องกันสำหรับ βเราสามารถพูดได้:

ก.()ก.(β)+ก.(β)'(-β)
ββ ในกรณีนี้เป็น OLS คุณประเมินและกรัมเป็น AME คุณสามารถเขียน AME เฉพาะนี้เป็น: g ( b 1 , b 2 ) = b 1 + b 2  หมายถึง( x 2 ) หากคุณใช้การไล่ระดับสีของฟังก์ชันนี้ (จำไว้ว่าฟังก์ชันของค่าสัมประสิทธิ์ไม่ใช่ x
n(ก.()-ก.(β))Dยังไม่มีข้อความ(0,ก.(β)'Σก.(β))
ก.
ก.(1,2)=1+2 ค่าเฉลี่ย(x2)
) มันจะเป็น: [ 1 ,x2 และเมทริกซ์ความแปรปรวนร่วม - ความแปรปรวนร่วมสำหรับ bอาจเป็น: [ s 11 s 12 s 12 s 22 s 22 ] การ เสียบเข้ากับสูตรความแปรปรวนและทำพีชคณิตเมทริกซ์จะให้นิพจน์เดียวกับที่คุณต้องการ
[1,ค่าเฉลี่ย(x2)]'
[s11s12s12s22]

ก.RnumDeriv

เพิ่ม: ในกรณีนี้Rรหัสจะเป็น:

v <- vcov(m)

# Define function of coefficients. Note all coefficients are included so it 
# will match dimensions of regression coefficients, this could be done more 
# elegantly in principle
g <- function(b){
    return(b[2] + b[4] * mean(x2))
}

require(numDeriv) # Load numerical derivative package

grad_g <-  jacobian(g, m$coef) # Jacobian gives dimensions, otherwise same as
                               # gradient 

sqrt(grad_g%*% v %*% t(grad_g)) # Should be exactly the same 

ก.


1
ขอบคุณสำหรับคำตอบที่มีรายละเอียดมาก ฉันคิดว่าสิ่งที่ทำให้ฉันสะดุดเป็นพิเศษคือการไล่ระดับสีเทียบกับสัมประสิทธิ์มากกว่าตัวแปรดั้งเดิม ผมขอขอบคุณความช่วยเหลือของคุณ!
โทมัส

และเป็นเพียงคำถามที่ชัดเจน คุณใช้mean(x2)เมื่อคำนวณ SE จะไม่เพียง แต่สำหรับผลกระทบที่ขอบที่หมายถึง? สัญชาตญาณของฉันคือสำหรับ AMEs ฉันจะต้อง SE สำหรับการสังเกตแต่ละครั้งและจากนั้นเฉลี่ยข้ามพวกเขาในทางใดทางหนึ่ง
โทมัส

1
มันเทียบเท่ากับ AME เชิงเส้นเมื่อคุณหาค่าเฉลี่ยมากกว่าการสังเกตที่คุณเพิ่งจบลงด้วยเอฟเฟ็กต์เล็กน้อยที่ค่าเฉลี่ย ไม่อย่างนั้นคุณจะต้องนิยามgว่าค่าเฉลี่ยของเอฟเฟ็กต์เล็กน้อยสำหรับแต่ละคนและอาจใช้การไล่ระดับสีแบบตัวเลขฉันไม่แน่ใจว่าการใช้ SE สำหรับแต่ละตัวจะค่อนข้างเหมือนกัน
jayk

1
นั่นคือ AME และ ME ที่ค่าเฉลี่ยเทียบเท่ากับ Linear ME SE ไม่คิดว่าจะเท่ากันเพราะรูปแบบของความแปรปรวนเป็นกำลังสองดังนั้นค่าเฉลี่ยจะไม่โผล่ออกมา ฉันไม่มีสัญชาตญาณที่ดีเพราะเหตุใด SE ไม่สามารถถูกรวมเข้ากับข้อสังเกตได้ แต่ฉันค่อนข้างมั่นใจว่ามันเป็นเรื่องจริง
jayk

2
โปรดทราบว่าทฤษฎีบทของเดลต้าไม่ต้องการความปกติ
Alecos Papadopoulos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.