คุณจะทำการ bootstrapping ด้วยข้อมูลอนุกรมเวลาได้อย่างไร


33

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

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


16
คำค้นหาที่สำคัญ: บล็อก bootstrap
พระคาร์ดินัล

คำตอบ:


26

เมื่อ @ cardinal ชี้ให้เห็นความแตกต่างของ 'block bootstrap' เป็นวิธีการที่เป็นธรรมชาติ ที่นี่ขึ้นอยู่กับวิธีการที่คุณเลือกเหยียดของอนุกรมเวลาไม่ว่าจะทับซ้อนกันหรือไม่และมีความยาวคงที่หรือแบบสุ่มซึ่งสามารถรับประกันความคงที่ในตัวอย่าง ( Politis และ Romano, 1991 ) จากนั้นต่อเข้าด้วยกันเพื่อสร้างอนุกรมเวลา ที่คุณคำนวณสถิติของคุณ นอกจากนี้คุณยังสามารถลองสร้างแบบจำลองของการพึ่งพาทางโลกนำไปสู่วิธีการของมาร์คอฟตะแกรงอัตโนมัติและอื่น ๆ แต่การบล็อกการบูตสแตรปอาจเป็นวิธีที่ง่ายที่สุดในการติดตั้ง

Gonçalves and Politis (2011)เป็นรีวิวสั้น ๆ ที่มีการอ้างอิง ระยะเวลาในการรักษาหนังสือหิ (2010)


@statnub หากสิ่งนี้เกี่ยวข้องกับคำถามการแทรกแซงการขายรายสัปดาห์ของคุณก่อนหน้านี้โปรดทราบว่าคุณจะบู๊ตหากคุณไม่เชื่อถือสมมติฐานของโมเดลที่คุณนำไปใช้งาน การใช้โมเดลอนุกรมเวลาที่สมเหตุสมผลในตอนแรกควรลดความเสี่ยงของสิ่งต่าง ๆ ที่จะบ่งบอกว่าการเริ่มต้นแบบนี้ ...
ผัน

6
คำตอบที่ดี. ให้ฉันเพิ่มที่คุณสามารถใช้tsbootในbootแพ็คเกจใน R เพื่อทำสิ่งนี้
MånsT

@ MånsT Nice ฉันไม่รู้เกี่ยวกับแพ็คเกจนั้น
conjugateprior

5

x1,···,xnx1,x2,···,xn

การสุ่มตัวอย่างตามรูปแบบใหม่สามารถนำไปใช้กับอนุกรมเวลาได้อย่างง่ายดาย resamples ที่ได้รับโดยการจำลองรูปแบบอนุกรมเวลา ตัวอย่างเช่นถ้าโมเดลคือ ARIMA (p, d, q) ดังนั้นตัวอย่างของโมเดล ARIMA (p, q) ที่มี MLEs (จากซีรีส์ที่แตกต่างกัน) ของสัมประสิทธิ์ออโตเรียร์และค่าเฉลี่ยเคลื่อนที่และค่าความแปรปรวนของเสียง resamples เป็นลำดับของผลรวมบางส่วนของกระบวนการ ARIMA จำลอง (p, q)

การสุ่มตัวอย่างแบบฟรีอีกครั้งของอนุกรมเวลาสามารถทำได้โดยการบล็อกใหม่อีกครั้งหรือที่เรียกว่า block bootstrap ซึ่งสามารถนำไปใช้งานได้โดยใช้ฟังก์ชัน tsboot ในแพ็คเกจการบูตของ R แนวคิดคือการแบ่งซีรี่ส์ออกเป็นบล็อกที่มีความยาวเท่ากันโดยประมาณของการสังเกตต่อเนื่องเพื่อสุ่มบล็อกใหม่ด้วยการแทนที่แล้ววางบล็อกเข้าด้วยกัน ตัวอย่างเช่นหากอนุกรมเวลามีความยาว 200 และหนึ่งใช้ 10 บล็อกของความยาว 20 บล็อกนั้นจะเป็นข้อสังเกต 20 ครั้งแรก 20 ข้อถัดไปและอื่น ๆ resample ที่เป็นไปได้คือบล็อกที่สี่ (การสังเกต 61 ถึง 80) จากนั้นบล็อกสุดท้าย (การสังเกต 181 ถึง 200) จากนั้นบล็อกที่สอง (การสังเกต 21 ถึง 40) จากนั้นบล็อกที่สี่อีกครั้งและต่อ ๆ ไปจนกว่าจะมี 10 บล็อก ใน resample


1
มีรูปแบบอื่น ๆ ของวิธี bootstrap บล็อกรวมถึง bootstrap บล็อกทับซ้อนและ bootstrap บล็อกวงกลมซึ่งอธิบายไว้ในรายละเอียดในหนังสือของ Lahiri (2003) "วิธีการ Resampling สำหรับข้อมูลที่ขึ้นอยู่กับ" วิธีการเหล่านี้ใช้ได้กับอนุกรมเวลาที่อยู่กับที่
Michael R. Chernick
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.