อนุกรมเวลาที่ต่างกันก่อน Arima หรือภายใน Arima


13

มันจะดีกว่าที่จะแตกต่างชุด (สมมติว่ามันต้องการ) ก่อนที่จะใช้ Arima หรือดีกว่าที่จะใช้พารามิเตอร์ d ภายใน Arima?

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

install.packages("forecast")
library(forecast)

wineindT<-window(wineind, start=c(1987,1), end=c(1994,8))
wineindT_diff <-diff(wineindT)

#coefficients and other measures are similar
modA<-Arima(wineindT,order=c(1,1,0))
summary(modA)
modB<-Arima(wineindT_diff,order=c(1,0,0))
summary(modB)

#fitted values from modA
A<-forecast.Arima(modA,1)$fitted

#fitted from modB, setting initial value to the first value in the original series
B<-diffinv(forecast.Arima(modB,1)$fitted,xi=wineindT[1])


plot(A, col="red")
lines(B, col="blue")

เพิ่ม:

โปรดทราบว่าฉันกำลังแตกต่างของซีรีส์หนึ่งครั้งและใส่อารีมา (1,0,0) จากนั้นฉันก็ใส่อาริมา (1,1,0) ให้พอดีกับซีรี่ส์ดั้งเดิม ฉัน (ฉันคิดว่า) ย้อนกลับความแตกต่างของค่าที่ติดตั้งสำหรับ arima (1,0,0) ในไฟล์ที่แตกต่าง

ฉันกำลังเปรียบเทียบค่าติดตั้ง - ไม่ใช่การคาดการณ์

นี่คือพล็อต (สีแดงคือ arima (1,1,0) และสีน้ำเงินคือ arima (1,0,0) ในซีรีส์ที่แตกต่างหลังจากเปลี่ยนกลับไปเป็นระดับเดิม):

ป้อนคำอธิบายรูปภาพที่นี่

การตอบสนองต่อคำตอบของ Dr. Hyndman:

1) คุณสามารถอธิบายในรหัส R สิ่งที่ฉันจะต้องทำเพื่อให้ได้ค่าที่พอดี (และคาดการณ์) เพื่อจับคู่ (ให้ความแตกต่างเล็กน้อยเนื่องจากจุดแรกในคำตอบของคุณ) ระหว่าง Arima (1,1, 0) และ Arima (1,0,0) ในซีรี่ส์ที่แตกต่างกันด้วยตนเองหรือไม่ ฉันคิดว่าสิ่งนี้เกี่ยวข้องกับค่าเฉลี่ยที่ไม่รวมอยู่ใน modA แต่ฉันไม่แน่ใจว่าจะดำเนินการต่อไปอย่างไร

2) เกี่ยวกับ # 3 ของคุณ ฉันรู้ว่าฉันขาดความชัดเจน แต่ไม่ใช่และเหมือนกันเมื่อถูกกำหนดเป็น ? คุณกำลังบอกว่าฉันคือX^t=Xt1+ϕ(Xt1Xt2)Y^t=ϕ(Xt1Xt2)Y^tX^tXt1


1
เกี่ยวกับการอัพเดทของคุณ 1) ฉันไม่เห็นจุดที่จะทำเช่นนี้ Arima () จะสร้างค่าที่เหมาะสมและการคาดการณ์ เหตุใดฉันจึงควรสร้างรหัส R เพิ่มเติมเพื่อทำสิ่งเดียวกันกับ Arima () แล้ว 2) ใช่ แต่ความแตกต่างของ X-hat ไม่ได้ให้ Y-hat ดังนั้นการแยกความแตกต่าง Y-hat ไม่ให้ X-hat กับคุณ
Rob Hyndman

2
ขอบคุณ 1) เป็นแบบฝึกหัดการเรียนรู้สำหรับฉัน 2) ข้อผิดพลาดของฉันในการคำนวณในคำถามเดิมของฉัน (ใช้ diffinv) คือการใช้ค่าติดตั้งและไม่ใช่ต้นฉบับคือสิ่งที่ฉันคิดว่าฉันได้รับจากสิ่งนี้ (?) ... ซึ่งนำไปสู่อันดับ 1 ของวิธีการที่เหมาะสม ยกเลิกการแยกข้อมูลออก ฉันรู้ว่า Arima จะทำมันแค่ลองทำตามตัวอย่างหนังสือโดยใช้สมการ
B_Miner

คำตอบ:


14

มีหลายประเด็นที่นี่

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

  2. นอกเหนือจากความแตกต่างในการประมาณค่าทั้งสองแบบของคุณไม่เท่ากันเนื่องจากmodBมีค่าคงที่ในขณะที่modAไม่ โดยค่าเริ่มต้นArima()รวมคงที่เมื่อและไม่คงที่เมื่อ 0 คุณสามารถนั่งค่าเริ่มต้นเหล่านี้ได้ด้วยอาร์กิวเมนต์d=0d>0include.mean

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

    X^t=Xt1+ϕ(Xt1Xt2)
    Y^t=ϕ(Xt1Xt2)
    {Xt}{Yt}
    X^tX^t1Y^t.

