Amarengo

Articles and news

Regulariseringsmetoder för logistisk regression med Ridge och Lasso Regression med ICU-data för WiDS datathon 2020

data är en del av WIDS datathon 2020.

jag kommer att läsa data, och sedan titta på dess dimensioner, och sedan titta på sammanfattande statistik samt, hur många värden är null för variablerna.

det finns 186 kolumner och 91713 rader. Vi kommer att köra logistisk regressionsanalys på data, men först kommer vi att köra några sammanfattande statistik och se hur data ser ut och hur många rader är nollor och

några av kolumnerna har citat många nollrader, så vi kommer att ta bort dessa från analysen så många rader har nästan mer än 70.000 rader som nollor.

men vi kommer att använda en förenklad metod och kommer att inkludera i den logistiska regressionsmodellen där vi bara kommer att inkludera data i modellen, om det finns mindre än 3000 null-värden, men mer sofistikerade metoder kan också användas, som median, medelvärde av värden ersättning, såväl som regressionsbaserad ersättning också. Detta tillvägagångssätt är naivt och förenklat, men för vår första analys kommer vi att använda detta tillvägagångssätt, sent i exemplen kommer jag också att visa hur kan man använda regulariseringsmetoder som Ridge regression, Lasso Regression och elastiskt nät att använda också för regularisering som hjälper till att minska antalet variabler eller deras effekter.

vi kommer att köra modellen med variablerna som inte har mer än 3000 null-värden, så vi kommer att använda dessa variabler i vår ursprungliga modellkörning.

kör denna modell, ger är dessa resultat, och genom att bara initialt Titta kan vi se att det finns ganska många variabler som inte är signifikanta på 0.001-nivå och har inget signifikanstecken i dem som visas nedan. Fisher iteration poäng är också ganska hög och är 11, bör denna kärna vara i intervallet 6-8 och visar att modellen inte är en giltig. Vi kommer också att beräkna Mcfadden R2 kvadrat för logistikmodellen och det visar ett värde på 0.5478738, men ett sådant värde kan inte tas isolerat, eftersom det finns ganska många värden i modellen som inte är signifikanta, och vi vet också ju fler värden som finns i modellen kommer R-kvadraten att vara högre oavsett det faktum att modellen är robust eller giltig eller inte.

McFaddens r-kvadratberäkning

därefter kör vi modellen igen, men tar bort variablerna som inte är signifikanta vid p-värde i några av de lägre områdena och vi kör sedan modellen igen med de återstående variablerna och förutsäger effektiviteten av modellen. Dessa är variablerna togs bort från modellen och vi körde modellen igen, med de återstående funktionerna. Detta tillvägagångssätt är manuellt och är förenklat, vi kan också använda steg framåt eller steg bakåt borttagning också.

variablerna som togs bort från modellen, på grund av mycket låga eller inga signifikanta p-värdepoäng var följande:-

etnicitet, kön,höjd,icu_id,apache_2_diagnos,apache_3j_diagnos, apache_post_operative,gcs_verbal_apache,readmission_status
heart_rate_apache, temp_apache d1_diasbp,max-d1_diasbp_min
intubated_apache,d1_mbp_max, d1_mbp_min, d1_mbp_noninvasive_max
d1_mbp_noninvasive_min, d1_resprate_max, d1_resprate_min
d1_sysbp_max, d1_sysbp_min, d1_sysbp_noninvasive_max, d1_sysbp_noninvasive_min, h1_sysbp_max, h1_sysbp_min, aids, lymfom

den nya modellen är som följer:-

i det nya fallet kan vi se att våra modell p-värden har ökat ganska mycket för många av variablerna, men Fisher-iterationerna är fortfarande 11 vilket är något högt och mycket höga värden mer än det ideala intervallet mellan 6 och 8 betyder att modellen kanske inte har konvergerat. A1C är densamma som den sista modellen, så mellan den här och den tidigare modellen väljer vi den här modellen över den andra modellen på grund av p-värdena, men det är inte en idealisk modell, vi måste göra ganska mer arbete med regularisering för att göra denna modell till en effektivare modell. Thee Mcfadden R kvadrat är nästan i samma intervall fortfarande och visar värdet av 0.5359914.

nästa kommer vi att köra Åsregressionen på variablerna. Vi kommer att använda några ytterligare bibliotek som listas nedan glmnet, glmUtils, wrapr , och vi kommer också att behålla de oberoende och beroende variablerna, som från den senaste modellen.

här kommer vi att ställa in formeln och sedan kör vi Åsregressionen.

det här är resultaten från Åsregressionen, som vi fick.

Ridge regression, ger oss inte tolkning som den vanliga logistiska regressionsmodellen gör med p-värden, men detta visar vad som kommer att vara värdena för koefficienterna, och Ridge regression minskar värdena för de variabler som inte är signifikanta närmare 0, men tar det inte hela vägen till 0 eller tar bort variablerna också. Detta kan visas såväl nedan som när vi ser listan över koefficienter i modellen.

här kan vi se att värdena på koefficienterna som åsen regression, nästan gjort det närmare 0. Detta kan ses från diagrammet som visas nedan:-

därefter kommer vi att köra Lasso-regressionen, som kommer att nollställa några variabler som inte har stark prediktiv förmåga med den beroende variabeln. Vi kommer att använda samma kod som tidigare och kommer bara att ändra värdet på Alfa från 0 till 1.

resultaten som vi får är följande:-

här kan vi se att det ställer in många värden till 0 i Lasso-regressionen, och där koefficienter Visar a .

samma data kan visas i grafformen enligt följande, vilket visar att många variabler vars värden har ställts in på 0.

Detta är en mycket grundläggande introduktion till några av de metoder som kan vidtas när man tittar på att minska antalet variabler i modellen. Man kan titta på PCA (Principal component analysis), såväl som Elastic net-metoden för att ytterligare titta på att utveckla modellen. Även det verkliga värdet av modellen kommer bara att visas när vi kan se modellen som körs på testdata, som vi inte har sett och har hållits ut.

Lämna ett svar

Din e-postadress kommer inte publiceras.