Home » Uncategorized

Category Archives: Uncategorized

Hvem er best til å tippe Tippeligaen 2017, ekspertene eller modellen?

Foran hver sesongstart er det god underholdning for fotballtørste sjeler å lese om hvordan favorittlaget vil gjøre det i årets sesong. I år er intet unntak. VG har gjort oss den tjenesten å samle tippeligatips fra hele 10 ulike eksperter i en artikkel. Jeg kjenner ikke alle lagene i tippeligaen så godt, og jeg liker ikke å tippe, derfor benytter jeg meg av en Bradley-Terry (1952) modell til å tippe tabellplasseringen i Tippeligaen 2017.

Bradley-Terry Modell

Bradley-Terry modeller benyttes for å modellere sportsbegivenheter, der utgangspunktet er at lag i slår lag j. Vi er interessert i lag i‘s prestasjoner, sammenlignet med lag j‘s. Utgangspunktet er:

    \[\texttt{Prob}(i \; \texttt{vinner over} \; j)= \frac{\alpha_i}{\alpha_i+\alpha_j}\]

der \alpha_i er den relative dyktigheten, eller “skills” til lag i. I praksis modellerer vi på logaritmen til “skills”, dvs:

    \[\texttt{logit}[\texttt{Prob}(i \; \texttt{vinner over} \; j)]= \texttt{log}(\alpha_i)- \texttt{log}(\alpha_j)=\lambda_i - \lambda_j\]

Denne typen modell har blitt umåtelig populær. Allerede i 1976 viste Davidson og Farquhar (1976) til et par hundre applikasjoner. Opprinnelig tar modellen bare høyde for vinst eller tap. Rao og Kupper (1967) og Davidson (1970) utvidet den klassiske Bradley-Terry modellen til å inkludere uavgjort. I vår analyse tar vi også med et parameter for hjemmebane som ble introdusert av Agresti (1990).

Vi modellerer hjemmeseier som følger:

    \[\texttt{Prob}(X_{ij} = 1 ) \propto \exp(\eta + \theta_i)\]

Borteseier er:

    \[\texttt{Prob}(X_{ij} = 0 ) \propto \exp(\theta_j)\]

Uavgjort er:

    \[\texttt{Prob}(X_{ij} = 0.5) \propto \exp(\delta + (\eta + \theta_i + \theta_j )/2 )\]

der parameteret \theta måler lagets “skills”, \eta indikerer hjemmebanefordelen, mens \delta måler tendensen for uavgjort. Vi benytter oss av en MM algoritme for estimeringen (se Hunter (2004) for detaljer).

Analyse

Vi benytter data fra Tippeligaen for 2007 til 2016, og data fra OBOS-ligaen fra 2013 til 2016 for å få med data på alle lag. Jeg kommer tilbake til innhenting av data og estimering i en senere blogg. De estimerte “skills” per lag ble som følger:

individual theta se.theta
1 Rosenborg 2.02 0.16
2 Molde 1.46 0.16
3 Odd 1.12 0.15
4 Strømsgodset 1.11 0.15
5 Viking 1.00 0.14
6 Haugesund 0.89 0.17
7 Vålerenga 0.87 0.14
8 Brann 0.87 0.15
9 Tromsø 0.85 0.15
10 Stabæk 0.82 0.15
11 Lillestrøm 0.74 0.14
12 Aalesund 0.69 0.14
13 Sogndal 0.46 0.19
14 Sarpsborg 08 0.41 0.20
15 Kristiansund 0.28 0.23
16 Sandefjord -0.02 0.18

Det er 16 lag som skal spille mot hverandre to ganger (hjemme og borte). Dette gir 240 kampkombinasjoner.
Til disse 240 kampkombinasjonene blir det beregnet en sannsynlighet for hjemme, uavgjort og borte, basert på “skills”, hjemmebanefordel og tendens til uavgjort. Summen av sannsynlighetsvektoren per kamp er en. Kamputfallet simuleres som en binomisk prosess, der hver kamp “spilles” 5000 ganger, poeng blir tildelt etter utfall (3 ved seier, 1 ved uavgjort, og 0 ved tap). Alle 240 kampene blir omgjort til en tabell (5000 ganger), og gjennomsnittet av de 5000 tabellene blir den endelige tabellen.

Resultat

Resultatet av Bradley-Terry modellen finner vi i følgende tabell sammen med eksperttipsene:

Lag VG Aftenposten Bergens Tidene Adressa TV 2 Eurosport Nordlys Dagbladet Dagsavisen Nettavisen Bradley-Terry
1 Rosenborg 1 1 1 1 1 1 1 1 1 1 1
2 Odd 2 3 2 2 2 2 2 4 4 2 3
3 Molde 3 4 3 5 3 3 4 2 2 3 2
4 Vålerenga 4 5 4 3 6 5 3 3 3 7 7
5 Sarpsborg 08 5 6 5 7 4 7 7 5 7 5 14
6 Brann 6 7 7 6 7 6 6 7 6 6 8
7 Strømsgodset 7 2 6 4 5 4 5 6 8 4 4
8 Lillestrøm 8 10 12 9 11 11 8 10 5 13 11
9 Tromsø 9 8 11 10 9 10 9 11 11 11 9
10 Haugesund 10 9 8 8 8 8 11 8 9 8 6
11 Viking 11 11 9 11 10 9 10 9 12 9 5
12 Aalesund 12 12 13 14 12 14 12 13 13 12 12
13 Sogndal 13 13 10 13 13 12 13 12 15 10 13
14 Kristiansund 14 15 14 16 14 13 14 14 14 15 15
15 Stabæk 15 14 15 12 15 15 15 16 10 14 10
16 Sandefjord 16 16 16 15 16 16 16 15 16 16 16

Vi ser at alle de 10 ekspertene er svært enige om sluttresultatet. En bedre måte å se dette på er å beregne rang korrelasjonen til tabellrangeringene.
plot of chunk unnamed-chunk-4

Det er kun Bradley-Terry modellen som avviker fra de ekspertene. Ellers er det stor konsensus. En av årsakene til dette er at ekspertene ikke ser så langt tilbake. De tar kanskje utgangspunkt i forrige sesong, ser på hvilke spillere som har kommet og gått, hvor mye ressurser klubben har, trenere, osv.

Vår modell tar kun utgangspunkt i historiske kampdata, også kamper som er spilt mot lag som ikke er med i årets Tippeliga. Det er dermed en gjennomsnittsbetraktning over tid som ligger til grunn for vår modell.

Så da blir det i praksis modellen mot ekspertene. Så får vi se hvem som blir best ved sesongslutt. Fortsettelse følger.

Referanser

Agresti, A. 1990. Categorical Data Analysis. 1st ed. Wiley Series in Probability and Statistics. Wiley-Interscience.

Bradley, Ralph Allan, and Milton E. Terry. 1952. “Rank Analysis of Incomplete Block Designs: I. the Method of Paired Comparisons.” Biometrika 39 (3/4). [Oxford University Press, Biometrika Trust]: 324–45. http://www.jstor.org/stable/2334029.