1
+1, ฉันจะให้เป็นคำตอบที่ 2 จุด ความรุ่งโรจน์สำหรับการรวม 2 อื่น ๆ
mpiktas

Dr. Hyndman ขอบคุณสำหรับการตอบกลับ! ฉันมีมากที่จะเรียนรู้เกี่ยวกับการวิเคราะห์อนุกรมเวลา ฉันสามารถติดตามผลได้หรือไม่? ฉันไม่แน่ใจว่าฉันรู้อย่างแน่นอนว่าจะทำอย่างไรกับข้อมูลนี้ดังนั้นฉันโพสต์เพิ่มไปยังคำถามเดิมของฉัน
B_Miner

2

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

ตอบสนองต่อค่าใช้จ่าย:

วิธีที่จะได้ผลลัพธ์เดียวกัน / ค่าติดตั้งคือหลังจากที่ร่างกายแตกต่างกันในซีรีย์ oroiginal (Y (t) เพื่อให้ได้ความแตกต่างแรก (dely), ประมาณ AR (1) โดยไม่มีค่าคงที่นี่คือ tantamount form dely (t) = B1 * dely (t-1) + a (t) โดยไม่มีจุดตัดค่าที่ติดตั้งจากรุ่นนี้รวมคำสั่งอย่างเหมาะสม 1 (ฉันเชื่อว่า) จะให้ค่าติดตั้งแบบจำลองแก่คุณ; 1-B] [AR (1)] Y (t) = a (t) ซอฟต์แวร์ส่วนใหญ่ที่มีข้อยกเว้นของ AUTOBOX ที่ระบุไว้จะไม่อนุญาตให้คุณประเมินโมเดล AR (1) โดยไม่มีค่าคงที่นี่คือ สมการสำหรับ dely = + [(1- .675B * 1)] ** - 1 [A (T)] ในขณะที่สมการสำหรับ Y คือ

[(1-B * 1)] Y (T) = + [(1- .676B * 1)] ** - 1 [A (T)] บันทึกข้อผิดพลาดในการปัดเศษที่เกิดจากความแตกต่างทางกายภาพของ Y โปรดทราบว่าเมื่อการแตกต่างมีผล (ในรุ่น) หรือไม่ผู้ใช้สามารถเลือกว่าจะรวมหรือไม่รวมหรือไม่รวมค่าคงที่ กระบวนการปกติคือการรวมค่าคงที่สำหรับโมเดล ARIMA ที่อยู่กับที่ (stationary undifferenced) และจะรวมค่าคงที่เมื่อความแตกต่างอยู่ในโมเดล ดูเหมือนว่าวิธีการทางเลือก (Arima) บังคับให้ค่าคงที่เป็นรูปแบบคงที่ซึ่งในความคิดของฉันทำให้เกิดปัญหา


ควรส่งผลกระทบต่อค่าติดตั้งในกรณีนี้ระหว่าง arima (1,0,0) กับ delta-y และ arima (1,1,0) กับ y หรือไม่?
B_Miner

ในทั้งสองกรณีคุณกำลังปรับ AR (1) ให้ตรงกับความแตกต่างของอนุกรมเวลาใช่ไหม? หากเป็นกรณีและวิธีการที่เหมาะสมเหมือนกันพวกเขาควรจะทำสิ่งเดียวกัน ลำดับการดำเนินการไม่แตกต่างกัน
Michael R. Chernick

ดูเหมือนจะไม่เป็นกรณีที่นี่ บางที @Rob_Hyndman จะเช็คอิน
B_Miner

1

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


0

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


คุณคาดหวังความแตกต่างที่จะเป็นใหญ่นี้หรือไม่? มันทำให้ฉันคิดว่าฉันกำลังทำสิ่งที่ไม่ถูกต้องในวิธีที่ฉันย้อนกลับจากความแตกต่างไปจากเดิม
B_Miner

คุณช่วยอธิบายสิ่งที่คุณทำได้อย่างแน่นอน ฉันอ่านโค้ด R ไม่เก่ง หากคุณใช้ความแตกต่างจำนวนเท่ากันทั้งสองวิธีและปรับให้เหมาะกับรูปแบบ ARMA เดียวกันหลังจากสร้างความแตกต่างคุณควรได้ผลลัพธ์เหมือนกันตราบใดที่เทคนิคการสวมใส่นั้นเหมือนกัน
Michael R. Chernick

เขาใช้ข้อมูลบางอย่างเหมาะกับ ARIMA (1,1,0) จากนั้นรับความแตกต่างและเหมาะกับ ARIMA (1,0,0) ในที่สุดเขาก็เปรียบเทียบช่วงเวลาหนึ่งกับการคาดการณ์ตัวอย่างซึ่งกันและกัน สันนิษฐานว่าแตกต่างกัน แต่เราไม่เห็นกราฟในโพสต์
John

yt=βyt1+ϵtyt=(β1)yt1+ϵtϵtyt=βyt1+ϵt

1
ในที่สุดก็ถูกต้อง ฉันไม่สามารถทำ LaTex ได้ภายใน 5 นาที! ดีที่สุดเท่าที่ฉันจะบอกได้ว่าสมการข้างต้นออกมาทั้งสองวิธี
Michael R. Chernick
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.