Adattudomány modellezése: Hogyan lehet a lineáris regressziót használni a Python-nal

Vessen egy pillantást az R²-re, az átlagos négyzet hibájára és így tovább

Brian Henriquez, Chris Kazakis és Dean Sublett

Fotó: Kampányalkotók az Unsplash-en

Bevezetés és célkitűzések

A lineáris regresszió az adattudományban széles körben alkalmazott módszer, mivel a lineáris regressziós modell végrehajtása és értelmezése viszonylag egyszerű.

Ez az oktatóprogram a Python használatával áttekintheti a 80 gabonafélék adatkészletének egyszerű és többszörös lineáris regressziós modelljeit, és néhány releváns regressziós mutatót fog megvitatni, ám a Pythonban nem feltételezzük a lineáris regresszió korábbi tapasztalatait. A 80 gabonafélék adatállománya itt található.

Íme néhány célkitűzés:

  • Megérteni az R2 jelentését és korlátait
  • Tudjon meg többet a lineáris regresszió mérési mutatóiról és mikor kell azokat használni
  • Végezzen el egy egyszerű és többszörös lineáris regressziós modellt a 80 gabona adatkészlettel

Az adatok feltárása

Az adatkészlet letöltése után importálja a szükséges Python csomagokat és magát a gabonafélék adatkészletét:

Teljesítmény a gabonaféléből ()

Itt láthatjuk, hogy minden sor gabona márkájú, és minden oszlop táplálkozási (fehérje, zsír stb.) Vagy azonosító tulajdonság (gyártó, típus) a gabona. Vegye figyelembe, hogy a besorolás a válasz vagy függõ változó.

Ezután egy pár ábrát készítettünk az adatkészlet egyes jellemzői közötti összefüggésekről, és ebből a megjelenítésből három előrejelző változót választottunk ki: kalória, rost és cukrok. Az összes korrelációt megjelenítő grafikon túl nagy ahhoz, hogy itt megosszák, de közelebbről megvizsgálhatjuk egy kisebb párt is, amely csak az előrejelző változókat tartalmazza. A seaborn.pairplot használatával három szórt görbét láthatunk, ahol a legkevesebb négyzet alakú vonal található:

Az előrejelző változó páros ábrázolása a válaszváltozóval

Most, hogy jobban megismerjük az adatokat, megkezdhetjük a lineáris regressziós modellek beállítását.

Megjegyzés: A fogalmak könnyű átadása érdekében nem számoljuk ki az R² és a korrigált R² értékeket az adatok teszt / vonat felosztásával. De kérjük, vegye figyelembe, hogy a véletlenszerűen kiválasztott megfigyelések teszt / vonat felosztásának használata a legjobb gyakorlat, és így mutatjuk be a hibáinkat és az AIC / BIC-t az oktatóprogram végén.

A lineáris regressziós modell

Meg akarjuk vitatni az R2-t és annak jelentőségét a lineáris regressziós modellekben. De ahhoz, hogy pontosan megértsük, mi az R2, először meg kell értenünk, mi a lineáris modell. Vessünk egy szórt diagramot, összehasonlítva a gabona adagjában szereplő kalóriákat és annak besorolását:

Az osztályozás és a kalóriák szórása

Világosan láthatjuk, hogy a több kalóriájú gabona adagok általában rosszabb áttekintést kapnak. Ha feltételezzük, hogy e két változó között van valamilyen kapcsolat, akkor felépíthetünk egy modellt, amely előrejelzi a gabona értékelését a kalóriaszám alapján.

Annak igazolására, hogy a kapcsolat valójában lineáris, ábrázolhatjuk modellünk maradványait egy grafikonon, és kereshetünk mintákat. A maradék egyértelmű mintája azt sugallhatja, hogy egy másik modell, például egy kvadratikus vagy logaritmikus, jobban leírja a két változó közötti kapcsolatot. Ellenőrizzük a maradványokat:

A maradékanyagokban nincs világos mintázat, tehát nincs bizonyíték arra, hogy létezik jobban illeszkedő, nemlineáris egyenlet.

A lineáris regresszió szempontjából érdekli a képlet:

x az y válaszváltozó predikciós változója

Modell elkészítéséhez használhatjuk a skipy linregress módszert.

És a következő kimenetet kapjuk:

  • LinregressResult (lejtő = -0.49701318979564285, elhallgatás = 95.78802384439143, rvalue = -0.6893760311652586, pvalue = 4.1402774000064275e-12, stderr = 0.06030617024600228)

