## R Ue3.7 dats_01_22 Vergleich von 2 Konsumfunktionen ## Bezeichnungen siehe dat_01_22.docx ## cpn, cpr ... Privater Konsum nominell, real (Mio Euro) ## yhn, yhr ... Haushaltseinkommen nom, real (Mio Euro) ## wln ... Geldvermoegen nom (Mio Euro ?) ## pcd ... Konsumdeflator 2015=100 #setwd("C:/MH/WU/LV/OEKONOMETRIE_BA/Oe1_WS23/Chp3/EXERCISES/") setwd("C:/Users/hoersaal/Downloads/") # Daten einlesen (nicht ganz einfach) dat <- read.table("dats_01_22.csv", sep=";", dec=",", header=TRUE, na.strings = "#NV", fill = TRUE, comment.char="") ## Daten anschauen head(dat) tail(dat) dim(dat) # Zeitreihen n=47 k=9 (Variablen) names(dat) # Namen der Variablen cpr <- ts(dat$cpr, start=1976) cpn <- ts(dat$cpn, start=1976) yhr <- ts(dat$yhr, start=1976) yhn <- ts(dat$yhn, start=1976) pcd <- ts(dat$pcd, start=1976) n_cpr <- length(cpr) year <- ts(c(1976:(1976 + n_cpr - 1)) ) ## plot von cpr und yhr mincpr <- min(cpr, na.rm=TRUE); maxyhr <- max(yhr, na.rm=TRUE) plot.ts(yhr, ylab="yhr, cpr", ylim=c(mincpr,maxyhr) ) lines(cpr, col=2) legend("topleft", legend = c("yhr","cpr"), text.col = c("black","red") ) ## ## Univariate Statistiken source("BasicStatistics_R.txt") # Liest bereits geschriebene R-Scipts ein basic_stats(cpr) # Warum sind die Werte nicht sinnvoll zu interpretieren? ## Modell 1: cpr = a + b yhr + c cpr(-1) + u # Datenaufbereitung n_cpr <- length(dat1$cpr) cpr1 <- c(NA, cpr[1:(n_cpr-1)]) # muessen den Lag selbst erzeugen df1 <- data.frame(year,cpr, yhr, cpr1) head(df1); tail(df1) df1 <- na.omit(df1) # entfernen v Beobachtungen mit NA # Schaetzung mod1 <- lm(cpr ~ yhr + cpr1 + 1, data=df1) summary(mod1) # Plot v observed fitted, residuals plot_ser_fit_res.ts(df1$cpr,mod1,"cpr", 1977) ## Wo passt das Modell, wo nicht? ## Modell 2: cpr = a + b yhr + c wln(-1)/pcd(-1) + u # Datenaufbereitung wlr <- dat$wln/dat$pcd n <- length(wlr) wlr1 <- c(NA, wlr[1:(n-1)]) # muessen den Lag selbst erzeugen df2 <- data.frame(year,cpr, yhr, wlr1) head(df2); tail(df2) df1 <- na.omit(df1) # entfernen v Beobachtungen mit NA mod2 <- lm(cpr ~ yhr + wlr1 + 1, data=df2) summary(mod2) # plot_ser_fit_res.ts(df2$cpr,mod2,"cpr", 1977) ## Wo passt das Modell, wo nicht? ## Vergleich von mod1 und mod2?