## R Ue6.2 dats_01_22 Trendbereinigung, Frisch-Waugh ## 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 2022 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) tt <- ts(c(1:n_cpr), start=1976, end=2021) # Linearer Trend # df enhaelt die Variablen year,yhr,const,cpr, Trend df <- as.data.frame(cbind(year,yhr,const,cpr,tt)) # n=46, 1976 -- 2021 head(df) tail(df) ## 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") ) ## 1976 bis 2010, n= 35 year1 <- 1976; year2 <- 2010 df1 <- df[df$year %in% c(year1:year2),] ## (a) Modell ctb: cpr = a + b tt + u Trendbereinigung mod_ctb <- lm(cpr ~ tt + 1, data=df1) summary(mod_ctb) ctb <- mod_ctb$residuals cpr_tb <- ts(ctb, start=year1) ## (b) Modell ytb: yhr = a + b tt + u Trendbereinigung mod_ytb <- lm(yhr ~ tt + 1, data=df1) summary(mod_ytb) ytb <- mod_ytb$residuals yhr_tb <- ts(ytb, start=year1) ## (c) Modell Konsumgleichung: cpr = a + b yhr + c tt + u (mit Trend) mod_cpr <- lm(cpr ~ yhr + tt + 1, data=df1) summary(mod_cpr) ## (d) Modell Konsumgleichung mit Trend-bereiningten Variablen (ohne Trend) ## cpr_tb = a + b yhr_tb + u mod_cpr_tb <- lm(cpr_tb ~ yhr_tb + 1) summary(mod_cpr_tb)