Norge, som de fleste land, samler inn data og beregner et nasjonalregnskap. Dette kan sammenlignes med vanlig regnskap. Det skal gi innblikk i den økonomiske situasjon til landet. Hvis vi har en resesjon, vet vi det på grunn av nasjonalregnskapet.

Vi kan enkelt få tilgang til nasjonalregnskapet direkt via SSB sin webside. Som vanlig, begynner vi med å laste inn noen pakker som vi trenger:

library(ggplot2)
library(dplyr)
library(reshape2)
library(zoo)

Data kommer fra SSB, per kvartal og vi laster det inn direkt. Du kan lese mer om nasjonalregnskapet her: https://www.ssb.no/nasjonalregnskap-og-konjunkturer

NR<-read.csv("http://data.ssb.no/api/v0/dataset/59022.csv", 
         sep=";", header=FALSE, dec=",", na.strings = c(".", ".."), skip=1)
colnames(NR) = c("variabel", "kvartal", "enhet", "verdi") #gi variable-navnene. 
kvartal <- as.yearqtr(NR$kvartal, format = "%YK%q") #fra zoo, definere som kvartals-data. 
NR["kvartal"] <- as.Date(kvartal) #deretter formattere som dato formatt. 

str(NR)
## 'data.frame':    7548 obs. of  4 variables:
##  $ variabel: Factor w/ 51 levels "bif.nr8_ Bruttoinvestering i alt",..: 41 41 41 41 41 41 41 41 41 41 ...
##  $ kvartal : Date, format: "2000-01-01" "2000-01-01" ...
##  $ enhet   : Factor w/ 2 levels "Faste 2016-priser (mill. kr)",..: 1 2 1 2 1 2 1 2 1 2 ...
##  $ verdi   : int  210039 216663 216475 220303 222025 220297 227739 218974 213481 221565 ...
levels(NR$enhet)
## [1] "Faste 2016-priser (mill. kr)"               
## [2] "Faste 2016-priser, sesongjustert (mill. kr)"

Vi kan velge mellom sesongjustert og ikke sesongjustert. Hva betyr sesongjustert? Er det grunner for å velge den ene eller den andre?

Vi velger å bruke sesongjusterte tall:

NRSA <- filter(NR, enhet == "Faste 2016-priser, sesongjustert (mill. kr)")
NRSA <- NRSA[,c("variabel", "kvartal", "verdi")] #ta med bare disse tre variablene 

Her ser vi at variabelen består av en kategori (brutto-investering, privatkonsum, osv) og deretter underkategorier. Vi vil splitte variablen inn til to deler - kategori og underkategori.