Az első elem b_1, a második b_0, és a harmadik érték az R érték, más néven korrelációs együttható. Az R érték 1-től -1-ig terjed, és megmagyarázza a magyarázó változók és a válaszváltozó közötti kapcsolat erősségét. A kalóriák R-értéke a besorolással szemben -689, ami azt mutatja, hogy a két változó között erős negatív kapcsolat van. Minél nagyobb az R érték 0-tól, annál jobb a modell az értékek előrejelzésében.

RZ

Ha az R négyzetét megkapjuk, akkor a meghatározási együtthatót R² kapjuk. R² egy érték, amely azt jelzi, hogy az y változó variációjának hány százaléka magyarázható az x változó variációjával. A magas R² érték az erősebb modellt jelzi. Nézzük meg az adatcsoport egyes R² értékeit:

Az alábbiakat nyomtatjuk ki:

  • Kupa előrejelzővel ellátott modell R²: 0,0412740112014871
  • Kalória-előrejelzővel ellátott modell R²: 0,4752393123451636

Ezek az R²-értékek azt jelzik számunkra, hogy a kalóriák jobban megjósolják a besorolást, mint a csészék.

Az egyszerű lineáris regresszió hasznos, de gyakran meg akarjuk vizsgálni, hogy több változó hogyan használható fel egyetlen változó megjóslására. Vegyünk egy 2D-s előrejelző tömböt a gabonaféléből, ha szeletet veszünk belőle az összes érdeklődés változónkkal. a kalória, a rost és a cukor jó előrejelzőnek tűnt, ha korábban áttekintettük a korrelációs párokat, tehát vessünk egy modellt e három felhasználásával:

A következő kimenetet kapjuk:

  • R²: 0,8483669504178866
  • R² kiigazítva: 0.8070124823500374

Megállapítottuk, hogy az R²-érték 0,475-ről az egyváltozós modellben (kalóriával mint előrejelzővel) 0,848-ra nőtt. Ez látszólag azt jelzi, hogy modellünk prediktív ereje megnövekedett.

Tegyünk hozzá egy rossz előrejelzőt, poharat ehhez a többszörös lineáris regressziós modellhez, és nézzük meg, mi történik:

Ez a kód a következő kimenetet adja:

  • R²: 0,8490487016343364
  • R² kiigazítva: 0.788668182288071

Emlékezzünk arra, hogy a gabonafélék egy adagjára eső csészék száma szinte nem volt összefüggésben a fogyasztói besorolással az egyetlen változó esetben. De ha hozzáadjuk a modellhez, az általános R² 0,849-re növekszik, ami azt sugallja, hogy a modell előrejelző képessége javult. Mindazonáltal, amiről tudjuk, ez a négyváltozós modell nem lehet jobb, mint a háromváltozós modell. Az R² érték kiszámításának módja alapján, ha több változót ad a modellhez, az mindig növeli az R² értéket. Tehát össze kell hasonlítanunk a korrigált R2 értékeket, amelyek enyhítik az R2 növekedését további változók miatt. A korrigált R2 képlete:

N-teljes mintaméret, prediktorok p-száma

Ezzel azt találjuk, hogy a háromváltozós modell korrigált R2-jével 0,807, míg a négyváltozós modell korrigált R2-jével 0,788. Ezért a háromváltozós modell jobb ezzel a mutatóval.

Az R² az egyik legfontosabb mutató, hogy felmérjük, mennyire jól illeszkedik a lineáris modell az adatokhoz, ezért fontos, hogy intuitív megértéssel rendelkezzünk arról, hogy mit jelent. A lineáris regressziós modellek megvalósításakor ugyanolyan fontos tudni az R2 korlátozásait és az, hogy ezeket a korlátozásokat hogyan lehet enyhíteni.

Átlagos négyzet hiba (MSE)

A regressziós modelleknek számos különféle értékelési mutatója van. Az egyik legnépszerűbb mutató, és amit először megvitatunk, az átlagos négyzet hiba (MSE).

Forrás

Az MSE egy értékelési mutató, amely a megfigyelt és a becsült értékek közötti négyzetkülönbségek átlagát méri. Más szavakkal, az MSE megmondja, mennyire pontos vagy pontatlan a mi lineáris regressziós modellünk - minél alacsonyabb az MSE, annál „jobb” a modell az értékek előrejelzésére. Nézzük meg a regressziós modell MSE-jét:

A változó mse értéke 26,6329.

Egy másik elérhető mérőszám a gyökér átlag négyzet hibája (RMSE), amely egyszerűen az MSE négyzetgyöke. A Python matematikai modul négyzetgyökének függvényével az sqrt (mse) értéke 5.1607.