Davidson, Roger R. 1970. “On Extending the Bradley-Terry Model to Accommodate Ties in Paired Comparison Experiments.” Journal of the American Statistical Association 65 (329). [American Statistical Association, Taylor & Francis, Ltd.]: 317–28. http://www.jstor.org/stable/2283595.

Davidson, Roger R., and Peter H. Farquhar. 1976. “A Bibliography on the Method of Paired Comparisons.” Biometrics 32 (2). [Wiley, International Biometric Society]: 241–52. http://www.jstor.org/stable/2529495.

Hunter, David R. 2004. “MM Algorithms for Generalized Bradley-Terry Models.” Ann. Statist. 32 (1). The Institute of Mathematical Statistics: 384–406. http://dx.doi.org/10.1214/aos/1079120141.

Rao, P. V., and L. L. Kupper. 1967. “Ties in Paired-Comparison Experiments: A Generalization of the Bradley-Terry Model.” Journal of the American Statistical Association 62 (317). [American Statistical Association, Taylor & Francis, Ltd.]: 194–204. http://www.jstor.org/stable/2282923.

913 total views, no views today

Her er analysen som viser at Ap-nestleder Hadia Tajik har feiltolket totalt

Dette er en lett omskrivning av tittelen til artikkelen i NRK med overskriften “Her er tallene Ap mener beviser at Erna og Siv har mislyktes totalt”.

SSB publisert nylig tall for nasjonalregnskapet. Tallene det refereres til er hentet herfra. Ulempen med NRK's fremstilling og Tajik's tolkning er at de baserer seg på endring i tall på nivåform. Dette er en fremstilling som mange økonomer ikke er spesielt glad i. Når en gjør det, er det enkelt å benytte disse til en “jeg er bedre enn deg” tolkning. Vi vet også at økonomiske makrotall og konjukturer spiller inn på sysselsettingen, kanskje mer enn hvilken regjering som sitter ved kongens bord. Dette er Jan Petter Sissener inne på i bloggen sin. La oss se nærmere på tallene.

Data

Vi benytter oss av kvartalsvise nasjonalregnskapstall fra SSB, der totsyssel er kategorien “I alt” fra Tabell 39. “Sysselsatte personer”. Videre er totinv kategorien “I alt” fra Tabell 24. “Bruttoinvestering i fast realkapital”. Vi tar også med Brent oljepris fra Quandl (se tidligere blogg). Jeg har laget en tabell over norske regjeringer per kvartal, basert på Wikipedia. Selve dataryddingen tar jeg ikke med her, men det endelige datasettet kan lastes ned fra lenken under.

Modell

La z_0 være antall sysselsatte når den rødgrønne regjeringa tiltrådte, og z_1 være antall sysselsatte når den rødgrønne regjeringa gikk av. Endring i løpet av perioden er \Delta z=z_1-z_0. Vi gjør det samme for den nåværende regjeringen, og sier at \Delta w=w_1-w_0, der w_1 er det siste sysselsettingstallet fra SSB. Tajik, konstaterer at \Delta z \gg \Delta w, ergo har Erna og Siv mislyktes totalt. Feiltolkningen i dette tilfellet er kun å se på \Delta z og \Delta w som frikoblet fra den økonomiske virkeligheten. Endringen tilskrives kun den spesifikke regjeringen i perioden, og ingen andre forhold taes med i betraktningen. Dette blir en for enkel fremstilling.

Dersom en ønsker å se på vekst, og vekstrater, i dette tilfellet i antall sysselsatte y, så kan en benytte seg av en vekstmodell:

    \[y_t=y_0(1-r)^t\]

Der r er vekstraten over tid (t) i antall sysselsatte. Vi kan ta den naturlige logaritmen på begge sider, og skrive:

    \[log(y_t)=log(y_0)+t\times log(1-r)\]

Vi kan estimere dette som en regresjonsmodell:

    \[log(y_t)=\beta_0+\beta_1 t+u_t\]

der \beta_1 \times 100 kan tolkes som den konstante vekstraten (i prosent per tidsenhet på et gitt tidspunkt). Dette kan endres til den kontinuerlige vekstraten (i prosent per tidsenhet over en tidsperiode), ved å ta 100 \times(e^{\beta_1}-1).

Vi utvider den generelle vekstmodellen som følger:

    \[log(\texttt{totsyssel}_t)=\beta_0+\beta_1 t+\beta_2\texttt{H-FRP}+\beta_3\texttt{H-FRP}\times t+\beta_4log(\texttt{pbrent})+\beta_5log(\texttt{totinv})+u_t\]

Det er den rødgrønne regjeringa som er i basis (\beta_0), og som har vekstraten \beta_1. \texttt{H-FRP} er en dummyvariabel for den nåværende regjeringa. Det interessante parameteret er \beta_3. Dette måler om vekstraten til den nåværende regjeringa er signifikant forskjellig fra den rødgrønne regjeringa. Effekten av oljeprisen måles ved \beta_4, og effekten av bruttoinvesteringer i fast realkapital måles ved \beta_5. Begge er en elastisitet som måler den prosentvise effekten på syssselsetting i prosent.

Resultatene av analysen sees i tabellen under.

Avhengig variabel
log(Sysselsatte)
Konstantledd 6.320
t = 23.500
p = 0.000
t 0.002
t = 4.810
p = 0.00003
H og FRP 0.007
t = 0.070
p = 0.945
log(brentpris) 0.011
t = 1.420
p = 0.164
log(bruttoinvesteringer) 0.117
t = 4.800
p = 0.00003
t x (H og FRP) -0.0002
t = -0.179
p = 0.859
Observations 45
R2 0.935
Adjusted R2 0.926
Residual Std. Error 0.011 (df = 39)
F Statistic 111.000*** (df = 5; 39)
Note: no notes.

Vi ser at den kontinuerlige vekstraten i sysselsettingen for den rødgrønne regjeringa var på 0.18 prosent per kvartal, eller omlag 0.72 prosent per år, alle andre variabler i modellen holdt konstant. Det interessante her er at vekstraten til den nåværende regjeringa ikke er signifikant forskjellig fra vekstraten til den rødgrønne regjeringa. Det er bruttoinvesteringer i fast realkapital som er den store driveren på sysselsetting. Oljepris har litt å si, men er marginalt ikke signifikant.

Moralen må være at en ikke skal forenkle sammenligninger av tall til det meningsløse. Men da hadde det vel ikke blitt mange sensasjonelle nyheter basert på tall?

466 total views, 1 views today

Påvirker prisen på råolje prisen på bensin og diesel?

Det er synset mye om sammenhengen mellom råoljeprisen og prisen du og jeg betaler for drivstoff ved pumpen. Oljeselskapene gjør et poeng av at avgiftene utgjør omlag 60% av pumpeprisen.