levels(NRSA$variabel)
##  [1] "bif.nr8_ Bruttoinvestering i alt"                                                         
##  [2] "bif.nr83_6 Bruttoinvestering i fast realkapital"                                          
##  [3] "bif.nr83_6fn \xac Fastlands-Norge (bruttoinvestering)"                                    
##  [4] "bif.nr83_6fnxof \xac\xac Fastlands-Norge utenom offentlig forvaltning (bruttoinvestering)"
##  [5] "bif.nr8307 \xac\xac\xac\xac Tjenester tilknyttet utvinning (bruttoinvestering)"           
##  [6] "bif.nr8368 \xac\xac\xac Boliger (husholdninger) (bruttoinvestering)"                      
##  [7] "bif.nr83indberg \xac\xac\xac\xac Industri og bergverk (bruttoinvestering)"                
##  [8] "bif.nr83naer \xac\xac\xac N\xe6ringer (bruttoinvestering)"                                
##  [9] "bif.nr83oljroer \xac Utvinning og r\xf8rtransport (bruttoinvestering)"                    
## [10] "bif.nr83rest \xac\xac\xac\xac Andre tjenester (bruttoinvestering)"                        
## [11] "bif.nr83vare \xac\xac\xac\xac Annen vareproduksjon (bruttoinvestering)"                   
## [12] "bif.nr84_5 \xac\xac\xac Offentlig forvaltning (bruttoinvestering)"                        
## [13] "bif.pub8X50A \xac Utenriks sj\xf8fart (bruttoinvestering)"                                
## [14] "bil.nr8lu_ Lagerendring og statistiske avvik"                                             
## [15] "biv.nr0890 Anskaffelser minus avhendelse av verdigjenstander"                             
## [16] "bnpb.nr23_6fn Bruttoprodukt Fastlands-Norge, basisverdi"                                  
## [17] "bnpb.nr23_6fnxof \xac Fastlands-Norge utenom offentlig forvaltning (bruttoprodukt)"       
## [18] "bnpb.nr23_9 Bruttonasjonalprodukt, markedsverdi"                                          
## [19] "bnpb.nr23_9fn Bruttonasjonalprodukt Fastlands-Norge, markedsverdi"                        
## [20] "bnpb.nr23indberg \xac\xac Industri og bergverk (bruttoprodukt)"                           
## [21] "bnpb.nr23oljsj Oljevirksomhet og utenriks sj\xf8fart"                                     
## [22] "bnpb.nr23ptjfn \xac\xac Tjenester inkl. boligtjenester (bruttoprodukt)"                   
## [23] "bnpb.nr23vare \xac\xac Annen vareproduksjon (bruttoprodukt)"                              
## [24] "bnpb.nr24_5 \xac Offentlig forvaltning (bruttoprodukt)"                                   
## [25] "bnpb.nr29korr Produktavgifter og -subsidier"                                              
## [26] "eks.nrskiplfly \xac Skip, plattformer og fly (eksport)"                                   
## [27] "eks.nrtjen \xac Tjenester (eksport)"                                                      
## [28] "eks.nrtot Eksport i alt"                                                                  
## [29] "eks.nrtradvare \xac Tradisjonelle varer (eksport)"                                        
## [30] "eks.puboljegs \xac R\xe5olje og naturgass (eksport)"                                      
## [31] "imp.nrskiplfly \xac Skip, plattformer og fly (import)"                                    
## [32] "imp.nrtjen \xac Tjenester (import)"                                                       
## [33] "imp.nrtot Import i alt"                                                                   
## [34] "imp.nrtradvare \xac Tradisjonelle varer (import)"                                         
## [35] "imp.puboljegs \xac R\xe5olje og naturgass (import)"                                       
## [36] "koh.nr61_ \xac Konsum i husholdninger"                                                    
## [37] "koh.nr61L8 \xac\xac Husholdningenes kj\xf8p i utlandet"                                   
## [38] "koh.nr61L9 \xac\xac Utlendingers kj\xf8p i Norge"                                         
## [39] "koh.nr61tjen \xac\xac Tjenestekonsum"                                                     
## [40] "koh.nr61vare \xac\xac Varekonsum"                                                         
## [41] "koh.nrpriv Konsum i husholdninger og ideelle organisasjoner"                              
## [42] "koi.nr66_ \xac Konsum i ideelle organisasjoner"                                           
## [43] "koo.nr64_ \xac Konsum i statsforvaltningen"                                               
## [44] "koo.nr6401 \xac\xac\xac Konsum i statsforvaltningen, forsvar"                             
## [45] "koo.nr64sivil \xac\xac\xac Konsum i statsforvaltningen, sivilt"                           
## [46] "koo.nr65_ \xac Konsum i kommuneforvaltningen"                                             
## [47] "koo.nroff Konsum i offentlig forvaltning"                                                 
## [48] "makrok.nrefn Ettersp\xf8rsel fra Fastlands-Norge (ekskl. lagerendring)"                   
## [49] "makrok.nreoff Ettersp\xf8rsel fra offentlig forvaltning"                                  
## [50] "makrok.nrianv Innenlandsk sluttanvendelse"                                                
## [51] "makrok.nrsanv Samlet sluttanvendelse"

Vi bruker funksjonen “separate” fra pakken tidyr til å gjøre dette:

library(tidyr) #problemer? prøv å først installere "tidyr": install.packages("tidyr")
## 
## Attaching package: 'tidyr'
## The following object is masked from 'package:reshape2':
## 
##     smiths
NRSA = separate(NRSA, variabel, into = c("kateg", "variabel"), sep="\\.", extra = "merge")