Fontos megjegyezni, hogy az RMSE érték ugyanazokkal az egységekkel rendelkezik, mint a válaszváltozó (a négyzetes hibák négyzetgyökét vettük fel). RMSE-értékünk (5,1607) viszonylag alacsonyra csökken a minősítési változó 0–100 tartományán, tehát a többszörös lineáris regressziós modellünk „jó” a gabona márka besorolásának előrejelzéséhez. De vannak más hibák is, amelyeket használhatunk.

Átlagos abszolút hiba (MAE)

A következő regressziós értékelési mutató, amelyet átlagosnak tekintünk, abszolút hiba (MAE).

Forrás

Mivel az MSE négyzetképp adja meg a maradék értékek különbségét, a tényleges és a becsült értékek közötti nagyobb különbségeket az MSE szigorúbban bünteti meg, mint a MAE. A négyzetes kifejezések miatt az MSE érzékenyebb a kiugró értékekre, mint a MAE.

Ha úgy döntöttünk, hogy az adatkészletünkben szereplő kiugró értékek nem voltak jelentősek az adatok elemzésében, akkor az MSE előtt fordulhatunk a MAE-hez, mivel a kiugró értékek maradékai nem kerülnék túlzásba a maradványok négyzetének megadásával. Találjuk meg az MAE-t:

A mae változónk 3.6153 értéket ad vissza. A MAE viszonylag kicsi, figyelembe véve a 0–100 osztályozási tartományt, tehát a MAE azt jelzi, hogy modellünk meglehetősen pontos előrejelzéseiben.

Átlagos abszolút százalékos hiba (MAPE)

A végső regressziós kiértékelési mutatóként az átlagos abszolút százalékos hibát (MAPE) vesszük figyelembe.

Forrás

A MAPE százalékos százalékban adja meg a prediktív modellek pontosságát. Vegye figyelembe a MAE és a MAPE képletek hasonlóságát. A MAE-hez hasonlóan a MAPE-t nem befolyásolja nagymértékben a kiugró értékek. A MAPE-t azonban óvatosan használja, mert

  • A MAPE hajlamos a nulla hibával való osztásra (lásd a nevezőt az összegzésen belül);
  • A MAPE nagyon nagy lehet, ha a tényleges értékek nagyon kicsik (ismét lásd az osztási műveletet az összegzésben);
  • A MAPE a megfigyelt értékeknél kisebb előrejelzések felé van torzítva.

Keresse meg modellünk MAPE-ját:

A MAPE funkciónk a következő százalékot adja vissza: 8,458%. Tehát előrejelzésünk átlagosan kb. 8,5% -kal „ki”.

AIC és BIC

Az AIC (Akaike információs kritérium) és a BIC (Bayesi információs kritérium) objektív módszerek a regressziós modellek kiértékelésére és a prediktorok legjobb részhalmazának meghatározására (melyik modell illeszkedik jobban).

Ha paramétereket ad hozzá a modelljéhez, akkor mindig jobban illeszkedik. De akkor fennáll annak a kockázata, hogy elveszíti a valós mögöttes mintára vonatkozó információkat. Így a paraméterek száma és a modell által elszámolt hibamennyiség között kompromisszum van. Az AIC és a BIC értékeli a modellek azon képességét, hogy számolhassanak az előrejelzett változó további variációiból, de a modell túlterhelése nélkül.

AIC

Az AIC lehetővé teszi, hogy becsülje meg a modellekben elveszített információ mennyiségét, így összehasonlíthatja, mely modellek működnek a legjobban, és kiválaszthatja a prediktorok megfelelőbb részhalmazát. Pontosabban, az AIC érték az adatok valódi valószínűségi függvény és a modell illesztett valószínűségfüggvény közötti relatív távolságot vizsgálja. Minél kisebb a távolság, annál közelebb van a modell az adatok valódi megjelenítéséhez. Az AIC-t a következő képlet jelöli:

N-megfigyelések száma, K-paraméterek száma illeszkedik + 1

Ha összehasonlítjuk két modell illeszkedését AIC módszerrel, akkor az alacsonyabb AIC értékkel rendelkező modell jobban illeszkedik.

Nézzük meg két korábbi regressziós modellünk AIC-értékeit. Az egyiknek három előrejelzője van, a másiknak négy. Először meghatározzuk azokat az értékeket, amelyeket bekapcsolunk a képletbe, majd futtatjuk a képletet:

Ez a következő eredményt adja:

  • Három előrejelzővel rendelkező modell AIC: 60.51438447233831
  • Négy előrejelzővel rendelkező modell AIC: 62.31365180026097

