J'ai posé cette question hier sur StackOverflow, et j'ai obtenu une réponse, mais nous avons convenu que cela semble un peu hack et il pourrait y avoir une meilleure façon de voir les choses.
La question: je voudrais calculer les erreurs-types de Newey-West (HAC) pour un vecteur (dans ce cas un vecteur de rendements boursiers). La fonction NeweyWest()
du sandwich
package fait cela, mais prend un lm
objet en entrée. La solution proposée par Joris Meys est de projeter le vecteur sur 1, ce qui transforme mon vecteur en résidus pour alimenter NeweyWest()
. C'est:
as.numeric(NeweyWest(lm(rnorm(100) ~ 1)))
pour la variance de la moyenne.
Dois-je le faire comme ça? Ou existe-t-il un moyen de faire plus directement ce que je veux? Merci!
r
standard-error
autocorrelation
heteroscedasticity
Richard Herron
la source
la source
lm
objet. J'ai souvent un vecteur (disons une série de rendements boursiers) que je ne veux impliquer dans aucune régression (parce que je me fiche de sa projection, sauf sur 1), mais pour lequel je veux toujours le HAC erreur standard. Dans ce cas, l'estimation du paramètre est le rendement du stock. La réponse ci-dessus fait cela, mais nécessite de calculer l'lm
objet, dont je n'ai vraiment pas besoin. Je me demande donc s'il existe une routine dans R qui fait cela sans créer d'lm
objet.lm
objet pour le cas d'un seul vecteur. Je suppose que non. Merci de m'avoir aidé à clarifier ma question!Réponses:
Supposons que nous ayons une régression
Puis OLS estimer β est β - β = ( X ' X ) - 1 X ' u et en supposant que β est estimée non biaisée , nous avons V a r ( β ) = E [ ( X ' X ) - 1 X ' u u ′ X ( X ′ X ) - 1 ]β^
NeweyWest
la source
lm
objet.lm
objet est le chemin à parcourir! Merci pour un excellent résumé ... parfois dans l'application je m'éloigne trop de la théorie.