Man kan lese mer om separate og tidyr her

Vi definerer de nye kolomene kateg og variabel som faktor:

NRSA["kateg"]<-factor(NRSA$kateg)
NRSA["variabel"]<-factor(NRSA$variabel)

Nå vil vi se litt nærmere på investering.

SSB kaller kategorien for Bruttoinvestering: Hvorfor brutto? Hva ville netto-investering vært?

Er investering en strøm- eller en lager-variabel?

investering = NRSA[NRSA$kateg =="bif",] #henter inn brutto-investering - "bif"
investering["variabel"] <- factor(investering$variabel)
levels(investering$variabel)
##  [1] "nr8_ Bruttoinvestering i alt"                                                   
##  [2] "nr83_6 Bruttoinvestering i fast realkapital"                                    
##  [3] "nr83_6fn \xac Fastlands-Norge (bruttoinvestering)"                                 
##  [4] "nr83_6fnxof \xac\xac Fastlands-Norge utenom offentlig forvaltning (bruttoinvestering)"
##  [5] "nr8307 \xac\xac\xac\xac Tjenester tilknyttet utvinning (bruttoinvestering)"                 
##  [6] "nr8368 \xac\xac\xac Boliger (husholdninger) (bruttoinvestering)"                         
##  [7] "nr83indberg \xac\xac\xac\xac Industri og bergverk (bruttoinvestering)"                      
##  [8] "nr83naer \xac\xac\xac N\xe6ringer (bruttoinvestering)"                                   
##  [9] "nr83oljroer \xac Utvinning og r\xf8rtransport (bruttoinvestering)"               
## [10] "nr83rest \xac\xac\xac\xac Andre tjenester (bruttoinvestering)"                              
## [11] "nr83vare \xac\xac\xac\xac Annen vareproduksjon (bruttoinvestering)"                         
## [12] "nr84_5 \xac\xac\xac Offentlig forvaltning (bruttoinvestering)"                           
## [13] "pub8X50A \xac Utenriks sj\xf8fart (bruttoinvestering)"

Nå har vi en liste over de ulike brutto-investeringene. Vi rydder opp i navnene:

invest_var <- c("Bruttoinvestering i alt",                      
 "fast realkapital",                                    
 "Fastlands-Norge",                                 
 "Fastlands-Norge utenom offentlig forvaltning",
 "Tjenester tilknyttet utvinning" ,                
 "Boliger",                         
  "Industri og bergverk",                      
 "Naeringer",                                   
 "Utvinning og roertransport",               
 "Andre tjenester",                              
 "Annen vareproduksjon",                         
 "Offentlig forvaltning",                           
 "Utenriks sjoefart")  

#her skal vi endre kategori-variablene, som blir kalt "levels"
levels(investering$variabel) <- invest_var

Og da kan vi bruke ggplot og facet_wrap til å se på alle subkategoriene:

ggplot(investering, aes(x=kvartal, y=verdi)) +
  geom_line() +
  facet_wrap(~variabel, ncol=2, scales="free")

Kanskje dette er litt for mye informasjon - la oss begrense det litt:

invest_l <- c("Bruttoinvestering i alt",          
 "fast realkapital",
 "Fastlands-Norge utenom offentlig forvaltning",
 "Boliger", "Industri og bergverk",                      
 "Naeringer", "Utvinning og roertransport",               
 "Offentlig forvaltning")

Med denne kommandoen skal vi begrense vår datasett til kategoriene i variabel som vi har samlet in invest_l

investering_l <- investering[investering$variabel %in% invest_l,]

ggplot(investering_l, aes(x=kvartal, y=verdi)) +
  geom_line() +
  facet_wrap(~variabel, ncol=2, scales="free")

Kan man se noen trender her?

Hvilke typer investering har gått ned de siste årene? Hvilke typer har gått opp? Kan du forklare hvorfor?

Vi har hatt veldig lave renter de siste par årene. Hvordan har det påvirket investering og i hvilken kategori?

Handelsbalansen - eksport og import

Nå ser vi litt på handelsbalansen - eksport og import

