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:

Egyszerű lineáris regresszió R-ben

ahol

  • y = Függő változó
  • x = Független változó
  • Egyszerű lineáris regresszió R-ben = véletlenszerű hibakomponens
  • Egyszerű lineáris regresszió R-ben = elfog
  • Egyszerű lineáris regresszió R-ben = x együtthatója

Tekintsük a következő cselekményt:

Egyszerű lineáris regresszió R-ben

Az egyenlet az Egyszerű lineáris regresszió R-ben 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 Egyszerű lineáris regresszió R-ben és a Egyszerű lineáris regresszió R-bennevű 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:

Szórványdiagram

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 Legkisebb négyzetszámú becslések és a Legkisebb négyzetszámú becslések 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: Legkisebb négyzetszámú becslések

Az OLS regresszió célja a következő egyenlet minimalizálása:

Legkisebb négyzetszámú becslések

ahol

Legkisebb négyzetszámú becslések a tényleges érték és Legkisebb négyzetszámú becslések az előre jelzett érték.

A megoldás a Legkisebb négyzetszámú becslések is Legkisebb négyzetszámú becslések

Ne feledje, hogy Legkisebb négyzetszámú becslések x átlagértékét jelenti

A megoldás a Legkisebb négyzetszámú becslések is Legkisebb négyzetszámú becslések

Az R-ben a cov() és var() függvény használható a becsléshez Legkisebb négyzetszámú becslések és a mean() függvényt használhatja a becsléshez Legkisebb négyzetszámú becslések

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:

Többszörös lineáris regresszió R-ben

Mátrix jelölésben átírhatja a modellt:

  • Többszörös lineáris regresszió R-ben

Az y függő változó most k független változó függvénye. Az együttható értéke Többszörös lineáris regresszió R-ben meghatározza a független változó hozzájárulását Többszörös lineáris regresszió R-ben és a Többszörös lineáris regresszió R-ben.

Röviden bemutatjuk a véletlenszerű hibával kapcsolatos feltételezésünket Többszörös lineáris regresszió R-ben az OLS-ből:

  • 0-val egyenlő átlag
  • Variancia egyenlő Többszörös lineáris regresszió R-ben
  • Normális eloszlás
  • A véletlenszerű hibák függetlenek (valószínűségi értelemben)

Meg kell oldani érte Többszörös lineáris regresszió R-ben, 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:

Többszörös lineáris regresszió R-ben

val vel:

  • jelzi a transzponálás az X mátrixból
  • Többszörös lineáris regresszió R-ben 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ú

Folyamatos változók az R-ben

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

Folyamatos változók az R-ben

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:

Folyamatos változók az R-ben

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:

Folyamatos változók az R-ben

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 lineáris regresszió R-ben

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 Lépésenkénti regresszió Lépésről lépésre Példa 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:

Lépésenkénti regresszió Lépésről lépésre Példa

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:

Lépésenkénti lineáris regresszió R-ben
Lépésenkénti lineáris regresszió R-ben
  • 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.