Cieľ dokumentu
V tejto časti nadväzujem na predchádzajúce kroky práce s databázou
dopravných nehôd a overujem, či je zvolený regresný model dobre
špecifikovaný z hľadiska funkčnej formy.
Zaujíma ma, či je lineárna špecifikácia postačujúca, alebo sa v dátach
objavujú nelinearity (napr. kvadratický vplyv) a prípadne aj zlom v
správaní modelu pri určitých typoch nehôd.
Výstup je spracovaný ako „projektový report“ – bez zobrazenia kódu, s
prehľadnými tabuľkami a grafmi.
1. Dáta a príprava
premenných
Čo presne analyzujem?
Pracujem so závislou premennou
injuries_total (celkový počet
zranení pri nehode).
Ako vysvetľujúce premenné používam:
-
num_units – počet zúčastnených vozidiel,
-
crash_hour – hodina nehody,
-
crash_month – mesiac nehody,
-
crash_day_of_week – deň v týždni.
V tomto kroku ponechávam časové premenné v číselnej forme (tak ako v
zdrojových dátach), aby sa zachovala podstata zadania. Pri interpretácii
však beriem do úvahy, že niektoré z nich sú prirodzene skôr
kategórie.
Počet pozorovaní (rok 2019):
27959
Kontrola chýbajúcich hodnôt (pred/po imputácii)
|
Premenná
|
Chýbajúce_pred
|
Chýbajúce_po
|
|
injuries_total
|
0
|
0
|
|
num_units
|
0
|
0
|
|
crash_hour
|
0
|
0
|
|
crash_month
|
0
|
0
|
|
crash_day_of_week
|
0
|
0
|
Základný prehľad dát (rok 2019)
|
N
|
injuries_mean
|
injuries_sd
|
injuries_min
|
injuries_max
|
num_units_mean
|
crash_hour_mean
|
crash_month_mean
|
|
27959
|
0.3626
|
0.7748
|
0
|
16
|
2.0615
|
13.2846
|
6.6284
|


Prečo je tento krok dôležitý?
Ak by boli v dátach chýbajúce hodnoty alebo extrémne zvláštne
rozdelenia, mohli by skresliť výsledky regresie aj diagnostiku
špecifikácie.
Preto najprv kontrolujem základné vlastnosti dát a až potom prechádzam
na model a testy funkčnej formy.
2. Základný lineárny
model
Základný lineárny model – koeficienty (OLS)
|
Premenná
|
Odhad
|
Std. chyba
|
t-hodnota
|
p-hodnota
|
CI 2.5%
|
CI 97.5%
|
|
(Intercept)
|
-0.2918
|
0.0298
|
-9.8049
|
< 0.001
|
-0.3501
|
-0.2335
|
|
num_units
|
0.3267
|
0.0118
|
27.7461
|
< 0.001
|
0.3036
|
0.3498
|
|
crash_hour
|
-0.0018
|
0.0008
|
-2.1917
|
0.028
|
-0.0034
|
-0.0002
|
|
crash_month
|
0.0014
|
0.0014
|
1.0592
|
0.289
|
-0.0012
|
0.0041
|
|
crash_day_of_week
|
-0.0011
|
0.0023
|
-0.4793
|
0.632
|
-0.0057
|
0.0035
|
Základné metriky kvality modelu
|
Metrika
|
Hodnota
|
|
R²
|
0.0270
|
|
Upravené R²
|
0.0269
|
|
AIC
|
64323.4900
|
|
BIC
|
64372.9200
|
|
Počet pozorovaní
|
27959.0000
|
Interpretácia základného modelu
Tento model beriem ako východiskový – ukáže mi, či premenné súvisia
so zraneniami aspoň v základnej lineárnej forme.
Zároveň však platí, že aj „zdanlivo dobrý“ model môže byť nesprávne
špecifikovaný. Preto ďalej overujem, či lineárna forma nie je príliš
zjednodušená (nelinearity, chýbajúce premenné, prípadné zlomy).
4. Grafická
diagnostika
4.1 Rezíduá
vs. vyrovnané hodnoty

Čo hľadám v grafe
Ak sú rezíduá náhodne rozmiestnené okolo nuly, lineárna forma býva v
poriadku.
Ak však vidím zakrivenie alebo systematický tvar, často to naznačuje
nelinearitu, ktorú by bolo vhodné zachytiť napríklad kvadratickým členom
alebo transformáciou.
4.2 Component +
Residual (C+R) grafy
C+R grafy pomáhajú zistiť nelinearity pre jednotlivé vysvetľujúce
premenné zvlášť.
Aby bol výstup rýchly a prehľadný, robím grafy na náhodnej vzorke 5000
pozorovaní.

