Matthews correlatiecoëfficiënt - Matthews correlation coefficient
De Matthews-correlatiecoëfficiënt (MCC) of phi-coëfficiënt wordt gebruikt in machine learning als een maatstaf voor de kwaliteit van binaire (twee klassen) classificaties , geïntroduceerd door biochemicus Brian W. Matthews in 1975. De MCC is identiek gedefinieerd aan Pearson's phi-coëfficiënt , geïntroduceerd door Karl Pearson , ook bekend als de Yule phi-coëfficiënt vanaf de introductie door Udny Yule in 1912. Ondanks deze antecedenten die al tientallen jaren ouder zijn dan Matthews' gebruik, wordt de term MCC veel gebruikt op het gebied van bio-informatica en machine learning.
De coëfficiënt houdt rekening met echte en valse positieven en negatieven en wordt over het algemeen beschouwd als een evenwichtige maatstaf die kan worden gebruikt, zelfs als de klassen van zeer verschillende grootte zijn. De MCC is in wezen een correlatiecoëfficiënt tussen de waargenomen en voorspelde binaire classificaties; het retourneert een waarde tussen -1 en +1. Een coëfficiënt van +1 vertegenwoordigt een perfecte voorspelling, 0 niet beter dan willekeurige voorspelling en -1 geeft totale onenigheid tussen voorspelling en observatie aan. Als MCC echter niet gelijk is aan -1, 0 of +1, is dit geen betrouwbare indicator van hoe vergelijkbaar een voorspeller is met willekeurig raden, omdat MCC afhankelijk is van de dataset. MCC is nauw verwant aan de chikwadraatstatistiek voor een 2×2 contingentietabel
waarbij n het totale aantal waarnemingen is.
Hoewel er geen perfecte manier is om de verwarringsmatrix van echte en valse positieven en negatieven met een enkel getal te beschrijven, wordt de Matthews-correlatiecoëfficiënt algemeen beschouwd als een van de beste dergelijke maatregelen. Andere maten, zoals het aandeel correcte voorspellingen (ook wel nauwkeurigheid genoemd ), zijn niet bruikbaar wanneer de twee klassen van zeer verschillende grootte zijn. Als u bijvoorbeeld elk object aan de grotere verzameling toewijst, wordt een groot aantal correcte voorspellingen bereikt, maar dit is over het algemeen geen bruikbare classificatie.
Het MCC kan direct uit de verwarringsmatrix worden berekend met behulp van de formule:
In deze vergelijking is TP het aantal echte positieven , TN het aantal echte negatieven , FP het aantal valse positieven en FN het aantal valse negatieven . Als een van de vier sommen in de noemer nul is, kan de noemer willekeurig op één worden gezet; dit resulteert in een Matthews-correlatiecoëfficiënt van nul, waarvan kan worden aangetoond dat dit de juiste grenswaarde is.
Het MCC kan worden berekend met de formule:
met behulp van de positief voorspellende waarde, het echt positieve percentage, het echt negatieve percentage, de negatief voorspellende waarde, het foutieve ontdekkingspercentage, het fout-negatieve percentage, het fout-positieve percentage en het percentage valse weglatingen.
De oorspronkelijke formule zoals gegeven door Matthews was:
Dit is gelijk aan de bovenstaande formule. Als correlatiecoëfficiënt is de Matthews-correlatiecoëfficiënt het geometrische gemiddelde van de regressiecoëfficiënten van het probleem en zijn duale . De componentregressiecoëfficiënten van de Matthews-correlatiecoëfficiënt zijn Markedness (Δp) en Youden's J-statistiek ( Informedness of Δp'). Markedness en Informedness komen overeen met verschillende richtingen van informatiestroom en generaliseren Youden's J-statistieken , de p-statistieken en (als hun geometrische gemiddelde) de Matthews-correlatiecoëfficiënt tot meer dan twee klassen.
Sommige wetenschappers beweren dat de Matthews-correlatiecoëfficiënt de meest informatieve enkele score is om de kwaliteit van een binaire classificatievoorspelling in een verwarringsmatrixcontext vast te stellen.
Voorbeeld
Gegeven een steekproef van 12 foto's, 8 van katten en 4 van honden, waarbij katten tot klasse 1 behoren en honden tot klasse 0,
- actueel = [1,1,1,1,1,1,1,1,0,0,0,0],
neem aan dat een classifier is getraind die onderscheid maakt tussen katten en honden, en we nemen de 12 foto's en halen ze door de classifier, en de classifier maakt 9 nauwkeurige voorspellingen en mist 3: 2 katten verkeerd voorspeld als honden (eerste 2 voorspellingen) en 1 hond verkeerd voorspeld als kat (laatste voorspelling).
- voorspelling = [0,0, 1 , 1 , 1 , 1 , 1 , 1 , 0 , 0 , 0 ,1]
Met deze twee gelabelde sets (werkelijk en voorspellingen) kunnen we een verwarringsmatrix maken die de resultaten van het testen van de classifier samenvat:
|
Voorspelde
les werkelijke klasse
|
Kat | Hond |
|---|---|---|
| Kat | 6 | 2 |
| Hond | 1 | 3 |
In deze verwarringsmatrix oordeelde het systeem van de 8 kattenfoto's dat er 2 honden waren en van de 4 hondenfoto's voorspelde het dat er 1 een kat was. Alle correcte voorspellingen bevinden zich in de diagonaal van de tabel (vetgedrukt), dus het is gemakkelijk om de tabel visueel te inspecteren op voorspellingsfouten, aangezien deze worden weergegeven door waarden buiten de diagonaal.
In abstracte termen ziet de verwarringsmatrix er als volgt uit:
|
Voorspelde
les werkelijke klasse
|
P | N |
|---|---|---|
| P | TP | FN |
| N | FP | TN |
waarbij P = positief; N = Negatief; TP = echt positief; FP = fout-positief; TN = echt negatief; FN = vals negatief.
De getallen uit de formule inpluggen:
Verwarringsmatrix
Bronnen: Fawcett (2006), Piryonesi en El-Diraby (2020), Powers (2011), Ting (2011), CAWCR, D. Chicco & G. Jurman (2020, 2021) , Tharwat (2018). |
Laten we een experiment definiëren uit P positieve instanties en N negatieve instanties voor een bepaalde aandoening. De vier uitkomsten kunnen als volgt worden geformuleerd in een 2×2 contingentietabel of verwarringsmatrix :
| Voorspelde toestand | bronnen: | ||||
|
Totale bevolking = P + N |
Positief (PP) | Negatief (PN) | Geïnformeerdheid, geïnformeerdheid van bookmakers (BM) = TPR + TNR − 1 |
Prevalentiedrempel (PT) = √ TPR × FPR − FPR/TPR − FPR |
|
| Positief (P) |
Echt positief (TP), hit |
Vals negatief (FN), type II fout , misser, onderschatting |
True positive rate (TPR), recall , gevoeligheid (SEN), detectiekans, hit rate, power =TP/P = 1 − FNR |
Vals negatief percentage (FNR), mispercentage =FN/P = 1 − TPR |
|
| Negatief (N) |
Vals-positief (FP), type I-fout , vals alarm, overschatting |
Echt negatief (TN), correcte afwijzing |
False positive rate (FPR), kans op vals alarm, uitval =FP/N = 1 − TNR |
Echt negatief tarief (TNR), specificiteit (SPC), selectiviteit =TN/N = 1 − FPR |
|
|
Prevalentie =P/P + Nee |
Positieve voorspellende waarde (PPV), precisie =TP/PP = 1 − FDR |
Vals weglatingspercentage (FOR) =FN/PN = 1 − NPV |
Positieve waarschijnlijkheidsverhouding (LR+) =TPR/FPR |
Negatieve waarschijnlijkheidsverhouding (LR−) =FNR/TNR |
|
| Nauwkeurigheid (ACC) =TP + TN/P + Nee |
Valse ontdekkingssnelheid (FDR) =FP/PP = 1 − PPV |
Negatief voorspellende waarde (NPV) =TN/PN = 1 − VOOR |
Markedness (MK), deltaP (Δp) = PPV + NPV − 1 |
Diagnostische odds ratio (DOR) =LR+/LR− | |
| Gebalanceerde nauwkeurigheid (BA) =TPR + TNR/2 |
F 1 score =2 PPV × TPR/PPV + TPR = 2 TP/2 TP + FP + FN |
Fowlkes-Mallows-index (FM) = √ PPV × TPR |
Matthews correlatiecoëfficiënt (MCC) = √ TPR×TNR×PPV×NPV − √ FNR×FPR×FOR×FDR |
Dreigingsscore (TS), kritische succesindex (CSI), Jaccard-index =TP/TP + FN + FP | |
Multiklasse geval
De Matthews-correlatiecoëfficiënt is gegeneraliseerd naar het geval met meerdere klassen. Deze generalisatie werd door de auteur de statistiek genoemd (voor K verschillende klassen) en gedefinieerd in termen van een verwarringsmatrix .
Als er meer dan twee labels zijn, zal het MCC niet langer tussen −1 en +1 liggen. In plaats daarvan ligt de minimumwaarde tussen -1 en 0, afhankelijk van de werkelijke verdeling. De maximale waarde is altijd +1.
Deze formule kan gemakkelijker worden begrepen door tussenliggende variabelen te definiëren:
- het aantal keren dat klasse k echt voorkwam,
- het aantal keren dat klasse k werd voorspeld,
- het totale aantal correct voorspelde monsters,
- het totaal aantal monsters. Hierdoor kan de formule worden uitgedrukt als:
|
Voorspelde
les werkelijke klasse
|
Kat | Hond | Som | |
|---|---|---|---|---|
| Kat | 6 | 2 | 8 | |
| Hond | 1 | 3 | 4 | |
| Som | 7 | 5 | 12 |
Bovenstaande formule gebruiken om MCC-maat te berekenen voor het hierboven besproken voorbeeld van hond en kat, waarbij de verwarringsmatrix wordt behandeld als een voorbeeld van 2 × multiklasse:
Voordelen van MCC boven nauwkeurigheid en F1-score
Zoals uitgelegd door Davide Chicco in zijn paper "Ten quick tips for machine learning in computational biologie " ( BioData Mining , 2017) en door Giuseppe Jurman in zijn paper "The benefits of the Matthews correlatiecoëfficiënt (MCC) over F1-score en nauwkeurigheid in binaire classificatie-evaluatie" ( BMC Genomics , 2020), is de Matthews-correlatiecoëfficiënt informatiever dan de F1-score en nauwkeurigheid bij het evalueren van binaire classificatieproblemen, omdat het rekening houdt met de balansverhoudingen van de vier verwarringsmatrixcategorieën (true positives, true negatives, false positieven, valse negatieven).
In het vorige artikel wordt voor Tip 8 uitgelegd :
Om een algemeen begrip van uw voorspelling te krijgen, besluit u gebruik te maken van veelvoorkomende statistische scores, zoals nauwkeurigheid en F1-score.
(Vergelijking 1, nauwkeurigheid: slechtste waarde = 0; beste waarde = 1)
(Vergelijking 2, F1-score: slechtste waarde = 0; beste waarde = 1)
Maar zelfs als nauwkeurigheid en F1-score veel worden gebruikt in statistieken, kunnen beide misleidend zijn, omdat ze de grootte van de vier klassen van de verwarringsmatrix niet volledig in aanmerking nemen bij hun uiteindelijke scoreberekening.
Stel dat u bijvoorbeeld een zeer onevenwichtige validatieset heeft die bestaat uit 100 elementen, waarvan 95 positieve elementen en slechts 5 negatieve elementen (zoals uitgelegd in Tip 5). En stel dat je ook wat fouten hebt gemaakt bij het ontwerpen en trainen van je machine learning classifier, en nu heb je een algoritme dat altijd positief voorspelt. Stel je voor dat je niet op de hoogte bent van dit probleem.
Door uw enige positieve voorspeller toe te passen op uw onevenwichtige validatieset, verkrijgt u daarom waarden voor de verwarringsmatrixcategorieën:
- TP = 95, FP = 5; TN = 0, FN = 0.
Deze waarden leiden tot de volgende prestatiescores: nauwkeurigheid = 95% en F1-score = 97,44%. Door deze te optimistische scores te lezen, zult u heel blij zijn en denken dat uw machine learning-algoritme uitstekend werk levert. Het is duidelijk dat je dan op het verkeerde spoor zit.
Integendeel, om deze gevaarlijke misleidende illusies te vermijden, is er nog een prestatiescore die u kunt benutten: de Matthews-correlatiecoëfficiënt [40] (MCC).
(Vergelijking 3, MCC: slechtste waarde = -1; beste waarde = +1).
Door rekening te houden met het aandeel van elke klasse van de verwarringsmatrix in zijn formule, is zijn score alleen hoog als uw classifier het goed doet op zowel de negatieve als de positieve elementen.
In het bovenstaande voorbeeld zou de MCC-score ongedefinieerd zijn (aangezien TN en FN 0 zouden zijn, zou de noemer van vergelijking 3 dus 0 zijn). Door deze waarde te controleren, in plaats van nauwkeurigheid en F1-score, zou je kunnen opmerken dat je classifier de verkeerde kant op gaat, en zou je je ervan bewust worden dat er problemen zijn die je moet oplossen voordat je verder gaat.
Overweeg dit andere voorbeeld. U heeft een classificatie uitgevoerd op dezelfde dataset die heeft geleid tot de volgende waarden voor de verwarringsmatrixcategorieën:
- TP = 90, FP = 4; TN = 1, FN = 5.
In dit voorbeeld heeft de classifier goed gepresteerd bij het classificeren van positieve instanties, maar kon negatieve gegevenselementen niet correct worden herkend. Nogmaals, de resulterende F1-score en nauwkeurigheidsscores zouden extreem hoog zijn: nauwkeurigheid = 91% en F1-score = 95,24%. Net als in het vorige geval, als een onderzoeker alleen deze twee score-indicatoren zou analyseren, zonder rekening te houden met de MCC, zou hij ten onrechte denken dat het algoritme redelijk goed presteert in zijn taak, en de illusie hebben dat hij succesvol is.
Aan de andere kant zou het opnieuw van cruciaal belang zijn om de Matthews-correlatiecoëfficiënt te controleren. In dit voorbeeld zou de waarde van de MCC 0,14 zijn (vergelijking 3), wat aangeeft dat het algoritme op dezelfde manier presteert als willekeurig raden. Als alarm zou de MCC de datamining-beoefenaar kunnen informeren dat het statistische model slecht presteert.
Om deze redenen raden we ten zeerste aan om elke testprestatie te evalueren via de Matthews-correlatiecoëfficiënt (MCC), in plaats van de nauwkeurigheid en de F1-score, voor elk binair classificatieprobleem.
— Davide Chicco, tien snelle tips voor machine learning in computationele biologie
Chicco's passage kan worden gelezen als een goedkeuring van de MCC-score in gevallen met onevenwichtige datasets. Dit wordt echter betwist; in het bijzonder biedt Zhu (2020) een sterk weerwoord.
Merk op dat de F1-score afhangt van welke klasse wordt gedefinieerd als de positieve klasse. In het eerste voorbeeld hierboven is de F1-score hoog omdat de meerderheidsklasse is gedefinieerd als de positieve klasse. Het omkeren van de positieve en negatieve klassen resulteert in de volgende verwarringsmatrix:
- TP = 0, FP = 0; TN = 5, FN = 95
Dit geeft een F1-score = 0%.
De MCC is niet afhankelijk van welke klasse de positieve is, wat het voordeel heeft ten opzichte van de F1-score om te voorkomen dat de positieve klasse verkeerd wordt gedefinieerd.
Zie ook
- Cohen's kappa
- Cramer's V , een vergelijkbare maatstaf voor associatie tussen nominale variabelen.
- F1-score
- Phi-coëfficiënt
- Fowlkes-Mallows-index