Knut Hilmar Hansen i Statoil sier til til E24:
Det er ikke direkte sammenheng mellom prisen på råolje i dollar og pumpepris i kroner. Vi kjøper inn ferdigraffinerte produkter i eget marked, og prisen påvirkes ikke bare av råoljepris og valutakurser, men også av tilbud og etterspørsel, raffineringskapasitet, for å nevne noe. Jeg forstår at folk sliter med å se forskjellen på råoljepris og pumpepris, men det er en forskjell.

Oljeanalytiker Thina Saltvedt i Nordea Markets ser en rekke variabler, blant annet høyere oljepris og avgifter, som trekker i retning av høyere bensinpris i 2017. Ingen påstår å vite i hvor stor grad disse faktorene slår ut på bensin og dieselprisen. Det vil vi forsøke å finne ut av. Og som du vil se på slutten av bloggen så har råoljeprisen litt å si, men avgiftsøkningen er omlag tre ganger viktigere.

Data

For å kunne svare på disse spørsmålene, trenger vi data og en analyse. Vi starter med å laster nødvendige R pakker.

I en tidligere blogg benyttet jeg SSB’s API for å laste ned månedlige data på salg av bensin og diesel. Først ut er salg av petroleumsprodukter (mill. liter) fra tabell 03687.

Deretter laster vi ned priser på drivstoff (kr per liter) fra tabell 09654.

Vi benytter Brent oljepris fra Quandl som representant for råoljeprisen.

Vi ønsker også å bruke valutakursen mellom norske kroner og US dollar. Denne laster vi ned fra Oanda. Det er begrensninger for hvor lang tidsserie en kan laste ned per gang (5 år). Derfor gjør vi dette i flere omganger.

Vi ønsker å ha med konsumprisindeksen fra SSB. Denne vil fungere som en proxy på inntekt i modellen.

Vi kan med rimelighet anta at drivstoffavgifter påvirker prisen, så vi tar med disse også. Vi benytter oss av data fra Norsk Petroleumsinstitutt. Vi leser dataene inn direkte. Dette er summen av CO_{2} avgift og veibruksavgift, populært kalt drivstoffavgift.

Til sist lager vi et datasett som vi kaller fuel. Vi benytter funksjonen ts.intersect som fusjonerer tidsserier av ulik lengde mhp dato, og fjerner manglende observasjoner.

plot of chunk unnamed-chunk-8

Vi har nå en dataserie på 258 observasjoner, fra jan 1995 til jun 2016. Kvantumstallene til SSB er ikke tilgjengelig for slutten av 2016 enda. Vi ser videre at i perioden så har volatiliteten til oljeprisen vært betydlig større enn volatiliteten til bensin og dieselprisen.

plot of chunk unnamed-chunk-10

Analyse

Vi benytter oss av en enkel invers etterspørselsmodell, der pris er avhengig variabel. Modellen er på logaritmisk form, slik at parametrene kan tolkes som elastisiteter, eller mer nøyaktig som prisfleksibiliteter. Det er ikke noen substitutter i modellen, da jeg benytter meg av antagelsen om at en bensinbil går dårlig på diesel, og vise versa. Kvantum antas å være endogent, derfor benyttes en 2SLS algoritme til estimeringen. Pris er en funksjon av etterspurt kvantum. Dynamikk er ivaretatt med en lagget avhengig variabel, et trendledd med et andre ordens polynom og et sett av dummyvariabler på måneder (januar er basis). Videre er konsumprisindeksen en proxy på inntekt. Vi har med våre tre økonomisk variabler av interesse i form av råolje med bruk av Brent oljepris, valutakursen mot US dollar, og de respektive drivstoffavgiftene er med.

Resultatene av analysen sees i tabellen under.

Avhengig variabel
log(Dieselpris) log(Bensinpris)
2SLS 2SLS
log(Pris Diesel)(t-1) 0.669***
log(Kvantum Diesel) -0.100**
log(Pris Bensin)(t-1) 0.557***
log(Kvantum Bensin) -0.118*
Trend -0.0003 0.0005
Trend x Trend 0.00000 -0.00000
Feb -0.016** -0.007
Mars 0.002 0.018*
April -0.018** 0.021**
Mai -0.011 0.030**
Juni 0.001 0.033**
Juli -0.007 0.043**
Aug -0.005 0.025
Sept 0.001 0.013
Okt 0.010 0.006
Nov 0.003 -0.006
Des -0.003 -0.001
log(Konsumprisindeks) 0.276 -0.070
log(Brentpris) 0.087*** 0.089***
log(USD/NOK) 0.036* 0.079***
log(Dieselavgift) 0.244***
log(Bensinavgift) 0.327***
Konstantledd -1.842** -0.577
Observations 257 257
R2 0.989 0.991
Adjusted R2 0.988 0.991
Residual Std. Error (df = 237) 0.023 0.021
Note: *p<0.1; **p<0.05; ***p<0.01

Resultat

Ettersom modellen inneholder en lagget avhengig variabel med parameter, \lambda, blir de langsiktige effektene i modellen
lik en estimert koeffisient multiplisert med (1-\lambda)^{-1}. Median lag, dvs den tiden det tar for et sjokk i en av de
eksogene variablene å påvirke prisen med 50% av den langsiktige effekten er for dieselprisen lik 1.72 måneder.
For bensin tar det 1.18 måneder. Vi ser at bensinprisen er marginalt mer dynamisk enn dieselprisen.

For råoljeprisen ser vi at en økning på 10% gir en økning i dieselprisen på 2.63%, mens effekten på bensin er 2%. Dieselprisen har altså en litt mer elastisk respons sammenlignet med bensinprisen.

Dollarkursen slår ulikt ut på de to prisene. En svekkelse på 10% av kronekursen mot US dollar gir en økning i dieselprisen på 1.08%, mens effekten på bensin er 1.77%. Her er bensinprisen marginalt mer elastisk enn dieselprisen.

Til sist ser vi på avgiftsøkningen. En 10% økning i (samlet) dieselavgift gir en økning i dieselprisen på 7.37%, mens effekten på bensin er 7.38%. Begge priser responderer altså likt i forhold til avgiftsøkningen.

Et interessante poeng er at effekten av avgiftsøkningen er større enn kostnadsandelen til avgiften (60%). Dette er forsåvidt ikke et uventet funn. I mikroøkonomi lærer vi våre studenter at en ‘skatt’ i et marked belastes den mest uelastiske delen av markedet. I dette tilfellet er etterspørselen etter drivstoff mer uelastisk sammenlignet med tilbudet. Dette kalles tax incidence.

Prognose for 2017

Saltvedt venter at råoljeprisen vil stige fra 45 dollar fatet i snitt i 2016 til 57 dollar fatet i 2017.
Dette er en økning på 26.67%. Det er vanskelig å si hvor kronekursen skal, men for prognosen vår kan vi f.eks. anta at krona svekker seg med 15% mot US dollar (gjennomsnitt av de to siste årene).

