วิธีทำการทดสอบเวรกรรมของ granger ใน r


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

การทดสอบนี้ใช้สมมติฐานว่างและทางเลือกต่อไปนี้:

สมมติฐานว่าง (H 0 ): อนุกรมเวลา x ไม่ได้ทำให้เกิดอนุกรมเวลา y กับ Granger

สมมติฐานทางเลือก ( HA ): อนุกรมเวลา x อนุกรมเวลาของเกรนเจอร์ทำให้เกิด y

คำว่า “สาเหตุเกรนเจอร์” หมายความว่าการทราบค่าของอนุกรมเวลา x ด้วยความล่าช้าบางอย่างจะเป็นประโยชน์ในการทำนายค่าของอนุกรมเวลา y ในภายหลัง

การทดสอบนี้สร้างสถิติการทดสอบ F ที่มีค่า p ที่สอดคล้องกัน หากค่า p ต่ำกว่า ระดับนัยสำคัญที่กำหนด (เช่น α = 0.05) เราก็สามารถปฏิเสธสมมติฐานว่างและสรุปได้ว่าเรามีหลักฐานเพียงพอที่จะยืนยันว่าอนุกรมเวลา x เกรนเจอร์ทำให้เกิดอนุกรมเวลา y

ในการทำการทดสอบ Granger-Causality ใน R เราสามารถใช้ฟังก์ชัน grangertest() จากแพ็คเกจ lmtest ซึ่งใช้ไวยากรณ์ต่อไปนี้:

grangertest(x, y, ลำดับ = 1)

ทอง:

  • x: ซีรีส์ครั้งแรก
  • y: ซีรีส์ครั้งที่สอง
  • ลำดับ: จำนวนออฟเซ็ตที่จะใช้ในอนุกรมครั้งแรก ค่าเริ่มต้นคือ 1

ตัวอย่างทีละขั้นตอนต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ

ขั้นตอนที่ 1: กำหนดอนุกรมเวลาสองชุด

สำหรับตัวอย่างนี้ เราจะใช้ชุดข้อมูล ChickEgg ที่โหลดไว้ล่วงหน้าในแพ็คเกจ lmtest ชุดข้อมูลนี้ประกอบด้วยจำนวนไข่ที่ผลิตรวมทั้งจำนวนไก่ในสหรัฐอเมริกาตั้งแต่ปี 1930 ถึง 1983:

 #load lmtest package
library (lmtest)

#load ChickEgg dataset
data(ChickEgg)

#view first six rows of dataset
head(ChickEgg)

     chicken egg
[1,] 468491 3581
[2,] 449743 3532
[3,] 436815 3327
[4,] 444523 3255
[5,] 433937 3156
[6,] 389958 3081

ขั้นตอนที่ 2: ทำการทดสอบสาเหตุของ Granger

ต่อไป เราจะใช้ฟังก์ชัน grangertest() เพื่อทำการทดสอบสาเหตุของ Granger เพื่อดูว่าจำนวนไข่ที่ผลิตสามารถทำนายจำนวนแม่ไก่ในอนาคตได้หรือไม่ เราจะทำการทดสอบโดยใช้ออฟเซ็ตสามแบบ:

 #perform Granger-Causality test
grangertest(chicken ~ egg, order = 3 , data = ChickEgg)

Granger causality test

Model 1: chicken ~ Lags(chicken, 1:3) + Lags(egg, 1:3)
Model 2: chicken ~ Lags(chicken, 1:3)
  Res.Df Df F Pr(>F)   
1 44                     
2 47 -3 5.405 0.002966 **
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:

  • แบบจำลอง 1: แบบจำลองนี้พยายามทำนายจำนวนไก่โดยใช้จำนวนไก่ในช่วงสามปีที่ผ่านมาและจำนวนไข่ในช่วงสามปีที่ผ่านมาเป็นตัวแปรทำนาย
  • โมเดล 2: แบบจำลองนี้พยายามทำนายจำนวนไก่โดยใช้เพียงจำนวนไก่ในช่วง 3 ปีที่ผ่านมาเป็นตัวแปรทำนาย
  • F: นี่คือสถิติการทดสอบ F กลายเป็น 5.405
  • Pr(>F): นี่คือค่า p ที่สอดคล้องกับสถิติการทดสอบ F กลายเป็น .002966

เนื่องจากค่า p น้อยกว่า 0.05 เราจึงสามารถปฏิเสธสมมติฐานว่างของการทดสอบได้ และสรุปได้ว่าการทราบจำนวนไข่จะมีประโยชน์ในการทำนายจำนวนแม่ไก่ในอนาคต

ขั้นตอนที่ 3: ทำการทดสอบ Granger Causality ในแบบย้อนกลับ

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

เพื่อแยกแยะความเป็นไปได้นี้ เราจำเป็นต้องทำการทดสอบ Granger-Causality ในแบบย้อนกลับ โดยใช้ไก่เป็นตัวแปรทำนาย และใช้ไข่เป็น ตัวแปรตอบสนอง :

 #perform Granger-Causality test in reverse
grangertest(egg ~ chicken, order = 3 , data = ChickEgg)

Granger causality test

Model 1: egg ~ Lags(egg, 1:3) + Lags(chicken, 1:3)
Model 2: egg ~ Lags(egg, 1:3)
  Res.Df Df F Pr(>F)
1 44                 
2 47 -3 0.5916 0.6238

ค่า p ของการทดสอบคือ 0.6238 เนื่องจากนี่ไม่น้อยกว่า 0.05 เราจึงปฏิเสธสมมติฐานว่างไม่ได้ กล่าวอีกนัยหนึ่ง จำนวนแม่ไก่ไม่ได้ทำนายจำนวนไข่ในอนาคต

ดังนั้นจึงสามารถสรุปได้ว่าการรู้จำนวนไข่มีประโยชน์ในการทำนายจำนวนแม่ไก่ในอนาคต

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *