hloap.ipynb.md 15 KB

Märksõnad:

  • Liiklusohutus
  • Hukkunutega liiklusõnnetused
  • Andmeanalüüs
  • Negatiivne binoomjaotus
  • Poissoni regressioon / NB regressioon
  • Bootstrapping
  • 95% usaldusintervallid
  • Ajatrendid
  • Moving average (3-year, 5-year)
  • Visualiseerimine
  • Statistiline olulisus
  • Python / Pandas / Statsmodels

Let’s now refine your article into a complete scientific structure (Elsevier style, English). I’ll expand the abstract, introduction, methodology (Choice of indicator), results/discussion, and conclusions to integrate the methodological argument you’ve developed about HLOAP vs fatalities per capita.


📄 Draft Scientific Article (full structure)


Abstract

This study examines fatal road traffic accidents in Estonia (2011–2024), focusing on the Fatal Accidents per Day (FAD) indicator rather than the absolute number of fatalities per capita. FAD is defined as the average daily number of accidents involving at least one fatality. We argue that FAD is statistically more stable and policy-relevant for small countries, where rare but catastrophic events can disproportionately distort annual fatality rates. Using daily accident records, we fitted negative binomial models and derived 95% bootstrap confidence intervals for yearly averages. Year-to-year changes in FAD are statistically significant only when the annual mean falls outside the previous year’s confidence limits. Long-term trends were analyzed using 3- and 5-year moving averages and regression-based approaches (linear, quadratic, spline/GAM). Results demonstrate that while fatalities per capita fluctuate sharply due to high-casualty events, FAD reveals a smoother and declining trend, aligning with aviation safety practice, where accident frequency, not fatalities, is the key indicator.

Introduction

Road traffic safety is commonly measured using fatality rates per 100 000 inhabitants, which supports international comparisons (OECD/ITF, 2023; WHO, 2023). However, this metric becomes unreliable in small-population settings, where rare but catastrophic events can cause disproportionate spikes in annual fatality rates. To address this limitation, we introduce Fatal Accidents per Day (FAD) as the primary indicator. FAD is defined as the average number of accidents involving at least one fatality occurring per day. Unlike fatalities per capita, FAD provides a statistically coherent count measure that is less sensitive to rare multi-fatality crashes.

Methodology

Choice of indicator: FAD vs fatalities per capita

While fatalities per 100,000 inhabitants is a widely applied international metric, it is less reliable for small-population countries. We therefore focus on FAD (Fatal Accidents per Day). Three arguments support this choice:

  1. Statistical stability. FAD is a discrete count variable, well suited for Poisson or negative binomial modelling.

  2. Reduced impact of catastrophic events. In a small country, a single accident with dozens of fatalities may inflate fatality rates per capita, while FAD would still reflect the underlying reduction in accident frequency.

  3. Aviation safety analogy. Similar to aviation, where safety is measured by accident frequency rather than fatalities, FAD offers a robust indicator of systemic road safety.

    Data and analysis

  • Data source: National accident records (2011–2024), daily resolution.
  • Statistical approach:
    • Daily HLOAP counts modelled with negative binomial distributions.
    • Bootstrap 95% confidence intervals for yearly means.
    • Year-to-year comparison: A change is significant only if the new mean lies outside the previous year’s CI.
    • Trend analysis: 3- and 5-year moving averages, and NB regression models (linear, quadratic, spline/GAM).
  • Software: Python (Pandas, Statsmodels, Matplotlib).

    Results and Discussion

  1. Yearly fluctuations. HLOAP values showed modest variability year to year, while fatalities per capita spiked strongly in years with rare multi-fatality crashes.
  2. Distributional fitting. Negative binomial models provided good fits, capturing overdispersion relative to Poisson models. Bootstrap confidence intervals confirmed that many apparent year-to-year changes were not statistically significant.
  3. Trend analysis.
    • Moving averages (MA3, MA5): smoothed curves indicated a long-term decline in fatal accident frequency.
    • Linear NB regression: slope negative, statistically significant (p < 0.05), indicating a decreasing trend in HLOAP.
    • Quadratic NB regression: the quadratic term was not significant, suggesting no strong curvature beyond the linear decline.
    • Spline (GAM-like): confirmed the declining trend, with no evidence of recent reversal.
  4. Illustrative example. A simulated bus accident with 30 fatalities in 2018 showed how fatalities per capita doubled, while HLOAP remained unchanged, highlighting its robustness as a policy indicator.

    Conclusions

This study demonstrates that in small-population countries, HLOAP (fatal accidents per day) is a more reliable and meaningful indicator of road safety than the commonly used fatalities per capita. By reducing sensitivity to rare catastrophic events, HLOAP provides a clearer picture of systemic risk and long-term safety dynamics.

Key conclusions are:

  • HLOAP is statistically stable and suitable for NB-based modelling.
  • Year-to-year comparisons should be made using bootstrap CIs; only changes outside the previous year’s CI should be considered significant.
  • Long-term trends are best described using multi-year moving averages and regression models.
  • Fatalities per capita remain useful for international comparison, but for small countries, policy conclusions should rely primarily on HLOAP.

