Nyheter, Prylar, Android, Mobiler, Appnedladdningar, Android

Data Science Essentials – Multicollinearity – Towards AI

Följande artikel hjälper dig: Data Science Essentials – Multicollinearity – Towards AI

Ursprungligen publicerad på Towards AI the World’s Leading AI and Technology News and Media Company. Om du bygger en AI-relaterad produkt eller tjänst inbjuder vi dig att överväga att bli AI-sponsor. På Towards AI hjälper vi att skala AI och nystartade teknologier. Låt oss hjälpa dig att släppa loss din teknik till massorna.

Data Science Essentials — Multicollinearity

Data Science Essentials Multicollinearity; Med tillstånd: Bild av författare

Introduktion

Jag är medveten om multikollinearitet på grund av min bakgrund inom statistik, men jag har observerat att många yrkesverksamma är omedvetna om att det finns.

Det är utbrett för utövare av maskininlärning som inte kommer från en matematisk bakgrund. Även om multikollinearitet kanske inte verkar vara det mest kritiska ämnet att förstå på din resa, är det ändå ett viktigt ämne värt att lära sig. Särskilt om du söker en tjänst som datavetare.

I den här artikeln kommer vi att undersöka vad Multicollinearity är, varför det är ett problem, vad som orsakar Multicollinearity, samt hur man upptäcker och korrigerar det.

Ämnen som behandlas

  • Vad är multikollinearitet?
  • Typer av multikollinearitet
  • Förstå multikollinearitet
  • Orsaker till multikollinearitet
  • Upptäck multikollinearitet
  • Att hantera multikollinearitet

Vad är multikollinearitet?

Multikollinearitet kan definieras som närvaron av höga korrelationer mellan två eller flera oberoende variabler (prediktorer). Detta är i huvudsak ett fenomen där oberoende variabler är korrelerade med varandra.

Den mäter i vilken grad två variabler är relaterade baserat på deras korrelation. Korrelationen mellan två variabler kan vara positiv (förändringar i en variabel leder till förändringar i en annan variabel i samma riktning), negativ (förändringar i en variabel laddning till förändringar i motsatt riktning), eller inte.

Att ha några exempel i åtanke hjälper oss att komma ihåg dessa termer.

  1. Vikt och längd kan vara ett exempel på en positiv korrelation. Ju längre du är, desto tyngre väger du (om vi bortser från undantagsfallet anses detta vara en generell trend).
  2. Till exempel, ju högre du kommer, desto lägre syrenivå. Detta är ett enkelt exempel på en negativ korrelation.

För att återgå till vårt multikollinearitetskoncept, när mer än en prediktor i en regressionsanalys är starkt korrelerad, kallas de multikollinjära. En högre utbildningsnivå är i allmänhet förknippad med en högre inkomst, så en variabel kan lätt förutsägas med en annan variabel. Som ett resultat av att behålla båda dessa variabler i vår analys kan vi stöta på problem.

Typer av multikollinearitet

Det finns två grundläggande typer av multikollinearitet:

  1. Strukturell multikollinearitet: Detta är resultatet av att forskare (såsom oss) skapar nya prediktorer baserat på de givna prediktorerna för att lösa problemet. Till exempel skapas variabel x2 från prediktorvariabeln x; således är denna typ av multikollinearitet ett resultat av den specificerade modellen och är inte en konsekvens av själva data.
  2. Data multikollinearitet: Denna typ av multikollinearitet uppstår från dåligt utformade experiment som är observationella. Det är inget som har specificerats eller utvecklats av forskaren.

Kommentarer: I en observationsstudie undersökte vi medlemmar i ett urval utan att försöka påverka dem. Till exempel, observationsforskning frågar människor om de dricker mjölk eller kaffe innan de går och lägger sig och rapporterar att data visar att människor som dricker mjölk är mer benägna att sova tidigare. Du kan lära dig mer om detta genom att klicka här.

Visuell inspektion av multikollinearitet:

  • Perfekt multikollinearitet: I en regressionsmodell uppstår perfekt multikollinearitet när två eller flera oberoende prediktorer uppvisar ett linjärt samband som är perfekt förutsägbart (exakt eller inte slumpmässigt). Till exempel har vikt i pounds och kilogram en koefficient på +1 eller -1. Men vi stöter sällan på problem med perfekt multikollinearitet.
  • Hög multikollinearitet: Vanligtvis är detta ofta ett vanligt problem i databeredningsfasen. I allmänhet kan hög multikollinearitet vara antingen positiv eller negativ. Till exempel är inflation där efterfrågan och utbud är starkt korrelerade men i motsatt riktning.

