Inleiding tot lineaire discriminantanalyse
Wanneer we een reeks voorspellende variabelen hebben en we een responsvariabele in een van de twee klassen willen classificeren, gebruiken we doorgaans logistische regressie .
We kunnen bijvoorbeeld logistische regressie gebruiken in het volgende scenario:
- We willen de kredietscore en het banksaldo gebruiken om te voorspellen of een bepaalde klant zijn lening niet kan afbetalen. (Responsvariabele = “Standaard” of “Geen standaard”)
Als een responsvariabele echter meer dan twee mogelijke klassen heeft, geven we er over het algemeen de voorkeur aan om een methode te gebruiken die bekend staat als lineaire discriminantanalyse , ook wel LDA genoemd.
We kunnen LDA bijvoorbeeld gebruiken in het volgende scenario:
- We willen punten per wedstrijd en rebounds per wedstrijd gebruiken om te voorspellen of een bepaalde basketbalspeler op de middelbare school wordt toegelaten tot een van de drie scholen: Divisie 1, Divisie 2 of Divisie 3.
Hoewel zowel LDA- als logistische regressiemodellen worden gebruikt voor classificatie , blijkt dat LDA veel stabieler is dan logistische regressie als het gaat om het maken van voorspellingen voor meerdere klassen en daarom het voorkeursalgoritme is om te gebruiken wanneer de responsvariabele meer dan twee keer kan duren. klassen.
LDA werkt ook het beste als de steekproefomvang klein is in vergelijking met logistische regressie, waardoor het een voorkeursmethode is als u geen grote steekproeven kunt verzamelen.
Hoe LDA-modellen te maken
LDA maakt de volgende aannames over een bepaalde dataset:
(1) De waarden van elke voorspellende variabele zijnnormaal verdeeld . Dat wil zeggen, als we een histogram zouden maken om de verdeling van waarden voor een bepaalde voorspeller te visualiseren, zou dit grofweg een ‘belvorm’ hebben.
(2) Elke voorspellende variabele heeft dezelfde variantie . Dit is bijna nooit het geval bij gegevens uit de echte wereld. Daarom schalen we elke variabele doorgaans zo dat deze hetzelfde gemiddelde en dezelfde variantie heeft voordat we daadwerkelijk een LDA-model passen.
Zodra deze hypothesen zijn geverifieerd, schat LDA vervolgens de volgende waarden:
- μ k : het gemiddelde van alle trainingswaarnemingen van de k- de klasse.
- σ 2 : Het gewogen gemiddelde van de steekproefvarianties voor elk van de k- klassen.
- π k : Het aandeel trainingswaarnemingen dat tot de k- de klasse behoort.
LDA stopt deze getallen vervolgens in de volgende formule en wijst elke waarneming X = x toe aan de klasse waarvoor de formule de grootste waarde oplevert:
d k (x) = x * (μ k /σ 2 ) – (μ k 2 /2σ 2 ) + log(π k )
Merk op dat LDA lineair in zijn naam heeft, omdat de waarde die door de bovenstaande functie wordt geproduceerd afkomstig is van het resultaat van lineaire functies van x.
Gegevens voorbereiden voor LDA
Zorg ervoor dat uw gegevens aan de volgende vereisten voldoen voordat u er een LDA-model op toepast:
1. De responsvariabele is categorisch . LDA-modellen zijn ontworpen om te worden gebruikt voor classificatieproblemen, dat wil zeggen waarbij de responsvariabele in klassen of categorieën kan worden geplaatst.
2. Predictorvariabelen volgen een normale verdeling . Controleer eerst of elke voorspellende variabele ongeveer normaal verdeeld is. Als dat niet het geval is, kunt u ervoor kiezen om eerst de gegevens te transformeren om de verdeling normaler te maken.
3. Elke voorspellende variabele heeft dezelfde variantie . Zoals eerder vermeld, gaat LDA ervan uit dat elke voorspellende variabele dezelfde variantie heeft. Omdat dit in de praktijk zelden het geval is, is het een goed idee om elke variabele in de dataset zo te schalen dat deze een gemiddelde van 0 en een standaarddeviatie van 1 heeft.
4. Houd rekening met extreme uitschieters. Zorg ervoor dat u controleert op extreme uitschieters in de dataset voordat u LDA toepast. Normaal gesproken kunt u visueel op uitschieters controleren door eenvoudigweg boxplots of spreidingsdiagrammen te gebruiken.
Voorbeelden van het gebruik van lineaire discriminantanalyse
LDA-modellen worden in de praktijk in een grote verscheidenheid aan domeinen toegepast. Hier zijn enkele voorbeelden:
1. Marketing . Retailbedrijven gebruiken LDA vaak om klanten in verschillende categorieën in te delen. Ze kunnen bijvoorbeeld een LDA-model maken om te voorspellen of een bepaalde koper al dan niet een lage, gemiddelde of hoge besteder zal zijn, met behulp van voorspellende variabelen zoals inkomen , totale jaarlijkse uitgaven en gezinsgrootte .
2. Medisch . Ziekenhuizen en medische onderzoeksteams gebruiken LDA vaak om te voorspellen of een bepaalde groep abnormale cellen waarschijnlijk tot een milde, matige of ernstige ziekte zal leiden.
3. Productontwikkeling . Bedrijven kunnen LDA-modellen maken om te voorspellen of een bepaalde consument zijn product dagelijks, wekelijks, maandelijks of jaarlijks zal gebruiken, op basis van verschillende voorspellende variabelen zoals geslacht , jaarinkomen en gebruiksfrequentie van vergelijkbare producten .
4. Ecologie. Onderzoekers kunnen LDA-modellen maken om te voorspellen of een bepaald koraalrif een goede, matige, slechte of bedreigde algehele gezondheid zal hebben, op basis van een verscheidenheid aan voorspellende variabelen zoals grootte , jaarlijkse besmetting en verlies . leeftijd .
LDA in R en Python
De volgende tutorials bieden stapsgewijze voorbeelden van het uitvoeren van lineaire discriminantanalyse in R en Python:
Lineaire discriminantanalyse in R (stap voor stap)
Lineaire discriminantanalyse in Python (stap voor stap)