Seite 1 von 1

impulse response function mit vars package

Verfasst: So Feb 19, 2017 5:50 pm
von Lobbi
Hi Leute,
ich bin neu hier und brauche Hilfe zu R. Zuerst würde ich gerne die Daten plotten. Die Abbildungen zeigen mir aber nicht das Datum an das im Datensatz enthalten ist. Kann ich Monat und Jahr aus Date irgendwie auf der X-Achse anzeigen?

Code: Alles auswählen

library(vars)
library(pastecs)
library(tseries)

Date<-DatenR[,1]
DatenUSA<-DatenR[,-1]
summary(DatenUSA)

plot(DatenUSA$short, type="l",ylab="short",xlab="time")
plot(DatenUSA$long, type="l",ylab="long",xlab="time")
plot(DatenUSA$Liq, type="l",ylab="Liq",xlab="time")
plot(DatenUSA$ERP, type="l",ylab="ERP",xlab="time")
plot(DatenUSA$Z, type="l",ylab="Z",xlab="time")
plot(DatenUSA$SENT, type="l",ylab="Sentiment",xlab="time")
plot(DatenUSA$DPR, type="l",ylab="DPR",xlab="time")
Aus diesen Zeitreihen möchte ich nun eine IRF analyse anstellen. Ich benutze hierfür das vars Paket mit folgenden Code:

Code: Alles auswählen

# list of class varest
varest.USA<-VAR(VAR_analsis_DataUSA, lag.max = 24, ic = "SC", type = "both")
varest.USA
summary(varest.USA)

#Run irf analysis
irf.USAg<-irf(varest.USA, response = "g", n.ahead = 48, boot = TRUE, ci=0.95)
plot(irf.USAg)
Das Problem hierbei ist dass ich oft den Fehler erhalte, dass (response = "g", n.ahead = 48, boot = TRUE, ci=0.95) nicht benutzt werden und folglich erhalte ich kein Ergebnis für irf(). Mit anderen Worten meldet R das der zweite Teil der Klammer nach varest.USA "unused arguments" sind.
Was bedeutet das und wieso meldet R diesen Fehler?

Komisch ist vor allem, dass ich manchmal den Fehler erhalte und manchmal wenn ich das Skript neu laufen lasse erhalte funktioniert es.

Gibt es vielleicht eine Alternative zu vars um eine IRF zu machen?

Wenn mir jemand von euch helfen könnte wäre das super.

Gruß,
Lobbi

Re: impulse response function mit vars package

Verfasst: Di Feb 21, 2017 9:18 am
von jogo
Hallo Lobbi,

willkommen im Forum! In Deinem Datensatz konnte ich nicht die Spalten DatenR$short, DatenR$long u.a. finden. Deshalb erstmal soweit:

Code: Alles auswählen

library(vars)
library(pastecs)
library(tseries)
DatenR <- read.csv("http://forum.r-statistik.de/download/file.php?id=66")
DatenR$Date <- as.Date(DatenR$X, format="%d/%m/%Y")
str(DatenR)

plot(SENT ~ Date, type="l",ylab="Sentiment",xlab="time", data=DatenR)
plot(DatenR$SENT)
plot(ts(DatenR$SENT, start=c(2000, 1), frequency=12))
Gruß, Jörg

Re: impulse response function mit vars package

Verfasst: Di Feb 21, 2017 1:22 pm
von Lobbi
Sorry für den Fehler.

Ich habe deinen code für mich angepasst und es funktioniert. Vielen Dank.

Hast du eine Idee was ich mit meinem anderen Problem tun kann. Manchmal klappt irf() ohne Probleme aber meistens läuft es nicht. Liegt das an meinem Computer?

Re: impulse response function mit vars package

Verfasst: Di Feb 21, 2017 1:32 pm
von jogo
Hallo Lobbi,
Lobbi hat geschrieben: So Feb 19, 2017 5:50 pm

Code: Alles auswählen

#Run irf analysis
irf.USAg<-irf(varest.USA, response = "g", n.ahead = 48, boot = TRUE, ci=0.95)
plot(irf.USAg)
Das Problem hierbei ist dass ich oft den Fehler erhalte, dass (response = "g", n.ahead = 48, boot = TRUE, ci=0.95) nicht benutzt werden und folglich erhalte ich kein Ergebnis für irf(). Mit anderen Worten meldet R das der zweite Teil der Klammer nach varest.USA "unused arguments" sind.
Was bedeutet das und wieso meldet R diesen Fehler?
erstmal bedeutet der Fehler genau das, was dort steht:
R verwendet die angegebenen argumente nicht. (Das sollte ein warning sein.)
Die Funktion irf() kann auf sehr verschiedene Art aufgerufen werden. Wahrscheinlich werden diese zusätzlichen Argumente verwendet, wenn das erste Argument einen anderen Typ hat (einer anderen Klasse angehört).
Object of class ‘`varest`’; generated by `VAR()`, or object of class ‘`svarest`’; generated by `SVAR()`, or object of class ‘`vec2var`’; generated by `vec2var()`, or object of class ‘`svecest`’; generated by `SVEC()`.

Gruß, Jörg