Våra analyser är baserade på att detektera och hantera hög/imperfekt/nära multikollinearitet, vilket inträffar när mer än en oberoende prediktor är linjärt relaterad.

Förstå multikollinearitet

En multikollinjär regressionsmodell kan vara problematisk eftersom det är omöjligt att skilja mellan de oberoende variablernas effekter på den beroende variabeln. Tänk till exempel på följande linjära ekvation:

Y = W0+W1*X1+W2*X2

Koefficienten W1 representerar ökningen av Y för en enhetsökning i X1 medan X2 förblir konstant. Men eftersom X1 och X2 är starkt korrelerade, skulle förändringar i X1 också påverka X2, och vi skulle inte kunna särskilja deras effekter på Y oberoende.

Som ett resultat är det inte lätt att skilja mellan effekterna av X1 och X2 på Y.

Vi kanske inte förlorar noggrannhet på grund av multikollinearitet. Ändå kan vi förlora tillförlitlighet när vi bestämmer effekterna av enskilda funktioner i din modell, vilket kan vara ett problem vid tolkningen av den.

Orsaker till multikollinearitet

Följande problem kan bidra till multikollinearitet:

  • Data multikollinearitet kan bero på problem med datamängden vid tidpunkten för dess skapande, vilket kan inkludera dåligt utformade experiment, mycket observationsdata eller en oförmåga att manipulera data:
  • Till exempel bestämmer vi ett hushålls elförbrukning utifrån hushållsinkomsten och antalet elektriska apparater. I det här fallet vet vi att antalet elektriska apparater kommer att öka med hushållsinkomsten. Som en konsekvens kan detta inte tas bort från datasetet.
  • Dessutom kan multikollinearitet uppstå när nya variabler skapas som är beroende av andra variabler:
  • Att lägga till en variabel för BMI till höjd- och viktvariablerna skulle lägga till överflödig information till modellen.
  • Datauppsättningen bör innehålla följande identiska variabler:
  • Det skulle vara bra att inkludera variabler för temperatur i Fahrenheit och temperatur i Celsius, till exempel.
  • Ett fel vid användning av dummyvariabler kan också leda till ett multikollinearitetsproblem som kallas Dummy-variabelfällan.
  • Det skulle vara överflödigt att skapa dummyvariabler för äktenskapsstatusvariabler som innehåller samma värden: “gift” och “singel”. Istället kan vi använda en variabel som innehåller 0/1 för varje status.
  • Otillräckliga data i vissa fall kan också orsaka multikollinearitetsproblem.

Effekten av multikollinearitet

Korrelerade prediktorer förbättrar inte vår regressionsanalys för data. Korrelerade prediktorer kan göra vår tolkning av data mindre korrekt.

I detta problem finns fyra prediktorer närvarande – ålder, kön, antal studietimmar och nivå på föräldrarnas utbildning. Den beroende variabeln (en variabel som måste förutsägas) är elevens prestation på provet.

Tänk på det fall där antalet studietimmar och nivån på föräldrautbildningen är starkt korrelerade.

En regressionsmodell avgör vilken variabel som avgör studentens tentamensprestationer. Det antas att antalet studietimmar och föräldrautbildning är positivt korrelerade med prestationer (kanske den ena starkare än den andra). Modellen indikerade dock att ingen av dessa två variabler var signifikanta.

Elevernas prestationer verkar opåverkade av antalet timmar de studerar eller deras föräldrars utbildningsnivå.

Det är viktigt att förstå varför modellen gjorde detta uttalande.

En regressionsmodell som innehåller mycket korrelerade prediktorer kommer att uppskatta var och en av deras effekter samtidigt som den kontrollerar effekten av en prediktor, och förklarar all variation i prestanda som prediktorn skulle ha kunnat klargöra på egen hand. Samma problem upplevdes av våra prediktorer, vilket resulterade i att ingen av dem var en signifikant prediktor.

Det R-kvadratvärde som returneras av modellen kan indikera att en eller flera prediktorer sannolikt är korrekta.

Därför gjorde multikollinearitet att modellen gav vilseledande och förvirrande resultat.

Upptäck multikollinearitet

