R Lépésenkénti és többszörös lineáris regresszió [lépésről lépésre példa]
Egyszerű lineáris regresszió R-ben
A lineáris regresszió egy egyszerű kérdésre ad választ: Tud-e pontos kapcsolatot mérni egy célváltozó és egy előrejelző halmaz között?
A legegyszerűbb valószínűségi modell az egyenes vonalú modell:
ahol
- y = Függő változó
- x = Független változó
-
= véletlenszerű hibakomponens
-
= elfog
-
= x együtthatója
Tekintsük a következő cselekményt:
Az egyenlet az az elfogás. Ha x egyenlő 0-val, y egyenlő lesz a metszésponttal, 4.77. a vonal meredeksége. Megmondja, hogy y milyen arányban változik, ha x változik.
Az optimális értékek becsléséhez és a
nevű módszert használod Közönséges legkisebb négyzetek (OLS). Ez a módszer megpróbálja megtalálni azokat a paramétereket, amelyek minimalizálják a négyzetes hibák összegét, azaz a becsült y értékek és a tényleges y értékek közötti függőleges távolságot. A különbséget a hiba kifejezés.
A modell becslése előtt szórásdiagram ábrázolásával meghatározhatja, hogy az y és x közötti lineáris kapcsolat elfogadható-e.
Szórványdiagram
Egy nagyon egyszerű adatkészletet fogunk használni az egyszerű lineáris regresszió fogalmának magyarázatára. Importáljuk az amerikai nők átlagos magasságát és súlyát. Az adatkészlet 15 megfigyelést tartalmaz. Meg akarja mérni, hogy a magasságok pozitívan korrelálnak-e a súlyokkal.
library(ggplot2) path <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/women.csv' df <-read.csv(path) ggplot(df,aes(x=height, y = weight))+ geom_point()
output:
A szórásdiagram azt sugallja, hogy y növekszik, ha x növekszik. A következő lépésben mérni fogja, hogy mennyivel nő minden további .
Legkisebb négyzetszámú becslések
Egy egyszerű OLS-regresszióban a számítása és a
magától érthetődő. A cél nem az, hogy a levezetést jelenítsük meg ebben az oktatóanyagban. Csak a képletet fogja írni.
Meg akarja becsülni:
Az OLS regresszió célja a következő egyenlet minimalizálása:
ahol
a tényleges érték és
az előre jelzett érték.
A megoldás a is
Ne feledje, hogy x átlagértékét jelenti
A megoldás a is
Az R-ben a cov() és var() függvény használható a becsléshez és a mean() függvényt használhatja a becsléshez
beta <- cov(df$height, df$weight) / var (df$height) beta
output:
##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height) alpha
output:
## [1] -87.51667
A béta együttható azt jelenti, hogy minden további magasság esetén a súly 3.45-tel növekszik.
Az egyszerű lineáris egyenlet manuális becslése nem ideális. R megfelelő függvényt biztosít ezeknek a paramétereknek a becslésére. Ez a funkció hamarosan megjelenik. Előtte bemutatjuk, hogyan lehet kézzel kiszámítani egy egyszerű lineáris regressziós modellt. Adattudós utazása során alig vagy soha nem fog megbecsülni egy egyszerű lineáris modellt. A legtöbb esetben a regressziós feladatokat sok becslésen hajtják végre.
Többszörös lineáris regresszió R-ben
A regressziós elemzés gyakorlatiasabb alkalmazásai összetettebb modelleket alkalmaznak, mint az egyszerű egyenes modell. Az egynél több független változót tartalmazó valószínűségi modellt nevezzük többszörös regressziós modellek. Ennek a modellnek az általános formája:
Mátrix jelölésben átírhatja a modellt:
Az y függő változó most k független változó függvénye. Az együttható értéke meghatározza a független változó hozzájárulását
és a
.
Röviden bemutatjuk a véletlenszerű hibával kapcsolatos feltételezésünket az OLS-ből:
- 0-val egyenlő átlag
- Variancia egyenlő
- Normális eloszlás
- A véletlenszerű hibák függetlenek (valószínűségi értelemben)
Meg kell oldani érte , a regressziós együtthatók vektora, amely minimalizálja a becsült és a tényleges y értékek közötti négyzetes hibák összegét.
A zárt formájú megoldás:
val vel:
- jelzi a transzponálás az X mátrixból
jelzi a invertálható mátrix
Az mtcars adatkészletet használjuk. Ön már ismeri az adatkészletet. Célunk, hogy megjósoljuk a gallononkénti mérföldet a jellemzők halmazán.
Folyamatos változók az R-ben
Egyelőre csak a folytonos változókat használja, és félreteszi a kategorikus jellemzőket. Az am változó egy bináris változó, amelynek értéke 1, ha a sebességváltó kézi, és 0 az automata autók esetében; A vs szintén bináris változó.
library(dplyr) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) glimpse(df)
output:
## Observations: 32 ## Variables: 6 ## $ mpg <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.... ## $ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1... ## $ hp <dbl> 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, ... ## $ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9... ## $ wt <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3... ## $ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2...
A paraméterek kiszámításához használhatja az lm() függvényt. Ennek a függvénynek az alapvető szintaxisa:
lm(formula, data, subset) Arguments: -formula: The equation you want to estimate -data: The dataset used -subset: Estimate the model on a subset of the dataset
Ne feledje, hogy egy egyenlet a következő alakú
az R-ben
- Az = szimbólumot ~ helyettesíti
- Minden x helyébe a változó neve kerül
- Ha el akarja dobni az állandót, adjon hozzá -1-et a képlet végéhez
Példa:
Meg akarja becsülni az egyének súlyát magasságuk és bevételük alapján. Az egyenlet az
Az R-beli egyenlet a következőképpen írható:
y ~ X1+ X2+…+Xn # Metszőponttal
Tehát a mi példánkra:
- Mérleg ~ magasság + bevétel
Az Ön célja a mérföld/gallon becslése változók alapján. A becsléshez szükséges egyenlet:
Megbecsüli az első lineáris regressziót, és eltárolja az eredményt az illeszkedő objektumban.
model <- mpg~.disp + hp + drat + wt fit <- lm(model, df) fit
Kód Magyarázat
- modell <- mpg ~. disp + hp + drat+ wt: Tárolja a modellt a becsléshez
- lm(modell, df): A modell becslése a df adatkerettel
## ## Call: ## lm(formula = model, data = df) ## ## Coefficients: ## (Intercept) disp hp drat wt ## 16.53357 0.00872 -0.02060 2.01577 -4.38546 ## qsec ## 0.64015
A kimenet nem ad elegendő információt az illeszkedés minőségéről. További részleteket, például az együtthatók szignifikanciáját, a szabadsági fokot és a maradékok alakját az summary() függvénnyel érheti el.
summary(fit)
output:
## return the p-value and coefficient ## ## Call: ## lm(formula = model, data = df) ## ## Residuals: ## Min 1Q Median 3Q Max ## -3.5404 -1.6701 -0.4264 1.1320 5.4996 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 16.53357 10.96423 1.508 0.14362 ## disp 0.00872 0.01119 0.779 0.44281 ## hp -0.02060 0.01528 -1.348 0.18936 ## drat 2.01578 1.30946 1.539 0.13579 ## wt -4.38546 1.24343 -3.527 0.00158 ** ## qsec 0.64015 0.45934 1.394 0.17523 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.558 on 26 degrees of freedom ## Multiple R-squared: 0.8489, Adjusted R-squared: 0.8199 ## F-statistic: 29.22 on 5 and 26 DF, p-value: 6.892e-10
Következtetés a fenti táblázat kimenetéből
- A fenti táblázat azt bizonyítja, hogy erős negatív kapcsolat van a wt és a futásteljesítmény között, és pozitív kapcsolat van a drattal.
- Csak a wt változónak van statisztikai hatása az mpg-re. Ne feledje, hogy egy hipotézis statisztikában történő teszteléséhez a következőket használjuk:
- H0: Nincs statisztikai hatás
- H3: A prediktor jelentős hatással van y-ra
- Ha a p érték kisebb, mint 0.05, az azt jelzi, hogy a változó statisztikailag szignifikáns
- Korrigált R-négyzet: A modell által magyarázott eltérés. Az Ön modelljében a modell az y varianciájának 82 százalékát magyarázta. Az R négyzet mindig 0 és 1 között van. Minél magasabb, annál jobb
Futtathatja a ANOVA teszt az egyes jellemzők varianciákra gyakorolt hatásának becslésére az anova() függvénnyel.
anova(fit)
output:
## Analysis of Variance Table ## ## Response: mpg ## Df Sum Sq Mean Sq F value Pr(>F) ## disp 1 808.89 808.89 123.6185 2.23e-11 *** ## hp 1 33.67 33.67 5.1449 0.031854 * ## drat 1 30.15 30.15 4.6073 0.041340 * ## wt 1 70.51 70.51 10.7754 0.002933 ** ## qsec 1 12.71 12.71 1.9422 0.175233 ## Residuals 26 170.13 6.54 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
A modell teljesítményének becslésének hagyományosabb módja a reziduális megjelenítése a különböző mértékek függvényében.
A plot() függvény segítségével négy grafikont jeleníthet meg:
– Maradékok vs beépített értékek
– Normál QQ diagram: elméleti kvartilis vs standardizált maradékok
– Scale-Location: Illesztett értékek vs a standardizált maradékok négyzetgyöke
– Maradék kontra tőkeáttétel: tőkeáttétel vs szabványos maradék
Hozzá kell adni a par(mfrow=c(2,2)) kódot a plot(fit) előtt. Ha nem adja hozzá ezt a kódsort, az R felszólítja, hogy nyomja meg az enter parancsot a következő grafikon megjelenítéséhez.
par(mfrow=(2,2))
Kód Magyarázat
- (mfrow=c(2,2)): visszaad egy ablakot a négy grafikonnal egymás mellett.
- Az első 2 hozzáadja a sorok számát
- A második 2 hozzáadja az oszlopok számát.
- Ha beírja (mfrow=c(3,2)): létrehoz egy 3 soros 2 oszlopos ablakot
plot(fit)
output:
Az lm() formula egy listát ad vissza, amely sok hasznos információt tartalmaz. Ezeket a létrehozott illesztési objektummal érheti el, ezt követi a $ jel és a kinyerni kívánt információ.
– együtthatók: `fit$coefficients`
– maradékok: `fit$residuals`
– illesztett érték: `fit$fitted.values`
Tényezők regressziója R-ben
Az utolsó modellbecslésben az mpg-t csak a folytonos változókon regresszi. Egyszerű faktorváltozók hozzáadása a modellhez. Hozzáadja az am változót a modellhez. Fontos megbizonyosodni arról, hogy a változó faktorszintű, és nem folyamatos.
df <- mtcars % > % mutate(cyl = factor(cyl), vs = factor(vs), am = factor(am), gear = factor(gear), carb = factor(carb)) summary(lm(model, df))
output:
## ## Call: ## lm(formula = model, data = df) ## ## Residuals: ## Min 1Q Median 3Q Max ## -3.5087 -1.3584 -0.0948 0.7745 4.6251 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 23.87913 20.06582 1.190 0.2525 ## cyl6 -2.64870 3.04089 -0.871 0.3975 ## cyl8 -0.33616 7.15954 -0.047 0.9632 ## disp 0.03555 0.03190 1.114 0.2827 ## hp -0.07051 0.03943 -1.788 0.0939 . ## drat 1.18283 2.48348 0.476 0.6407 ## wt -4.52978 2.53875 -1.784 0.0946 . ## qsec 0.36784 0.93540 0.393 0.6997 ## vs1 1.93085 2.87126 0.672 0.5115 ## am1 1.21212 3.21355 0.377 0.7113 ## gear4 1.11435 3.79952 0.293 0.7733 ## gear5 2.52840 3.73636 0.677 0.5089 ## carb2 -0.97935 2.31797 -0.423 0.6787 ## carb3 2.99964 4.29355 0.699 0.4955 ## carb4 1.09142 4.44962 0.245 0.8096 ## carb6 4.47757 6.38406 0.701 0.4938 ## carb8 7.25041 8.36057 0.867 0.3995 ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.833 on 15 degrees of freedom ## Multiple R-squared: 0.8931, Adjusted R-squared: 0.779 ## F-statistic: 7.83 on 16 and 15 DF, p-value: 0.000124
R az első faktorszintet használja alapcsoportként. Össze kell hasonlítani a másik csoport együtthatóit az alapcsoporttal.
Lépésenkénti lineáris regresszió R-ben
Az oktatóanyag utolsó része a lépcsőzetes regresszió algoritmus. Ennek az algoritmusnak az a célja, hogy potenciális jelölteket adjon hozzá és távolítson el a modellekből, és megtartsa azokat, akik jelentős hatást gyakorolnak a függő változóra. Ez az algoritmus akkor hasznos, ha az adatkészlet prediktorok nagy listáját tartalmazza. Nem kell manuálisan hozzáadnia és eltávolítania a független változókat. A lépésenkénti regresszió a modellhez illeszkedő legjobb jelöltek kiválasztására szolgál.
Lássuk gyakorlatban, hogyan működik. Az mtcars adatkészletet a folytonos változókkal csak pedagógiai szemléltetésre használja. Az elemzés megkezdése előtt érdemes korrelációs mátrix segítségével megállapítani az adatok közötti eltéréseket. A GGally könyvtár a ggplot2 kiterjesztése.
A könyvtár különböző függvényeket tartalmaz az összefoglaló statisztikák megjelenítésére, mint például a mátrix összes változójának korrelációja és eloszlása. A ggscatmat függvényt fogjuk használni, de hivatkozhat a címke további információkért a GGally könyvtárról.
A ggscatmat() alapvető szintaxisa a következő:
ggscatmat(df, columns = 1:ncol(df), corMethod = "pearson") arguments: -df: A matrix of continuous variables -columns: Pick up the columns to use in the function. By default, all columns are used -corMethod: Define the function to compute the correlation between variable. By default, the algorithm uses the Pearson formula
Megjeleníti az összes változó korrelációját, és eldönti, hogy melyik lesz a legjobb jelölt a fokozatos regresszió első lépéséhez. Van néhány erős korreláció a változói és a függő változó, mpg között.
library(GGally) df <- mtcars % > % select(-c(am, vs, cyl, gear, carb)) ggscatmat(df, columns = 1: ncol(df))
output:
Lépésenkénti regresszió Lépésről lépésre Példa
A változók kiválasztása fontos része a modellhez való illeszkedésnek. A lépésenkénti regresszió automatikusan elvégzi a keresési folyamatot. Ha meg szeretné becsülni, hogy hány lehetséges választási lehetőség van az adatkészletben, akkor kiszámítja k-val a prediktorok száma. A lehetőségek száma a független változók számával nő. Ezért kell egy automatikus keresés.
Telepítenie kell az olsrr csomagot a CRAN-ból. A csomag még nem elérhető az Anacondában. Ezért közvetlenül a parancssorból telepítse:
install.packages("olsrr")
A lehetőségek összes részhalmazát ábrázolhatja az illeszkedési feltételekkel (pl. R-négyzet, Korrigált R-négyzet, Bayes-kritérium). A legalacsonyabb AIC-kritériummal rendelkező modell lesz a végső modell.
library(olsrr) model <- mpg~. fit <- lm(model, df) test <- ols_all_subset(fit) plot(test)
Kód Magyarázat
- mpg ~.: A modell megalkotása a becsléshez
- lm(modell, df): Futtassa az OLS modellt
- ols_all_subset(illesztés): Készítse el a grafikonokat a vonatkozó statisztikai információkkal
- plot(teszt): Rajzolja fel a grafikonokat
output:
A lineáris regressziós modellek a t-teszt hogy megbecsüljük egy független változó függő változóra gyakorolt statisztikai hatását. A kutatók 10 százalékban határozták meg a maximális küszöböt, az alacsonyabb értékek erősebb statisztikai kapcsolatot jeleznek. A fokozatos regresszió stratégiája e teszt köré épül fel a potenciális jelöltek hozzáadására és eltávolítására. Az algoritmus a következőképpen működik:
- 1 lépés: Minden egyes előrejelző visszafejlődése y-n külön-külön. Nevezetesen: regressziós x_1 y-n, x_2 y-n x_n-re. Tárolja a p-érték és tartsa a regresszort egy meghatározott küszöbértéknél alacsonyabb p-értékkel (alapértelmezés szerint 0.1). A küszöbértéknél kisebb szignifikanciájú prediktorok hozzáadódnak a végső modellhez. Ha egyik változóban sem alacsonyabb a p-érték, mint a belépési küszöb, akkor az algoritmus leáll, és megvan a végső modell, amely csak konstanst tartalmaz.
- 2 lépés: Használja a legalacsonyabb p-értékű prediktort, és adjon hozzá külön egy változót. Egy állandót, az első lépés és a harmadik változó legjobb előrejelzőjét regresszel. A lépésenkénti modellhez hozzáadja az új előrejelzőket, amelyek értéke alacsonyabb, mint a belépési küszöb. Ha egyik változónak sem kisebb a p-értéke, mint 0.1, akkor az algoritmus leáll, és a végső modell csak egy prediktorral rendelkezik. Visszafejti a lépésenkénti modellt, hogy ellenőrizze az 1. lépés legjobb előrejelzőinek jelentőségét. Ha magasabb, mint az eltávolítási küszöb, akkor a lépésenkénti modellben marad. Ellenkező esetben kizárod.
- 3 lépés: Megismétli a 2. lépést az új legjobb lépésenkénti modellen. Az algoritmus a beírt értékek alapján előrejelzőket ad a lépésenkénti modellhez, és kizárja a prediktort a lépésenkénti modellből, ha az nem teljesíti a kizárási küszöböt.
- Az algoritmus addig megy, amíg nem adható hozzá vagy nem zárható ki változó.
Az algoritmust az olsrr csomag ols_stepwise() függvényével hajthatja végre.
ols_stepwise(fit, pent = 0.1, prem = 0.3, details = FALSE) arguments: -fit: Model to fit. Need to use `lm()`before to run `ols_stepwise() -pent: Threshold of the p-value used to enter a variable into the stepwise model. By default, 0.1 -prem: Threshold of the p-value used to exclude a variable into the stepwise model. By default, 0.3 -details: Print the details of each step
Előtte bemutatjuk az algoritmus lépéseit. Az alábbiakban egy táblázat látható a függő és független változókkal:
Függő változó | Független változók |
---|---|
mpg | diszp |
hp | |
patkány | |
wt | |
qsec |
Rajt
Kezdetben az algoritmus azzal kezdődik, hogy a modellt minden független változón külön-külön lefuttatja. A táblázat az egyes modellek p-értékét mutatja.
## [[1]] ## (Intercept) disp ## 3.576586e-21 9.380327e-10 ## ## [[2]] ## (Intercept) hp ## 6.642736e-18 1.787835e-07 ## ## [[3]] ## (Intercept) drat ## 0.1796390847 0.0000177624 ## ## [[4]] ## (Intercept) wt ## 8.241799e-19 1.293959e-10 ## ## [[5] ## (Intercept) qsec ## 0.61385436 0.01708199
A modellbe való belépéshez az algoritmus megtartja a legalacsonyabb p-értékű változót. A fenti kimenetből ez wt
1 lépés
Az első lépésben az algoritmus az mpg-t wt-n és a többi változón függetlenül futtatja.
## [[1]] ## (Intercept) wt disp ## 4.910746e-16 7.430725e-03 6.361981e-02 ## ## [[2]] ## (Intercept) wt hp ## 2.565459e-20 1.119647e-06 1.451229e-03 ## ## [[3]] ## (Intercept) wt drat ## 2.737824e-04 1.589075e-06 3.308544e-01 ## ## [[4]] ## (Intercept) wt qsec ## 7.650466e-04 2.518948e-11 1.499883e-03
Mindegyik változó potenciális jelölt a végső modellbe való belépésre. Az algoritmus azonban csak az alacsonyabb p-értékű változót tartja meg. Kiderült, hogy a hp p-értéke kicsivel alacsonyabb, mint a qsec. Ezért a hp belép a végső modellbe
2 lépés
Az algoritmus megismétli az első lépést, de ezúttal két független változóval a végső modellben.
## [[1]] ## (Intercept) wt hp disp ## 1.161936e-16 1.330991e-03 1.097103e-02 9.285070e-01 ## ## [[2]] ## (Intercept) wt hp drat ## 5.133678e-05 3.642961e-04 1.178415e-03 1.987554e-01 ## ## [[3]] ## (Intercept) wt hp qsec ## 2.784556e-03 3.217222e-06 2.441762e-01 2.546284e-01
A végső modellbe bekerült változók egyike sem rendelkezik kellően alacsony p-értékkel. Az algoritmus itt megáll; megvan a végleges modell:
## ## Call: ## lm(formula = mpg ~ wt + hp, data = df) ## ## Residuals: ## Min 1Q Median 3Q Max ## -3.941 -1.600 -0.182 1.050 5.854 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 37.22727 1.59879 23.285 < 2e-16 *** ## wt -3.87783 0.63273 -6.129 1.12e-06 *** ## hp -0.03177 0.00903 -3.519 0.00145 ** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 2.593 on 29 degrees of freedom ## Multiple R-squared: 0.8268, Adjusted R-squared: 0.8148 ## F-statistic: 69.21 on 2 and 29 DF, p-value: 9.109e-12
Az ols_stepwise() függvény segítségével összehasonlíthatja az eredményeket.
stp_s <-ols_stepwise(fit, details=TRUE)
output:
Az algoritmus 2 lépés után talál megoldást, és ugyanazt a kimenetet adja vissza, mint korábban.
A végén elmondhatjuk, hogy a modelleket két változó és egy metszéspont magyarázza. A gallononkénti mérföld negatívan korrelál a bruttó lóerővel és a tömeggel
## You are selecting variables based on p value... ## 1 variable(s) added.... ## Variable Selection Procedure ## Dependent Variable: mpg ## ## Stepwise Selection: Step 1 ## ## Variable wt Entered ## ## Model Summary ## -------------------------------------------------------------- ## R 0.868 RMSE 3.046 ## R-Squared 0.753 Coef. Var 15.161 ## Adj. R-Squared 0.745 MSE 9.277 ## Pred R-Squared 0.709 MAE 2.341 ## -------------------------------------------------------------- ## RMSE: Root Mean Square Error ## MSE: Mean Square Error ## MAE: Mean Absolute Error ## ANOVA ## -------------------------------------------------------------------- ## Sum of ## Squares DF Mean Square F Sig. ## -------------------------------------------------------------------- ## Regression 847.725 1 847.725 91.375 0.0000 ## Residual 278.322 30 9.277 ## Total 1126.047 31 ## -------------------------------------------------------------------- ## ## Parameter Estimates ## ---------------------------------------------------------------------------------------- ## model Beta Std. Error Std. Beta t Sig lower upper ## ---------------------------------------------------------------------------------------- ## (Intercept) 37.285 1.878 19.858 0.000 33.450 41.120 ## wt -5.344 0.559 -0.868 -9.559 0.000 -6.486 -4.203 ## ---------------------------------------------------------------------------------------- ## 1 variable(s) added... ## Stepwise Selection: Step 2 ## ## Variable hp Entered ## ## Model Summary ## -------------------------------------------------------------- ## R 0.909 RMSE 2.593 ## R-Squared 0.827 Coef. Var 12.909 ## Adj. R-Squared 0.815 MSE 6.726 ## Pred R-Squared 0.781 MAE 1.901 ## -------------------------------------------------------------- ## RMSE: Root Mean Square Error ## MSE: Mean Square Error ## MAE: Mean Absolute Error ## ANOVA ## -------------------------------------------------------------------- ## Sum of ## Squares DF Mean Square F Sig. ## -------------------------------------------------------------------- ## Regression 930.999 2 465.500 69.211 0.0000 ## Residual 195.048 29 6.726 ## Total 1126.047 31 ## -------------------------------------------------------------------- ## ## Parameter Estimates ## ---------------------------------------------------------------------------------------- ## model Beta Std. Error Std. Beta t Sig lower upper ## ---------------------------------------------------------------------------------------- ## (Intercept) 37.227 1.599 23.285 0.000 33.957 40.497 ## wt -3.878 0.633 -0.630 -6.129 0.000 -5.172 -2.584 ## hp -0.032 0.009 -0.361 -3.519 0.001 -0.050 -0.013 ## ---------------------------------------------------------------------------------------- ## No more variables to be added or removed.
Gépi tanulás
Gépi tanulás egyre elterjedtebb az adatkutatók körében, és az Ön által naponta használt termékek százaiban alkalmazzák. Az egyik első ML alkalmazás volt spamszűrő.
Az alábbiakban a gépi tanulás egyéb alkalmazásai találhatók
- A nem kívánt spam üzenetek azonosítása e-mailben
- A vásárlói magatartás szegmentálása célzott reklámozáshoz
- A csalárd hitelkártya-tranzakciók csökkentése
- Az energiafelhasználás optimalizálása otthoni és irodaépületekben
- arcfelismerő
Felügyelt tanulás
In Felügyelt tanulás, az algoritmusba betáplált képzési adatok tartalmaznak egy címkét.
Osztályozás valószínűleg a leggyakrabban használt felügyelt tanulási technika. Az egyik első osztályozási feladat, amellyel a kutatók foglalkoztak, a spamszűrő volt. A tanulás célja annak megjóslása, hogy egy e-mail spamnek vagy jó e-mailnek minősül-e. A gép a betanítási lépés után képes észlelni az e-mail osztályát.
Regressziók gyakran használják a gépi tanulás területén a folyamatos érték előrejelzésére. A regressziós feladat előre jelezheti a értékét függő változó halmaza alapján független változók (más néven prediktorokat vagy regresszorokat). Például a lineáris regresszió előre jelezheti a részvényárfolyamot, az időjárás-előrejelzést, az eladásokat és így tovább.
Íme néhány alapvető felügyelt tanulási algoritmus lista.
- Lineáris regresszió
- Logisztikus regresszió
- Legközelebbi szomszédok
- Támogatja a vektorgépet (SVM)
- Döntési fák és Random Forest
- Neurális hálózatok
Felügyelet nélküli tanulás
In Felügyelet nélküli tanulás, az edzési adatok címkézetlenek. A rendszer referencia nélkül próbál tanulni. Az alábbiakban felsoroljuk a nem felügyelt tanulási algoritmusokat.
- K-átlag
- hierarchikus Cluster Elemzés
- Elvárás maximalizálása
- Vizualizálás és dimenziócsökkentés
- Főkomponens analízis
- Kernel PCA
- Helyi-lineáris beágyazás
Összegzésként
- A lineáris regresszió egy egyszerű kérdésre ad választ: Tud-e pontos kapcsolatot mérni egy célváltozó és egy előrejelző halmaz között?
- A közönséges legkisebb négyzetek módszere megpróbálja megtalálni azokat a paramétereket, amelyek minimalizálják a négyzetes hibák összegét, vagyis a becsült y értékek és a tényleges y értékek közötti függőleges távolságot.
- Az egynél több független változót tartalmazó valószínűségi modellt többszörös regressziós modelleknek nevezzük.
- A Stepwise Linear Regression algoritmus célja, hogy potenciális jelölteket adjon hozzá és távolítson el a modellekből, és megtartsa azokat, akik jelentős hatást gyakorolnak a függő változóra.
- A változók kiválasztása fontos része a modellhez való illeszkedésnek. A lépésenkénti regresszió automatikusan végrehajtja a keresési folyamatot.
A közönséges legkisebb négyzetes regresszió az alábbi táblázatban foglalható össze:
könyvtár | Objektív | Funkció | érvek |
---|---|---|---|
bázis | Számíts ki egy lineáris regressziót | lm() | képlet, adat |
bázis | Modell összefoglalása | összesít() | megfelelő |
bázis | Kivonat együtthatók | lm()$együttható | |
bázis | Kivonja a maradékokat | lm()$maradékok | |
bázis | Az illesztett érték kivonása | lm()$fitted.values | |
olsrr | Futtassa le a lépésenkénti regressziót | ols_stepwise() | illeszkedés, pent = 0.1, prem = 0.3, részletek = HAMIS |
Megjegyzések: Ne felejtse el a kategorikus változót faktorral átalakítani, mielőtt illeszkedik a modellhez.