Regjeringen bestemte at veibruksavgiften på drivstoff i 2017 skulle øke med 20 øre per liter bensin,
mens økningen for diesel er 36 øre per liter. Økningen i av CO_{2}-avgift er på henholdsvis 7 øre og 8 øre for bensin og diesel. Dette tilsvarer samlet en 9.65% avgiftsøkning på diesel og 4.7% avgiftsøkning på bensinprisen.

Hvilken effekt har disse endringene på drivstoffprisen?

La oss se på en prognose basert på antagelsene over, og resultatene fra analysen.

Variabel %-vis Endring 2017 Effekt på Dieselpris Effekt på Bensinpris
Råolje 26.67 7.02 5.34
Valuta 15 1.61 2.66
Avgift 9.65 og 4.7 7.11 3.47
Sum 15.74 11.46

Med en gjennomsnittspris på diesel i 2016 på kr 11.66 pr liter utgjør disse antagelsene en økning i dieselprisene på kr 1.84. For bensin, som hadde en gjennomsnittspris på 13.55 utgjør dette kr 1.55. Avgiftsøkningen alene utgjør kr 0.83 og kr 0.47 på henholdsvis diesel og bensin. Ikke rart at det ble dyrere å tanke på nyåret!

444 total views, 2 views today

Tallet er…

Årets formtall er 17 påstår Norsk-Tipping i en annonse

Faksimile Norsk-Tipping

Tallet 17 ble trukket ut hele 18 ganger i fjorårets lottotrekninger. Annonsen er selvfølgelig ment å være markedsføring for lotto, men dersom det stemmer at noen tall er i “bedre form” enn andre, strider ikke dette mot lotto som et sannsynlighetsspill?

Den første lottotrekningen fant sted i 19 april 1986. På Norsk-Tipping sine nettsider kan en finne statistikk over antall ganger hvert tall er trukket https://www.norsk-tipping.no/tjenester/tallet-er?. Vi laster inn data fra første trekning til og med 9 januar i år.

I henhold til mine beregninger er det holdt 1603 lottotrekninger til nå. Ved hver trekning trekkes det 7 hovedtall. Alle tall skal ha lik sannsynlighet for å bli trekt ut, og sannsynligheten for at ett bestemt tall blir trukket i en trekning er da \frac{7}{34}.

Forventningsverdien i løpet av alle disse 1603 trekningene blir da:

Vi kan benytte en kji-kvadrattest for å teste hypotesen om at alle tallene er likt fordelt over trekningene.
Formelen er:

    \[\chi ^{2}=\sum \frac{(Observert-Forventet)^{2}}{Forventet}\]

Vi får da følgende kji-kvadratverdi.

Den tilhørende p-verdien er:

Ettersom p-verdien er større en et valgt signifikansnivå (f.eks. 5%) konkluderer vi med at frekvensen av lottotall er lik. Siden starten har ingen tall blitt trukket oftere eller sjeldnere ut sammenlignet med antagelsen at frekvensen er lik for alle tall.

Denne testen er bygget inn i R funksjonen chisq.test.

La oss bare se på trekningene i 2016.

plot of chunk unnamed-chunk-6

Også denne testen indikerer at frekvensen av alle tall er lik. p-verdien er det skraverte lilla området under fordelingen.

Vi ser at til tross for Norsk-Tippings påstand om at 3 og 33 er årets store tapere, ser vi at noen tall ligger over forventningsverdien, mens andre ligger under. Slik vil det alltid være. En må trekke ganske mange ganger før at fordelingen blir uniform.

plot of chunk unnamed-chunk-7

Det er altså (heldigvis) ingen grunn til å tro at noen tall er i bedre “form”“ enn andre. Kulene har ikke hukommelse, og neste lørdag er det like stor sannsynlighet for at hvert av tallene blir trekt, uavhengig av tidligere trekninger.

5,340 total views, 5 views today

Hvor mange poeng har Klopp’s Liverpool løpt inn sammenlignet med Mourinho’s United?

VG har en interessant artikkel i dagens nettavis. Etter fem spilte kamper i Premier League, har Klopp's Liverpool løpt over 50 km lenger enn Mourinho's United. Har dette noe å si?
La oss se nærmere på dette. Dataene for antall km løpt og tabellen er som følger:

Vi lager en enkel modell der poeng er en funksjon av antall mål og antall km sprunget, dvs:

    \[poeng=\beta _{0}+\beta _{1}\:goals+\beta _{2}\:km\]

Dependent variable:
poeng
goals 0.672***
(0.044)
km 0.014
(0.016)
Constant -0.674
(8.528)
Observations 20
R2 0.945
Adjusted R2 0.939
Residual Std. Error 0.934 (df = 17)
F Statistic 146.232*** (df = 2; 17)
Note: *p<0.1; **p<0.05; ***p<0.01

Modellen viser at jo flere mål en skårer, jo flere poeng tar en. Uheldigvis er ikke km signifikant, men kanskje antall løpte km påvirker hvor mange mål som blir skårt?

Dependent variable:
goals
km 0.139*
(0.077)
Constant -76.062*
(42.316)
Observations 20
R2 0.152
Adjusted R2 0.105
Residual Std. Error 5.034 (df = 18)
F Statistic 3.233* (df = 1; 18)
Note: *p<0.1; **p<0.05; ***p<0.01

Her er det en sammenheng. Vi kan altså modellere (og estimere) dette som et system:

1)

    \[goals= \lambda _{0}+\lambda _{1}\:km\]

2)

    \[poeng=\alpha _{0}+\alpha _{1}\:goals+\alpha _{2}\:km\]

Vi spesifiserer den strukturelle modellen. Benyttet R pakken lavaan.

Vi ønsker nå å finne effekten av kmpoeng, dvs. \frac{\partial poeng}{\partial km}. Vi differensierer begge ligningene og får:

1')

    \[d(goals)= \lambda _{1}\:d(km)\]

2')

    \[d(poeng)=\alpha _{1}\:d(goals)+\alpha _{2}\:d(km)\]

Vi setter 1') inn i 2'), og får:

    \[ \frac{d(poeng)}{d(km)}=(\alpha _{1}\times \lambda _{1})+\alpha _{2}\]

I løpet av sesongens fem første kamper har Liverpool løpt 55 km mer enn United.
Hvor mange poeng utgjør dette? Gitt våre parameterestimater, blir det:

Dette innebærer at Liverpool har løpt inn 1.18 poeng per kamp når vi holder effekten av antall skårte mål konstant, sammenlignet med United.

En annen måte å se det på er at antall løpte km står for 59.04 prosent av de poengene Liverpool har hittil.

La oss håpe Liverpools løpeform holder seg gjennom sesongen!

1,133 total views, no views today

Uproblematisk Champions League Trekning

Trekningen til 2016/17 sesongen av Champions League ble gjennomført i dag. Det mest spennende denne gangen er at Manchester City manager Pep Guardiola skal møte sitt gamle lag Barcelona.