Låt oss försöka upptäcka multikollinearitet i en datauppsättning för att ge dig en smak av vad som kan gå fel. Testa själv Ether Fraud Detection, länk till Kaggle-anteckningsboken här

# Importera bibliotek för VIFfrån statsmodels.stats.outliers_influence import varians_inflation_factor

def calc_vif(X):

# Beräknar VIFvif = pd.DataFrame()vif[“variables”] = X.kolumnervif[“VIF”] = [variance_inflation_factor(X.values, i) for i in range(X.shape[1])]

return(vif)resultat = calc_vif(newdf)

# Identifiera variabler med hög multikollinearitetresultat[result[‘VIF’]>10]

Eterbedrägeriupptäckt, kontrollerar multikollineariteten mellan funktionsuppsättningar; Med tillstånd: Bild av författare

Multikollinearitet kan detekteras via olika metoder. I den här artikeln kommer vi att fokusera på den vanligaste — VIF (Variable Inflation Factors).

VIF bestämmer styrkan på korrelationen mellan de oberoende variablerna. Det förutsägs genom att ta en variabel och regrediera den mot alla andra variabler.

värde bestäms för att ta reda på hur väl en oberoende variabel beskrivs av de andra oberoende variablerna. Ett högt värde på betyder att variabeln är starkt korrelerad med de andra variablerna. Detta fångas av VIF, som anges nedan:

Formel för att beräkna variansinflationsfaktor; Med tillstånd: Bild av Kaggle

Så ju närmare värde till 1, desto högre är värdet på VIF och desto högre multikollinearitet med den speciella oberoende variabeln.

Vi kan se här att “total Ether Sent” och “total Ether Received” har ett högt VIF-värde lika med oändligt, vilket betyder att de kan förutsägas av andra oberoende variabler i datamängden.

Även om korrelationsmatris och spridningsdiagram också kan användas för att hitta multikollinearitet, visar deras fynd bara det bivariata sambandet mellan de oberoende variablerna. VIF är att föredra eftersom det kan visa korrelationen av en variabel med en grupp andra variabler.

Att hantera multikollinearitet

Att släppa en av de korrelerade egenskaperna kommer att hjälpa till att minska multikollineariteten mellan korrelerade egenskaper:

Tänk på ett starkt multikollinearitetsfall mellan “Vikt” och “Längd” för att förutsäga en persons fysiska kondition. Om vi ​​kunde ta bort variabeln ‘Weight’ & ‘Height’ från datamängden eftersom deras information fångades av ‘BMI’-variabeln. Detta har minskat redundansen i vår datauppsättning.

Att tappa variabler bör vara en iterativ process som börjar med variabeln som har det största VIF-värdet eftersom dess trend fångas i hög grad av andra variabler. Om du gör detta kommer du att märka att VIF-värdena för andra variabler också skulle ha minskat, om än i varierande utsträckning.

I vårt exempel, efter att ha släppt variablerna ‘Weight’ & ‘Height’, har VIF-värdena för alla variabler minskat i varierande utsträckning.

df_temp = df.copy() # Skapa en ny funktion som innehåller information om båda funktionernadf_temp[‘BMI’] = df.apply(lambda x: x[‘Weight’]/(x[‘Height’]*x[‘Height’])) # Släpp kolumnerna som används för den nya funktionen med hög multikollinearitetdf_temp.drop([‘Weight’, ‘Height’]inplace=True, axis=1)

Nyckel takeaways

Multikollinearitet kan ofta leda till att förutsägelser överanpassas på en viss uppsättning funktioner, vilket påverkar betydelsen av en annan variabel som kan ha bättre förutsägelsekraft. Generellt är det ganska lätt att hantera multikollinearitet antingen genom att välja en relevant funktion (domänkunskap) eller skapa en ny funktion som fångar informationen om de ursprungliga funktionerna (som ska tas bort).

Eterbedrägeriupptäcktsfunktionens betydelse med Shap-värden efter att ha hanterat multikollinearitetsproblem; Med tillstånd: Bild av författare

Klicka på prenumerera för en ny blogg eller artikelvarningar. Känn också free att få kontakt med mig på LinkedIn, och låt oss vara en del av ett engagerande nätverk.


Data Science Essentials — Multicollinearity publicerades ursprungligen i Towards AI on Medium, där människor fortsätter samtalet genom att lyfta fram och svara på den här historien.

Publicerad via Mot AI

Table of Contents

Toggle