eksport <- NRSA[NRSA$kateg == "eks", ] #velger ut eksport-kategorien. 
levels(eksport$variabel)
##  [1] "nr0890 Anskaffelser minus avhendelse av verdigjenstander"                       
##  [2] "nr23_6fn Bruttoprodukt Fastlands-Norge, basisverdi"                             
##  [3] "nr23_6fnxof \xac Fastlands-Norge utenom offentlig forvaltning (bruttoprodukt)"     
##  [4] "nr23_9 Bruttonasjonalprodukt, markedsverdi"                                     
##  [5] "nr23_9fn Bruttonasjonalprodukt Fastlands-Norge, markedsverdi"                   
##  [6] "nr23indberg \xac\xac Industri og bergverk (bruttoprodukt)"                            
##  [7] "nr23oljsj Oljevirksomhet og utenriks sj\xf8fart"                              
##  [8] "nr23ptjfn \xac\xac Tjenester inkl. boligtjenester (bruttoprodukt)"                    
##  [9] "nr23vare \xac\xac Annen vareproduksjon (bruttoprodukt)"                               
## [10] "nr24_5 \xac Offentlig forvaltning (bruttoprodukt)"                                 
## [11] "nr29korr Produktavgifter og -subsidier"                                         
## [12] "nr61_ \xac Konsum i husholdninger"                                                 
## [13] "nr61L8 \xac\xac Husholdningenes kj\xf8p i utlandet"                                 
## [14] "nr61L9 \xac\xac Utlendingers kj\xf8p i Norge"                                       
## [15] "nr61tjen \xac\xac Tjenestekonsum"                                                     
## [16] "nr61vare \xac\xac Varekonsum"                                                         
## [17] "nr64_ \xac Konsum i statsforvaltningen"                                            
## [18] "nr6401 \xac\xac\xac Konsum i statsforvaltningen, forsvar"                                
## [19] "nr64sivil \xac\xac\xac Konsum i statsforvaltningen, sivilt"                              
## [20] "nr65_ \xac Konsum i kommuneforvaltningen"                                          
## [21] "nr66_ \xac Konsum i ideelle organisasjoner"                                        
## [22] "nr8_ Bruttoinvestering i alt"                                                   
## [23] "nr83_6 Bruttoinvestering i fast realkapital"                                    
## [24] "nr83_6fn \xac Fastlands-Norge (bruttoinvestering)"                                 
## [25] "nr83_6fnxof \xac\xac Fastlands-Norge utenom offentlig forvaltning (bruttoinvestering)"
## [26] "nr8307 \xac\xac\xac\xac Tjenester tilknyttet utvinning (bruttoinvestering)"                 
## [27] "nr8368 \xac\xac\xac Boliger (husholdninger) (bruttoinvestering)"                         
## [28] "nr83indberg \xac\xac\xac\xac Industri og bergverk (bruttoinvestering)"                      
## [29] "nr83naer \xac\xac\xac N\xe6ringer (bruttoinvestering)"                                   
## [30] "nr83oljroer \xac Utvinning og r\xf8rtransport (bruttoinvestering)"               
## [31] "nr83rest \xac\xac\xac\xac Andre tjenester (bruttoinvestering)"                              
## [32] "nr83vare \xac\xac\xac\xac Annen vareproduksjon (bruttoinvestering)"                         
## [33] "nr84_5 \xac\xac\xac Offentlig forvaltning (bruttoinvestering)"                           
## [34] "nr8lu_ Lagerendring og statistiske avvik"                                       
## [35] "nrefn Ettersp\xf8rsel fra Fastlands-Norge (ekskl. lagerendring)"              
## [36] "nreoff Ettersp\xf8rsel fra offentlig forvaltning"                             
## [37] "nrianv Innenlandsk sluttanvendelse"                                             
## [38] "nroff Konsum i offentlig forvaltning"                                           
## [39] "nrpriv Konsum i husholdninger og ideelle organisasjoner"                        
## [40] "nrsanv Samlet sluttanvendelse"                                                  
## [41] "nrskiplfly \xac Skip, plattformer og fly (eksport)"                                
## [42] "nrskiplfly \xac Skip, plattformer og fly (import)"                                 
## [43] "nrtjen \xac Tjenester (eksport)"                                                   
## [44] "nrtjen \xac Tjenester (import)"                                                    
## [45] "nrtot Eksport i alt"                                                            
## [46] "nrtot Import i alt"                                                             
## [47] "nrtradvare \xac Tradisjonelle varer (eksport)"                                     
## [48] "nrtradvare \xac Tradisjonelle varer (import)"                                      
## [49] "pub8X50A \xac Utenriks sj\xf8fart (bruttoinvestering)"                           
## [50] "puboljegs \xac R\xe5olje og naturgass (eksport)"                                   
## [51] "puboljegs \xac R\xe5olje og naturgass (import)"
eksport["variabel"] <- factor(eksport$variabel)
levels(eksport$variabel) <- c("Skip, plattformer og fly",
                              "Tjenester",                   
                              "Eksport i alt",                            
                              "Tradisjonelle varer",     
                              "Raaolje og naturgass")