For fire år siden ble det betydelig mer oppmerksomhet rundt trekningen til 16-dels finalene. Det som skjedde den gangen var at en prøvetrekning ble gjennomført (og offentliggjort) dagen før den offisielle trekningen. På den offisielle trekningen ble det akkurat samme resultat som dagen før! Dette førte til stor oppstandelse. CMores ekspert på fotball mente at det var en så liten sannsynlighet for at samme trekning skulle skje to ganger at han ikke trodde det skyldtes tilfeldigheter.

La oss se på tilfeldighetene i en slik trekning, nærmere bestemt 16-dels finalene i 2012.

Det er 16 lag med i trekningen. Den første begrensningen er at to lag fra samme land ikke kan møtes. Det er i alt 120 ulike kombinasjoner av to lag til en kamp fra i alt 16 lag.

Landbegrensning

Lagene kom fra følgende land:

Vi beregner antall mulige land-kombinasjoner, og deler inn i hjemmeland og borteland.

Er hjemmeland og borteland like, kan de ikke spille mot hverandre.

Gitt denne landbegrensningen har vi 11 kampkombinasjoner som ikke er tillatt.

Begrensning på gruppetilhørighet

Den neste begrensningen går på gruppetilhørighet. Fra det innledende gruppespillet er det 8 grupper. To lag fra samme gruppe kan ikke møtes.

Vi beregner først mulige kombinasjoner av gruppetilhørighet.

Gitt denne gruppe begrensningen har vi 8 kampkombinasjoner som ikke er tillatt.

Begrensning på posisjon i gruppen

Den siste begrensningen er posisjon i gruppen etter at gruppespillet er ferdig. Ingen gruppe 1’ere kan møtes. Gruppe 2’erne er gitt verdien 0.

Gitt denne siste plasseringsbegrensningen har vi 28 kampkombinasjoner som ikke er tillatt.

Mulige kampkombinasjoner

Gitt de ulike begrensningene, la oss se på antall mulige kampkombinasjoner.

Det viser seg at for disse lagene, så er det 77 kampkombinasjoner som kan spilles. I dataene er det kun mulig å spille en kamp dersom det står 0 i “mulig.kamp”.

hjemmelag bortelag likeland sammegruppe begge.er.no.1 mulig.kamp
V1 Valencia PSG 0 0 0 0
V2 Valencia Real Madrid 1 0 0 1
V3 Valencia ManU 0 0 0 0
V4 Valencia AC Milan 0 0 0 0
V5 Valencia Barcelona 1 0 0 1
V6 Valencia Shaktar 0 0 0 0
V7 Valencia Borrussia D 0 0 0 0
V8 Valencia Arsenal 0 0 0 0
V9 Valencia Bayern M 0 1 0 1
V10 Valencia Porto 0 0 0 0
V11 Valencia Malaga 1 0 0 1
V12 Valencia Celtic 0 0 0 0
V13 Valencia Juventus 0 0 0 0
V14 Valencia Galatasaray 0 0 0 0
V15 Valencia Schalke 0 0 0 0
V16 PSG Real Madrid 0 0 0 0
V17 PSG ManU 0 0 1 1
V18 PSG AC Milan 0 0 0 0
V19 PSG Barcelona 0 0 1 1
V20 PSG Shaktar 0 0 0 0
V21 PSG Borrussia D 0 0 1 1
V22 PSG Arsenal 0 0 0 0
V23 PSG Bayern M 0 0 1 1
V24 PSG Porto 0 1 0 1
V25 PSG Malaga 0 0 1 1
V26 PSG Celtic 0 0 0 0
V27 PSG Juventus 0 0 1 1
V28 PSG Galatasaray 0 0 0 0
V29 PSG Schalke 0 0 1 1
V30 Real Madrid ManU 0 0 0 0
V31 Real Madrid AC Milan 0 0 0 0
V32 Real Madrid Barcelona 1 0 0 1
V33 Real Madrid Shaktar 0 0 0 0
V34 Real Madrid Borrussia D 0 1 0 1
V35 Real Madrid Arsenal 0 0 0 0
V36 Real Madrid Bayern M 0 0 0 0
V37 Real Madrid Porto 0 0 0 0
V38 Real Madrid Malaga 1 0 0 1
V39 Real Madrid Celtic 0 0 0 0
V40 Real Madrid Juventus 0 0 0 0
V41 Real Madrid Galatasaray 0 0 0 0
V42 Real Madrid Schalke 0 0 0 0
V43 ManU AC Milan 0 0 0 0
V44 ManU Barcelona 0 0 1 1
V45 ManU Shaktar 0 0 0 0
V46 ManU Borrussia D 0 0 1 1
V47 ManU Arsenal 1 0 0 1
V48 ManU Bayern M 0 0 1 1
V49 ManU Porto 0 0 0 0
V50 ManU Malaga 0 0 1 1
V51 ManU Celtic 0 0 0 0
V52 ManU Juventus 0 0 1 1
V53 ManU Galatasaray 0 1 0 1
V54 ManU Schalke 0 0 1 1
V55 AC Milan Barcelona 0 0 0 0
V56 AC Milan Shaktar 0 0 0 0
V57 AC Milan Borrussia D 0 0 0 0
V58 AC Milan Arsenal 0 0 0 0
V59 AC Milan Bayern M 0 0 0 0
V60 AC Milan Porto 0 0 0 0
V61 AC Milan Malaga 0 1 0 1
V62 AC Milan Celtic 0 0 0 0
V63 AC Milan Juventus 1 0 0 1
V64 AC Milan Galatasaray 0 0 0 0
V65 AC Milan Schalke 0 0 0 0
V66 Barcelona Shaktar 0 0 0 0
V67 Barcelona Borrussia D 0 0 1 1
V68 Barcelona Arsenal 0 0 0 0
V69 Barcelona Bayern M 0 0 1 1
V70 Barcelona Porto 0 0 0 0
V71 Barcelona Malaga 1 0 1 2
V72 Barcelona Celtic 0 1 0 1
V73 Barcelona Juventus 0 0 1 1
V74 Barcelona Galatasaray 0 0 0 0
V75 Barcelona Schalke 0 0 1 1
V76 Shaktar Borrussia D 0 0 0 0
V77 Shaktar Arsenal 0 0 0 0
V78 Shaktar Bayern M 0 0 0 0
V79 Shaktar Porto 0 0 0 0
V80 Shaktar Malaga 0 0 0 0
V81 Shaktar Celtic 0 0 0 0
V82 Shaktar Juventus 0 1 0 1
V83 Shaktar Galatasaray 0 0 0 0
V84 Shaktar Schalke 0 0 0 0
V85 Borrussia D Arsenal 0 0 0 0
V86 Borrussia D Bayern M 1 0 1 2
V87 Borrussia D Porto 0 0 0 0
V88 Borrussia D Malaga 0 0 1 1
V89 Borrussia D Celtic 0 0 0 0
V90 Borrussia D Juventus 0 0 1 1
V91 Borrussia D Galatasaray 0 0 0 0
V92 Borrussia D Schalke 1 0 1 2
V93 Arsenal Bayern M 0 0 0 0
V94 Arsenal Porto 0 0 0 0
V95 Arsenal Malaga 0 0 0 0
V96 Arsenal Celtic 0 0 0 0
V97 Arsenal Juventus 0 0 0 0
V98 Arsenal Galatasaray 0 0 0 0
V99 Arsenal Schalke 0 1 0 1
V100 Bayern M Porto 0 0 0 0
V101 Bayern M Malaga 0 0 1 1
V102 Bayern M Celtic 0 0 0 0
V103 Bayern M Juventus 0 0 1 1
V104 Bayern M Galatasaray 0 0 0 0
V105 Bayern M Schalke 1 0 1 2
V106 Porto Malaga 0 0 0 0
V107 Porto Celtic 0 0 0 0
V108 Porto Juventus 0 0 0 0
V109 Porto Galatasaray 0 0 0 0
V110 Porto Schalke 0 0 0 0
V111 Malaga Celtic 0 0 0 0
V112 Malaga Juventus 0 0 1 1
V113 Malaga Galatasaray 0 0 0 0
V114 Malaga Schalke 0 0 1 1
V115 Celtic Juventus 0 0 0 0
V116 Celtic Galatasaray 0 0 0 0
V117 Celtic Schalke 0 0 0 0
V118 Juventus Galatasaray 0 0 0 0
V119 Juventus Schalke 0 0 1 1
V120 Galatasaray Schalke 0 0 0 0

