Gå till index

Analys med R

0% färdig
0/0 Steps
  1. Analys och forskning med R och Posit (Rstudio)
  2. Grunderna i R och Rstudio
    7 Ämnen
  3. Importera, exportera, spara och ladda data
    5 Ämnen
  4. Strängar och regular expressions (regex)
    1 Ämne
  5. Bearbetning av data med dplyr
    12 Ämnen
  6. Visualisera och presentera
    14 Ämnen
  7. Explorerande analyser
    6 Ämnen
  8. Prediktionsmodeller
    12 Ämnen
  9. Klassisk regressionsanalys
    8 Ämnen
  10. Machine learning (ML) och Artificiell Intelligens (AI)
    9 Ämnen
  11. Prediktionsmodeller: Tidymodels
  12. Hypotestester
    1 Ämne
Avsnitt 8, Ämne 11
Startad

Mått på prediktiv förmåga (Evaluation metrics)

Avsnitt Progress
0% färdig

Mått på prediktiva förmåga

eng. performance metrics, evaluation metrics

I flera föregående kapitel har benämningen precision använts regelbundet för att referera till modellers prediktionsförmåga. Detta är egentligen inkorrekt eftersom precision är ett specifikt mått på prediktionsförmåga. Det finns en lång rad mått som beskriver olika nyanser av prediktionsförmåga. Dessa mått används för att utvärdera och jämföra modeller (exempelvis under korsvalidering). Vilket mått som är det optimala varierar med frågeställning och situation.

Ur detta perspektive finns tre typer av modeller:

  1. Klassifikationsmodeller (klassifikation).
  2. Regressionsmodeller (regression).
  3. Överlevnadsmodeller (överlevnadsanalys).

I detta avseende syftar regression inte på den klassiska linjära regressionsmodellen, utan på alla modeller som predicerar kontinuerliga utfall (vare sig det görs med klassiska regressionsmodeller, machine learning, djupinlärning, eller någon annan metod). Med regression åsyftas här en modell med kontinuerligt utfallsmått.

Klassifikation syftar på alla modeller, oavsett typ, som predicerar ett kategoriskt utfallsmått. I de flesta fall är utfallet binärt (ja/nej, sjuk/frisk, död/levande, etc), men det kan vara multinomialt (>2 kategorier).

Den tredje typen av modell är överlevnadsanalys, där utfallet är tid till en händelse inträffar. Överlevnadsanalys intar en särställning eftersom utfallet är kontinuerligt (tid) men som regel erfar/drabbas inte alla deltagarna av händelsen som studeras. De som inte drabbas/erfar händelsen under studiens observationstid blir censurerade. Detta gör att modellen inte är en vanlig klassifikationsmodell och därför krävs särskilda mått på prediktionsförmåga.

Klassifikation

Konfusionsmatris (Confusion matrix)

Konfusionsmatrisen är fundamental vid bedömning av klassifikationsmodeller. I denna enkla korstabell finns fera viktiga mått. Nedanstående korstabell visar en konfusionsmatris. Matrisen utläses som följer:

  • True positive (TP): Både modellen och verkligheten visar positivt utfall.
  • True negative (TN): Både modellen och verkligheten visar negativt utfall.
  • False positive (FP): Modellen predicerar positivt utfall, men i verkligheten var det negativt utfall.
  • etc.
Predicerat positiv (PP)Predicerat negativ (PN)
Faktiskt positiv (P)True positive (TP)False negative (FN)
Faktiskt negativ (N)False positive (FP)True negative (TN)
Confusion matrix (konfusionsmatris).

Från en konfusionsmatris kan följande parametrar beräknas:

  • Accuracy: Andelen av positiva som klassificeras som positiva.
  • Sensitivitet:
    • Formel: \(\frac{TP}{TP+FN}\)
    • Betydelse: Andel av positiva som klassificeras som positiva.
    • Synonym: Recall, True Positive Rate, Hit Rate.
  • Specificitet:
    • Formel: \(\frac{TN}{TN+FP}\)
    • Betydelse: Andel av negativa som klassificeras som negativa.
    • Synonym: True Negative Rate
  • Positive Predictive Value (PPV):
    • Formel: \(\frac{TP}{TP+FP}\)
    • Betydelse: Sannolikhet för positivt utfall om predicerat som positivt.
    • Synonym: Precision
  • Negative Predictive Value (NPV):
    • Formel: \(\frac{TN}{TN+FN}\)
    • Betydelse: Sannolikhet för negativt utfall om predicerat som negativt.
  • F-score:
    • Formel: \(\frac{2}{sensitivitet^{-1}+precision^{-1}}\)

ROC och AUC-ROC

