Een inleiding tot regressie van hoofdcomponenten


Een van de meest voorkomende problemen die u tegenkomt bij het maken van modellen is multicollineariteit . Dit gebeurt wanneer twee of meer voorspellende variabelen in een dataset sterk gecorreleerd zijn.

Wanneer dit gebeurt, kan een bepaald model wellicht goed in een trainingsdataset passen, maar zal het waarschijnlijk slecht presteren op een nieuwe dataset die het nog nooit heeft gezien, omdat het te veel past in de trainingsset.

Eén manier om overfitting te voorkomen, is door een soort subsetselectiemethode te gebruiken, zoals:

Deze methoden proberen irrelevante voorspellers uit het model te verwijderen, zodat alleen de belangrijkste voorspellers die variatie in de responsvariabele kunnen voorspellen in het uiteindelijke model overblijven.

Een andere manier om overfitting te voorkomen is het gebruik van een vorm van regularisatiemethode , zoals:

Deze methoden proberen de coëfficiënten van een model te beperken of te regulariseren om de variantie te verminderen en zo modellen te produceren die goed kunnen generaliseren naar nieuwe gegevens.

Een geheel andere benadering van het omgaan met multicollineariteit staat bekend als dimensionale reductie .

Een gebruikelijke methode voor dimensiereductie staat bekend als hoofdcomponentregressie , die als volgt werkt:

1. Stel dat een gegeven dataset p voorspellers bevat :

2. Bereken Z 1 , … , Z M als de M lineaire combinaties van de oorspronkelijke p- voorspellers.

  • Zm = ΣΦ jm _ _
  • Z 1 is de lineaire combinatie van voorspellers die zoveel mogelijk variantie vastlegt.
  • Z 2 is de volgende lineaire combinatie van voorspellers die de meeste variantie vastlegt terwijl deze orthogonaal (dat wil zeggen niet gecorreleerd) is met Z 1 .
  • Z 3 is dan de volgende lineaire combinatie van voorspellers die de meeste variantie vastlegt terwijl deze orthogonaal is ten opzichte van Z 2 .
  • Enzovoort.

3. Gebruik de kleinste kwadratenmethode om een lineair regressiemodel te fitten met behulp van de eerste M hoofdcomponenten Z 1 , …, Z M als voorspellers.

De term dimensiereductie komt voort uit het feit dat deze methode alleen M+1-coëfficiënten moet schatten in plaats van p+1-coëfficiënten, waarbij M < p.

Met andere woorden: de dimensie van het probleem is teruggebracht van p+1 naar M+1.

In veel gevallen waarin multicollineariteit aanwezig is in een dataset, kan hoofdcomponentregressie een model produceren dat beter kan generaliseren naar nieuwe gegevens dan conventionele meervoudige lineaire regressie .

Stappen om hoofdcomponentregressie uit te voeren

In de praktijk worden de volgende stappen gebruikt om hoofdcomponentenregressie uit te voeren:

1. Standaardiseer de voorspellers.

Ten eerste standaardiseren we de gegevens doorgaans zo dat elke voorspellende variabele een gemiddelde waarde van 0 en een standaarddeviatie van 1 heeft. Dit voorkomt dat één voorspeller te veel invloed heeft, vooral als deze in verschillende eenheden wordt gemeten (c dat wil zeggen, als 1 wordt gemeten in inches). en X2 wordt gemeten in yards).

2. Bereken de hoofdcomponenten en voer een lineaire regressie uit, waarbij u de hoofdcomponenten als voorspellers gebruikt.

Vervolgens berekenen we de hoofdcomponenten en gebruiken we de kleinste kwadratenmethode om een lineair regressiemodel te fitten met behulp van de eerste M hoofdcomponenten Z 1 , …, Z M als voorspellers.

3. Bepaal hoeveel belangrijke componenten je wilt behouden.

Vervolgens gebruiken we k-voudige kruisvalidatie om het optimale aantal hoofdcomponenten te vinden dat we in het model kunnen behouden. Het “optimale” aantal te behouden hoofdcomponenten is doorgaans het getal dat de laagste gemiddelde kwadratische fout (MSE) van de test oplevert.

Voor- en nadelen van regressie van hoofdcomponenten

Principal Component Regressie (PCR) biedt de volgende voordelen :

  • PCR heeft de neiging goed te presteren wanneer de eerste hoofdcomponenten in staat zijn de meeste variatie in de voorspellers vast te leggen, evenals de relatie met de responsvariabele.
  • PCR kan zelfs goed presteren als de voorspellende variabelen sterk gecorreleerd zijn, omdat het hoofdcomponenten produceert die orthogonaal (dwz niet gecorreleerd) met elkaar zijn.
  • PCR vereist niet dat u kiest welke voorspellende variabelen u uit het model wilt verwijderen, aangezien elke hoofdcomponent een lineaire combinatie van alle voorspellende variabelen gebruikt.
  • PCR kan worden gebruikt als er meer voorspellende variabelen zijn dan waarnemingen, in tegenstelling tot meervoudige lineaire regressie.

PCR heeft echter een nadeel:

  • PCR houdt geen rekening met de responsvariabele bij het beslissen welke belangrijke componenten behouden of verwijderd moeten worden. In plaats daarvan wordt alleen rekening gehouden met de omvang van de variantie tussen de voorspellende variabelen die door de hoofdcomponenten worden vastgelegd. Het is mogelijk dat in sommige gevallen de belangrijkste componenten met de grootste verschillen de responsvariabele niet goed kunnen voorspellen.

In de praktijk passen we veel verschillende soorten modellen toe (PCR, Ridge, Lasso, meervoudige lineaire regressie, enz.) en gebruiken we k-voudige kruisvalidatie om het model te identificeren dat de laagste MSE-test op de nieuwe gegevens oplevert.

In gevallen waarin multicollineariteit aanwezig is in de oorspronkelijke dataset (wat vaak het geval is), heeft PCR de neiging beter te presteren dan gewone regressie met de kleinste kwadraten. Het is echter een goed idee om verschillende modellen te gebruiken, zodat u kunt bepalen welk model het beste generaliseert naar ongeziene gegevens.

Regressie van hoofdcomponenten in R en Python

De volgende zelfstudies laten zien hoe u regressie van hoofdcomponenten uitvoert in R en Python:

Hoofdcomponentregressie in R (stap voor stap)
Regressie van hoofdcomponenten in Python (stap voor stap)

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert