ค่าติดตั้งของตัวแบบ ARMA


11

ฉันกำลังพยายามที่จะเข้าใจวิธีคำนวณค่าติดตั้งสำหรับโมเดล ARMA (p, q) ฉันพบคำถามที่นี่แล้วเกี่ยวกับค่าที่เหมาะสมของกระบวนการ ARMA แต่ไม่สามารถเข้าใจได้

ถ้าฉันมีโมเดล ARMA (1,1) เช่น

Xเสื้อ=α1Xเสื้อ-1+εเสื้อ-β1εเสื้อ-1

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

Xเสื้อ^=α1^Xเสื้อ-1.

เนื่องจากนวัตกรรมในแบบจำลอง ARMA ไม่สามารถตรวจสอบได้ฉันจะใช้การประมาณค่าพารามิเตอร์ MA ได้อย่างไร ฉันจะเพิกเฉยต่อชิ้นส่วน MA และคำนวณค่าติดตั้งของส่วน AR ไหม

คำตอบ:


10

ในการตอบคำถามของคุณโดยทั่วไปคุณจำเป็นต้องรู้วิธีคำนวณเศษซากเช่น ในแบบจำลอง แล้วเพราะ{t} ก่อนอื่นเรามาสร้างข้อมูลปลอม ( ) จากและสร้างโมเดลให้พอดี(โดยไม่มีค่าเฉลี่ย):^ X t = X t - e t X tอีเสื้อarmaXเสื้อ^=Xเสื้อ-อีเสื้อXเสื้อarima(.5,.6)arma

library(forecast)
n=1000
ts_AR <- arima.sim(n = n, list(ar = 0.5,ma=0.6))
f=arima(ts_AR,order=c(1,0,1),include.mean=FALSE)
summary(f)
    Series: ts_AR 
    ARIMA(1,0,1) with zero mean     

    Coefficients:
             ar1     ma1
          0.4879  0.5595
    s.e.  0.0335  0.0317

    sigma^2 estimated as 1.014:  log likelihood=-1426.7
    AIC=2859.4   AICc=2859.42   BIC=2874.12

    Training set error measures:
                         ME    RMSE       MAE      MPE     MAPE      MASE
    Training set 0.02102758 1.00722 0.8057205 40.05802 160.1078 0.6313145

ตอนนี้ฉันสร้างส่วนที่เหลือดังนี้: (เนื่องจากไม่มีส่วนที่ 1) และสำหรับเรามี:โดยที่และเป็นค่าเฉลี่ยการถดถอยอัตโนมัติและค่าเฉลี่ยเคลื่อนที่ในโมเดลที่ติดตั้งด้านบน นี่คือรหัส:อี1=0เสื้อ=2,...,nอีเสื้อ=Xเสื้อ-AR* * * *Xเสื้อ-1-Ma* * * *อีเสื้อ-1ARMa

e = rep(1,n)
e[1] = 0 ##since there is no residual at 1, e1 = 0
for (t in (2 : n)){
  e[t] = ts_AR[t]-coef(f)[1]*ts_AR[t-1]-coef(f)[2]*e[t-1]
}

เมื่อคุณพบคลาดเคลื่อน , ค่าติดตั้งเป็นเพียง{t} ดังนั้นในต่อไปนี้ฉันเปรียบเทียบค่าติดตั้ง 10 ค่าแรกที่ได้รับจาก R และค่าที่ฉันสามารถคำนวณได้จากฉันสร้างขึ้นด้านบน (เช่นด้วยตนเอง)อีเสื้อXเสื้อ^=Xเสื้อ-อีเสื้ออีเสื้อ

cbind(fitted.from.package=fitted(f)[1:10],fitted.calculated.manually=ts_AR[1:10]-e[1:10])
      fitted.from.package fitted.calculated.manually
 [1,]          -0.4193068                 -1.1653515
 [2,]          -0.8395447                 -0.5685977
 [3,]          -0.4386956                 -0.6051324
 [4,]           0.3594109                  0.4403898
 [5,]           2.9358336                  2.9013738
 [6,]           1.3489537                  1.3682191
 [7,]           0.5329436                  0.5219576
 [8,]           1.0221220                  1.0283511
 [9,]           0.6083310                  0.6048668
[10,]          -0.5371484                 -0.5352324

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

f=arima(ts_AR,order=c(1,0,0),include.mean=FALSE)
cbind(fitted.from.package=fitted(f)[2:10],fitted.calculated.manually=coef(f)*ts_AR[1:9])
      fitted.from.package fitted.calculated.manually
 [1,]          -0.8356307                 -0.8356307
 [2,]          -0.6320580                 -0.6320580
 [3,]           0.0696877                  0.0696877
 [4,]           2.1549019                  2.1549019
 [5,]           2.0480074                  2.0480074
 [6,]           0.8814094                  0.8814094
 [7,]           0.9039184                  0.9039184
 [8,]           0.8079823                  0.8079823
 [9,]          -0.1347165                 -0.1347165

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