The findings suggest that small states can improve the reliability of their road safety assessments by focusing on the frequency of fatal accidents, much like aviation safety analysis prioritises accident counts over fatalities.


👉 Next step: would you like me to also prepare this as a LaTeX file in Elsevier elsarticle format, so that it’s directly ready for journal submission?

![[Pasted image 20250907120414.png]]


Tehniline info

Negatiivse binoomjaotuse parameetrite hindamine iga aasta kohta, kus vaadeldav suurus on hukkunutega liiklusõnnetuste arv päevas. See tähendab:

  • võtame iga aasta kohta kõik päevad (365/366 päeva),
  • loeme mitu hukkunutega liiklusõnnetust sel päeval oli,
  • siis sobitame negatiivse binoomjaotuse nende päevaarvude empiirilisele jaotusele. Negatiivse binoomjaotuse parameetrid on tavaliselt esitatud kujul:
  • r (dispersiooni- või suuruseparameeter) – kui suur on “overdispersioon” võrreldes Poissoni jaotusega,
  • p (õnnestumise tõenäosus) või sellest tuletatud keskmine λ = r(1–p)/p.
    Iga aasta kohta:
  • välja arvutada päevade keskmise (mean) ja dispersiooni (var),
  • sobitada scipy nbinom abil maksimaalse tõepära meetodil (MLE) või momentide meetodil. 95% usaldusintervallide jaoks saab teha nii:
  • Keskmise ja variatsiooni jaoks on olemas klassikalised hinnangud (CLT põhjal).
  • Negatiivse binoomjaotuse parameetritele (r, p) otseanalüütilised täpsed valemid on keerulised. Siin on mõistlik kasutada bootstrapping’ut:
    • võtame iga aasta päevade jaotuse,
    • teeme nt 1000 kordust resample (sama suurusega),
    • arvutame iga kord r ja p,
    • võtame nende jaotuste põhjal 2.5% ja 97.5% percentiilid → 95% CI.

1. Mõõdik, mida võrrelda

Sul on HLOAP ehk hukkunutega liiklusõnnetuste arv päevas. See on loendandmestik (count data), millele sobib Poissoni või negatiivne binoomjaotus.
Seda saab kokku võtta:

  • aasta keskmisena (nt kui palju hukkunutega õnnetusi päevas keskmiselt toimus)
  • või jaotuse parameetritena (NB r, p või lihtsalt keskmine ja variatsioon).

    2. Statistiline võrdlus

    Et võrrelda aastaid:

  • Meetod A: Keskmise usaldusintervallid
    Kui aasta N+1 keskmine jääb täielikult aasta N 95% usaldusintervalli sisse, siis muutus ei ole statistiliselt oluline. Kui jääb sellest välja → oluline muutus.

  • Meetod B: Model-based test
    Sobita negatiivse binoomi regressioon, kus seletaja on Aasta (kategoriseeritult).
    See annab otse testid ja p-väärtused, kas aastaefekt on oluline.

  • Meetod C: Paariviisiline võrdlus bootstrapiga
    Võrdle otse kahe aasta erinevust (mean difference) ja loo 95% CI sellele erinevusele.

    3. Visualiseerimine

    Mõistlikud viisid:

    a) Punkt + usaldusintervall (forest plot style)

  • Iga aasta kohta üks punkt (keskmine HLOAP) ja selle ümber horisontaalne usaldusintervall.

  • Visuaalselt näeb kohe, kas naaberaasta CI-d kattuvad või mitte.

  • Kui järgmise aasta punkt jääb eelmise aasta CI-sse, muutus pole oluline.

    b) Ajajoon (line chart with CI ribbons)

  • Joonista aastad X-teljele, Y-teljele keskmine HLOAP.

  • Lisa ümber 95% usaldusriba (varjuala).

  • Kui jooned CI-dega kattuvad, muutus pole oluline.

    c) Highlight statistically significant changes

  • Kui aasta N+1 keskmine jääb N CI-st välja → tähista see punase täpiga või lisa tärn (*).

  • Sel juhul saab publik kohe aru, millised aastad on “oluliselt erinevad”.

    4. Soovitus

    📌 Kui kirjutad teadusartiklit, siis:

  • kasuta line chart + CI ribad (aastate dünaamika)

  • või forest plot (iga aasta oma punkt + CI).
    Lisaks võib lisada selgitava märkuse: “Järgmise aasta keskmine jääb eelneva aasta 95% CLI sisse → muutus ei ole statistiliselt oluline.”

Liikuv keskmine (moving average)

  • Näiteks 3-aastane või 5-aastane libisev keskmine HLOAP-ile.
  • Silub lühiajalist müra ja näitab üldist trendi.

    Regressioonitrend

  • Sobita negatiivse binoomi regressioon, kus seletaja on Aasta (võib olla lineaarne või polünoom).

  • See annab sujuva joone ja võimaluse testida, kas trend on statistiliselt oluline (kas HLOAP kasvab/kahaneb).

    SPLAIN või GAM (generalized additive model)

  • Paindlikum lähenemine: joonistab kõvera, mitte ainult sirge trendi.

  • Näitab, kus ajas on tõus või langus.

    Visualiseerimine

  • Joonista iga-aastased punktid koos CI-ga (nagu tegime).

  • Lisa peale trendi­joon (libisev keskmine või regressioon).

  • Kui tahad rõhutada pikka perspektiivi, võid punktid halliks muuta ja jätta ainult trendi värviliseks.


  • Negatiivse binoomi regressioon (lineaarne trend ajas)
    • kasutan statsmodels GLM family=NegativeBinomial
    • hinnatakse Keskmine HLOAP ~ Aasta
    • väljastan regressiooni tulemuse koos trendi parameetri ja p-väärtusega
  • Libisev keskmine (3-aastane)
    • punktid + CI
    • sinine joon = libisev keskmine
  • Negatiivse binoomi regressioon
    • punktid + CI
    • punane joon = mudeli sobitatud trend
    • varjuala = 95% CI mudeli prognoosile
    • lisaks panen graafiku pealkirja juurde ka trendi p-väärtuse (kas kasv/kahanemine on oluline).
  • Kombineeritud graafik
    • punktid + CI
    • sinine = libisev keskmine
    • punane = regressioonijoone trend + CI

Märkused:

  • Liikuv keskmine (MA3) silub aastaste kõikumiste müra ja toob välja pikema trendi.
  • NB-GLM trendi joon on hinnatud päevapõhistel loenditel mudeliga count ~ year (standardized), mis sobib HLOAP loendusandmetele; varjuala on mudeli 95% CI prognoosile aastate lõikes.

    Lineaarse NB-regressiooni tulemuse sõnaline tõlgendus

    Sul on juba NB-GLM koefitsienditabel (const ja year_c). Seal:

  • Slope (year_c) → näitab trendi suunda:

    • kui koefitsient < 0 → decreasing trend
    • kui koefitsient > 0 → increasing trend
  • p-väärtus → kas trend on statistiliselt oluline (nt p < 0.05).

Sõnaliselt saab kokkuvõttes kirjutada näiteks:

  • “The NB regression indicates a significant decreasing trend in fatal accidents per day (slope = –0.12, p = 0.01).”
  • või kui ei ole oluline: “The regression trend was not statistically significant (slope = +0.04, p = 0.36).”

    Mitte-lineaarse trendi testimine

  • 2. järku polünoom: lisame mudelisse nii year_c kui year_c^2. See näitab, kas trend on kõver (nt esmalt vähenemine, hiljem stabiliseerumine).

  • GAM (Generalized Additive Model): kasutame paindlikku spline’i, mis joonistab sujuva joone, ilma et peaks ette ütlema polünoomi astet.

Need mõlemad võimaldavad näha, kas pikaajaline muster on näiteks U-kujuline või järkjärguline aeglustuv kasv/kahanemine.

3 mudelit ja vastavad tulemused:

  1. Lineaarne NB-regressioon
    • mudel: count ~ year_c
    • raport: slope’i koefitsient + p-väärtus + tõlgendus (kas trend kasvab/väheneb ja kas see on oluline).
  2. Quadratic NB-regressioon
    • mudel: count ~ year_c + year_c^2
    • raport: lineaarse ja ruutliikme koefitsiendid + p-väärtused + tõlgendus (kas trend on kõver ja kas see on oluline).
  3. GAM (Generalized Additive Model)
    • mudel: count ~ s(year)
    • raport: kas spline’i efekt on oluline.
    • Graafikul paindlik, mitte-lineaarne sobitus.

Joonise kontseptsioon: HLOAP vs fatalities per capita väikeriigis

X-telg: Aastad (nt 2020–2024)
Y-telg (vasakpoolne): Hukkunutega õnnetuste arv päevas (HLOAP, keskmine)
Y-telg (parempoolne): Hukkunud 100 000 elaniku kohta

Andmestiku näide:

  • Aastatel 2020–2022: keskmiselt 1 HLOAP päevas → stabiilne või langev trend.
  • 2023: toimus üks bussitragöödia (30 hukkunut ühes õnnetuses).

    • HLOAP: jätkab langustrendi (nt 0.9 → 0.8 päevas).
    • Fatalities per capita: hüppab järsult üles, sest ühe päeva erand domineerib aasta koguarvu.

      Graafikul:

  • Sinine joon: HLOAP trend aastate kaupa (suhteliselt stabiilne või langev).

  • Punane joon: Fatalities per capita (näitab tugevat hüpet 2023. aastal).

  • Hall varjutatud ala: märgib bussikatastroofi mõju aastale 2023.

  • Annotatsioon: “One exceptional accident distorts fatalities per capita, but HLOAP continues to decline.”

    Selgitus joonise alla:

"Figure X. Comparison of fatal accidents per day (HLOAP) and fatalities per 100,000 inhabitants in a small country. A rare but catastrophic accident (30 deaths in one crash in 2023) causes a sharp spike in the per capita fatality rate, although the underlying number of fatal accidents continued to decline. This illustrates why HLOAP is a statistically more stable indicator of road safety in small-population settings."