Z teoretických zdrojov sme čerpali informácie o práci s R (R Core Team 2023) a metódach regresie (Fox 2015). Predchádzajúce štúdie ukazujú, že správne modelovanie klimatických dát môže výrazne zlepšiť predikcie a pochopenie vzťahov medzi premennými (Bloom 2014; Lee 2000).
Dataset Daily Climate Time Series Data – Delhi, India obsahuje denné pozorovania priemernej teploty, vlhkosti, rýchlosti vetra a tlaku vzduchu. Dáta umožňujú skúmať sezónne vzorce, odchýlky od normálu a vzájomné vzťahy medzi meteorologickými veličinami. Pri modelovaní sa sledujú predpoklady lineárnej regresie, ako sú heteroskedasticita, multikolinearita a autokorelácia rezíduí, a skúmajú sa aj nelineárne vzťahy či trendové zmeny.
Takáto komplexná analýza podporuje lepšie porozumenie interakcií medzi meteorologickými veličinami a umožňuje presnejšie predikcie, ktoré sú dôležité nielen pre meteorológiu, ale aj pre verejné zdravie, energetiku či dopravu.
Tieto dáta pochádzajú z verejne dostupného datasetu na Kaggle:
Daily Climate Time Series Data – Delhi, India
Dataset obsahuje denné klimatické údaje z mesta Delhi, vrátane priemernej dennej teploty, vlhkosti, rýchlosti vetra a priemerného tlaku vzduchu. Je vhodný pre analýzu časových radov, vizualizácie trendov a regresné modelovanie.
Údaje zachytávajú klimatickú charakteristiku Delhí počas viacerých dní a umožňujú skúmať sezónne vzorce, trendové zmeny či závislosti medzi meteorologickými veličinami. V našej analýze sme využili súbor DailyDelhiClimateTest.csv, ktorý obsahuje testovacie denné pozorovania.
| meantemp | humidity | wind_speed | meanpressure |
|---|---|---|---|
| 15.913 | 85.870 | 2.743 | 59.000 |
| 18.500 | 77.222 | 2.894 | 1018.278 |
| 17.111 | 81.889 | 4.017 | 1018.333 |
| 18.700 | 70.050 | 4.545 | 1015.700 |
| 18.389 | 74.944 | 3.300 | 1014.333 |
| 19.318 | 79.318 | 8.682 | 1011.773 |
| 14.708 | 95.833 | 10.042 | 1011.375 |
| 15.684 | 83.526 | 1.950 | 1015.550 |
| 14.571 | 80.810 | 6.543 | 1015.952 |
| 12.111 | 71.944 | 9.361 | 1016.889 |
| variable | Var2 | Freq |
|---|---|---|
| 1 | date | Length:114 |
| 2 | date | Class :character |
| 3 | date | Mode :character |
| 4 | date | NA |
| 5 | date | NA |
| 6 | date | NA |
| 7 | meantemp | Min. :11.00 |
| 8 | meantemp | 1st Qu.:16.44 |
| 9 | meantemp | Median :19.88 |
| 10 | meantemp | Mean :21.71 |
| 11 | meantemp | 3rd Qu.:27.71 |
| 12 | meantemp | Max. :34.50 |
| 13 | humidity | Min. :17.75 |
| 14 | humidity | 1st Qu.:39.62 |
| 15 | humidity | Median :57.75 |
| 16 | humidity | Mean :56.26 |
| 17 | humidity | 3rd Qu.:71.90 |
| 18 | humidity | Max. :95.83 |
| 19 | wind_speed | Min. : 1.387 |
| 20 | wind_speed | 1st Qu.: 5.564 |
| 21 | wind_speed | Median : 8.069 |
| 22 | wind_speed | Mean : 8.144 |
| 23 | wind_speed | 3rd Qu.:10.069 |
| 24 | wind_speed | Max. :19.314 |
| 25 | meanpressure | Min. : 59 |
| 26 | meanpressure | 1st Qu.:1007 |
| 27 | meanpressure | Median :1013 |
| 28 | meanpressure | Mean :1004 |
| 29 | meanpressure | 3rd Qu.:1017 |
| 30 | meanpressure | Max. :1023 |
Teplota V Delhí sa priemerná denná teplota pohybuje medzi 11 °C (najchladnejší deň) a 34.5 °C (najteplejší deň), pričom väčšina dní má teplotu okolo 20 °C (medián 19.88 °C). To naznačuje mierne teplé počasie s občasnými teplými dňami.
Vlhkosť: Hodnoty vlhkosti ukazujú, že vzduch je pomerne suchý (min 17.75 %) až veľmi vlhký (max 95.83 %), s mediánom okolo 57.75 %, čo znamená strednú úroveň vlhkosti.
Rýchlosť vetra: Vietor je pomerne mierny, väčšina dní má rýchlosť medzi 1.4 až 19.3 jednotkami, s mediánom okolo 8.07.
Tlak vzduchu: Hodnota minimálneho tlaku 59 hPa vyzerá nezvyčajne nízka, pravdepodobne ide o chybu v dátach alebo inú jednotku. Ostatné hodnoty (medzi 1007 a 1023 hPa) sú štandardné pre atmosférický tlak, kde medián je okolo 1013 hPa, čo je blízko normálneho tlaku na úrovni mora.
Figure 1.1: Teplota
Väčšina denných teplôt sa pohybuje medzi 17 °C a 27 °C. Medián (typická hodnota) je okolo 20 °C, čo naznačuje, že polovica dní má teplotu pod 20 °C a polovica nad.
Rozptyl je pomerne veľký – od cca 13 °C do 35 °C, čo znamená, že sú dni s výrazne nižšími aj vyššími teplotami.
Žiadne extrémne odľahlé hodnoty (outliers) nie sú zobrazené.
Viac vizuálnych informácií nájdete na Figure 1.1: Teplota.
Figure 1.2: Regresia
## NULL
Keď vlhkosť stúpa, teplota klesá. Vysoká vlhkosť je spojená s nižšími teplotami.
Model je veľmi silný (R² ≈ 0.74), takže vlhkosť je dobrý prediktor teploty.
Viac vizuálnych informácií nájdete na Figure 1.2: Regresia.
Figure 1.3: Heatmap
Dominantný vzťah v dátach dominuje veľmi silná inverzná závislosť medzi priemernou teplotou a vlhkosťou (r = -0.86). Väčšina ostatných korelácií je slabá (v rozsahu 0.03 až -0.34).
Korelácie zahŕňajúce priemerný tlak (meanpressure) sú extrémne blízke nule (0.03, -0.10, 0.13), čo naznačuje, že priemerný tlak je nezávislý od ostatných premenných.
Viac vizuálnych informácií nájdete na Figure 1.3: Heatmap.
Figure 2.1: Regresia
Figure 2.2: Regresia
Figure 2.3: Regresia
Figure 2.4: Regresia
Figure 2.5: Regresia
Meantemp vs. Humidity
- Graf v stĺpci humidity a riadku meantemp ukazuje silný negatívny vzťah.
- So stúpajúcou teplotou klesá vlhkosť vzduchu.
- Je to viditeľné z trendu bodov, ktoré smerujú dole a doprava.
- Model teda naznačuje, že vlhkosť je dobrým prediktorom teploty.
Meantemp vs. Wind_speed
- Graf v stĺpci wind_speed a riadku meantemp naznačuje slabší alebo žiadny jasný lineárny vzťah.
- Body sú rozptýlené, čo znamená, že rýchlosť vetra pravdepodobne nie je silným prediktorom priemernej teploty.
Meantemp vs. Meanpressure
- Graf v stĺpci meanpressure a riadku meantemp ukazuje, že priemerný tlak sa takmer nemení (stabilný blízko 1000 hPa) bez ohľadu na zmeny teploty.
- To znamená, že priemerný tlak nie je vhodným prediktorom priemernej teploty.
Vzťahy medzi prediktormi
- Humidity vs. Wind_speed: Pozícia bodov naznačuje žiadny jasný lineárny vzťah.
- Všetky premenné vs. Meanpressure: Posledný stĺpec a riadok potvrdzujú, že priemerný tlak (meanpressure) vykazuje minimálnu variabilitu a nemá žiadny vzťah so žiadnou z ostatných premenných, čo potvrdzuje jeho nízku predikčnú hodnotu.
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | 42.824 | 3.742 | 11.445 | 0.000 |
| humidity | -0.297 | 0.017 | -17.302 | 0.000 |
| wind_speed | -0.140 | 0.091 | -1.532 | 0.128 |
| meanpressure | -0.003 | 0.003 | -0.945 | 0.347 |
Priemerná teplota ~ vlhkosť + rýchlosť vetra + priemerný tlak
Výsledky sú zhrnuté v Table 2.2.
Interpretácia:
- Vlhkosť: má výrazný negatívny vplyv na teplotu (p < 0.05).
- Tlak: malý, negatívny efekt, nie vždy štatisticky významný.
- Rýchlosť vetra: slabší efekt.
- R²: ukazuje, akú časť variability teploty model vysvetľuje.
Ak sú p-hodnoty menšie než 0.05, môžeme tvrdiť, že premenné majú štatisticky významný vplyv.
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | 42.824 | 2.982 | 14.362 | 0.000 |
| humidity | -0.297 | 0.030 | -9.832 | 0.000 |
| wind_speed | -0.140 | 0.119 | -1.181 | 0.240 |
| meanpressure | -0.003 | 0.001 | -2.263 | 0.026 |
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | 42.824 | 572.196 | 0.075 | 0.940 |
| humidity | -0.297 | 0.139 | -2.127 | 0.036 |
| wind_speed | -0.140 | 0.115 | -1.213 | 0.228 |
| meanpressure | -0.003 | 0.573 | -0.006 | 0.995 |
Výsledky sú zobrazené v tabuľkách:
- Table 2.3: Newey-West
- Table 2.4: HC3
Robustné štandardné chyby upravujú výsledky na prípadnú heteroskedasticitu alebo autokoreláciu. Ak sa významnosť koeficientov nezmení, model je stabilný. Newey-West: berie do úvahy časovú závislosť. HC3: upravuje len heteroskedasticitu. Robustné odhady poskytujú spoľahlivejšie inferencie.
Figure 2.6: Predikcia
Zelená čiara predstavuje skutočnú teplotu, oranžová prerušovaná čiara predstavuje predikovanú teplotu.
Viac vizuálnych informácií nájdete kliknutím na Figure 2.6.
Figure 2.7: Histogram a Q-Q Plot
Figure 2.8: Histogram a Q-Q Plot
Histogram rezíduí
Figure: Graf Scale-Location slúži na vizuálnu diagnostiku predpokladu konštantného rozptylu (homoskedasticita).
- Horizontálna os: predpovedané hodnoty modelu.
- Vertikálna os: transformované štandardizované rezíduá, čo zvýrazňuje zmeny v rozptyle chýb.
Pre platnú regresiu by mali byť body rozložené náhodne a rovnomerne.
V tomto prípade červená čiara vykazuje zreteľný stúpajúci trend so zvyšujúcimi sa predpovedanými hodnotami.
Tento vzor signalizuje, že variabilita rezíduí modelu nie je konštantná, ale rastie s vyššími predpovedanými teplotami.
Tento nález potvrdzuje problém heteroskedasticity, kde sú chyby predpovede väčšie pri vyšších teplotách.
Heteroskedasticita môže skresľovať tradičné štandardné chyby regresných koeficientov.
Preto je vhodné použiť robustné štandardné chyby (napr. Whiteovu metódu) pre spoľahlivé štatistické závery.
| statistic | p.value | parameter | method |
|---|---|---|---|
| 6.448 | 0.092 | 3 | studentized Breusch-Pagan test |
Test hodnotí, či variabilita rezíduí modelu je konštantná alebo sa mení s prediktormi.
Hodnota testovacej štatistiky 6.448 a p-hodnota 0.092 naznačujú, že pri 5% hladine významnosti nemáme dostatok dôkazov na zamietnutie nulovej hypotézy konštantného rozptylu.
Parameter 3 zodpovedá počtu prediktorov v modeli.
Použitá metóda: studentized Breusch-Pagan test.
Na základe výsledku testu môžeme povedať, že variabilita rezíduí nie je výrazne závislá od prediktorov, takže tradičné štandardné chyby regresných koeficientov sú pravdepodobne použiteľné.Table 3.2.
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | 42.824 | 1.794 | 23.875 | 0.000 |
| humidity | -0.297 | 0.017 | -17.755 | 0.000 |
| wind_speed | -0.140 | 0.089 | -1.569 | 0.120 |
| meanpressure | -0.003 | 0.001 | -3.046 | 0.003 |
Záver:
- Použitie robustných štandardných chýb poskytuje spoľahlivejšie inferencie, najmä ak existuje heteroskedasticita.
Table 3.4.
| df1 | df2 | statistic | p.value | method |
|---|---|---|---|---|
| 2 | 108 | 6.637 | 0.002 | RESET test |
Test hodnotí, či je lineárna forma modelu správne špecifikovaná alebo či vynecháva nelineárne vzťahy či interakcie medzi premennými.
Hodnota testovacej štatistiky: 6.637
Stupne voľnosti: df1 = 2, df2 = 108
p-hodnota = 0.002
P-hodnota menšia než 0.05 naznačuje, že existuje štatisticky významný dôkaz proti nulovej hypotéze, podľa ktorej je model správne špecifikovaný.
To znamená, že model pravdepodobne vynecháva niektoré nelineárne vzťahy alebo interakcie, ktoré by mohli zlepšiť jeho presnosť.
Odporúča sa zvážiť rozšírenie modelu o nelineárne členy alebo interakcie medzi premennými. Table 4.2.
Figure 4.1: Diagnostické grafy
Figure 4.2: Component+Residual Plots
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | -4.565 | 7.171 | -0.637 | 0.526 |
| humidity | -0.231 | 0.093 | -2.485 | 0.015 |
| wind_speed | -0.244 | 0.261 | -0.936 | 0.351 |
| meanpressure | 0.647 | 0.080 | 8.044 | 0.000 |
| I(humidity^2) | 0.001 | 0.001 | 0.846 | 0.400 |
| I(wind_speed^2) | 0.009 | 0.014 | 0.620 | 0.537 |
| I(meanpressure^2) | -0.001 | 0.000 | -8.076 | 0.000 |
| term | df.residual | rss | df | sumsq | statistic | p.value |
|---|---|---|---|---|---|---|
| meantemp ~ humidity + wind_speed + meanpressure | 110 | 1170.068 | NA | NA | NA | NA |
| meantemp ~ humidity + wind_speed + meanpressure + I(humidity^2) + I(wind_speed^2) + I(meanpressure^2) | 107 | 685.869 | 3 | 484.199 | 25.179 | 0 |
| df1 | df2 | statistic | p.value | method |
|---|---|---|---|---|
| 1 | 106 | 8.552 | 0.004 | RESET test |
Pridaním kvadratických členov sa zachytávajú nelineárne vzťahy medzi premennými a teplotou.
Reziduály sa zmenšili, priemerne sa odchyľujú o 2.53 °C, čo naznačuje lepšie prispôsobenie dátam.
Štatisticky významné premenné:
Ostatné členy nie sú štatisticky významné.
Model vysvetľuje približne 84 % variability teploty, čo znamená výrazné zlepšenie oproti lineárnemu modelu.
RESET test: p-hodnota 0.0042 stále naznačuje, že model nemusí úplne zachytávať všetky nelineárne vzťahy.
Kvadratický model lepšie vystihuje závislosť teploty od meteorologických faktorov, najmä pre priemerný tlak a vlhkosť. Table 4.4–4.6.
Figure 5.1: Vývoj priemernej teploty
Figure 5.2: Vývoj vlhkosti
Figure 5.3: Vývoj rýchlosti vetra
Figure 5.4: Autokorelácia teploty
Zobrazený graf Autokorelačnej funkcie (ACF) skúma závislosť medzi aktuálnou a predchádzajúcimi hodnotami priemernej teploty.
- Lag 1: Takmer perfektná kladná autokorelácia, čo signalizuje, že teplota v daný deň je silne ovplyvnená teplotou z predchádzajúceho dňa.
- Autokorelácia klesá pomaly a plynulo so zvyšovaním lag, pričom signifikantne prekračuje modré hranice spoľahlivosti aj pri lag 20.
- Pomalé znižovanie závislosti je typickým znakom nestacionárnych časových radov, ktoré obsahujú dlhodobý trend alebo sezónnosť, ako bolo pozorované v pôvodnom grafe teploty.
- Záver: Modelovanie teplotného časového radu si vyžaduje zohľadnenie dlhodobej pamäte a trendovej zložky, napr. pomocou diferencovania.Figure 5.4.
Figure 5.5: Sezónnosť teploty
Tento graf vizuálne potvrdzuje sezónny vzor v teplotných dátach agregáciou priemernej dennej teploty do mesačných hodnôt.
- Krivka zobrazuje silný a monotónne rastúci trend od januára až po apríl.
- Január: Priemerná teplota približne 16 °C, stabilne rastie v ďalších mesiacoch.
- Marec – apríl: Najvýraznejší nárast priemernej teploty, krivka stúpa strmšie a v apríli dosahuje mierne nad 30 °C.
- Tento silný lineárny trend medzi mesiacmi vysvetľuje pomalý pokles autokorelácie (ACF) a jasne poukazuje na nástup letného obdobia. Figure 5.5.
obr
| humidity | wind_speed | meanpressure | |
|---|---|---|---|
| humidity | 1.000 | -0.341 | -0.098 |
| wind_speed | -0.341 | 1.000 | 0.130 |
| meanpressure | -0.098 | 0.130 | 1.000 |
- Model je celkom dobrý, s hodnotou R² = 0.744, čo znamená, že vlhkosť, vietor a tlak spoločne vysvetľujú viac ako 74 % celkovej zmeny teploty.
- Pri pohľade na koeficienty a p-hodnoty:
- Najdôležitejšie pre predikciu sú vlhkosť a tlak.
- Rýchlosť vetra nemá preukázateľný vplyv.
- Vlhkosť (humidity) má záporný vplyv (-0.2965) – čím je vzduch vlhší, tým je chladnejšie.
- Tlak (meanpressure) má mierny pozitívny vplyv.
- Vzťahy medzi prediktormi:
- Korelačná matica ukazuje, že vlhkosť, vietor a tlak sú navzájom nezávislé, body sú rozptýlené náhodne, takže nedochádza k multikolinearite.
| Predictor | VIF | |
|---|---|---|
| humidity | humidity | 1.135 |
| wind_speed | wind_speed | 1.143 |
| meanpressure | meanpressure | 1.021 |
| term | estimate | std.error | statistic | p.value |
|---|---|---|---|---|
| (Intercept) | 41.745 | 3.697 | 11.291 | 0.000 |
| humidity | -0.288 | 0.016 | -17.697 | 0.000 |
| meanpressure | -0.004 | 0.003 | -1.103 | 0.273 |
Lineárny regresný model, ktorý predikuje priemernú dennú teplotu (meantemp) na základe vlhkosti (humidity) a priemerného tlaku (meanpressure).
- Intercept: 41.745, p < 0.001 – základná úroveň teploty, keď sú ostatné premenné nulové.
- Vlhkosť (humidity): koeficient -0.288, p < 0.001 – významný záporný vplyv na teplotu.
- Tlak (meanpressure): koeficient -0.004, p = 0.273 – nevýznamný vplyv, model ho zachováva ako kontrolnú premennú.
- Condition Number: Hodnota nie je vysoká, čo naznačuje nízku multikolinearitu a stabilnosť odhadov koeficientov.
- Model je teda redukovaný a spoľahlivý, pričom významnú informáciu poskytuje predovšetkým vlhkosť.Table 6.6.
```