Hva er sannsynligheten for to like trekninger?

I trekningen er det 16 lag, noe som gir 120 ulike kampkombinasjoner som det skal trekkes 8 kamper fra. Lag fra samme land kan ikke spille mot hverandre. To lag fra samme gruppe kan ikke møtes, og ingen gruppe 1’ere kan møtes. Disse begrensningene gjør at det til sammen er 43 kampkombinasjoner som ikke kan spilles. Det gjenstår da 77 mulige kampkombinasjoner som det skal trekkes 8 kamper til.

Sannsynligheten for å trekke et unikt sett av 8 kamper fra 77 mulige kombinasjoner er da 8/77, eller 10.39%. Sannsynligheten for å trekke samme unike 8 kampkombinasjon to ganger etter hverandre er da 8/77 x 8/77, eller 1.08%, altså ikke helt usannsynlig. Sjansen for at en av dine lottorekker skal gå inn på lørdag er 0.0000186%. Det er lite det!

374 total views, no views today

90% av lærerstudentene strøk i matte ved UiT, men er UiT dårligere enn alle de andre?

“Staten brukte ti millioner på mattekurs. På enkelte skoler strøk over 90 prosent.”

Dette er overskriften i Aftenposten i dag (9/8/2016). Bare 3 av 4 potensielle lærerstudenter på landsbasis bestod forkurset i matematikk. Alle med karakter 3 eller dårligere i matematikk på videregående måtte bestå forkurset for å kunne starte på lærerutdanningen.

I lokalavisene har mitt eget universitet (UiT) fått gjennomgå. Fra Nordlys kan vil leste at: “9 av 10 lærerstudenter i nord klarte ikke matematikkeksamen”, mens avisa iTromsø skriver: “90 prosent strøk på mattekurset ved UiT”.

Disse resultatene er uten tvil svært begredelige. Men det som er interessant fra et analytisk ståsted er om det er signifikante forskjeller i strykprosenten når en sammenligner mellom de ulike lærerstedene.

For å gjøre en lang historie kort, så er det kun forskjellen i strykprosent mellom HiOA – Nord.Nesna på 31 prosent som er signifikant forskjellig. UiT er dermed ikke dårligere enn alle andre lærersteder når en tar hensyn til variasjonen i dataene.

Ingen av de andre 170 kontrastene er signifikant forskjellig. En kontrast er når vi tar to og to lærersteder av gangen og sammenligner strykprosenten mellom disse. Vi kan dermed konkludere med at strykprosenten på landsbasis var 75.7 prosent. Alle lærerstedene var like dårlige, med ett unntak altså.

Hvordan har vi så kommet frem til dette resultatet? Aftenposten har vært så omtenksomme at de har åpnet for muligheten til å laste ned dataene nederst i artikkelen sin.

Her er tabellen med strykprosenter per lærersted, kilde: lenke i Aftenposten.

Lærested Bestått Ikke.Bestått Totalt Andel.ikke.bestått Andel.Bestått
1 HiB 15 24 39 61.500 38.500
2 HiHm 2 31 33 93.900 6.100
3 HiOA 22 49 71 69 31
4 HiSF 4 9 13 69.200 30.800
5 HiØ 5 18 23 78.300 21.700
6 HSH 5 16 21 76.200 23.800
7 HSN.BV 8 27 35 77.100 22.900
8 HSN.T 4 15 19 78.900 21.100
9 HVO 4 11 15 73.300 26.700
10 NLA 5 9 14 64.300 35.700
11 Nord.Bodø 1 10 11 90.900 9.100
12 Nord.Levanger 4 19 23 82.600 17.400
13 Nord.Nesna 0 3 3 100 0
14 NTNU 5 28 33 84.800 15.200
15 UiA 12 22 34 64.700 35.300
16 UiO 6 26 32 81.300 18.800
17 UiS 13 31 44 70.500 29.500
18 UiT.Alta 1 1 2 50 50
19 UiT.Tromsø 2 18 20 90 10

Se vi på dataene i en figur, så ser vi at det er stor variasjon i andelen stryk (ikke bestått).

plot of chunk unnamed-chunk-2

Skal en teste om strykprosenten (en proporsjon) er lik mellom læringssteder kan en benytte en kji-kvadrattest.

Formelt så definerer vi nullhypotesen som at det ikke er forskjell i strykprosenten (p) mellom n (i vårt tilfelle 19) populasjoner som:

H_{0}: p_{1} = p_{2} = ... = p_{n}. Den alternative hypotesen er: H_{1}: ikke alle p_{i} er like (i=1, 2, …, n).

Test statistikken er kji-kvadratfordelt, og er i R funksjonen prop.test(). Analysen på dataene gir:

På et 5% signifikansnivå ser vi at p-verdien er større enn 0.05, vi beholder dermed nullhypotesen. Alle strykprosentene er like.

Vi kan gå videre i analysen ved å gjøre en Marascuillo prosedyre for å sammenligne to og to proporsjoner. Prosedyren er som følger:

Anta at vi har utvalg med utvalgsstørrelse n_{i} (i=1, 2, …, k) fra k populasjoner. Det første vi gjør er å beregne kontrastene p_{i} - p_{j} (for i \neq j) for alle k(k-1)/2 kontrastpar. Vi velger et signifikansnivå (\alpha = 0.05) og beregner kritisk verdi, CV_{ij} som følger:

    \[CV_{ij}=\sqrt{\chi ^{2}_{1-\alpha , k-1}}\sqrt{\frac{p_{i}(1-p_{i})}{n_{i}}+\frac{p_{j}(1-p_{j})}{n_{j}}}\]

