auto.arima เตือน NaNs เกิดจากข้อผิดพลาด std


9

ข้อมูลของฉันเป็นอนุกรมเวลาของประชากรที่มีงานทำ, L และช่วงเวลา, ปี

n.auto=auto.arima(log(L),xreg=year)
summary(n.auto)
Series: log(L) 
ARIMA(2,0,2) with non-zero mean 

Coefficients:
         ar1      ar2      ma1     ma2  intercept    year
      1.9122  -0.9567  -0.3082  0.0254    -3.5904  0.0074
s.e.     NaN      NaN      NaN     NaN     1.6058  0.0008

sigma^2 estimated as 1.503e-06:  log likelihood=107.55
AIC=-201.1   AICc=-192.49   BIC=-193.79

In-sample error measures:
           ME          RMSE           MAE           MPE          MAPE 
-7.285102e-06  1.225907e-03  9.234378e-04 -6.836173e-05  8.277295e-03 
         MASE 
 1.142899e-01 
Warning message:
In sqrt(diag(x$var.coef)) : NaNs produced

ทำไมสิ่งนี้ถึงเกิดขึ้น เหตุใด auto.arima จะเลือกรุ่นที่ดีที่สุดพร้อมข้อผิดพลาด std ของสัมประสิทธิ์ ar * ma * สัมประสิทธิ์เหล่านี้ไม่ใช่ตัวเลข? รุ่นที่เลือกนี้ใช้งานได้หรือไม่?

เป้าหมายของฉันคือการประเมินพารามิเตอร์ n ในโมเดล L = L_0 * exp (n * ปี) ข้อเสนอแนะของวิธีการที่ดีกว่า?

TIA

ข้อมูล:

L <- structure(c(64749, 65491, 66152, 66808, 67455, 68065, 68950, 
69820, 70637, 71394, 72085, 72797, 73280, 73736, 74264, 74647, 
74978, 75321, 75564, 75828, 76105), .Tsp = c(1990, 2010, 1), class = "ts")
year <- structure(1990:2010, .Tsp = c(1990, 2010, 1), class = "ts")
L
Time Series:
Start = 1990 
End = 2010 
Frequency = 1 
 [1] 64749 65491 66152 66808 67455 68065 68950 69820 70637 71394 72085 72797
[13] 73280 73736 74264 74647 74978 75321 75564 75828 76105

คุณสามารถโพสต์ข้อมูลบางอย่างเพื่อให้เราสามารถจำลองปัญหาได้หรือไม่?
Rob Hyndman

@RobHyndman อัปเดตข้อมูล
Ivy Lee

โปรดพิมพ์dput(L)และวางผลลัพธ์ ทำให้การจำลองแบบง่ายมาก
ซัค

คำตอบ:


11

ผลรวมของค่าสัมประสิทธิ์ AR ใกล้เคียงกับ 1 ซึ่งแสดงให้เห็นว่าพารามิเตอร์นั้นอยู่ใกล้กับขอบของพื้นที่ส่วนคงที่ ซึ่งจะทำให้เกิดปัญหาในการพยายามคำนวณข้อผิดพลาดมาตรฐาน อย่างไรก็ตามไม่มีอะไรผิดปกติกับการประมาณการดังนั้นหากคุณต้องการเพียงแค่ค่าคุณก็จะได้รับL0

auto.arima()ใช้เวลาลัดสั้น ๆ สองสามครั้งเพื่อเร่งการคำนวณให้เร็วขึ้นและเมื่อมันให้แบบจำลองที่ดูน่าสงสัยคุณควรปิดทางลัดเหล่านั้นและดูสิ่งที่คุณได้รับ ในกรณีนี้:

> n.auto <- auto.arima(log(L),xreg=year,stepwise=FALSE,approx=FALSE)
> 
> n.auto
Series: log(L) 
ARIMA(2,0,0) with non-zero mean 

Coefficients:
         ar1      ar2  intercept    year
      1.8544  -0.9061    11.0776  0.0081
s.e.  0.0721   0.0714     0.0102  0.0008

sigma^2 estimated as 1.594e-06:  log likelihood=107.19
AIC=-204.38   AICc=-200.38   BIC=-199.15

รุ่นนี้ดีขึ้นเล็กน้อย (เช่น AIC ขนาดเล็ก)