En ROC-kurva är en grafisk presentation av prediktionsförmåga för en klassifikationsmodell med binärt utfall. Den illustrerar hur prediktionsförmågan ändras när beslutströskeln justeras. Beslutströskeln är gränsvärdet (för sannolikhet) då ett fall klassificeras som positivt. Om modellen predicerar att sannolikheten för positivt utfall är högre än beslutströskeln så predicerar den positivt utfall. Om beslutströskeln sättas till 50% sannolikhet och ett fall prediceras ha 49% sannolikhet för positit utfall så kommer modellen predicera negativt utfall. Om fallet däremot prediceras ha 51% sannolikhet för positivt utfall så kommer modellen predicera positivt utfall. Om beslutströskeln sänks från 50% till 10% kommer många fler klassificeras som positiva; sensitivitet stiger men specificitet sjunker. ROC-kurvan skapas genom att rita sensitivitet mot FPR (false positive rate, vilket är samma som 1-specificitet) vid alla värden på beslutströskeln. Exempel på ROC-kurva följer.

Arean under ROC-kurvan (AUC-ROC)

Observera den streckade diagonala linjen på ovanstående ROC-kurva. Arean under den streckade linjen är 0.5 (arean saknar enhet). En ROC-kurva som faller på den diagonala linjen saknar prediktiv förmåga. Modellens prediktionsförmåga är då ekvivalent med slumpen. En modell vars ROC-kurva är ovanför linjen är bättre än slumpen. Arean under ROC-kurvan kan alltså sammanfatta hur bra modellen är. ROC-kurvor nära 1 ses ytterst sällan; exempel på analyser som har AUC-ROC nära 1.0 är PCR-analyser för virus. Kliniska prediktionsmodeller har som regel AUC-ROC mellan 0.6 och 0.9. Modeller inom finans, psykologi och andra domäner har snarlika ROC-resultat.

Concordance index (C-index)

C-index är en generalisering av ROC-kurvan. C-index tar censurering i beaktande, vilket är ett krav för att kunna användas i överlevnadsanalys. C-index är modellens globala förmåga att predicera överlevnadstid.

Formeln för C-index:

\begin{equation} \text{C-index} = \frac{ \sum_{i, j} \mathbb{1}_{T_j < T_i} \cdot \mathbb{1}_{\eta_j > \eta_i} \cdot \delta_j }{\sum_{i, j} \mathbb{1}_{T_j < T_i}\cdot \delta_j } \end{equation}

    Cox regression och andra modeller som använder Cox loss funktion utvärderas med C-index.

    C-index tolkas analogt med ROC. Det innebär att C-index 1.0 betyder att modellen är perfekt. C-index 0.5 innebär att modellen inte är bättre än slumpen.

    Fördjupning: Uno et al.

    Brier score

    Brier score används för att utvärdera en överlevnadsmodells prediktionsförmåga vid tid \(t\). Det innebär att Brier score förtäljer vad modellens förmåga är vid en given tidpunkt. Brier score varierar mellan 0 och 1. Brier score är det genomsnittliga kvadrerade avståndet mellan observerad överlevnad och faktisk överlevnad; 0 innebär att modellen är optimal eftersom det inte finns någon skillnad mellan prediktionen och det observerade.

    Integrerad Brier Score

    Integrerad Brier score ger ett totalt mått på Brier score över alla värden på överlevnadstid (survival time).

    Regression

    Följande mått används för att utvärdera modeller med kontinuerliga utfallsmått. Error, som används i flera av dessa mått, är skillnaden på det faktiskta värdet \(Y\) och det predicerade värdet på \(Y\).

    R2

    R2 är variansen som förklaras av modellen. Detta måttet är mycket populärt för att bedöma modeller med kontinuerliga utfallsmått. R2 antar ett värde mellan 0 och 1, där 0 innebär att modellen inte förklarar någon varians (dvs modellen saknar förklaringskapacitet) och 1 innebär att modellen förklarar all varians.

    \begin{equation} {R}^{2} = 1 - \frac { \sum_{i=1}^{n} (\ y_i -\hat{y_i} )^{2} } { \sum_{i=1}^{n} (\ y_i -\bar{y_i} )^{2} } \end{equation}

    MAE (Mean Absolute Error)

    MAE är genomsnittet på det absoluta mätfelet. Errors kvadreras inte, vilket gör måttet mindre känsligt för enstaka outliers (stora värden).

    \begin{equation} MAE = \frac{1}{n} \sum_{i=1}^{n} |{y_i}-\hat{y_i}| \end{equation}

    MAPE (Mean Absolute Percent Error)

    MAPE är MAE uttryckt i procent, vilket är ett mått som människor har lätt att förstå. Nackdelen med MAPE är att om error = 0, så kan MAPE inte beräknas eftersom en divison (för att beräkna procent) med 0 ger ett oändligt tal. Dessutom har MAPE en tendens att föredra modeller som predicerar lägre värden på Y än de faktiska värdena.

    \begin{equation} MAPE = \frac{1}{n} \sum_{i=1}^{n} {\left|\frac{{y_i}-\hat{y_i}}{y_i}\right|} \end{equation}

    RMSE (Root Mean Squared Error)

    RMSE är kvadratroten av det kvadrerade errors medelvärde. RMSE förtäljer hur långt prediktionerna är ifrån det faktiskt värdet på samma enhet som Y. Eftersom error kvadreras så har enstaka outliers (stora värden) större inverkan på RMSE än på MAE och MAPE.

    \begin{equation} RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} ({y_i}-\hat{y_i}){^2}}\end{equation}