คำนวณข้อผิดพลาดมาตรฐาน Newey-West โดยไม่มีวัตถุ lm ใน R


13

ฉันถามคำถามนี้เมื่อวานนี้ใน StackOverflow และได้รับคำตอบ แต่เราเห็นพ้องกันว่ามันดูค่อนข้างแฮ็คและอาจมีวิธีที่ดีกว่าในการดู

คำถาม: ฉันต้องการคำนวณข้อผิดพลาดมาตรฐาน Newey-West (HAC) สำหรับเวกเตอร์ (ในกรณีนี้เวกเตอร์ที่มีผลตอบแทนสต็อก) ฟังก์ชั่นNeweyWest()ในsandwichแพ็คเกจทำสิ่งนี้ แต่รับlmวัตถุเป็นอินพุต วิธีการแก้ไธ MEYS นำเสนอเป็นโครงการเวกเตอร์บน 1 NeweyWest()ซึ่งจะเปลี่ยนเวกเตอร์ของฉันเป็นสิ่งตกค้างที่จะป้อนเข้าสู่ นั่นคือ:

as.numeric(NeweyWest(lm(rnorm(100) ~ 1)))

สำหรับความแปรปรวนของค่าเฉลี่ย

ฉันควรจะทำอย่างนี้ไหม หรือมีวิธีที่จะทำสิ่งที่ฉันต้องการโดยตรงมากกว่านี้อีกไหม ขอบคุณ!


1
คำถามไม่ชัดเจน คุณหมายถึงอะไรโดย "ข้อผิดพลาดมาตรฐานสำหรับเวกเตอร์"? โดยทั่วไปแล้วเราต้องการข้อผิดพลาดมาตรฐานของการประมาณพารามิเตอร์ คุณกำลังประเมินพารามิเตอร์อะไร รหัสที่คุณระบุจะทำให้การประมาณการ Newey West ของข้อผิดพลาดมาตรฐานกำลังสองของค่าเฉลี่ย นั่นคือสิ่งที่คุณต้องการ?
Cyrus S

@Cyrus - โดย "vector" ฉันหมายถึงไม่ใช่lmวัตถุ ฉันมักจะมีเวกเตอร์ (สมมติว่ามีชุดของการคืนสินค้า) ที่ฉันไม่ต้องการมีส่วนร่วมในการถดถอยใด ๆ (เพราะฉันไม่สนใจว่ามันจะเป็นภาพนอกเหนือจากวันที่ 1) แต่ฉันยังต้องการ HAC มาตรฐานบกพร่อง. ในกรณีนี้การประมาณพารามิเตอร์คือการส่งคืนสินค้า คำตอบข้างต้นทำเช่นนั้น แต่ต้องการการคำนวณlmวัตถุซึ่งฉันไม่ต้องการจริงๆ ดังนั้นฉันสงสัยว่ามีรูทีนใน R ที่ทำได้โดยไม่สร้างlmวัตถุหรือไม่
Richard Herron

ขออภัยยังไม่ชัดเจน: "ในกรณีนี้การประมาณพารามิเตอร์คือการส่งคืนสินค้า" คุณหมายถึง "ค่าเฉลี่ยของผลตอบแทนสินค้าในซีรีส์" หรือไม่? ถ้าใช่นั่นคือสิ่งที่คุณได้รับอย่างสมบูรณ์แบบ
Cyrus S

@Cyrus - ฉันรู้ว่าสิ่งที่ฉันได้ทำงาน แต่ฉันหวังว่าจะมีวิธีในการคำนวณ SEs โดยไม่ต้องผ่านlmวัตถุสำหรับกรณีของเวกเตอร์เดียว ฉันเดาว่าไม่. ขอบคุณที่ช่วยฉันอธิบายคำถามของฉัน!
Richard Herron

คำตอบ:


15

สมมติว่าเรามีการถดถอย

y=Xβ+u

จากนั้น OLS ประมาณคือ และสมมติว่าเป็นค่าประมาณที่เป็นกลางเรามี β - β = ( X ' X ) - 1 X ' Uβ^

β^β=(XX)1Xu
V R ( β ) = E [ ( X ' X ) - 1 X ' U U ' X ( X ' X ) - 1 ]β^
Var(β^)=E[(XX)1XuuX(XX)1]

สมมติฐาน OLS ปกติคือและซึ่งให้เรา เมทริกซ์ความแปรปรวนร่วมนี้มักจะรายงานในแพ็คเกจทางสถิติE(u|X)=0E(uu|X)=σ2In

Var(β^)=σ2E(XX)1

หากเป็นแบบและ (หรือ) การเติมข้อมูลอัตโนมัติดังนั้นและเอาต์พุตปกติจะให้ผลลัพธ์ที่ทำให้เข้าใจผิด เพื่อให้ได้ผลลัพธ์ที่ถูกต้องจะคำนวณข้อผิดพลาดมาตรฐาน HAC วิธีการทั้งหมดสำหรับข้อผิดพลาด HAC คำนวณ พวกเขาต่างกันในสมมติฐานของพวกเขาว่าอย่างไร E ( U U ' | X ) σ 2 ฉันn วันที่ฉันกรัม( E ( X ' XuiE(uu|X)σ2In

diag(E(XX)1XuuX(XX)1).
E(uu|X)

ดังนั้นมันจึงเป็นธรรมชาติแล้วฟังก์ชั่นนั้นNeweyWestร้องขอโมเดลเชิงเส้น วิธี Newey-West คำนวณข้อผิดพลาดมาตรฐานที่ถูกต้องของตัวประมาณค่าแบบจำลองเชิงเส้น ดังนั้นวิธีการแก้ปัญหาของคุณถูกต้องสมบูรณ์ถ้าคุณคิดว่าผลตอบแทนหุ้นของคุณเป็นไปตามรูปแบบ และคุณต้องการที่จะประเมินปกป้องความผิดปกติในu_t

rt=μ+ut
Var(μ)ut

หากในอีกทางหนึ่งคุณต้องการประมาณค่า "แก้ไข" (อะไรก็ตามที่มีความหมาย) คุณควรตรวจสอบแบบจำลองความผันผวนเช่น GARCH และตัวแปรต่างๆ พวกเขาคิดว่า โดยที่เป็น iid ปกติ เป้าหมายของเราคือการอย่างถูกต้องแล้วประมาณการ\จากนั้นและคุณมีการประเมินความแปรปรวนของคุณ "ถูกต้อง" ป้องกันความผิดปกติตามปกติของการคืนสินค้าเช่นการจัดกลุ่มความผันผวนความเบ้และอื่น ๆr t = σ t ε t ε t σ t V a r ( r t ) = V a r ( σ t )Var(rt)

rt=σtεt
εtσtVar(rt)=Var(σt)

ขอบคุณ! อาจไม่มีวิธีที่มีประสิทธิภาพมากขึ้นสำหรับฉันในการรหัสนี้กว่าการสร้างlmวัตถุ
Richard Herron

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