## R Ue6.3 dats_01_22 Miss-spezifizierte Konsumgleichung ## 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/Chp6/EXERCISES/") setwd("C:/Users/hoersaal/Downloads/") source("BasicStatistics_R.txt") # 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) von 1976 bis 2021 names(dat) # Namen der Variablen cpr <- ts(dat$cpr, start=1976, end=2021) cpn <- ts(dat$cpn, start=1976, end=2021) yhr <- ts(dat$yhr, start=1976, end=2021) yhn <- ts(dat$yhn, start=1976, end=2021) pcd <- ts(dat$pcd, start=1976, end=2021) n_cpr <- length(cpr) const <- ts(rep(1,n_cpr), start=1976, end=2021) year <- ts(c(1976:(1976 + n_cpr - 1)), start=1976, end=2021) cpr1_h <- c(NA, cpr[1:(n_cpr-1)]) # cpr_(t-1): muessen den Lag selbst erzeugen cpr1 <- ts(cpr1_h, start=1976, end=2021) wlr <- dat$wln/dat$pcd ## wlr1 ist das gelaggte wlr, wlr(-1) bzw L(wlr_t) wlr1 <- ts(c(rep(NA,5), wlr[1:(n_cpr-1)]), start=1976, end=2021) ix <- c(1:n_cpr) # df enthaelt die Variablen ix (Index) ,year, # yhr,const,cpr,cpr1 (cpr(-1)=L(cpr_t)) ,wlr1 (wlr(-1)=L(wlr_t)) df <- as.data.frame(cbind(ix,year,yhr,const,cpr,cpr1,wlr1)) # wie in K5Ue3 head(df) tail(df) ## plot von cpr und yhr # wie in K5Ue3 zum Anschauen 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") ) ## Modell 1: cpr = a + b yhr + c cpr(-1) + u ## Schaetzung für 1977(76) bis 2010 mod1 <- lm(cpr ~ yhr + cpr1 + 1, data=df[df$year %in% c(1977:2010),]) summary(mod1) cat("AIC= ", AIC(mod1), "BIC= ", BIC(mod1), "\n") ## Modell 2: cpr = a + b yhr + u mod2 <- lm(cpr ~ yhr + 1, data=df[df$year %in% c(1977:2010),]) summary(mod2) cat("AIC= ",AIC(mod2), "BIC= ", BIC(mod2), "\n") #