การอนุมานการถดถอยที่แข็งแกร่งและตัวประมาณแซนวิช


10

คุณช่วยยกตัวอย่างการใช้ตัวประมาณค่าแซนวิชเพื่อทำการอนุมานการถดถอยที่มีประสิทธิภาพได้หรือไม่?

ฉันสามารถดูตัวอย่างใน?sandwichแต่ฉันไม่เข้าใจวิธีการที่เราสามารถไปจากlm(a ~ b, data)( -coded) เพื่อการประมาณการและPsandwichคุ้มค่าที่เกิดจากรูปแบบการถดถอยโดยใช้เมทริกซ์ความแปรปรวนแปรปรวนส่งกลับโดยฟังก์ชั่น


คุณเคยผ่านตัวอย่างในบทความที่เกี่ยวข้องหรือไม่
user603

(1) ลิงค์ใช้งานได้สำหรับฉัน (2) นี่เป็นคำถามการเข้ารหัสหรือไม่? วิธีรับ Huber-White SE หลังจากติดตั้งแบบจำลอง หรืออย่างอื่น?
charles

@charles 1) ใช้งานได้จริง! ไม่รู้ว่าเกิดอะไรขึ้นก่อนหน้านี้ ใช่มันเป็นคำถามที่เข้ารหัส 2) ฉันไม่รู้ว่าอะไรคือข้อผิดพลาดมาตรฐานของ Huber-White และไม่ทราบวิธีการคำนวณในขณะนี้ ขอบคุณสำหรับความช่วยเหลือของคุณ!
Remi.b

คุณได้รับค่า p & ข้อผิดพลาดมาตรฐานในลักษณะเดียวกันตามปกติแทนที่การประมาณแบบแซนด์วิชของเมทริกซ์ความแปรปรวนร่วม - ความแปรปรวนร่วมสำหรับสี่เหลี่ยมจัตุรัสที่น้อยที่สุด
Scortchi - Reinstate Monica

@Scortchi ตกลง และเมื่อฉันมีการประมาณค่าเหล่านี้ (OLS หรือการประมาณแซนด์วิช) ฉันจะทำอย่างไรกับพวกเขา
Remi.b

คำตอบ:


9

ฉันคิดว่ามีวิธีการไม่กี่ ฉันไม่ได้ดูพวกเขาทั้งหมดและไม่แน่ใจว่าสิ่งที่ดีที่สุด:

  1. sandwichแพคเกจ:

    library(sandwich)    
    coeftest(model, vcov=sandwich)

แต่นี่ไม่ใช่คำตอบเดียวกับที่ฉันได้รับจาก Stata ด้วยเหตุผลบางอย่าง ฉันไม่เคยพยายามหาสาเหตุว่าทำไมฉันจึงไม่ใช้แพ็คเกจนี้

  1. rmsแพคเกจ: ฉันพบนี้เป็นบิตของความเจ็บปวดในการทำงานที่มี แต่มักจะได้คำตอบที่ดีกับความพยายามบางอย่าง และมันมีประโยชน์มากที่สุดสำหรับฉัน

    model = ols(a~b, x=TRUE)    
    robcov(model)
  2. คุณสามารถโค้ดได้ตั้งแต่เริ่มต้น (ดูโพสต์บล็อกนี้ ) ดูเหมือนตัวเลือกที่เจ็บปวดที่สุด แต่ง่ายอย่างน่าทึ่งและตัวเลือกนี้มักจะทำงานได้ดีที่สุด

คำอธิบายอย่างง่าย / รวดเร็วคือ Huber-White หรือ Robust SE นั้นได้มาจากข้อมูลแทนที่จะมาจากตัวแบบและทำให้มีความทนทานต่อข้อสมมติฐานหลายแบบ แต่เช่นเคยการค้นหาโดย Google อย่างรวดเร็วจะช่วยอธิบายรายละเอียดที่น่าตื่นเต้นหากคุณสนใจ


คุณควรเห็นคำตอบนี้จริง ๆ ที่นี่: stats.stackexchange.com/a/117066/12053
chandler

2
มันเหมือนกับวิธีที่คำตอบนี้อนุมานว่ามีบางอย่างผิดปกติกับ R เนื่องจากคุณได้ผลลัพธ์ที่แตกต่างจาก Stata สำหรับผู้ที่รู้วิธีการทำงานของเครื่องประมาณค่าความแตกต่างนั้นชัดเจนและง่ายต่อการรักษา สำหรับผู้ที่ไม่ทราบเพียงแค่อ่านบทความสั้น ๆ (คู่มือ) ซึ่งจัดส่งพร้อมกับแพคเกจ
Repmat

10

หนึ่งสามารถใช้ฟังก์ชันสรุปทางเลือกเพื่อดำเนินการถดถอยที่แข็งแกร่ง

lm.object <- lm(a~b+c)
summary(lm.object, robust=TRUE)

ในการรับข้อผิดพลาดมาตรฐานที่มีประสิทธิภาพคุณต้องตั้งค่าพารามิเตอร์ '' strong '' ในฟังก์ชันสรุปของคุณเป็น TRUE

รายการบล็อกต่อไปนี้มีฟังก์ชันและคำอธิบายโดยละเอียดของฟังก์ชัน: https://economictheoryblog.com/2016/08/08/robust-standard-errors-in-r

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