Záver z C+R grafov
Ak sa vyrovnaná krivka výrazne odchyľuje od priamky, je to signál
nelinearity.
V praxi to často vedie k doplneniu kvadratického člena (\(x^2\)) alebo testovaniu zlomu (dummy +
interakcia).
Ďalej preto skúšam nelineárnu špecifikáciu najmä pre premennú
num_units, kde je nelineárny vplyv veľmi pravdepodobný.
5. Nelineárna
špecifikácia: kvadratické členy
5.1 Model s
kvadratickými členmi
Nelineárny model (kvadratické členy) – koeficienty
|
Premenná
|
Odhad
|
Std. chyba
|
t-hodnota
|
p-hodnota
|
CI 2.5%
|
CI 97.5%
|
|
(Intercept)
|
0.0255
|
0.0553
|
0.4613
|
0.645
|
-0.0829
|
0.1340
|
|
num_units
|
0.2131
|
0.0377
|
5.6451
|
< 0.001
|
0.1391
|
0.2870
|
|
I(num_units^2)
|
0.0205
|
0.0064
|
3.2220
|
0.001
|
0.0080
|
0.0330
|
|
crash_hour
|
-0.0376
|
0.0032
|
-11.8636
|
< 0.001
|
-0.0438
|
-0.0314
|
|
I(crash_hour^2)
|
0.0015
|
0.0001
|
11.7319
|
< 0.001
|
0.0012
|
0.0017
|
|
crash_month
|
0.0011
|
0.0013
|
0.8208
|
0.412
|
-0.0015
|
0.0037
|
|
crash_day_of_week
|
-0.0013
|
0.0023
|
-0.5730
|
0.567
|
-0.0059
|
0.0032
|
Porovnanie kvality: lineárny vs. kvadratický model
|
Model
|
Upravené.R.
|
AIC
|
BIC
|
|
Lineárny
|
0.0269
|
64323.49
|
64372.92
|
|
Kvadratický
|
0.0321
|
64173.91
|
64239.82
|
ANOVA porovnanie modelov (zlepšenie po pridaní nelinearity)
|
Model
|
Res.Df
|
RSS
|
Df
|
F
|
p.hodnota
|
|
Lineárny
|
27954
|
16331.07
|
—
|
—
|
—
|
|
Kvadratický
|
27952
|
16241.61
|
2
|
76.9805
|
< 0.001
|
RESET test – kvadratický model
|
|
Test
|
Statistika
|
DF1
|
DF2
|
p.hodnota
|
|
df1
|
RESET (kvadratický model)
|
38.3052
|
2
|
27950
|
< 0.001
|
Interpretácia nelineárnej špecifikácie
Sledujem tri veci naraz: (1) či sú kvadratické členy štatisticky
významné, (2) či sa zlepší kvalita modelu (upravené R², AIC/BIC) a (3)
či sa zlepší špecifikácia podľa RESET testu.
Ak je napríklad num_units² významné, je to veľmi logický výsledok
– pri nehodách s viacerými vozidlami často rastie závažnosť rýchlejšie
než lineárne.
5.2 Zjednodušený
model: iba \(num\_units^2\)
Zjednodušený kvadratický model – iba num_units²
|
Premenná
|
Odhad
|
Std. chyba
|
t-hodnota
|
p-hodnota
|
CI 2.5%
|
CI 97.5%
|
|
(Intercept)
|
-0.1089
|
0.0543
|
-2.0060
|
0.045
|
-0.2152
|
-0.0025
|
|
num_units
|
0.1822
|
0.0377
|
4.8269
|
< 0.001
|
0.1082
|
0.2561
|
|
I(num_units^2)
|
0.0257
|
0.0064
|
4.0305
|
< 0.001
|
0.0132
|
0.0382
|
|
crash_hour
|
-0.0017
|
0.0008
|
-2.0470
|
0.041
|
-0.0033
|
-0.0001
|
|
crash_month
|
0.0014
|
0.0014
|
1.0614
|
0.289
|
-0.0012
|
0.0041
|
|
crash_day_of_week
|
-0.0010
|
0.0023
|
-0.4439
|
0.657
|
-0.0056
|
0.0036
|
Porovnanie: či stačí iba num_units²
|
Model
|
Upravené.R.
|
AIC
|
|
Lineárny
|
0.0269
|
64323.49
|
|
Kvadratický (full)
|
0.0321
|
64173.91
|
|
Kvadratický (num_units²)
|
0.0274
|
64309.25
|
6. Zlom v modeli: dummy
premenná a interakcia
V tejto časti testujem, či sa vzťah medzi počtom vozidiel a počtom
zranení mení medzi nehodami s jedným vozidlom a s viacerými
vozidlami.
Dummy premenná: - \(DUM = 0\) ak
\(num\_units \le 1\)
- \(DUM = 1\) ak \(num\_units > 1\)
Model so zlomom v autonómnom člene (DUM)
|
Premenná
|
Odhad
|
Std. chyba
|
t-hodnota
|
p-hodnota
|
|
(Intercept)
|
-0.0648
|
0.0356
|
-1.8206
|
0.069
|
|
DUM
|
-0.3785
|
0.0328
|
-11.5568
|
< 0.001
|
|
num_units
|
0.3921
|
0.0130
|
30.0719
|
< 0.001
|
|
crash_hour
|
-0.0014
|
0.0008
|
-1.6517
|
0.099
|
|
crash_month
|
0.0015
|
0.0013
|
1.1211
|
0.262
|
|
crash_day_of_week
|
-0.0009
|
0.0023
|
-0.3727
|
0.709
|
Model so zlomom v sklone (DUM × num_units)
|
Premenná
|
Odhad
|
Std. chyba
|
t-hodnota
|
p-hodnota
|
|
(Intercept)
|
-0.4433
|
0.0325
|
-13.6594
|
< 0.001
|
|
num_units
|
0.7706
|
0.0402
|
19.1854
|
< 0.001
|
|
I(DUM * num_units)
|
-0.3785
|
0.0328
|
-11.5568
|
< 0.001
|
|
crash_hour
|
-0.0014
|
0.0008
|
-1.6517
|
0.099
|
|
crash_month
|
0.0015
|
0.0013
|
1.1211
|
0.262
|
|
crash_day_of_week
|
-0.0009
|
0.0023
|
-0.3727
|
0.709
|
Porovnanie: základný model vs. dummy špecifikácie
|
Model
|
Upravené.R.
|
AIC
|
|
Lineárny
|
0.0269
|
64323.49
|
|
Zlom v autonómnom člene
|
0.0315
|
64192.22
|
|
Zlom v sklone (interakcia)
|
0.0315
|
64192.22
|
ANOVA: zlepšenie po pridaní interakcie (zlom v sklone)
|
Model
|
Res.Df
|
RSS
|
Df
|
F
|
p.hodnota
|
|
Lineárny
|
27954
|
16331.07
|
—
|
—
|
—
|
|
Interakčný
|
27953
|
16253.41
|
1
|
133.5607
|
< 0.001
|
RESET test – interakčný model
|
|
Test
|
Statistika
|
DF1
|
DF2
|
p.hodnota
|
|
df1
|
RESET (interakčný model)
|
9.8445
|
2
|
27951
|
< 0.001
|

