R-hjelp
til Ekstraoppgave 1
# Les inn dataene og gi R informasjon
om at (de log-transformerte) passasjer antallene
# er tidsrekke data med m?nedlige
observasjoner:
airline<-matrix(scan("http://www.math.uio.no/avdc/kurs/STK4900/data/airlines"), byrow=T)
airlinets<-ts(log(airline),start=1947,frequency=12)
# F?r vi ser p? sp?rsm?lene i oppgaven, lager vi noen plott for ? f? oversikt over dataene
# Plott av dataene (se side 106 i BS)
ts.plot(airlinets,ylab="log(passenger)")
# Dekomponerer tidsrekken i trend, sesongvariasjon og residual og lager plott:
# (Det f?rer for langt ? forklare hvordan dette gj?res. Se help(stl) for detaljer.)
airlinets.stl<-stl(airlinets[,1],"periodic")
plot(airlinets.stl)
# S? g?r vi l?s p? sp?rsm?lene i oppgaven
# PUNKT a&b)
# Definer dummy variable for hver av m?nedene:
m1<-c(1,rep(0,11))
m2<-c(0,1,rep(0,10))
m3<-c(rep(0,2),1,rep(0,9))
m4<-c(rep(0,3),1,rep(0,8))
m5<-c(rep(0,4),1,rep(0,7))
m6<-c(rep(0,5),1,rep(0,6))
m7<-c(rep(0,6),1,rep(0,5))
m8<-c(rep(0,7),1,rep(0,4))
m9<-c(rep(0,8),1,rep(0,3))
m10<-c(rep(0,9),1,rep(0,2))
m11<-c(rep(0,10),1,0)
m12<-c(rep(0,11),1)
m1<-rep(m1,12)
m2<-rep(m2,12)
m3<-rep(m3,12)
m4<-rep(m4,12)
m5<-rep(m5,12)
m6<-rep(m6,12)
m7<-rep(m7,12)
m8<-rep(m8,12)
m9<-rep(m9,12)
m10<-rep(m10,12)
m11<-rep(m11,12)
m12<-rep(m12,12)
# Kontroller at disse kommandoene genererer dummy-variable som er slik det er beskrevet i oppgaveteksen.
# Definer en variable for tid (dvs l?pende nummer for m?ned)
time<-seq(1,144)
# Tilpass line?r modell uten konstantledd og se p? resultatene:
mod.a<-lm(log(airline)~m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+m12+time-1)
summary(mod.a)
# Fortolk den tilpassede modellen og forklar hvorfor vi ikke har med konstantledd i regresjonen.
# Kommentar:
# En enklere m?te ? tilpasse modellen over p?, er ved kommandoene:
month<-rep(1:12,12)
mod.a2<-lm(log(airline)~factor(month)+time-1)
summary(mod.a2)
# Kontroller at disse kommandoene gir samme resultat, og forklar hvorfor de gj?r det.
# PUNKT c)
# Definerer sentrerte dummy-variable:
mm1<-m1-1/12
mm2<-m2-1/12
mm3<-m3-1/12
mm4<-m4-1/12
mm5<-m5-1/12
mm6<-m6-1/12
mm7<-m7-1/12
mm8<-m8-1/12
mm9<-m9-1/12
mm10<-m10-1/12
mm11<-m11-1/12
# Kontroller at disse kommandoene genererer sentrerte dummy-variable som er slik det er beskrevet i oppgaveteksten.
# Tilpass line?r modell og se p? resultatene:
mod.c<-lm(log(airline)~mm1+mm2+mm3+mm4+mm5+mm6+mm7+mm8+mm9+mm10+mm11+time)
summary(mod.c)
# Fortolk den tilpassede modellen
# Husk ? svare p? sp?rsm?lene i oppgaven!
# PUNKT d)
# Plot (de log-transformerte) observasjonene med tilh?rende tilpassede verdier
plot(time, log(airline))
lines(time, fitted(mod.c))
# Hva forteller plottet deg?
# PUNKT e)
# Plot autokorrelasjonen til residualene
acf(ts(resid(mod.c)))
# Hva forteller plottet deg?