Oppgaver:

Oppgave 1.)

  • Prøv å plotte eksport-kategoriene med ggplot og facet_wrap.

  • Kan man gjøre det samme for import?

  • Hvilken trender ser man i disse dataseriene?

  • Har norge en positiv handelsbalanse?

  • Om eksport av olje og gass skulle forsvinne, hva ville skjedd med handelsbalansen?

  • Vi kan også finne data om privatkonsum (“koh”) og offentligkonsum (“okon”). Dra ut disse dataene og bruk ggplot til å se på alle subkategoriene. Finner man noen trender?

Oppgave 2: Intro til økonometri

I denne oppgaven skal vi begynne å øve på litt formell økonometri. Hovedverktøyet er linear-regresjon.

Vi skal prøve å svare på et enkelt spørsmål: Hvor mye påvirker investeringer i boliger BNP?

Vi kan begynne med å finne fram til data og rydde litt:

bnp <- NRSA[NRSA$kateg == "bnpb",]
bnp$variabel <- factor(bnp$variabel)
bnp_var <- c("Bruttoprodukt Fastlands-Norge, basisverdi",                        
             "Fastlands-Norge utenom offentlig forvaltning (bruttoprodukt)",
             "Bruttonasjonalprodukt, markedsverdi",                                
             "Bruttonasjonalprodukt Fastlands-Norge, markedsverdi",              
              "Industri og bergverk (bruttoprodukt)",                       
              "Oljevirksomhet og utenriks sjoefart",                         
              "Tjenester inkl. boligtjenester (bruttoprodukt)",               
              "nnen vareproduksjon (bruttoprodukt)",                          
              "Offentlig forvaltning (bruttoprodukt)",                            
              "Produktavgifter og -subsidier")
levels(bnp$variabel) <- bnp_var

Nå er det flere måter å måle BNP på. Hvilken metrikk skal vi velge? Total BNP - “Bruttonasjonalprodukt, markedsverdi” - inkluderer også olje og gass. Er det grunn for å inkludere dette, eller burde vi se på kun BNP, Fastlands-Norge.

Jeg velger å bruke fastlands-Norge:

privat_bnp_fastland = bnp[bnp$variabel == "Bruttonasjonalprodukt Fastlands-Norge, markedsverdi",]
privat_bnp_fastland = privat_bnp_fastland[,c("kvartal", "verdi")]
colnames(privat_bnp_fastland)[2]<-"privat_bnp_fastland"

Nå får vi også tall for investering:

