# Načítanie CSV súboru (predpokladáme, že súbor je v pracovnom adresári)
data <- read.csv("economics.csv")
# Skontroluj prvé riadky
head(data)
## X date pce pop psavert uempmed unemploy
## 1 1 1967-07-01 506.7 198712 12.6 4.5 2944
## 2 2 1967-08-01 509.8 198911 12.6 4.7 2945
## 3 3 1967-09-01 515.6 199113 11.9 4.6 2958
## 4 4 1967-10-01 512.2 199311 12.9 4.9 3143
## 5 5 1967-11-01 517.4 199498 12.8 4.7 3066
## 6 6 1967-12-01 525.1 199657 11.8 4.8 3018
summary(data)
## X date pce pop
## Min. : 1.0 Length:574 Min. : 506.7 Min. :198712
## 1st Qu.:144.2 Class :character 1st Qu.: 1578.3 1st Qu.:224896
## Median :287.5 Mode :character Median : 3936.8 Median :253060
## Mean :287.5 Mean : 4820.1 Mean :257160
## 3rd Qu.:430.8 3rd Qu.: 7626.3 3rd Qu.:290291
## Max. :574.0 Max. :12193.8 Max. :320402
## psavert uempmed unemploy
## Min. : 2.200 Min. : 4.000 Min. : 2685
## 1st Qu.: 6.400 1st Qu.: 6.000 1st Qu.: 6284
## Median : 8.400 Median : 7.500 Median : 7494
## Mean : 8.567 Mean : 8.609 Mean : 7771
## 3rd Qu.:11.100 3rd Qu.: 9.100 3rd Qu.: 8686
## Max. :17.300 Max. :25.200 Max. :15352
Databáza obsahuje 574 časových záznamov o rôznych makroekonomických ukazovateľoch USA.
X:
Poradové číslo záznamu (index riadku) od 1 do 574.
date:
Dátum záznamu vo formáte textu. Odporúčame konvertovať na dátumový
formát pre časové analýzy.
pce (Personal Consumption Expenditures):
Výdavky domácností na spotrebu v príslušných jednotkách.
Hodnoty sa pohybujú od približne 507 do 12 194, priemer je okolo 4
820.
Medián je nižší (3 937), čo naznačuje mierne pravostranné rozloženie
údajov.
pop (Population):
Počet obyvateľov v čase, od cca 198 712 do 320 402.
Priemerná hodnota je približne 257 160.
psavert (Personal Saving Rate):
Miera osobných úspor v percentách.
Hodnoty sa pohybujú od 2.2 % do 17.3 %, s priemerom okolo 8.57
%.
uempmed (Median Duration of Unemployment):
Medián dĺžky nezamestnanosti (pravdepodobne v týždňoch).
Rozsah od 4 do 25.2, priemer okolo 8.6 týždňov.
unemploy (Number of Unemployed):
Počet nezamestnaných ľudí v tisícoch (alebo iných jednotkách).
Hodnoty od 2 685 do 15 352, priemer cca 7 771.
library(ggplot2)
library(scales)
# Upravíme dátum na formát roku
data$year <- as.numeric(format(as.Date(data$date), "%Y"))
ggplot(data, aes(x = unemploy, y = pce, color = year)) +
geom_point(size = 3, alpha = 0.7) + # body
geom_smooth(method = "lm", se = FALSE, color = "black", linetype = "dashed") + # regresná čiara
scale_color_viridis_c(option = "plasma", direction = -1) + # farebný prechod podľa rokov
labs(
title = "Vzťah medzi osobnou spotrebou a nezamestnanosťou v USA (1967–2015)",
subtitle = "Farebný prechod ukazuje vývoj v čase (tmavé = staršie roky, svetlé = novšie roky)",
x = "Počet nezamestnaných (v tisícoch)",
y = "Osobná spotreba (v miliardách USD)",
color = "Rok"
) +
theme_minimal(base_size = 14) +
theme(
plot.title = element_text(face = "bold", size = 16),
plot.subtitle = element_text(size = 12),
legend.position = "bottom"
)
## `geom_smooth()` using formula = 'y ~ x'
Chcem vysvetliť, ako sa mení pce (spotreba domácností) podľa pop (počtu obyvateľov).
model <- lm(pce ~ unemploy, data = data)
summary(model)
##
## Call:
## lm(formula = pce ~ unemploy, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6199.1 -1978.4 -410.1 2116.0 6749.3
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.609e+03 3.645e+02 -4.415 1.21e-05 ***
## unemploy 8.273e-01 4.441e-02 18.630 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2808 on 572 degrees of freedom
## Multiple R-squared: 0.3776, Adjusted R-squared: 0.3765
## F-statistic: 347.1 on 1 and 572 DF, p-value: < 2.2e-16
par(mfrow = c(2, 2))
plot(model)
V rámci analýzy som odhadla jednoduchý lineárny regresný model, v ktorom osobná spotreba (PCE) závisí od počtu nezamestnaných osôb (Unemploy) v USA v rokoch 1967–2015. Výsledky ukázali, že koeficient pri premennej Unemploy má hodnotu 0.827 a je štatisticky vysoko významný (p < 0.001). Hodnota R² = 0.378 znamená, že model vysvetľuje približne 38 % variability spotreby, pričom intercept modelu (-1609) nemá ekonomickú interpretáciu.
Na prvý pohľad by tieto výsledky naznačovali, že rast nezamestnanosti je spojený s rastom spotreby, čo však nie je v súlade s ekonomickou teóriou. Teoreticky by mal platiť negatívny vzťah, pretože vyššia nezamestnanosť znamená nižšie príjmy domácností a teda aj nižšiu úroveň spotreby. Opačný smer vzťahu v tomto modeli pravdepodobne spôsobuje to, že obidve premenné majú dlhodobý rastúci trend – tzv. zdanlivú (spurious) koreláciu.
Získaný model teda zachytáva skôr spoločný vývoj v čase než skutočný ekonomický vzťah.
ANOVA (analýza rozptylu) sa často používa na testovanie rozdielov medzi skupinami. Keďže nemám kategórie v tejto databáze, použijem ANOVA na lineárny model, pre testovanie významnosti modelu.
anova(model)
## Analysis of Variance Table
##
## Response: pce
## Df Sum Sq Mean Sq F value Pr(>F)
## unemploy 1 2737430279 2737430279 347.07 < 2.2e-16 ***
## Residuals 572 4511507886 7887252
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ANOVA tabuľka hovorí, že lineárny model medzi osobnou spotrebou (pce) a nezamestnanosťou (unemploy) je štatisticky významný.
Hodnota F = 347.07 a p-hodnota < 0.001 znamenajú, že model ako celok vysvetľuje významnú časť variability spotreby.
Inými slovami: nezamestnanosť má štatisticky významný vplyv na osobnú spotrebu.
Zvyšná variabilita (reziduá) predstavuje časť, ktorú model nevysvetľuje.
Jednoducho povedané – model je štatisticky významný, takže medzi nezamestnanosťou a spotrebou existuje nejaký vzťah (aj keď smer vzťahu – pozitívny – nemusí byť ekonomicky logický).
library(ggplot2)
library(lubridate)
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
library(scales)
# extrahujeme rok a mesiac z dátumu
data$year <- year(as.Date(data$date))
data$month <- month(as.Date(data$date), label = TRUE, abbr = TRUE)
# heatmapa vývoja osobnej spotreby
ggplot(data, aes(x = month, y = factor(year), fill = pce)) +
geom_tile(color = "white") +
scale_fill_viridis_c(option = "magma", name = "Spotreba (PCE)", labels = comma) +
labs(
title = "Vývoj osobnej spotreby v USA (1967–2015)",
subtitle = "Heatmapa podľa mesiacov a rokov",
x = "Mesiac",
y = "Rok"
) +
theme_minimal(base_size = 13) +
theme(
axis.text.x = element_text(angle = 45, hjust = 1),
plot.title = element_text(face = "bold", size = 16),
legend.position = "right"
)
Farebný gradient - Farby idú od tmavofialovej (nízka spotreba) po svetložltú (vysoká spotreba). - Vidíme jasný dlhodobý rast spotreby, pretože postupne prechádzame od tmavých odtieňov v 60. a 70. rokoch po svetlé odtiene v 2000. a 2010. rokoch.
Osi - X-ová os: mesiace od januára po december, čo umožňuje sledovať sezónne rozdiely. - Y-ová os: roky od 1967 do 2015. Graf je usporiadaný od najnovších (hore) po najstaršie (dole).
Vývoj a trendy - Spotreba postupne rastie každý rok, čo je viditeľné ako posun svetlejších odtieňov smerom nahor. - Medzi jednotlivými mesiacmi možno pozorovať jemnú sezónnosť (niektoré mesiace majú mierne vyššie hodnoty než iné, napr. koniec roka).