R'de lm nesnesi olmadan Newey-West standart hatalarını hesaplama


13

Bu soruyu dün StackOverflow'da sordum ve bir cevap aldım, ancak biraz acayip göründüğünü ve ona bakmanın daha iyi bir yolu olabileceğini kabul ettik.

Soru: Bir vektör için Newey-West (HAC) standart hatalarını hesaplamak istiyorum (bu durumda bir stok vektörü). Fonksiyon NeweyWest()olarak sandwichpaketin yapar, ancak bir alan lm, bir giriş olarak bir nesne. Joris Meys'in sunduğu çözüm, vektörü 1'e yansıtmaktır, bu da vektörümü beslenecek artıklara dönüştürür NeweyWest(). Yani:

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

ortalamanın varyansı için.

Bunu böyle yapmalı mıyım? Yoksa istediğimi daha doğrudan yapmanın bir yolu var mı? Teşekkürler!


1
Soru açık değil. Ne demek "vektör için standart hata"? Genellikle bir parametre tahmininin standart hatasını istiyoruz. Hangi parametreyi tahmin ediyorsunuz? Sağladığınız kod, ortalamanın kare standart hatasının Newey West tahminini üretir. İstediğin bu mu?
Cyrus S

@Cyrus - "Vektör" ile demek istediğim bir lmnesne değil . Sıklıkla herhangi bir gerilemeye dahil etmek istemediğim bir vektörüm var (diyelim ki bir dizi hisse senedi iadesi) (çünkü 1'den başka projeksiyonunu umursamıyorum), ama yine de HAC'yi istiyorum standart hata. Bu durumda parametre tahmini hisse senedi getirisidir. Yukarıdaki cevap bunu yapar, ancak lmgerçekten ihtiyacım olmayan nesneyi hesaplamayı gerektirir . Bu yüzden R'de bir lmnesne oluşturmadan bunu yapan bir rutin olup olmadığını merak ediyorum .
Richard Herron

Maalesef net değil: "Bu durumda parametre tahmini hisse senedi getirisidir." Bununla mı demek istediniz "serideki hisse senedi getirilerinin ortalaması"? Evet ise, sahip olduğunuz şey gayet iyi.
Cyrus S

@Cyrus - Elimde ne işe yaradığını biliyorum, ama lmtek bir vektör durumunda nesneden geçmeden SE'leri hesaplamanın bir yolu olduğunu umuyordum . Sanırım hayır. Soruma açıklık getirmeme yardımcı olduğunuz için teşekkürler!
Richard Herron

Yanıtlar:


15

Diyelim ki bir gerilememiz var

y=Xβ+u

β^

β^β=(XX)1Xu
β^
Var(β^)=E[(XX)1XuuX(XX)1]

E(u|X)=0E(uu|X)=σ2In

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

uiE(uu|X)σ2In

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

NeweyWest

rt=μ+ut
Var(μ)ut

Var(rt)

rt=σtεt
εtσtVar(rt)=Var(σt) ve volatilite kümelenmesi, çarpıklık vb. gibi olağan hisse senedi getirilerine karşı korunarak varyansınızın "doğru" bir tahminine sahipsiniz.

Teşekkürler! Bunu kodlamam için lmnesneyi oluşturmaktan daha etkili bir yol olmayabilir .
Richard Herron

Sanırım lmnesne gitmek yoludur! Harika bir özet için teşekkürler ... bazen uygulamada teoriden çok uzaklaşıyorum.
Richard Herron
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.