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í.

Významné proměnné seřazené podle předpokládané důležitosti na proměnnou RainTomorrow

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 použilo ořezaný klasifikační strom

Předpovídání RainTomorrow na trénovací množině vedlo k přesnosti přibližně 0,828.

Předpovídání RainTomorrow na trénovací množině vedlo k přesnosti 0,828. Ve srovnání s přesností naivního modelu 0,78 a s ohledem na p-hodnotu téměř 0 se tento model jevil jako kvalitní. Poté jsme provedli předpovědi na testovací množině dat, jejichž výsledkem byla přesnost přibližně 0,824. Vzhledem k tomu, že obě předpovědi vykazovaly větší přesnost než naivní model, může být klasifikační strom pro předpovídání RainTomorrow použitelný.

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.

Předpovídání deštěZítřek pomocí modelu náhodného lesa

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 hledání optimální velikosti sítě a míry rozpadu

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.

Předpovídání RainTomorrow pomocí přizpůsobené neuronové sítě

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.