ความแตกต่าง R และ EViews ในการประมาณการ AR (1)


10

ปัญหาหลักคือ: ฉันไม่สามารถรับค่าประมาณพารามิเตอร์ที่คล้ายกันกับ EViews และ R

ด้วยเหตุผลที่ฉันไม่รู้จักตัวเองฉันจำเป็นต้องประเมินพารามิเตอร์สำหรับข้อมูลบางอย่างโดยใช้ตัวแสดงตัวอย่าง สิ่งนี้ทำได้โดยการเลือกตัวเลือก NLS (ไม่เชิงเส้นกำลังสองน้อยที่สุด) และใช้สูตรต่อไปนี้:indep_var c dep_var ar(1)

EViews อ้างว่าพวกเขาประมาณกระบวนการเชิงเส้น AR (1) เช่น: โดยที่ข้อผิดพลาดถูกนิยามเป็น: โดยใช้สิ่งที่เทียบเท่า สมการ (ด้วยการแทนที่พีชคณิตบางส่วน): นอกจากนี้เธรดนี้ ที่ฟอรัม EViewsแนะนำว่าการประมาณค่า NLS ของพวกเขาถูกสร้างขึ้นโดยอัลกอริทึม Marquardtยูทียูที = ρ ยูที- 1 + ε Y T = ( 1 - ρ ) α + ρ Y T - 1 + β เอ็กซ์ที - ρ β เอ็กซ์ที- 1 + ε t

Yt=α+βXt+ut
ut
ut=ρut1+ε
Yt=(1ρ)α+ρYt1+βXtρβXt1+εt

ตอนนี้ไปถึงฟังก์ชั่น R เพื่อประเมิน AR (1) arimaกระบวนการเป็น อย่างไรก็ตามมีสองปัญหา:

  1. การประมาณการนั้นเป็นการประมาณความเป็นไปได้สูงสุด
  2. การประมาณค่าดักจับไม่ใช่การประมาณค่าดักจับ (ตาม RH Shumway & DS Stoffer)

ดังนั้นฉันหันไปใช้nlsLMฟังก์ชั่นจากแพคเกจ minpack.lm ฟังก์ชันนี้ใช้อัลกอริทึม Marquardt เพื่อให้ได้ค่าประมาณกำลังสองน้อยที่สุดแบบไม่เชิงเส้นซึ่งควรให้ผลลัพธ์เช่นเดียวกับการใช้ EViews (หรืออย่างน้อยที่คล้ายกันมาก)

ตอนนี้รหัส ฉันมี data frame ( data) พร้อมกับตัวแปรอิสระและตัวแปรตามเช่นตัวที่สร้างโดยรหัสต่อไปนี้:

data <- data.frame(independent = abs(rnorm(48)), dependent = abs(rnorm(48)))

การประมาณค่าพารามิเตอร์ในการเรียกร้องสม EViews เพื่อประเมิน (3 หนึ่งในโพสต์นี้) ผมใช้คำสั่งต่อไปนี้:

library(minpack.lm)
result <-
nlsLM(dependentB ~ ((1 - theta1) * theta2) + (theta1 * dependentA) +
                    (theta3 * independentB) - (theta1 * theta3 * independentA),
data = list(dependentB = data$dependent[2:48], dependentA = data$dependent[1:47],
   independentB = data$independent[2:48], independentA = data$independent[1:47]),
start = list(theta1 = -10, theta2 = -10, theta3 = -10)
)

น่าเสียดายที่ผลลัพธ์การประมาณการโดยnlsLMไม่ใกล้เคียงกับผลลัพธ์ที่ออกโดย EViews คุณมีความคิดเกี่ยวกับสิ่งที่อาจก่อให้เกิดสิ่งนี้หรือไม่? หรือรหัสของฉันผิด

ในที่สุดฉันอยากจะบอกว่าฉันเป็นผู้ใช้ส่วนตัว - นั่นคือเหตุผลที่ฉันพยายามทำสิ่งนี้ใน R แทนที่จะเป็น EViews ฉันชอบที่จะให้ข้อมูลที่ฉันทำงานด้วย แต่เป็นไปไม่ได้เนื่องจากเป็นข้อมูลที่เป็นความลับ


4
ยินดีต้อนรับสู่เว็บไซต์ @Fael +1 สำหรับคำถามที่ชัดเจน ฉันใช้เสรีภาพในการปรับรูปแบบเล็กน้อยเพื่อให้สะอาดขึ้น โปรดตรวจสอบให้แน่ใจว่ามันยังคงพูดในสิ่งที่คุณต้องการ
gung - Reinstate Monica

ว้าวนั่นเป็นสิ่งที่ดีสำหรับคุณ ขอบคุณมาก @ gung!
Fael

2
คุณ cam ปรับมาตราส่วน / รหัสข้อมูลและโพสต์ไว้เสมอ การแปลงรูปแบบ [(y-constant1) / constant2] จะทำการหลอกลวง
IrishStat

BTW: พารามิเตอร์ของกระบวนการเชิงเส้นสามารถประมาณผ่าน OLS
Germaniawerks

คำตอบ:


1

NLLS ของคุณมีเงื่อนไข ortoghonality สี่ข้อต่อตัวแปรบวกค่าคงที่ (อนาล็อกกับสมการปกติใน OLS มาตรฐาน) เพื่อแก้หาพารามิเตอร์สามตัว ( ) อัลกอริทึมที่ไม่ใช่เชิงเส้นมักจะมีการกำหนดค่าแบบ heterogenous สำหรับพารามิเตอร์ความทนทานต่อซอฟต์แวร์ ฉันขอแนะนำให้คุณวางจากสมการของคุณเพื่อให้ได้ระบบที่ถูกต้องและทดสอบ Eviews กับ R? หากทั้งสองฝ่ายเห็นพ้องกันนั่นอาจหมายถึงว่าหนึ่งในนั้นมีปัญหาเกี่ยวกับการ overidentificationX t - 1ρ,β,αXt1

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