I de tilfellene der absoluttverdien av kontrasten er større enn kritisk verdi, har vi en signifikant forskjell på et 5% nivå.

R koden som ble benyttet til denne analysen er som følger:

971 total views, no views today

SSB’s API for å laste ned Bensin- og Dieseldata

SSB har nå annonsert at de legger hele sin statistikkbank åpen via API. La oss prøve dette ved å laste ned salg og prisdata på bensin og diesel.

Laster ned nødvendige R pakker:

Vi starter med Tabell: 03687: Salg av petroleumsprodukter, etter kjøpegruppe og produkt (mill. liter). Foreløpige tall.

plot of chunk unnamed-chunk-2

plot of chunk unnamed-chunk-2

Deretter laster vi ned Tabell: 09654: Priser på drivstoff (kr per liter).

plot of chunk unnamed-chunk-3

plot of chunk unnamed-chunk-3

La oss kjapt se på om det er sesong og trend i salgsdataene til bensin, diesel og aggregert salg.

plot of chunk unnamed-chunk-4

plot of chunk unnamed-chunk-4

plot of chunk unnamed-chunk-4

Vi ser at sesongmønsteret til bensin og diesel ikke er helt sammenfallende.

plot of chunk unnamed-chunk-5

3,138 total views, 1 views today

Påvirker Oljeprisen Kronekursen?

DN skriver (13.04, krever innlogging) at oppgangen i oljeprisen har bidratt til å styrke kronen siden begynnelsen av januar. Dersom oljeprisen fortsetter å stige er det utsikter til ytterligere kronestyrking ifølge sjeføkonom Wilhelmsen i Nordkinn Asset Management. La oss se nærmere på dette utsagnet. Er det slik at oljeprisen påvirker kronekursen? Og i så fall, hvor sterk er denne sammenhengen?

Det er en sammenheng mellom oljepris og importveid kronekurs, men effekten er ikke spesielt sterk. Oljeprisen var viktigst frem mot utgangen av 2014, mot slutten av det dramatiske oljeprisfallet. Siden har oljeprisen blitt mindre viktig. Hittil i 2016 har oljeprisen steget med 14.6%, mens den importveide kronekursen har styrket seg med 3.71%. Oljeprisøkningen på 14.6% har forårsaket en styrking av krona på 0.56%. Omlag 15% (0.56/3.71) av kronestyrkingen hittil i 2016 kan tilskrives oljeprisen, resten skyldes andre forhold. Norsk økonomi er oljeavhengig, men det globale valutamarkedet er gigantisk. Å tro at oljeprisen er en svært sterk driver av kronekursen er som å tro at “halen logrer hunden”.

Analyse

Vi starter med å laste ned daglig Brent oljepris (US$ per fat) fra Quandl. Vi har fokus på samme periode som i artikkelen, og starter i 2014.

plot of chunk unnamed-chunk-1

Som i artikkelen benytter vi den importveide kronekursen fra Norges Bank, der indeksen (I44) er satt lik 100 i 1995, og stigende indeksverdi betyr depresierende (svekket) kronekurs.

plot of chunk unnamed-chunk-2

Vi merker oss at oljeprisen har hatt en oppgang på 14.61% hittil i 2016, mens den importveide kronekursen har styrket seg med 3.71%. Spørsmålet nå er i hvor stor grad har oljeprisen bidratt til denne kronestyrkingen?

For å se nærmere på dette estimerer vi en regresjonsmodell på log differensiert form, der prosentvis endring i oljepris forklarer prosentvis endring i den importveide kronekursen. Modellen vår er som følger:

    \[ \Delta log(I44_{t})=\beta _{0}+\beta _{1} \Delta log(oljepris_{t})+\epsilon _{t}\]

Vi har daglige data fra 2014-01-02 til og med 2016-04-11, totalt 564 observasjoner. Vi får følgende resultat (standardfeil i parentes):

Sammenheng mellom % endring i Importveid kronekurs (I44) og % endring i Brent oljepris
diff(log(I44))
diff(log(oljepris)) -0.060***
(0.010)
Constant 0.0001
(0.0002)
N 563
R2 0.063
Adjusted R2 0.061
Residual Std. Error 0.005 (df = 561)
F Statistic 37.556*** (df = 1; 561)
Notes: ***Significant at the 1 percent level.
**Significant at the 5 percent level.
*Significant at the 10 percent level.

Resultater fra Regresjonsanalysen

Modellen har en Durbin-Watson verdi på 2.164 (og p-verdi på 0.052) som viser at det er antydning til negativ autokorrelasjon i modellen. Det er ingen trend i modellen.

Vi har en R^{2} på 0.063, dvs oljeprisen forklarer omlag 6.3 prosent av variasjonen i importveid kronekurs. Responsen er uelastisk. En 1% økning i oljeprisen forårsaker en 0.06% styrking av importveid kronekurs.

Vi ser at det er en sammenheng mellom oljepris og importveid kronekurs, men effekten er ikke spesielt sterk. En regresjonsmodell gir oss gjennomsnittseffekten gjennom hele perioden. Dette kan være en streng forutsetning i et dynamisk marked. La oss derfor forsøke en alternaiv modell der effekten kan variere over tid.

Varierende Oljepriseffekt

La oss spesifisere en State-Space regresjonsmodell der vi lar marginaleffekten variere over tid.

    \[y_{t}=\beta _{0,t}+\beta _{1,t} x_{t}+\varepsilon _{t},\;\varepsilon _{t}\sim N(0,\sigma _{\varepsilon}^{2})\]

    \[\beta _{0,t+1}=\beta _{0,t} + \varphi _{t},\;\varphi _{t} \sim N(0,\sigma _{\varphi}^{2}) \]

    \[\beta _{1,t+1}=\beta _{1,t} + \psi  _{t},\;\psi _{t} \sim N(0,\sigma _{\psi}^{2})\]

