วิธีดำเนินการทดสอบ kpss ใน r (รวมถึงตัวอย่าง)


การทดสอบ KPSS สามารถใช้เพื่อพิจารณาว่าอนุกรมเวลามีแนวโน้มคงที่หรือไม่

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

  • H 0 : อนุกรมเวลามีแนวโน้มคงที่
  • H A : อนุกรมเวลา ไม่มี แนวโน้มคงที่

หาก ค่า p ของการทดสอบต่ำกว่าระดับนัยสำคัญที่กำหนด (เช่น α = 0.05) เราจะปฏิเสธสมมติฐานว่างและสรุปว่าอนุกรมเวลาไม่มีแนวโน้มคงที่

มิฉะนั้น เราจะล้มเหลวในการปฏิเสธสมมติฐานที่เป็นโมฆะ

ตัวอย่างต่อไปนี้แสดงวิธีดำเนินการทดสอบ KPSS ใน R

ตัวอย่างที่ 1: การทดสอบ KPSS ใน R (พร้อมข้อมูลที่อยู่กับที่)

ขั้นแรก เรามาสร้างข้อมูลปลอมใน R เพื่อใช้กับ:

 #make this example reproducible
set. seeds (100)

#create time series data
data<-rnorm(100)

#plot time series data as line plot
plot(data, type=' l ') 

เราสามารถใช้ฟังก์ชัน kpss.test() จากแพ็คเกจ tseries เพื่อทำการทดสอบ KPSS กับข้อมูลอนุกรมเวลานี้:

 library (tseries)

#perform KPSS test
kpss. test (data, null=" Trend ")

	KPSS Test for Trend Stationarity

data:data
KPSS Trend = 0.034563, Truncation lag parameter = 4, p-value = 0.1

Warning message:
In kpss.test(data, null = "Trend"): p-value greater than printed p-value

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

ซึ่งหมายความว่าเราสามารถสรุปได้ว่าอนุกรมเวลามีแนวโน้มคงที่

หมายเหตุ : จริงๆ แล้วค่า p ยังคงมากกว่า 0.1 แต่ค่าต่ำสุดที่ฟังก์ชัน kpss.test() จะสร้างคือ 0.1

ตัวอย่างที่ 2: การทดสอบ KPSS ใน R (พร้อมข้อมูลที่ไม่คงที่)

ขั้นแรก เรามาสร้างข้อมูลปลอมใน R เพื่อใช้กับ:

 #make this example reproducible

#create time series data
data <-c(0, 3, 4, 3, 6, 7, 5, 8, 15, 13, 19, 12, 29, 15, 45, 23, 67, 45)

#plot time series data as line plot
plot(data, type=' l ') 

ขอย้ำอีกครั้งว่าเราสามารถใช้ฟังก์ชัน kpss.test() จากแพ็คเกจ tseries เพื่อทำการทดสอบ KPSS กับข้อมูลอนุกรมเวลานี้:

 library (tseries)

#perform KPSS test
kpss. test (data, null=" Trend ")

	KPSS Test for Trend Stationarity

data:data
KPSS Trend = 0.149, Truncation lag parameter = 2, p-value = 0.04751

ค่า p คือ 0.04751 ค่านี้น้อยกว่า 0.05 เราปฏิเสธสมมติฐานว่างของการทดสอบ KPSS

ซึ่งหมายความว่าอนุกรมเวลา ไม่ คงที่

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้ให้ข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานกับข้อมูลอนุกรมเวลาใน R:

วิธีการพล็อตอนุกรมเวลาใน R
วิธีทำการทดสอบ Augmented Dickey-Fuller ใน R

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

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