1
เกิดอะไรขึ้นถ้าไม่สามารถคำนวณข้อผิดพลาดมาตรฐานและโมเดลจำเป็นต้องใช้สำหรับการคาดการณ์ นั่นจะทำให้ช่วงความเชื่อมั่นไม่ถูกต้องหรือไม่สมจริงในการพยากรณ์หรือไม่? ในกรณีของฉัน (อนุกรมเวลาที่มีความยาว 35) การใช้approximation=FALSEและstepwise=FALSEยังคงผลิต NaNs สำหรับ SEs ของสัมประสิทธิ์
Mihael

4

ปัญหาของคุณเกิดจากสเปคเกิน รูปแบบแรกที่แตกต่างง่าย ๆ ที่มี AR (1) นั้นค่อนข้างเพียงพอ ไม่จำเป็นต้องมีโครงสร้าง MA หรือการแปลงพลังงาน คุณสามารถสร้างแบบจำลองนี้เป็นแบบจำลองที่แตกต่างกันได้ง่ายเนื่องจากค่าสัมประสิทธิ์ ar (1) ใกล้กับ 1.0 พล็อตของจริง / พอดี / การคาดการณ์ป้อนคำอธิบายรูปภาพที่นี่และพล็อตที่เหลือ ค่าที่เป็นไปได้ / ค่าต่ำสุดในช่วงเวลา 7ด้วยสมการ! ป้อนคำอธิบายรูปภาพที่นี่ป้อนคำอธิบายรูปภาพที่นี่. โดยสรุปการประมาณนั้นเป็นไปตามข้อกำหนดรุ่นซึ่งในกรณีนี้พบว่าต้องการ ["mene mene tekel upharsin"] อย่างจริงจังฉันขอแนะนำให้คุณทำความคุ้นเคยกับกลยุทธ์การระบุรูปแบบและไม่พยายามทำให้ครัวของคุณจมโมเดลด้วยโครงสร้างที่ไม่รับประกัน บางครั้งก็น้อยมาก! Parsimony เป็นเป้าหมาย! หวังว่านี่จะช่วยได้! เพื่อตอบคำถามของคุณเพิ่มเติม "เหตุใด auto.arima จึงเลือกรุ่นที่ดีที่สุดพร้อมข้อผิดพลาด std ของสัมประสิทธิ์ ar * ma * สัมประสิทธิ์เหล่านี้ไม่ใช่ตัวเลขหรือไม่คำตอบที่น่าจะเป็นก็คือโซลูชันพื้นที่รัฐไม่ใช่ทั้งหมดที่อาจเป็นเพราะ แบบจำลองสมมติที่พยายาม แต่นั่นเป็นเพียงการคาดเดาของฉันสาเหตุที่แท้จริงของความล้มเหลวอาจเป็นข้อสันนิษฐานของคุณของ log xform การแปลงเป็นเหมือนยาเสพติด ..... บางอย่างก็ดีสำหรับคุณและบางอย่างก็ไม่ดีสำหรับคุณ การแปลงพลังงานจะใช้เพื่อแยกค่าที่คาดไว้จากค่าเบี่ยงเบนมาตรฐานของส่วนที่เหลือเท่านั้น หากมีการเชื่อมโยงแล้วการแปลง Box-Cox (ซึ่งรวมถึงบันทึก) ก็อาจจะเหมาะสม การดึงการเปลี่ยนจากด้านหลังหูของคุณอาจไม่ใช่ความคิดที่ดี

รุ่นที่เลือกนี้ใช้งานได้หรือไม่? ไม่อย่างแน่นอน !


0

ฉันต้องเผชิญกับปัญหาที่คล้ายกัน โปรดลองเล่นด้วย optim.control และ optim.method NaNs เหล่านี้เป็นค่าลบขององค์ประกอบในแนวทแยงของเมทริกซ์เฮสส์ การติดตั้ง ARIMA (2,0,2) เป็นปัญหาที่ไม่เชิงเส้นและการหาค่าเหมาะที่สุดจะแปรเปลี่ยนเป็นจุดอานม้า (ซึ่งการไล่ระดับสีเป็นศูนย์ แต่เมทริกซ์เฮสส์ไม่ได้นิยามเชิงบวก) แทนที่จะเป็นโอกาสสูงสุด

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