ฉันจะเปรียบเทียบความชันของการถดถอยแบบ bootstrapped ได้อย่างไร


13

ขอให้เราสมมติว่าฉันมีชุดข้อมูลสองชุดโดยมีการสังเกตnคู่ข้อมูลของตัวแปรอิสระxและตัวแปรตามแต่ละy ให้เราคิดต่อไปว่าฉันต้องการสร้างการกระจายตัวของความถดถอยสำหรับแต่ละชุดข้อมูลโดยการบูตการสำรวจ (โดยการแทนที่) Nครั้งและคำนวณการถดถอยy = a + bxแต่ละครั้ง. ฉันจะเปรียบเทียบการแจกแจงสองแบบเพื่อบอกว่าลาดต่างกันอย่างมีนัยสำคัญได้อย่างไร การทดสอบ U สำหรับการทดสอบความแตกต่างระหว่างค่ามัธยฐานของการแจกแจงจะขึ้นอยู่กับ N อย่างมากนั่นคือยิ่งฉันทำการย้ำอีกครั้งบ่อยครั้งเท่าไหร่ ฉันจะต้องคำนวณการทับซ้อนระหว่างการแจกแจงเพื่อกำหนดความแตกต่างที่สำคัญได้อย่างไร

คำตอบ:


19

การทำ Bootstrapping นั้นทำขึ้นเพื่อให้ได้ภาพการกระจายตัวตัวอย่างที่มีประสิทธิภาพมากขึ้นกว่าที่ใช้ทฤษฎีตัวอย่างขนาดใหญ่ เมื่อคุณบู๊ตสแตรปไม่มีการ จำกัด จำนวนของ 'ตัวอย่างรองเท้า' ที่คุณใช้อย่างมีประสิทธิภาพ ในความเป็นจริงคุณจะได้ค่าประมาณการกระจายตัวตัวอย่างที่ดียิ่งขึ้น เป็นเรื่องปกติที่จะใช้ตัวอย่างแม้จะไม่มีอะไรมหัศจรรย์เกี่ยวกับหมายเลขนั้น นอกจากนี้คุณไม่ต้องทำการทดสอบกับรองเท้าบูท คุณมีค่าประมาณของการกระจายตัวตัวอย่าง - ใช้มันโดยตรง นี่คืออัลกอริทึม:B=10,000

  1. ทำบูทตัวอย่างหนึ่งชุดข้อมูลโดยการสุ่มตัวอย่างการสังเกตการบู๊ตด้วยการแทนที่ [เกี่ยวกับความคิดเห็นด้านล่างคำถามหนึ่งที่เกี่ยวข้องคือสิ่งที่ถือเป็น 'การสังเกตการบู๊ต' ที่ถูกต้องที่จะใช้สำหรับรองเท้าบูทของคุณ ในความเป็นจริงมีหลายวิธีที่ถูกกฎหมาย; ฉันจะพูดถึงสองที่มีประสิทธิภาพและช่วยให้คุณสามารถสะท้อนโครงสร้างของข้อมูลของคุณ: เมื่อคุณมีข้อมูลเชิงสังเกต (เช่นข้อมูลถูกสุ่มตัวอย่างในทุกมิติการสังเกตการบู๊ตสามารถสั่งซื้อ n-tuple (เช่นแถว จากชุดข้อมูลของคุณ) ตัวอย่างเช่นหากคุณมีตัวแปรตัวทำนายหนึ่งตัวและตัวแปรตอบกลับหนึ่งตัวคุณจะลองตัวอย่างn 1 ( x , y ) n 1 j y j y Xn1n1 (x,y)สั่งคู่ ในทางกลับกันเมื่อทำงานกับข้อมูลการทดลองค่าตัวแปรตัวทำนายไม่ได้ถูกสุ่มตัวอย่าง แต่หน่วยการทดลองถูกกำหนดให้อยู่ในระดับที่ต้องการของตัวแปรตัวทำนายแต่ละตัว ในกรณีเช่นนี้คุณจะได้ลิ้มลองค่าจากภายในแต่ละระดับของตัวแปรทำนายของคุณแล้วจับคู่ผู้ s มีค่าที่สอดคล้องกันของระดับทำนายว่า ในลักษณะนี้คุณจะไม่ทดลองใช้ ]n1j yjyX
  2. พอดีกับโมเดลการถดถอยของคุณและเก็บค่าประมาณความชัน (เรียกว่า )β^1
  3. ใช้ตัวอย่างรองเท้าของชุดข้อมูลอื่นโดยการสุ่มตัวอย่างการสังเกตการบู๊ตพร้อมการเปลี่ยนn2
  4. พอดีกับโมเดลการถดถอยอื่น ๆ และจัดเก็บค่าประมาณความชัน (เรียกว่า )β^2
  5. จัดทำสถิติจากประมาณการสองข้อ (ข้อเสนอแนะ: ใช้ความแตกต่างของความชัน )β^1β^2
  6. เก็บสถิติและดัมพ์ข้อมูลอื่นเพื่อไม่ให้หน่วยความจำเสีย
  7. ทำซ้ำขั้นตอนที่ 1 - 6,ครั้งB=10,000
  8. จัดเรียงการกระจายการสุ่มตัวอย่าง bootstrapped ของความแตกต่างลาด
  9. คำนวณ% ของ bsd ที่ทับซ้อนกัน 0 (แล้วแต่จำนวนใดจะน้อยกว่าหางขวา% หรือหางซ้าย%)
  10. คูณเปอร์เซ็นต์นี้ด้วย 2

ตรรกะของอัลกอริทึมนี้เป็นการทดสอบทางสถิติคล้ายกับการทดสอบแบบดั้งเดิม (เช่นการทดสอบแบบที) แต่คุณไม่ได้สมมติว่าข้อมูลหรือการแจกแจงตัวอย่างที่เกิดขึ้นมีการแจกแจงเฉพาะใด ๆ (ตัวอย่างเช่นคุณไม่ได้ใช้เกณฑ์ปกติ) สมมติฐานหลักที่คุณทำคือข้อมูลของคุณเป็นตัวแทนของประชากรที่คุณสุ่มตัวอย่างจาก / ต้องการสรุปให้ นั่นคือการกระจายตัวอย่างมีความคล้ายคลึงกับการกระจายตัวของประชากร โปรดทราบว่าหากข้อมูลของคุณไม่เกี่ยวข้องกับประชากรที่คุณสนใจคุณก็จะโชคดี

บางคนกังวลเกี่ยวกับการใช้ตัวอย่างเช่นแบบจำลองการถดถอยเพื่อกำหนดความชันหากคุณไม่เต็มใจที่จะทำตามปกติ อย่างไรก็ตามความกังวลนี้ถูกเข้าใจผิด ทฤษฎีของเกาส์ - มาร์คอฟบอกเราว่าการประเมินนั้นไม่เอนเอียง (เช่นมีศูนย์กลางอยู่ที่มูลค่าที่แท้จริง) ดังนั้นมันจึงใช้ได้ การขาดกฎเกณฑ์เพียงอย่างเดียวนั้นหมายความว่าการกระจายตัวตัวอย่างที่แท้จริงอาจแตกต่างจากการวางตัวทางทฤษฎีอย่างใดอย่างหนึ่งและค่า p- ไม่ถูกต้อง ขั้นตอนการบูตสแตรปให้คุณจัดการกับปัญหานี้ได้

อีกสองประเด็นที่เกี่ยวข้องกับการบูตสแตรป: ถ้าพบสมมติฐานแบบดั้งเดิมการบู๊ตสแตรปจะมีประสิทธิภาพน้อยกว่า (เช่นมีกำลังน้อยกว่า) การทดสอบพาราเมตริก ประการที่สองการบูตสแตรปจะทำงานได้ดีที่สุดเมื่อคุณสำรวจใกล้กับศูนย์กลางของการกระจาย: หมายความว่าและคนมัธยฐานเป็นคนดีควอไทล์ไม่ดีนัก คุณอาจไม่จำเป็นต้องบู๊ตในสถานการณ์ของคุณ เกี่ยวกับจุดที่สองความลาดชันเป็นเรื่องปกติ


แม้ว่าฉันอาจจะผิดฉันคิดว่า bootstrap ในการถดถอยจะต้องอยู่ในส่วนที่เหลือมากกว่าในข้อมูลดิบที่จะตรวจสอบ ...
ซีอาน

@ ซีอานฉันคิดผิดต่อตัวเอง แต่ฉันไม่เข้าใจว่าทำไมคุณคิดว่ามีเพียงส่วนที่เหลือในการบูตสแตรปเท่านั้นที่ถูกต้อง Efron & Tibshirani (1994) ส่วนที่ 9.5 กล่าวว่า "คู่ของ Bootstrapping มีความอ่อนไหวต่อสมมติฐานน้อยกว่าส่วนที่เหลือจากการทำรองเท้าข้อผิดพลาดมาตรฐานที่ได้รับจากคู่ของ bootstrapping ให้คำตอบที่สมเหตุสมผลแม้ว่า [โครงสร้างความน่าจะเป็นของโมเดลเชิงเส้น] นั้นผิดทั้งหมด ความหมายก็คือแอปพลิเคชันของ bootstrap นั้นมีความแข็งแกร่งกว่าแม้ว่ามันจะบอกว่ามันมีประสิทธิภาพน้อยกว่าในบางกรณี
gung - Reinstate Monica

ความกังวลของฉันในการบูตสแตรปคือคุณรวมการกระจายของตัวทำนายซึ่งโดยปกติแล้วจะอยู่ด้านนอกของรูปภาพในแบบจำลองเชิงเส้นปกติ นั่นเป็นเหตุผลที่ฉันสอนให้นักเรียนของฉันบูตส่วนที่เหลือเท่านั้น
ซีอาน

@ ซีอานนั่นคือจุดที่เหมาะสมฉันคิดว่าฉันสมมติโครงสร้างข้อมูลเชิงสังเกต ฉันได้แก้ไขคำตอบของฉันเพื่อเพิ่มรายละเอียดเพิ่มเติมเกี่ยวกับข้อกังวลเหล่านี้ อย่างไรก็ตามฉันไม่เห็นว่าวิธีการที่บ่งบอกว่าคู่ bootstrapping จำเป็นต้องไม่ถูกต้อง
gung - Reinstate Monica

การบังคับให้จับคู่ระหว่างชุดข้อมูลสองชุดที่เป็นอิสระนั้นเป็นสิ่งที่ประดิษฐ์และไม่มีประสิทธิภาพ คุณทำได้ดีกว่านั้นมาก!
whuber

4

si

yi=β0+β1xi+β2si+β3sixi+ϵi
β3
E[yix,si=1]=(β0+β2)+(β1+β3)xiE[yix,si=0]=β0+β1xi.
β3nn2n

หากคุณมีความสัมพันธ์ระหว่างข้อกำหนดข้อผิดพลาดคุณอาจต้องแก้ไขขั้นตอนนี้เล็กน้อยดังนั้นให้เขียนกลับมาใหม่หากเป็นกรณีนี้

คุณสามารถพูดคุยถึงแนวทางนี้กับกรอบการถดถอย (SUR) ที่ดูเหมือนไม่เกี่ยวข้อง วิธีนี้ยังช่วยให้ค่าสัมประสิทธิ์สำหรับการสกัดกั้นและความชันจะแตกต่างกันโดยพลการในชุดข้อมูลสองชุด


1
มันเป็นความคิดที่ดี. แต่สิ่งนี้ไม่ถือว่าการถดถอยทั้งสองนั้นมีข้อผิดพลาดของ iid หรือไม่
whuber

1
จุดดี. มันต้องการให้ไม่มีความแตกต่างที่แตกต่างกันสำหรับข้อผิดพลาดโดยกลุ่มและข้อผิดพลาดที่ไม่ได้มีความสัมพันธ์ในกลุ่มที่แตกต่างกัน
Charlie

0

การทำทุกอย่างในการถดถอยครั้งเดียวนั้นเป็นระเบียบและการสันนิษฐานของความเป็นอิสระนั้นสำคัญ แต่การคำนวณจุดประมาณด้วยวิธีนี้ไม่จำเป็นต้องมีความแปรปรวนคงที่ ลองใช้รหัส R นี้

x <- rbinom(100, 1, 0.5)
z <- rnorm(100)
y <- rnorm(100)
coef(lm(y~x*z))
coef(lm(y~z, subset= x==1))[1] - coef(lm(y~z, subset= x==0))[1]
coef(lm(y~z, subset= x==1))[2] - coef(lm(y~z, subset= x==0))[2]

เราได้ค่าประมาณเท่ากันทั้งสองวิธี การประมาณการข้อผิดพลาดมาตรฐานอาจต้องการความแปรปรวนคงที่ (ขึ้นอยู่กับว่าคุณใช้งานแบบใด) แต่การบูตสแตรปที่พิจารณาที่นี่ไม่ได้ใช้ข้อผิดพลาดมาตรฐานโดยประมาณ


1
หากคุณกำลังจะทดสอบว่าส่วนต่างของเนินเขานั้นเป็นศูนย์หรือไม่ (ตามคำตอบของ @ Charlie ซึ่งคุณดูเหมือนจะติดตามอยู่) คุณต้องมีการประเมินข้อผิดพลาดมาตรฐานที่ถูกต้องและแม่นยำ ไม่สำคัญว่าคุณจะบู๊ตค่าประมาณนั้นหรือไม่
whuber
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.