La \boldsymbol{\alpha}_{t}=(\beta _{0,t},\beta _{1,t})‘, \boldsymbol{x}_{t}=(1,x _{t})’, \boldsymbol{H}_{t}=diag(\sigma_{\varphi},\sigma_{\psi})‘ og G_{t}=\sigma_{\varepsilon}. Tilstands (state space) formen er:

    \[\begin{pmatrix} \boldsymbol{\alpha}_{t+1}\\ y_{t} \end{pmatrix} =\begin{pmatrix} \boldsymbol{I}_{2}\\ x'_{t} \end{pmatrix} \boldsymbol{\alpha} _{t}+ \begin{pmatrix} \boldsymbol{H\eta }_{t}\\ G\epsilon _{t} \end{pmatrix} \]


med parametere:

    \[\boldsymbol{\Phi }_{t}= \begin{pmatrix} \boldsymbol{I}_{2}\\  x'_{t} \end{pmatrix},\;\boldsymbol{\Omega }= \begin{pmatrix} \sigma _{\varphi}^{2} & 0 & 0\\  0 & \sigma _{\psi}^{2} & 0\\ 0 & 0 & \sigma _{\varepsilon}^{2} \end{pmatrix}\]

Den initielle tilstands (state) matrisen er:

    \[\boldsymbol{\Sigma }=\begin{pmatrix} -1 & 0\\ 0 & -1\\ 0 & 0 \end{pmatrix}\]

Vi ser at vi har en ordinær (statisk) regresjonsmodell når \sigma _{\varphi}^{2}=\sigma _{\psi}^{2}=0.

Et Kalman filter er en rekursiv algoritme som evaluerer momentene til en normalfordelt tilstandsvektor \boldsymbol{\alpha}_{t+1} betinget de observerte dataene \boldsymbol{Y}_{t}=(y_{1},…,y_{t}) og tilstandsmodellens parametere. Algoritmen er tilgjengelig i \boldsymbol{R} biblioteket dlm, skrevet av Petris[1].

Resultat fra State-Space modellen

I figuren under ser vi den daglige effekten av endringer i oljepris på den importveide kronekursen. Den gjennomsnittlige elastisiteten i modellen er -0.07 ikke langt unna gjennomsnittseffekten i regresjonsmodellen på -0.06.

plot of chunk unnamed-chunk-4

Det mest interessante er at effekten av oljeprisen var størst frem til i slutten av 2014, og har siden avtatt. Dette sammenfaller med avslutningen av det store oljeprisfallet. Den gjennomsnittlige elastisiteten i 2016 er -0.038. Dette innebærer at hittil i 2016, så har oljeprisen steget med 14.6%, og dette har forårsaket en styrking av krona på 0.56%. Omlag 15% av kronestyrkingen skyldes oljeprisen, resten skyldes andre forhold.

Gjør vi samme analyse med elastisiteten fra regresjonsmodellen finner vi at oljeprisen utgjør 20% av kronestyrkingen.

[1] Giovanni Petris (2010). An R Package for Dynamic Linear Models. Journal of Statistical Software, 36(12), 1-16. URL: http://www.jstatsoft.org/v36/i12/.

755 total views, 2 views today

Er Oslo Børs Oljeprisdrevet?

faksimile

E24 skriver (faksimile fra 29 mars) at oljeprisen er en av de desidert største driverne for oslo børs. La oss gjøre en analyse av i hvor stor grad oljeprisen påvirker Oslo Børs (OSEBX).

Vi finner at det er en sammenheng mellom oljeprisen og OSEBX. Når oljeprisen går opp med 1% går OSEBX opp med 0.21%. Endringer i oljeprisen forklarer 10.8% av variasjonen i OSEBX.
Oljeprisen var en viktigere driver i årene 2009-2012. De to siste årene samt begynnelsen av 2016 ligger på gjennomsnittet.

Vi starter analysen med å laste ned daglig Brent oljepris (US$ per fat) fra Quandl.
plot of chunk unnamed-chunk-1

Daglige sluttkurser på OSEBX laster vi ned fra Netfonds.
plot of chunk unnamed-chunk-2

Slår vi disse to datakildene sammen har vi daglige data fra 1997-01-02 til og med 2016-03-23, totalt 4738 observasjoner.

Vi estimerer en regresjonsmodell på log differensiert form, der prosentvis endring i oljepris forklarer prosentvis endring i osebx. Modellen vår er som følger:

    \[ \Delta log(y_{t})=\beta _{0}+\beta _{1} \Delta log(x_{t})+\epsilon _{t} \]

der \Delta log(y_{t})=log(y_{t})-log(y_{t-1}) og \Delta log(x_{t})=log(x_{t})-log(x_{t-1}). Her er y=osebx og x=oljepris.

Vi får følgende resultat (standardfeil i parentes):

Sammenheng mellom % endring i OSEBX og % endring i Brent oljepris
diff(log(osebx))
diff(log(oljepris)) 0.210***
(0.009)
Constant 0.0003
(0.0002)
N 4,737
R2 0.108
Adjusted R2 0.108
Residual Std. Error 0.014 (df = 4735)
F Statistic 573.017*** (df = 1; 4735)
Notes: ***Significant at the 1 percent level.
**Significant at the 5 percent level.
*Significant at the 10 percent level.

Resultater fra regresjonsmodellen

Modellen har en Durbin-Watson verdi på 1.9998 (og p-verdi på 0.984) som viser at det ikke er autokorrelasjon i restleddet.

Vi har en R^{2} på 0.108, dvs oljeprisen forklarer omlag 10.8 prosent av variasjonen i OSEBX. Responsen er uelastisk. En 1% endring i oljeprisen forårsaker en 0.21% endring i OSEBX. Det er ingen trend i modellen.

Vi ser at det er en sammenheng mellom oljepris og OSEBX, men effekten er ikke spesielt sterk. En regresjonsmodell gir oss gjennomsnittseffekten gjennom hele perioden. Dette kan være en streng forutsetning i et dynamisk marked. La oss derfor forsøke en alternaiv modell der effekten kan variere over tid.

Oljepriseffekten varierer over tid

I en alternativ modell lar vi parameterne variere over tid. Kalaba og Tesfatsion (1989) utviklet en algoritme som tillater dette[1].

Vår alternative Flexible Least Squares (FLS) modell blir da:

    \[ \Delta log(y_{t})=\beta _{0,t}+\beta _{1,t} \Delta log(x_{t})+\varepsilon _{t} \]

plot of chunk unnamed-chunk-7

Varierende oljepriseffekt

Den røde linja i figuren over er gjennomsnittet (0.2044) av alle \beta _{1,t} parameterne i perioden. Vi ser at denne verdien ikke er så forskjellig fra verdien i vår regresjonsmodell (0.2095). Jeg har benyttet en “smoothness”   vekt på \delta =0.1 i FLS estimeringen.

En kvadrert korrelasjonskoeffisient mellom den predikerte verdien av OSEBX (\Delta log(\hat{y}_{t})) og den faktiske verdien (\Delta log(y_{t})) er 0.983. I denne modellen er det en svært god samvariasjon mellom OSEBX og oljeprisen.

plot of chunk unnamed-chunk-10
Beregner vi årlige gjennomsnitt av de daglige effektene ser vi at i årene 2008 til og med 2012 var oljeprisen viktigst med en elastisitet opp mot 0.5. Årene 1997 til 2005 lå under gjennomsnittet. De to siste årene, samt begynnelsen av 2016 ligger rundt gjennomsnittet.

Til analysene har jeg benyttet R bibliotekene lubridate, Quandl, mosaic og stargazer.

[1]:“Time-Varying Linear Regression Via Flexible Least Squares”, Computers and Mathematics with Applications, Vol. 17 (8/9), pp. 1215-1245.

754 total views, 1 views today