Amit látunk, a három előrejelzővel rendelkező modell alacsonyabb AIC-értékkel rendelkezik, így jobban illeszkedik, mint a négy előrejelzővel rendelkező modell (de ebben a példában nem sokkal).

BIC

A BIC hasonló az AIC-hez, de sokkal szigorúbb abban a tekintetben, hogy a modellt több paraméter hozzáadása esetén büntesse. Ezt a következő képlet jelöli:

N-megfigyelések száma, K-paraméterek száma illeszkedik + 1

Ha összehasonlítjuk két modell illeszkedését a BIC módszer alkalmazásával, akkor az alacsonyabb BIC értékkel rendelkező modell jobban illeszkedik, hasonlóan az AIC módszerhez.

Keressük meg a BIC értékeket ugyanazon a két modellnél, amelyet éppen használtunk. Az egyetlen különbség a büntetés, amellyel megszorozzuk a paraméterek számát:

Ez a következő eredményt adja:

  • Három előrejelzővel rendelkező modell BIC-je: 63.60473936129743
  • Négy előrejelzővel rendelkező modell BIC: 66.17659541145987

Amit itt látunk, a három előrejelzővel rendelkező modell alacsonyabb BIC-értékkel rendelkezik, így jobban illeszkedik, mint a négy előrejelzővel rendelkező modell. Mivel a BIC-büntetés szigorúbb, mint az AIC-büntetés, a BIC-módszer értékei meghaladják a vonatkozó modellek AIC-módszerét.

A büntetések közötti különbség miatt az AIC modelleket választhat, amelyeknél több paraméter szerepel, mint a BIC-nél. Javasoljuk, hogy együtt használja az AIC-t és a BIC-et, és mindkét eredménykészlet alapján döntsön modelleiről. Ebben az esetben az AIC és a BIC megállapodtak egymással, és ugyanazokat a modelleket választották.

Kulcs szókincs

Összefoglalva, megvitattuk

  • R²: annak mutatója, hogy a lineáris regressziós modell mennyire jósolja meg a válaszváltozót
  • Kiigazított R²: annak mutatója, hogy a többszörös lineáris regressziós modell mennyire felel meg a függő változó varianciájának, miközben korrigálja a modellben szereplő paraméterek számát
  • MSE (átlagos négyzet hiba): olyan értékelési mutató, amely nagymértékben bünteti a külsõ értékeket; valószínűleg az első hiba, amelyet kiszámít és használ, amikor a túlmutatók az adatkészlet valódi jelenségét képviselik
  • RMSE (gyökér átlag négyzet hibája): az MSE négyzetgyöke; ugyanazokat az egységeket osztja meg, mint a válaszváltozó, így az RMSE „értelmezhetőbb” lehet, mint az MSE
  • MAE (átlagos abszolút hiba): egy olyan értékelési mutató, amelyet a távolságok jelentőségének csökkentésére használnak a hiba mérésekor; akkor használják, ha a túlmutatók nem képviselik az adatkészlet valódi jelenségét
  • MAPE (átlagos abszolút százalékos hiba): a regressziós modell pontosságának mértéke százalékban; hajlamos futási hibákra vagy szokatlanul nagy értékekre, amikor a válaszváltozó kis értékeket vesz fel
  • AIC (Akaike információs kritérium): a különböző modellekben elveszített információ mennyiségének értékelése, amely bünteti a paraméterek növekedését. Az adatok méretétől függetlenül mindig esélye, hogy túl nagy modellt választjon. A BIC-kel együtt használható.
  • BIC (Bayes-i információs kritérium): hasonló az AIC-hez, de súlyosabb büntetést jelent. Az adatok méretétől függetlenül mindig esélye van arra, hogy túl kicsi legyen a modell közül. Legjobban az AIC-vel együtt használható.

Következtetés

Ebben az oktatóanyagban megmutattuk, hogyan lehet egyszerű és többszörös lineáris regressziós modelleket megvalósítani a Python segítségével, valamint ezeknek a modelleknek és a hibáiknak a kiértékelésére szolgáló különféle módszereket.

Saját adatkészletekkel végzett munkánál ezen módszerek bármelyikét használhatja a regressziós modellek és a hiba értékelésére. Érdekes lehet azonban, hogy ezeket számos felhasználja, és megnézze, hogy az eredmények hogyan igazodnak egymáshoz vagy különböznek egymástól annak eldöntése érdekében, hogy melyik modellje reprezentálja az Ön adatait a legjobban.

Most kényelmesebbnek kell lennie a saját lineáris regressziós modellek megvalósításában, és tisztában kell lennie a hasonlóságokkal és különbségekkel az összes megtárgyalt regressziós mutató között.