Cvičenie 4: Čistenie údajov, imputácia a analýza časových radov

Author

Iris Vitárius

Published

November 8, 2026

Úvod a voľba databázy

Pre toto zadanie som si zvolila verejne dostupnú časovú databázu Our World in Data (OWID) Energy Dataset (owid_energy.csv.

  • Charakteristika dát: Databáza obsahuje historické časové rady (údaje zoradené v čase) zamerané na spotrebu energie, výrobu elektriny z rôznych zdrojov (fosílne palivá, obnoviteľné zdroje), vývoj populácie a HDP jednotlivých krajín sveta.

  • Cieľ práce: Očistiť dáta, znížiť nadbytočnú dimenziu (vybrať len podstatné premenné z pôvodných 130), vytvoriť porovnávacie grafy a tabuľky a vykonať štatistické testy.

Import údajov

V tejto časti naimportujeme surový CSV súbor do prostredia R.

# Načítanie celého CSV súboru do dátového rámca
udaje1 <- read.csv(
  "owid_energy.csv",
  header = TRUE,
  sep = ",",
  dec = ".",
  na.strings = c("", "NA", "N/A"),
  stringsAsFactors = FALSE
)
dim(udaje1)
[1] 19494   130

Pôvodná databáza obsahuje takmer 20-tisíc riadkov a vyše 130 stĺpcov (premenných). Práca so všetkými premennými by bola neprehľadná.

Výber a prečistenie kľúčových premenných

Keďže nepotrebujeme všetkých 130 stĺpcov, vyberieme si len kľúčové premenné pre vybrané európske štáty.

library(dplyr)

udaje_vyber <- udaje1 %>%
  filter(country %in% c("Slovakia", "Czechia", "Austria", "Poland", "Germany") & year >= 2000) %>%
  select(
    country,                       # Názov krajiny (pre porovnanie)
    year,                          # Časový rad (rok)
    population,                    # Počet obyvateľov
    gdp,                           # HDP krajiny
    electricity_generation_twh,    # Celková výroba elektriny
    renewables_electricity_twh     # Výroba z obnoviteľných zdrojov
  )

dim(udaje_vyber)
[1] 130   6
head(udaje_vyber)
  country year population          gdp electricity_generation_twh
1 Austria 2000    8012929 280410163017                      59.64
2 Austria 2001    8042233 285335695766                      60.98
3 Austria 2002    8081640 291231427735                      60.63
4 Austria 2003    8122604 294489280951                      57.97
5 Austria 2004    8173496 303692479841                      61.85
6 Austria 2005    8229204 311441138652                      64.37
  renewables_electricity_twh
1                      43.44
2                      42.24
3                      41.90
4                      35.24
5                      39.62
6                      40.88

Týmto krokom sme zredukovali 130 premenných iba na 6 kľúčových stĺpcov pre 5 vybraných štátov od roku 2000. Dáta sú teraz prehľadné a pripravené na analýzu.

Úprava názvov a imputácia chýbajúcich údajov

Skontrolujeme, či v našich vybraných stĺpcoch nechýbajú nejaké hodnoty (NA), a ak áno, ošetríme ich imputáciou.

library(mice)
library(VIM)

# Zistenie počtu chýbajúcich hodnôt
print("Počet chýbajúcich údajov pred imputáciou:")
[1] "Počet chýbajúcich údajov pred imputáciou:"
colSums(is.na(udaje_vyber))
                   country                       year 
                         0                          0 
                population                        gdp 
                         0                         15 
electricity_generation_twh renewables_electricity_twh 
                         0                          0 
# Imputáciu urobíme len pre vybrané číselné stĺpce (population, gdp, electricity, renewables)
cifrene_data <- udaje_vyber %>% select(population, gdp, electricity_generation_twh, renewables_electricity_twh)


imp <- mice(cifrene_data, m = 1, maxit = 5, seed = 123, printFlag = FALSE)
cifrene_imputovane <- complete(imp, 1)


udaje_analysa <- bind_cols(
  country = udaje_vyber$country,
  year = udaje_vyber$year,
  cifrene_imputovane
)

# Kontrola po imputácii
print("Počet chýbajúcich údajov po imputácii:")
[1] "Počet chýbajúcich údajov po imputácii:"
colSums(is.na(udaje_analysa))
                   country                       year 
                         0                          0 
                population                        gdp 
                         0                          0 
electricity_generation_twh renewables_electricity_twh 
                         0                          0 

Interpretácia

  • Identifikácia chýbajúcich hodnôt (NA): Prostredníctvom grafickej analýzy a kontroly súčtov sme zistili, že v našom zúženom datasete pre vybrané európske krajiny (Slovensko, Česko, Rakúsko, Poľsko, Nemecko) sa chýbajúce hodnoty vyskytovali iba v premennej HDP (gdp), a to v rozsahu 15 pozorovaní.

  • Imputácia: Na doplnenie chýbajúcich hodnôt HDP bola úspešne použitá metóda viacnásobnej imputácie pomocou knižnice mice. Po imputácii dosiahol počet chýbajúcich hodnôt hodnotu 0, čím bol dataset pripravený na ďalšiu analýzu.

Vizualizácia

Vývoj výroby elektriny z obnoviteľných zdrojov (2000 – súčasnosť)

library(ggplot2)

ggplot(udaje_analysa, aes(x = year, y = renewables_electricity_twh, color = country)) +
  geom_line(size = 1.1) +
  labs(
    title = "Vývoj výroby elektriny z obnoviteľných zdrojov",
    subtitle = "Porovnanie vybraných európskych krajín od roku 2000",
    x = "Rok",
    y = "Obnoviteľné zdroje (TWh)",
    color = "Krajina"
  ) +
  theme_minimal()

Interpretácia grafu

  • Dominancia Nemecka: Z grafu jednoznačne vyplýva, že Nemecko vykazuje obrovský rast produkcie elektriny z obnoviteľných zdrojov, pričom koncom sledovaného obdobia dosahuje takmer 300 TWh. Je to spôsobené masívnymi investíciami do veternej a solárnej energetiky.

  • Skupina stredných a menších krajín: Ostatné sledované štáty (Rakúsko, Poľsko, Česko a Slovensko) sa nachádzajú v spodnej časti grafu.

  • Česko a Slovensko vykazujú v porovnaní s veľkými ekonomikami stabilný, no celkovo omnoho nižší objem produkcie zelenej energie v absolútnych číslach (TWh), čo súvisí s veľkosťou krajín a ich energetickým mixom.

Sumárna tabuľka

library(knitr)
library(kableExtra)

stats_summary <- udaje_analysa %>%
  group_by(country) %>%
  summarise(
    Pocet_merani = n(),
    Priem_vyroba = mean(electricity_generation_twh, na.rm = TRUE),
    SD_vyroba = sd(electricity_generation_twh, na.rm = TRUE),
    Min_vyroba = min(electricity_generation_twh, na.rm = TRUE),
    Max_vyroba = max(electricity_generation_twh, na.rm = TRUE)
  )

stats_summary %>%
  kable(digits = 2, caption = "Základná štatistika celkovej výroby elektriny podľa krajín") %>%
  kable_styling(full_width = FALSE, bootstrap_options = c("striped", "hover", "condensed")) %>%
  row_spec(0, bold = TRUE, background = "#f2f2f2")
Základná štatistika celkovej výroby elektriny podľa krajín
country Pocet_merani Priem_vyroba SD_vyroba Min_vyroba Max_vyroba
Austria 26 65.30 4.60 57.97 78.47
Czechia 26 81.99 4.58 72.81 87.77
Germany 26 596.49 42.56 495.99 644.46
Poland 26 160.51 9.98 142.49 178.79
Slovakia 26 28.83 1.81 25.93 32.18

Interpretácia tabuľky

Tabuľka poskytuje sumárny prehľad celkovej výroby elektrickej energie pre vybrané štáty za sledované obdobie 26 rokov. Ukazuje obrovské rozdiely vo veľkosti ekonomík a energetických systémov.

Nemecko: Nemecko vykazuje suverénne najvyššiu priemernú výrobu elektriny (vyše 596 TWh), pričom jeho hodnoty sa pohybujú od minima takmer 496 TWh až po maximum takmer 644 TWh, čo odráža obrovský priemyselný dopyt a silnú fluktuáciu (smerodajná odchýlka SD = 42.56).

Slovensko: Slovensko má najnižšiu celkovú produkciu z porovnatej vzorky s veľmi nízkou variabilitou (SD = 1.81), čo svedčí o stabilnom a nemennom charaktere domáceho energetického mixu.

Testovanie hypotéz a modelovanie

T-Test: Porovnanie priemerov

Overíme, či sa priemerná výroba z obnoviteľných zdrojov štatisticky líši medzi dvoma časovými obdobiami (2000–2010 vs. 2011–2022) pre Slovensko.

sk_obdobie1 <- udaje_analysa %>% filter(country == "Slovakia" & year <= 2010) %>% pull(renewables_electricity_twh)
sk_obdobie2 <- udaje_analysa %>% filter(country == "Slovakia" & year > 2010) %>% pull(renewables_electricity_twh)

t.test(sk_obdobie1, sk_obdobie2)

    Welch Two Sample t-test

data:  sk_obdobie1 and sk_obdobie2
t = -5.8941, df = 21.452, p-value = 6.902e-06
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -1.9486497 -0.9331685
sample estimates:
mean of x mean of y 
 4.789091  6.230000 

Interpretácia t -testu

Výsledok Welchovho obberového t-testu potvrdzuje štatisticky významný nárast výroby elektriny z obnoviteľných zdrojov na Slovensku medzi dvoma sledovanými obdobiami (p-hodnota = 6.902e-06, čo je výrazne menej ako 0.05). Môžeme zamietnuť nulovú hypotézu a konštatovať, že tento rozdiel v priemerových hodnotách nie je náhodný.

Lineárna regresia

Modelujeme závislosť celkovej výroby elektriny od HDP a populácie.

model <- lm(electricity_generation_twh ~ gdp + population, data = udaje_analysa)
summary(model)

Call:
lm(formula = electricity_generation_twh ~ gdp + population, data = udaje_analysa)

Residuals:
     Min       1Q   Median       3Q      Max 
-127.694   -9.223    1.516   19.518   84.737 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 4.745e+00  4.933e+00   0.962    0.338    
gdp         1.082e-10  9.734e-12  11.114  < 2e-16 ***
population  2.532e-06  4.165e-07   6.078 1.32e-08 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 36.85 on 127 degrees of freedom
Multiple R-squared:   0.97, Adjusted R-squared:  0.9695 
F-statistic:  2053 on 2 and 127 DF,  p-value: < 2.2e-16

Interpretácia lineárnej regresie

Výsledky viacnásobnej lineárnej regresie ukazujú, že HDP aj počet obyvateľov majú štatisticky vysokovýznamný pozitívny vplyv na celkovú výrobu elektriny ( p-value<0.001 pre oba koeficienty). Kladné hodnoty odhadov potvrdzujú, že s rastúcim ekonomickým výkonom a veľkosťou populácie rastie aj celková produkcia elektriny. Celkový model vysvetľuje až 97 % variability výroby elektriny v sledovaných krajinách, čo svedčí o vynikajúcej schopnosti modelu popísať tento vzťah.