VERKEFNI¶
V1. Besta lína og besta parabóla¶
Þetta verkefni byggir á verkefni 25 í í Fyrirlestrarnótum um
Python. Þar er gert ráð fyrir að NumPy fallið polyfit
sé notað en hér gerum
við ráð fyrir notkun Statsmodels pakkasafnsins, sér í lagi sm.OLS
þar sem
sm
fæst með:
import statsmodels.api as sm
(OLS stendur fyrir ordinary least squares), og summary
, sem fæst t.d. með
forritsbút:
model = sm.OLS(...)
results = model.fit()
print(results.summary())
Skoðið Wikipedíugreinina um aðferð minnstu kvaðrata (linear least squares method).
Í Verkefni 19, Hiti og úrkoma í Python fyrirlestrarnótunum voru teiknaðar myndir af meðalárshita og ársúrkomu í Stykkishólmi 1949–2018. Gögnin eru í skránni cs.hi.is/python/hiti-urkoma.txt.
Lesið skrána inn með Pandas (það þarf að gefa dálkunum nöfn) og notið Statsmodels til að ákvarða jöfnu bestu línu fyrir hita á x-ás og úrkomu á y-ás. Teiknið bæði gögn og línu inn á sömu mynd. Látið myndina hafa stærð (12,6).
Teiknið nú punktarit af ári og ársmeðalhita, og teiknið inn á hana bæði bestu línu og bestu parabólu. Setjið inn hæfilegar merkingar, m.a. ramma með
legend
-skýringum.
V2. Körfuboltamenn¶
Þetta verkefni byggir á verkefni 27 í Python fyrirlestrarnótunum, en hér á að nota Statsmodels eins og í verkefni V1 hér á undan.
Teikningarnar í þessu verkefni þarf að gera sæmilega snyrtilega,
m.a. merkja ása og setja inn titla og passa að þær séu mátulega stórar. Mörk
súlna í súluritunum þurfa að vera rúnnaðar tölur (t.d. heilar eða hálfar tölur)
og súlurnar eiga að hafa bil á milli sín. Til að setja teikningar hlið við hlið
má t.d. nota plt.subplot
, sbr. einfalda lýsingu hjá w3schools (eða einhverjar
aðrar leiðbeiningar).
Gögn skoðuð. Skráin cs.hi.is/python/karfa.txt inniheldur þrjá dálka með aldri, hæð og þyngd 1064 bandarískra körfuboltamanna. Byrjið á að lesa þessi gögn inn með Pandas, skoða þau og prenta sýnishorn. Ath. að það þarf að gefa dálkunum nöfn í innlestrinum.
Súlurit. Teiknið þrjú súlurit af aldri, hæð og þyngd hlið við hlið, og einnig punktarit með hæð á x-ás og þyngd á y-ás og annað með aldri á x-ás og þyngd á y-ás, líka hlið við hlið.
Besta lína og parabóla. Ákvarðið bestu línu fyrir þyngd sem fall af hæð með Statsmodels og teiknið gögnin og línuna. Finnið svo bestu parabólu og teiknið hana ásamt gögnunum við hliðina á fyrri myndinni.
Líkanyfirlit. Sýnið líkanyfirlit (summary) fyrir bæði líkönin og ræðið þau. Finnið sér í lagi út hvort parabólan sé marktækt betri en beina línan skv. annarsvegar p-gildum og hinsvegar öryggisbilum. Hvað segja adjusted R-squared, AIC og BIC okkur?
V3. Vindaspá¶
Skráin cs.hi.is/adhvarf/measure.txt inniheldur veðurmælingar á íslenskum veðurstöðvum á ýmsum tímum þegar von var á hvassviðri, og yfirlit yfir stöðvarnar er í cs.hi.is/adhvarf/stod.txt. Í fyrrnefndu skránni eru notaðar skammstafanir sem klassískt er að nota í veðurmælingum:
f vindhraði í m/s (force)
p þrýstingur í millibörum (= hektópasköl)
p15 þrýstingur í 15 m hæð
p100 þrýstingur í 100 m hæð, o.s.frv.
t hitastig í °C
d vindátt í gráðum með N-átt 0°, A-átt 90°, S-átt 180° og V-átt 270°
f_next mældur vindhraði 24 klst seinna
Allar mælingarnar eru kl. 12 á hádegi og ætlunin er að spá fyrir um vindhraða á hádegi daginn eftir með aðhvarfi. Það er sem sé f_next sem við ætlum að reyna að skrifa sem fall af f, t og öllum p-breytunum. Þetta er auðvitað eins og við séum að hverfa aftur til tímans áður en veðurspár sem byggja á veðurkortum og/eða veðurlíkönum voru fundnar upp.
Það er eðlilegt að meta skekkju í vindaspá hlutfallslega (sem prósentuskekkju) og þess vegna tökum við lógaritma af bæði f og f_next áður en við stingum þeim inn í líkan. Einfalt líkanið verður sem sé af gerðinni:
og flóknari líkön gætu tekið inn þrýsting hærra uppi.
Einfalt líkan. Notið Statsmodels til að meta líkan af gerðinni (*). Þið þurfið að byrja á að henda línum með vindhraða 0, líka þeim sem hafa spáðan vindhraða 0. Reiknið meðalprósentuskekkju líkansins (mean absolute percentage error). Skoðið summary eins og í verkefni V2 til að finna út hvaða stikar eru marktækir.
Líkan með HYS. Tengið mælingaskrána við stöðvaskrána og prófið að bæta hæð yfir sjó sem spábreytu við besta líkanið úr lið 1, og athugið hvort gæðin aukast.
Vindaspá úr veðurlíkani. Nú færum við okkur til nútímans og fáum upp í hendurnar 24 klst. vindaspá sem gerð er með veðurlíkani, í skránni cs.hi.is/adhvarf/forecast.txt. Dagsetningin í skránni segir til um hvenær spáin er gerð, þannig að það þarf ekki að hliðra henni áður en hún er tengd við mælingarnar. Kannið hver hlutfallsleg nákvæmni er í spánni að jafnaði (í prósentunm).
Allar breytur notaðar. Smíðið nú líkan svipað og (*) en hafið allar tiltækar breytur fyrir utan vindátt með: núverandi vindhraða, hitastig, þrýsting í öllum fjórum hæðunum, hæð yfir sjó, og spáðan vindhraða (takið lógaritma af honum). Reiknið aftur meðalprósentuskekkjuna. Kannið hvaða breytur eru marktækar og prófið að búa til líkan þar sem ómarktækum breytum er sleppt. Skoðið og ræðið bæði AIC- og BIC-gildi fyrir þær spár sem þið reiknið.
Hafið með stærðfræðiformúlur eins og (*) fyrir mikilvægustu líkönin sem þið metið. Sýnið líka formúlu fyrir meðalprósentuskekkjunni. Sýnið eina eða tvær myndir, t.d. súlurit af vindhraðanum og súlurit af prósentuskekkjunni.