Záver k dummy prístupu
Dummy premenná mi umožňuje testovať „zlom“ – teda či sa model správa
inak pri nehodách s jedným vs. viacerými vozidlami.
Ak je interakčný člen DUM × num_units významný a ANOVA ukáže
zlepšenie, dá sa to interpretovať tak, že vzťah medzi počtom vozidiel a
počtom zranení má odlišný sklon v rôznych skupinách nehôd.
8. Zhrnutie a
odporúčania
Čo som zistila
-
Najprv som pripravila dáta pre rok 2019 a overila som chýbajúce
hodnoty. Tým som si zabezpečila, že regresia aj diagnostika nie sú
ovplyvnené nečistotami v dátach.
-
Základný lineárny model poskytol východiskový pohľad na vzťah medzi
počtom vozidiel, časom nehody a počtom zranení.
Samotná interpretácia koeficientov však nestačí – kľúčová je aj správna
špecifikácia.
-
RESET test a diagnostické grafy slúžia ako kontrola, či lineárna forma
nie je príliš zjednodušená. Ak test vychádza významný alebo grafy
naznačujú zakrivenie, je to signál pre nelinearity alebo chýbajúce
premenné.
-
Vyskúšala som kvadratické členy (najmä pre num_units) a porovnala
som zmenu kvality modelu pomocou upraveného R², AIC/BIC a ANOVA testu.
-
Následne som otestovala aj „zlom“ medzi nehodami s jedným vs. viacerými
vozidlami cez dummy premennú a interakciu. Tento prístup pomáha zachytiť
rozdielne správanie modelu v rôznych typoch nehôd.
Ako by som pokračovala ďalej
Ak RESET test zostáva významný aj po nelinearitách a interakciách, je
pravdepodobné, že modelu chýbajú ďalšie relevantné premenné (napr.
počasie, viditeľnosť, typ nehody, stav vozovky a pod.), alebo je vhodné
niektoré premenné modelovať ako kategórie (napr. deň v týždni ako
faktor).
Ďalším krokom by preto bolo rozšírenie modelu o logicky súvisiace
vysvetľujúce premenné a následná kontrola špecifikácie znova.