คำสั่ง Lag สำหรับการทดสอบ Granger Causality


11

สมมติว่าฉันกำลังพิจารณาตัวแปรอิสระหลายตัวสำหรับการรวมไว้ในโมเดล ARIMAX ที่ฉันกำลังพัฒนา ก่อนที่จะปรับตัวแปรที่แตกต่างกันฉันต้องการคัดกรองตัวแปรที่มีสาเหตุแบบย้อนกลับโดยใช้การทดสอบ Granger (ฉันใช้granger.testฟังก์ชั่นจากMSBVARแพ็คเกจใน R แม้ว่าฉันเชื่อว่าการทำงานอื่น ๆ คล้ายกัน) ฉันจะกำหนดจำนวนการทดสอบที่ล่าช้าได้อย่างไร

ฟังก์ชัน R คือ: granger.test(y, p)โดยที่ydata frame หรือ matrix และpเป็น lags

สมมติฐานคือว่าที่ผ่านมาค่าของไม่ได้ช่วยในการทำนายค่าของYpXY

มีเหตุผลใดที่จะไม่เลือกความล่าช้าที่สูงมากที่นี่ (นอกเหนือจากการสูญเสียการสังเกต)?

โปรดทราบว่าฉันได้แตกต่างทุกอนุกรมเวลาในกรอบข้อมูลของฉันตามลำดับของการรวมของอนุกรมเวลาขึ้นอยู่กับฉัน (เช่นทำให้ความแตกต่างของอนุกรมเวลาขึ้นต่อกันของฉันทำให้มันหยุดนิ่งดังนั้นฉันจึงแตกต่างอนุกรมเวลา "อิสระ" ทั้งหมดหนึ่งครั้ง)


1
โปรดทราบว่ากลยุทธ์ของคุณในการให้ความแตกต่างเพื่อให้ได้รับความคงอยู่อาจขาดการติดต่อ ดูบล็อกโพสต์ที่ยอดเยี่ยม"การทดสอบเพื่อความเป็นเวสต์เกรนเจอร์"โดย Dave Giles สำหรับรายละเอียด
Richard Hardy

คำตอบ:


12

การแลกเปลี่ยนระหว่างอคติและอำนาจ ล่าช้าน้อยเกินไปคุณมีการทดสอบแบบลำเอียงเนื่องจากความสัมพันธ์อัตโนมัติเหลือ มากเกินไปคุณอนุญาตให้มีการปฏิเสธอาจปลอมของโมฆะ - บางความสัมพันธ์สุ่มอาจจะทำให้มันมีลักษณะเหมือนช่วยให้คาดการณ์Yไม่ว่าจะเป็นเรื่องจริงหรือไม่นั้นขึ้นอยู่กับข้อมูลของคุณฉันคิดว่าฉันน่าจะสูงขึ้น แต่ความล่าช้าในการตัดสินใจสามารถกำหนดได้ดังนี้YXY

จะต้องมีการทดสอบความเป็นเหตุเป็นผลของแรนเจอร์ในบริบทของแบบจำลอง ในกรณีเฉพาะของgranger.testฟังก์ชันใน R ตัวแบบมีค่า p ที่ผ่านมาของแต่ละตัวแปรสองตัวในการทดสอบค่าตัวแปร ดังนั้นรูปแบบที่ใช้คือ:

yi,t=α+l=1pβlyi,tl+γlxi,tl+ϵi,t

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

โดยทั่วไปจำนวนความล่าช้าในโมเดลอาจแตกต่างกันสำหรับและและการทดสอบ Granger จะยังคงเหมาะสม ในกรณีเฉพาะของการดำเนินการตามที่คุณถูก จำกัด จำนวนล่าช้าสำหรับทั้งคู่ นี่เป็นเรื่องของความสะดวกสบายไม่ใช่ความจำเป็นทางทฤษฎี ที่มีความยาวแตกต่างกันสำหรับความล่าช้าตัวแปรทั้งสองคุณยังสามารถใช้ AIC หรือ BIC เพื่อเลือกรูปแบบของคุณคุณก็จะต้องเปรียบเทียบหลายชุดล่าช้าของและล่าช้าของปีดูนี่สิy n x m yxygranger.testnxmy

เพียงแค่คำเสริม - เนื่องจากการทดสอบของ Granger ขึ้นอยู่กับแบบจำลองตัวแปรที่ถูกละเว้นอาจมีปัญหาสำหรับสาเหตุของ Granger คุณอาจต้องการรวมตัวแปรทั้งหมดไว้ในแบบจำลองของคุณแล้วใช้ Granger Causality เพื่อแยกบล็อกของพวกเขาแทนการใช้granger.testฟังก์ชั่นที่ทำการทดสอบแบบคู่เท่านั้น


ให้ฉันดูว่าฉันเข้าใจสิ่งนี้ถูกต้องหรือไม่ ... ดังนั้นถ้าฉันตรวจสอบว่า y เป็นสาเหตุของการเปลี่ยนแปลงใน x1 หรือไม่ฉันจะทำหลาย ๆ อย่าง: x1 ~ L (y, 1), x1 ~ L (y, 1) + L (y, 2), x1 ~ L (y, 1) + L (y, 2) + L (y, 3) ... แล้วอันที่มี IC ที่ดีที่สุดคือความล่าช้าที่ฉันเลือกใช้สำหรับการทดสอบ Granger?
ch-pub

1
ใช่แม้ว่าจะรวมค่า lagged ของ x ด้วยเช่นกัน
jayk

ฉันไม่แน่ใจว่าฉันเข้าใจส่วนนั้นหรือไม่ คุณหมายถึงอะไรเช่นนี้? x1 ~ L (y, 1) + L (x1,1) เมื่อเทียบกับ x1 ~ L (y, 1) + L (x1,1) + L (y, 2) + L (x1,2) กับ ...
ch-pub

2
ใช่. โดยทั่วไปคุณไม่จำเป็นต้องทำเช่นนี้เพราะความยาวของความล่าช้าไม่จำเป็นต้องเหมือนกันสำหรับ x และ y โปรดดู: en.wikipedia.org/wiki/Granger_causality#Mathematical_statement อย่างไรก็ตามคำสั่ง R granger.test ใช้ค่า p ที่ผ่านมาของ x และ y ด้วยสเปคนี้อ้างอิงการทดสอบที่คุณต้องลองใช้ IC โดยมีค่า n ที่ผ่านมาของ x และ y กับ IC ที่มี n + 1 ค่าที่ผ่านมาของ x และ y
jayk

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