Fáze 2: Vývoj modelu
Ve fázi 1 tohoto projektu jsme zkoumali proměnnou významnou pro předpověď proměnné RainTomorrow. Po imputování chybějících údajů a kontrole korelace jsme určili 8 proměnných jako nejvýznamnější prediktory: Humidity9am, Humidity3pm, Cloud9am, Cloud3pm, WindGustSpeed, Temp3pm, HumidityDiff a TempDiff. Zařazením odpovědní proměnné RainTomorrow do našeho seznamu jsme vytvořili nový soubor dat.
Poté jsme soubor dat rozdělili, přičemž 70 % dat tvořilo trénovací soubor a 30 % šlo do testovacího souboru. Použili jsme 3 různé techniky tvorby modelů, abychom určili, která bude nejpřesnější: klasifikační stromy, náhodné lesy a neuronové sítě. Zkoumali jsme také důležitost námi vybraných proměnných v modelech náhodného lesa a neuronových sítí.
Jak vidíme výše, vlhkost se zdá být jedním z nejsilnějších prediktorů v našem modelu náhodného lesa. Neuronová síť však přikládá větší význam rozdílu teplot, přičemž vlhkost má v modelu mnohem menší význam. V obou modelech má zřejmě značný význam oblačnost, zatímco rychlost nárazového větru se zdá být středně malá.
Klasifikační strom
Náš první klasifikační strom byl sestaven bez zadání parametru složitosti, abychom prozkoumali, která hodnota může fungovat nejlépe. Optimální hodnota cp pro tento strom nakonec byla přibližně 0,221, kterou jsme pak použili k sestavení nového stromu.
Předpovídání RainTomorrow na trénovací množině vedlo k přesnosti přibližně 0,828.
Náhodný les
Vylepšením metody klasifikačního stromu jsme pak vytvořili náhodný les s 10 k-krát křížovou validací a 50 stromy. Vývoj předpovědí na trénovací množině s naším náhodným lesem vedl k přesnosti 0,9991, tedy téměř 100 %. Ačkoli p-hodnota je ideální a činí prakticky 0, skutečnost, že náš model měl téměř dokonalé předpovědi, vzbuzuje obavy. V reálném světě dokonale přesné modely neexistují. Poté jsme predikci otestovali na testovací sadě, což vedlo k přesnosti pouze 0,84 s podobně významnou p-hodnotou. To naznačuje, že náš náhodný les byl příliš přizpůsoben trénovací množině a nebude silným modelem pro budoucí předpovědi.
Neurální síť
Finální model zahrnoval vytvoření neuronové sítě. Opět jsme použili 10k-násobnou křížovou validaci a vytvořili dvě sítě, základní model se zadanými parametry a optimální síť. Základní síť byla vytvořena s velikostí 12 a rozpadem 0,1. Vytváření předpovědí na trénovací množině s naším základním modelem ukázalo přesnost přibližně 0,841, zatímco předpovědi na testovací množině se pohybovaly kolem 0,844.
Poté jsme nechali RStudio hledat optimální velikost v rozmezí 1-12 a rozpad v rozmezí 0,1-0,5.
. Model s velikostí 5 a rozpadem 0,5 byl určen s nejlepší přesností kolem 0,843, jak je vidět níže.
Při opětovném sestavování předpovědí s testovací sadou byla vypočtena přesnost kolem 0.8401, zatímco předpovídání na testovací množině vedlo k přesnosti kolem 0,8431, vždy s významnou p-hodnotou blízko 0.
.