investering = NRSA[NRSA$kateg =="bif",]
investering["variabel"] <- factor(investering$variabel)
levels(investering$variabel)
##  [1] "nr8_ Bruttoinvestering i alt"                                                   
##  [2] "nr83_6 Bruttoinvestering i fast realkapital"                                    
##  [3] "nr83_6fn \xac Fastlands-Norge (bruttoinvestering)"                                 
##  [4] "nr83_6fnxof \xac\xac Fastlands-Norge utenom offentlig forvaltning (bruttoinvestering)"
##  [5] "nr8307 \xac\xac\xac\xac Tjenester tilknyttet utvinning (bruttoinvestering)"                 
##  [6] "nr8368 \xac\xac\xac Boliger (husholdninger) (bruttoinvestering)"                         
##  [7] "nr83indberg \xac\xac\xac\xac Industri og bergverk (bruttoinvestering)"                      
##  [8] "nr83naer \xac\xac\xac N\xe6ringer (bruttoinvestering)"                                   
##  [9] "nr83oljroer \xac Utvinning og r\xf8rtransport (bruttoinvestering)"               
## [10] "nr83rest \xac\xac\xac\xac Andre tjenester (bruttoinvestering)"                              
## [11] "nr83vare \xac\xac\xac\xac Annen vareproduksjon (bruttoinvestering)"                         
## [12] "nr84_5 \xac\xac\xac Offentlig forvaltning (bruttoinvestering)"                           
## [13] "pub8X50A \xac Utenriks sj\xf8fart (bruttoinvestering)"
invest_var <- c("Bruttoinvestering i alt",                                                  
 "fast realkapital",                                    
 "Fastlands-Norge",                                 
 "Fastlands-Norge utenom offentlig forvaltning",
 "Tjenester tilknyttet utvinning" ,                
 "Boliger (husholdninger)",                         
  "Industri og bergverk ",                      
 "Naeringer ",                                   
 "Utvinning og roertransport",               
 "Andre tjenester",                              
 "Annen vareproduksjon",                         
 "Offentlig forvaltning",                           
 "Utenriks sjoefart")  

levels(investering$variabel) <- invest_var

inv_bolig <- investering[investering$variabel=="Boliger (husholdninger)",]
inv_bolig <- inv_bolig[,c("kvartal", "verdi")]
colnames(inv_bolig)[2] <- "bolig_investering"
head(inv_bolig)
##         kvartal bolig_investering
## 1629 2000-01-01             24663
## 1630 2000-04-01             24276
## 1631 2000-07-01             25160
## 1632 2000-10-01             25869
## 1633 2001-01-01             26862
## 1634 2001-04-01             27047

Nå setter vi de to dataseriene vi er interessert i en dataframe ved å bruke merge

model_data <- merge(privat_bnp_fastland, inv_bolig, by="kvartal")
head(model_data)
##      kvartal privat_bnp_fastland bolig_investering
## 1 2000-01-01              458732             24663
## 2 2000-04-01              455273             24276
## 3 2000-07-01              459283             25160
## 4 2000-10-01              460422             25869
## 5 2001-01-01              469363             26862
## 6 2001-04-01              465391             27047

Vi kan bruke ggplot til å visualisere dataen:

model_data_long <- melt(model_data, id.var = "kvartal")
ggplot(model_data_long, aes(x=kvartal, y=value)) +
  geom_line() +
  facet_wrap(~variable, nrow=2, scales="free")

Er det noe som er verdt å legge merke til her?

Nå kan vi kjøre en regresjon. Vi kan begynne med å kjøre den enkleste regresjonen mulig:

\[bnp = \alpha + \beta bolig\_investering + \epsilon\]

Dette er veldig enkelt å gjøre i R:

model1<- lm(privat_bnp_fastland ~ bolig_investering, data = model_data)

Her har vi kjørt regresjonen med funksjonen lm som står for “linear model”, og lagret resultatene i en objekt som heter model1. Ellers kan man se på de ulike delene (eller “attributes”) ved å bruke str

Vi kan oppsummere resultatene ved å bruke summary.

summary(model1)
## 
## Call:
## lm(formula = privat_bnp_fastland ~ bolig_investering, data = model_data)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -57656 -25010  -6015  21895  75209 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)       2.132e+05  2.028e+04   10.51 3.45e-16 ***
## bolig_investering 1.036e+01  5.593e-01   18.52  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 32750 on 72 degrees of freedom
## Multiple R-squared:  0.8266, Adjusted R-squared:  0.8242 
## F-statistic: 343.2 on 1 and 72 DF,  p-value: < 2.2e-16
  • Hvordan kan vi tolke disse resultatene?

  • Gir de noen mening? Er de riktige?

  • Hvordan kunne man endre regresjonen til å få resultater med mer mening?