Econometrics in R – Cvičenie 5:Základná diagnostika modelu
Tento dokument nadväzuje na prácu s databázou WHO Life Expectancy Data. Hlavným cieľom tohto cvičenia je zvládnuť správu pracovného prostredia (workspace), interpretovať výsledky OLS regresie (\(t\)-testy, \(F\)-test, \(R^2\)), vykonať grafickú a štatistickú diagnostiku modelu (normalita rezíduí, odľahlé hodnoty) a pochopiť vplyv logaritmických transformácií.
1. Príprava balíkov a načítanie údajov
V prvom kroku načítame potrebné knižnice a spracujeme tvoj dataset dataset ekonometria.csv.
install.packages("kableExtra")
Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.6'
(as 'lib' is unspecified)
install.packages("dplyr")
Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.6'
(as 'lib' is unspecified)
install.packages("broom")
Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.6'
(as 'lib' is unspecified)
The following object is masked from 'package:kableExtra':
group_rows
The following objects are masked from 'package:stats':
filter, lag
The following objects are masked from 'package:base':
intersect, setdiff, setequal, union
library(broom)
# Načítanie datasetu so stredníkom ako oddeľovačomudaje <-read.csv("dataset ekonometria.csv", sep =";", dec =".", header =TRUE, stringsAsFactors =FALSE)# Úprava názvov stĺpcovnames(udaje) <-make.names(trimws(names(udaje)), unique =TRUE)# Očistenie numerických premenných od medzier v tisícochudaje$Asset_Mil <-as.numeric(gsub(" ", "", udaje$Approx..Asset..Millions.))udaje$Deposit_Mil <-as.numeric(gsub(" ", "", udaje$Approx..Deposit..Millions.))# Výber potrebných stĺpcov a odstránenie chýbajúcich hodnôtudaje.vyber <- udaje[, c("Bank.Name", "Year", "Asset_Mil", "Deposit_Mil")]udaje.vyber <-na.omit(udaje.vyber)# Ukážka prvých 6 riadkov databázyhead(udaje.vyber) |>kable(digits =2,col.names =c("Názov banky", "Rok", "Aktíva (mil. $)", "Vklady (mil. $)"),caption ="Prvých šesť bánk vo vybraných údajoch" ) |>kable_styling(bootstrap_options =c("striped", "hover"), full_width =FALSE)
Prvých šesť bánk vo vybraných údajoch
Názov banky
Rok
Aktíva (mil. $)
Vklady (mil. $)
Washington Mutual Bank
2008
307000
188000
First Republic Bank
2023
229100
103900
Silicon Valley Bank
2023
209000
175400
Signature Bank
2023
110400
88600
IndyMac Bank
2008
32010
19060
Colonial Bank
2009
25000
20000
Opis a vysvetlenie výstupu:
Vstupy: Súbor dataset ekonometria.csv, funkcie read.csv() a čistiace príkazy gsub() a as.numeric().
Tabuľka 1 (Prvých šesť bánk vo vybraných údajoch): Zobrazuje prvých 6 riadkov vyčistenej vzorky. Vidíme tu názov banky, rok jej zlyhania, prekonvertované celkové aktíva (Asset_Mil) v miliónoch dolárov a celkové vklady (Deposit_Mil). Slúži na overenie, že dáta sú správne naimportované a pripravené na modelovanie.
2. Odhad regresného modelu a štatistická významnosť
V tomto kroku odhadneme viacnásobný lineárny regresný model, kde vysvetľovanou premennou sú vklady bánk v závislosti od ich aktív a roku zlyhania.
Vstupy: Model metódy najmenších štvorcov (lm()), funkcia tidy() z balíka broom a formátovacie príkazy kable(). Tabuľka 2 (Regresné koeficienty modelu) - obsahuje výsledky pre jednotlivé premenné: Estimate: Bodový odhad vyjadrujúci o koľko miliónov USD sa zmenia vklady banky pri zmene aktív o 1 milión USD (ceteris paribus). Std. Error: Štandardná chyba merajúca neistotu odhadu. t value a p-value: Slúžia na testovanie štatistickej významnosti koeficientov (\(H_0: \beta_j = 0\)). Nízka \(p\)-hodnota (\(< 0.05\)) potvrdzuje štatistickú významnosť. Significance: Hviezdičkové označenie úrovne významnosti pre rýchlu orientáciu.
3. Celková kvalita vyrovnania modelu
Analyzujeme celkovú úspešnosť modelu ako celku prostredníctvom koeficientu determinácie a informačných kritérií.
Vstupy: Funkcia glance() z balíka broom na agregáciu globálnych štatistík modelu. Tabuľka 3 (Súhrnné charakteristiky modelu) - zhrňuje celkové vlastnosti: R.squared: Podiel celkovej variability vkladov vysvetlenej týmto modelom. Adj.R.squared: Upravený koeficient determinácie zohľadňujúci počet premenných. Sigma: Reziduálna štandardná odchýlka (priemerná chyba modelu). F Stat. a p.value: Globálny \(F\)-test testujúci platnosť celého modelu naraz. AIC a BIC: Informačné kritériá vhodné na vzájomné porovnávanie modelov (nižšie číslo znamená lepší model). N: Celkový počet bánk (pozorovaní) použitých vo výpočte.
4. Grafická analýza rezíduí
Vizuálne overujeme predpoklady lineárnej regresie prostredníctvom štvorice diagnostických grafov.
# Rozdelenie okna na mriežku 2x2par(mfrow =c(2, 2))plot(model)
par(mfrow =c(1, 1))
Opis a vysvetlenie výstupu:
Vstupy: Príkaz plot(model) aplikovaný na odhadnutý regresný model. Obrázok (Diagnostické grafy regresného modelu): Generuje 4 grafy: Residuals vs Fitted: Overuje linearitu a konštantný rozptyl (homoscedasticitu). Normal Q-Q: Overuje normálne rozdelenie rezíduí (body by mali ležať na priamke). Scale-Location: Ďalší vizuálny test homoscedasticity rozptylu chýb. Residuals vs Leverage: Pomáha identifikovať vplyvné pozorovania a extrémne odľahlé hodnoty na základe Cookovej vzdialenosti.
5. Test normality rezíduí a odľahlých hodnôt
Overujeme normalitu rezíduí pomocou Jarque-Bera testu a detegujeme štatisticky významné odľahlé pozorovania.
# Jarque-Bera test normality rezíduíres <-residuals(model)jb_test <- tseries::jarque.bera.test(res)
Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
Vstupy: Funkcia tseries::jarque.bera.test() na testovanie normality rezíduí a car::outlierTest() na detekciu odľahlých hodnôt. Tabuľka 4 (Jarque-Bera test normality rezíduí): Ukazuje štatistiku testu a \(p\)-hodnotu. Ak je \(p\)-hodnota menšia ako \(0.05\), predpoklad normality rezíduí je zamietnutý. Tabuľka 5 (Test odľahlých pozorovaní): Zobrazuje prípadné banky s extrémnymi študentizovanými rezíduami. Kľúčový je stĺpec Bonferroni p-value – ak je menšia ako \(0.05\), pozorovanie je štatisticky významne odľahlé na 5% hladine významnosti.