R Samm- ja mitmekordne lineaarne regressioon [samm-sammuline näide]

Lihtne lineaarne regressioon R-s

Lineaarne regressioon vastab lihtsale küsimusele: kas saate mõõta täpset seost ühe sihtmuutuja ja ennustajate kogumi vahel?

Lihtsaim tõenäosusmudel on sirgjooneline mudel:

Lihtne lineaarne regressioon R-s

kus

  • y = sõltuv muutuja
  • x = Sõltumatu muutuja
  • Lihtne lineaarne regressioon R-s = juhusliku vea komponent
  • Lihtne lineaarne regressioon R-s = pealtkuulamine
  • Lihtne lineaarne regressioon R-s = x koefitsient

Mõelge järgmisele süžeele:

Lihtne lineaarne regressioon R-s

Võrrand on Lihtne lineaarne regressioon R-s on pealtkuulamine. Kui x on 0, võrdub y lõikepunktiga 4.77. on joone kalle. See näitab, millises proportsioonis y muutub, kui x muutub.

Et hinnata optimaalseid väärtusi Lihtne lineaarne regressioon R-s ja Lihtne lineaarne regressioon R-s, kasutate meetodit nimega Tavalised vähimruudud (OLS). Selle meetodi abil püütakse leida parameetreid, mis minimeerivad ruuduvigade summat, st vertikaalset kaugust ennustatud y väärtuste ja tegelike y väärtuste vahel. Erinevus on tuntud kui vea termin.

Enne mudeli hindamist saate teha hajuvusdiagrammi abil kindlaks, kas lineaarne seos y ja x vahel on usutav.

Hajuvusdiagramm

Lihtsa lineaarse regressiooni kontseptsiooni selgitamiseks kasutame väga lihtsat andmekogumit. Impordime Ameerika naiste keskmise pikkuse ja kaalu. Andmekogum sisaldab 15 vaatlust. Soovite mõõta, kas kõrgused on positiivses korrelatsioonis kaaluga.

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()

Väljund:

Hajuvusdiagramm

Hajuvusdiagramm viitab üldisele tendentsile, et y suureneb x suurenedes. Järgmises etapis mõõdate, kui palju suureneb iga täiendava .

Vähimruutude hinnangud

Lihtsa OLS-i regressiooni korral arvutatakse Vähimruutude hinnangud ja Vähimruutude hinnangud on otsekohene. Eesmärk ei ole selles õpetuses tuletust näidata. Kirjutate ainult valemi.

Soovite hinnata: Vähimruutude hinnangud

OLS-i regressiooni eesmärk on minimeerida järgmist võrrandit:

Vähimruutude hinnangud

kus

Vähimruutude hinnangud on tegelik väärtus ja Vähimruutude hinnangud on ennustatud väärtus.

Lahendus selleks Vähimruutude hinnangud is Vähimruutude hinnangud

Pange tähele, et Vähimruutude hinnangud tähendab x keskmist väärtust

Lahendus selleks Vähimruutude hinnangud is Vähimruutude hinnangud

R-is saate hinnangu andmiseks kasutada funktsioone cov() ja var(). Vähimruutude hinnangud ja hindamiseks saate kasutada funktsiooni mean(). Vähimruutude hinnangud

beta <- cov(df$height, df$weight) / var (df$height)
beta

Väljund:

##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height)
alpha

Väljund:

## [1] -87.51667

Beeta koefitsient tähendab, et iga täiendava pikkuse korral suureneb kaal 3.45 võrra.

Lihtsa lineaarvõrrandi käsitsi hindamine ei ole ideaalne. R pakub sobivat funktsiooni nende parameetrite hindamiseks. Näete seda funktsiooni varsti. Enne seda tutvustame lihtsa lineaarse regressioonimudeli käsitsi arvutamist. Andmeteadlase teekonnal hindate lihtsat lineaarset mudelit vaevu või mitte kunagi. Enamikus olukordades tehakse regressiooniülesandeid paljude hinnangute alusel.

Mitmekordne lineaarne regressioon R-s

Regressioonanalüüsi praktilisemate rakenduste puhul kasutatakse mudeleid, mis on keerulisemad kui lihtsad sirgjoonelised mudelid. Nimetatakse tõenäosusmudelit, mis sisaldab rohkem kui ühte sõltumatut muutujat mitu regressioonimudelit. Selle mudeli üldine vorm on järgmine:

Mitmekordne lineaarne regressioon R-s

Maatriksmärgistuses saate mudeli ümber kirjutada:

  • Mitmekordne lineaarne regressioon R-s

Sõltuv muutuja y on nüüd k sõltumatu muutuja funktsioon. Koefitsiendi väärtus Mitmekordne lineaarne regressioon R-s määrab sõltumatu muutuja panuse Mitmekordne lineaarne regressioon R-s ja Mitmekordne lineaarne regressioon R-s.

Tutvustame lühidalt eeldust, mille tegime juhusliku vea kohta Mitmekordne lineaarne regressioon R-s OLS-ist:

  • Keskmine võrdne 0-ga
  • Dispersioon võrdne Mitmekordne lineaarne regressioon R-s
  • Normaaljaotus
  • Juhuslikud vead on sõltumatud (tõenäosuslikus mõttes)

Sa pead lahendama Mitmekordne lineaarne regressioon R-s, regressioonikoefitsientide vektor, mis minimeerib prognoositud ja tegelike y väärtuste ruudu vigade summa.

Suletud vormis lahendus on:

Mitmekordne lineaarne regressioon R-s

kus:

  • tähistab üle maatriksist X
  • Mitmekordne lineaarne regressioon R-s tähistab pööratav maatriks

Kasutame mtcarsi andmestikku. Olete andmestikuga juba tuttav. Meie eesmärk on ennustada miili galloni kohta teatud funktsioonide kogumi kohta.

Pidevad muutujad R-is

Praegu kasutate ainult pidevaid muutujaid ja jätate kategoorilised tunnused kõrvale. Muutuja am on kahendmuutuja, mille väärtus on 1, kui käigukast on manuaalne, ja 0 automaatkäigukasti puhul; vs on samuti binaarne muutuja.

library(dplyr)
df <- mtcars % > %
select(-c(am, vs, cyl, gear, carb))
glimpse(df)

Väljund:

## 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...

Parameetrite arvutamiseks saate kasutada funktsiooni lm(). Selle funktsiooni põhisüntaks on:

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

Pidage meeles, et võrrandil on järgmine vorm

Pidevad muutujad R-is

aastal R

  • Sümbol = asendatakse sümboliga ~
  • Iga x asendatakse muutuja nimega
  • Kui soovite konstandi tühistada, lisage valemi lõppu -1

Näide:

Soovite hinnata üksikisikute kaalu nende pikkuse ja sissetulekute põhjal. Võrrand on

Pidevad muutujad R-is

Võrrand R-s on kirjutatud järgmiselt:

y ~ X1+ X2+…+Xn # Lõikepunktiga

Nii et meie näite jaoks:

  • Kaalu ~ pikkus + tulu

Teie eesmärk on hinnata miili galloni kohta muutujate komplekti põhjal. Hinnatav võrrand on järgmine:

Pidevad muutujad R-is

Hindate oma esimest lineaarset regressiooni ja salvestate tulemuse sobivasse objekti.

model <- mpg~.disp + hp + drat + wt
fit <- lm(model, df)
fit

Koodi selgitus

  • mudel <- mpg ~. disp + hp + drat+ wt: salvestage mudel, et hinnata
  • lm(mudel, df): hinnake mudelit andmeraamiga df
## 
## 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	

Väljund ei anna piisavalt teavet sobivuse kvaliteedi kohta. Funktsiooniga summary() pääsete juurde rohkematele üksikasjadele, nagu koefitsientide olulisus, vabadusaste ja jääkide kuju.

summary(fit)

Väljund:

## 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

Järeldus ülaltoodud tabeli väljundist

  • Ülaltoodud tabel tõestab, et wt ja läbisõidu vahel on tugev negatiivne seos ning positiivne seos dratiga.
  • Ainult muutujal wt on statistiline mõju mpg-le. Pidage meeles, et hüpoteesi testimiseks statistikas kasutame:
    • H0: Statistiline mõju puudub
    • H3: ennustajal on oluline mõju y-le
    • Kui p väärtus on väiksem kui 0.05, näitab see, et muutuja on statistiliselt oluline
  • Kohandatud R-ruut: mudeliga seletatav dispersioon. Teie mudelis selgitas mudel 82 protsenti y dispersioonist. R ruudus on alati 0 ja 1 vahel. Mida kõrgem, seda parem

Sa võid käivitada ANOVA test, et hinnata iga funktsiooni mõju dispersioonidele funktsiooni anova() abil.

anova(fit)

Väljund:

## 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	

Tavapärasem viis mudeli jõudluse hindamiseks on kuvada jääk erinevate mõõtmiste suhtes.

Funktsiooni plot() saate kasutada nelja graafiku kuvamiseks:

– Jääkväärtused vs

– Tavaline QQ diagramm: teoreetiline kvartiil vs standardsed jäägid

– Scale-Location: sobitatud väärtused vs standardiseeritud jääkide ruutjuured

– Jäägid vs finantsvõimendus: finantsvõimendus vs standardsed jäägid

Enne plot(fit) lisate koodi par(mfrow=c(2,2)). Kui te seda koodirida ei lisa, palub R teil vajutada järgmise graafiku kuvamiseks sisestuskäsku.

par(mfrow=(2,2))

Koodi selgitus

  • (mfrow=c(2,2)): tagastab akna nelja graafikuga kõrvuti.
  • Esimesed 2 lisavad ridade arvu
  • Teine 2 lisab veergude arvu.
  • Kui kirjutate (mfrow=c(3,2)): loote 3 rida ja 2 veergu akna
plot(fit)

Väljund:

Pidevad muutujad R-is

Valem lm() tagastab loendi, mis sisaldab palju kasulikku teavet. Saate neile juurde pääseda loodud sobitusobjektiga, millele järgneb märk $ ja teave, mida soovite ekstraktida.

– koefitsiendid: `sobivad$koefitsiendid`

– jäägid: `sobib$jäägid`

– sobitatud väärtus: `fit$fitted.values`

R-i regressioonifaktorid

Viimases mudelihinnangus regreseerite mpg ainult pidevate muutujate puhul. Faktormuutujate lisamine mudelisse on lihtne. Lisate oma mudelile muutuja am. Oluline on olla kindel, et muutuja on faktoritase, mitte pidev.

df <- mtcars % > %
mutate(cyl = factor(cyl),
    vs = factor(vs),
    am = factor(am),
    gear = factor(gear),
    carb = factor(carb))
summary(lm(model, df))

Väljund:

## 
## 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 kasutab baasrühmana esimest faktoritaset. Peate võrdlema teise rühma koefitsiente baasrühmaga.

Astmeline lineaarne regressioon R-s

Selle õpetuse viimane osa käsitleb astmeline regressioon algoritm. Selle algoritmi eesmärk on lisada ja eemaldada mudelitesse potentsiaalseid kandidaate ning jätta alles need, kellel on sõltuvale muutujale oluline mõju. See algoritm on mõttekas, kui andmestik sisaldab suurt loendit ennustajatest. Te ei pea sõltumatuid muutujaid käsitsi lisama ega eemaldama. Järkjärguline regressioon on üles ehitatud selleks, et valida mudeliga sobivad parimad kandidaadid.

Vaatame tegevuses, kuidas see toimib. Kasutate pidevate muutujatega mtcarsi andmestikku ainult pedagoogilise illustratsiooni jaoks. Enne analüüsi alustamist on hea korrelatsioonimaatriksi abil kindlaks teha andmete erinevused. GGally teek on ggplot2 laiendus.

Teek sisaldab erinevaid funktsioone kokkuvõtliku statistika kuvamiseks, nagu maatriksi kõigi muutujate korrelatsioon ja jaotus. Kasutame funktsiooni ggscatmat, kuid võite viidata vinjet GGally raamatukogu kohta lisateabe saamiseks.

Ggscatmat() põhisüntaks on:

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

Kuvate kõigi muutujate korrelatsiooni ja otsustate, milline neist on astmelise regressiooni esimese sammu jaoks parim kandidaat. Teie muutujate ja sõltuva muutuja mpg vahel on tugev seos.

library(GGally)
df <- mtcars % > %
	select(-c(am, vs, cyl, gear, carb))
ggscatmat(df, columns = 1: ncol(df))

Väljund:

Astmeline lineaarne regressioon R-s

Samm-sammuline regressioon Samm-sammult näide

Muutujate valik on mudeli sobitamiseks oluline osa. Järkjärguline regressioon teostab otsinguprotsessi automaatselt. Et hinnata, kui palju võimalikke valikuid andmekogumis on, arvutage Samm-sammuline regressioon Samm-sammult näide koos k-ga on ennustajate arv. Võimaluste hulk kasvab sõltumatute muutujate arvuga. Sellepärast peab teil olema automaatne otsing.

Peate installima olsrr paketi CRANist. Pakett pole veel Anacondas saadaval. Seetõttu installite selle otse käsurealt:

install.packages("olsrr")

Saate joonistada kõik võimaluste alamhulgad sobivuskriteeriumidega (st R-ruut, kohandatud R-ruut, Bayesi kriteeriumid). Madalaima AIC-kriteeriumiga mudel on lõplik mudel.

library(olsrr)
model <- mpg~.
fit <- lm(model, df)
test <- ols_all_subset(fit)
plot(test)

Koodi selgitus

  • mpg ~.: Ehitage mudel hindamiseks
  • lm(mudel, df): Käivitage OLS-mudel
  • ols_all_subset(sobib): koostage graafikud asjakohase statistilise teabega
  • joonis (test): Joonistage graafikud

Väljund:

Samm-sammuline regressioon Samm-sammult näide

Lineaarse regressiooni mudelid kasutavad t-test sõltumatu muutuja statistilise mõju hindamiseks sõltuvale muutujale. Teadlased seadsid maksimaalseks künniseks 10 protsenti, madalamad väärtused näitavad tugevamat statistilist seost. Selle testi ümber on üles ehitatud astmelise regressiooni strateegia potentsiaalsete kandidaatide lisamiseks ja eemaldamiseks. Algoritm töötab järgmiselt:

Astmeline lineaarne regressioon R-s
Astmeline lineaarne regressioon R-s
  • Samm 1: taanda iga ennustaja y-le eraldi. Nimelt regress x_1 y-l, x_2 y-l x_n. Säilitage p-väärtus ja hoida regressorit p-väärtusega määratletud lävest madalamal (vaikimisi 0.1). Lävendist väiksema olulisusega ennustajad lisatakse lõppmudelisse. Kui ühelgi muutujal ei ole sisestuslävest madalam p-väärtus, siis algoritm peatub ja teil on ainult konstandiga lõplik mudel.
  • Samm 2: Kasutage madalaima p-väärtusega ennustajat ja lisage eraldi üks muutuja. Te taandate konstanti, esimese ja kolmanda astme muutuja parimat ennustajat. Lisate astmelisele mudelile uued ennustajad, mille väärtus on väiksem kui sisenemislävi. Kui ühegi muutuja p-väärtus on väiksem kui 0.1, siis algoritm peatub ja teil on lõplik mudel ainult ühe ennustajaga. Te taandate etapiviisilist mudelit, et kontrollida 1. etapi parimate ennustajate olulisust. Kui see on eemaldamislävest kõrgem, säilitate selle astmelises mudelis. Vastasel juhul välistate selle.
  • Samm 3: kordate 2. sammu uues parimas etapiviisilises mudelis. Algoritm lisab astmelisele mudelile ennustajad sisestatud väärtuste põhjal ja jätab ennustaja astmelisest mudelist välja, kui see ei vasta välistamislävele.
  • Algoritm töötab seni, kuni muutujat ei saa lisada ega välistada.

Algoritmi saate täita olsrr-paketi funktsiooniga ols_stepwise().

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

Enne seda näitame teile algoritmi samme. Allpool on tabel sõltuvate ja sõltumatute muutujatega:

Sõltuv muutuja Sõltumatud muutujad
mpg laiali
hp
rott
wt
qsec

Avaleht

Alustuseks käivitab algoritm mudeli igal sõltumatul muutujal eraldi. Tabelis on näidatud iga mudeli p-väärtus.

## [[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

Mudeli sisestamiseks jätab algoritm väikseima p-väärtusega muutuja alles. Ülaltoodud väljundist on see wt

Samm 1

Esimeses etapis käivitab algoritm mpg wt-l ja muudel muutujatel sõltumatult.

## [[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

Iga muutuja on potentsiaalne kandidaat lõplikku mudelisse sisenemiseks. Algoritm säilitab aga ainult väiksema p-väärtusega muutuja. Selgub, et hp-l on pisut madalam p-väärtus kui qsec-il. Seetõttu siseneb hp lõplikku mudelisse

Samm 2

Algoritm kordab esimest sammu, kuid seekord kahe sõltumatu muutujaga lõplikus mudelis.

## [[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

Ühelgi lõplikku mudelisse sisestatud muutuja p-väärtus ei ole piisavalt madal. Algoritm peatub siin; meil on lõplik mudel:

## 
## 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

Tulemuste võrdlemiseks saate kasutada funktsiooni ols_stepwise().

stp_s <-ols_stepwise(fit, details=TRUE)

Väljund:

Algoritm leiab lahenduse pärast 2 sammu ja tagastab sama väljundi, mis meil oli varem.

Lõpuks võite öelda, et mudelid on seletatud kahe muutuja ja lõikepunktiga. Miil galloni kohta on negatiivses korrelatsioonis brutohobujõu ja kaaluga

## 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.

Masinõpe

Masinõpe on andmeteadlaste seas laialt levinud ja seda kasutatakse sadades toodetes, mida igapäevaselt kasutate. Üks esimesi ML-i rakendusi oli rämpsposti filter.

Järgmised on muud masinõppe rakendused -

  • Soovimatute rämpspostiteadete tuvastamine meilis
  • Kliendikäitumise segmenteerimine suunatud reklaami jaoks
  • Petturlike krediitkaarditehingute vähendamine
  • Energiakasutuse optimeerimine kodu- ja kontorihoonetes
  • näo tunnustamise

Juhendatud õppimine

In Juhendatud õppimine, sisaldavad treeninguandmed, mille algoritmile sisestate, silti.

Klassifikatsioon on ilmselt enim kasutatav juhendatud õppetehnika. Üks esimesi klassifitseerimisülesandeid, millega teadlased tegelesid, oli rämpspostifilter. Õppe eesmärk on ennustada, kas e-kiri liigitatakse rämpspostiks või singiks (hea meil). Masin suudab pärast koolitusetappi tuvastada meiliklassi.

Regressioonid kasutatakse tavaliselt masinõppe valdkonnas pideva väärtuse ennustamiseks. Regressiooniülesanne võib ennustada a väärtust sõltuv muutuja komplekti alusel sõltumatud muutujad (nimetatakse ka ennustajateks või regressoriteks). Näiteks võivad lineaarsed regressioonid ennustada aktsia hinda, ilmaennustust, müüki ja nii edasi.

Siin on mõnede põhiliste juhendatud õppealgoritmide loend.

  • Lineaarne regressioon
  • Logistiline regressioon
  • Lähimad naabrid
  • Toetage vektormasinat (SVM)
  • Otsustuspuud ja Random Forest
  • Närvivõrgud

Juhendamata õppimine

In Juhendamata õppimine, on treeninguandmed märgistamata. Süsteem proovib õppida ilma viiteta. Allpool on järelevalveta õppealgoritmide loend.

  • K-keskmine
  • Hierarhiline Cluster Analüüs
  • Ootuste maksimeerimine
  • Visualiseerimine ja mõõtmete vähendamine
  • Põhikomponentide analüüs
  • Kerneli PCA
  • Lokaalselt-lineaarne manustamine

kokkuvõte

  • Lineaarne regressioon vastab lihtsale küsimusele: kas saate mõõta täpset seost ühe sihtmuutuja ja ennustajate kogumi vahel?
  • Tavaliste vähimate ruutude meetod püüab leida parameetreid, mis minimeerivad ruudu vigade summat ehk vertikaalset kaugust prognoositud y väärtuste ja tegelike y väärtuste vahel.
  • Tõenäosuslikku mudelit, mis sisaldab rohkem kui ühte sõltumatut muutujat, nimetatakse mitme regressiooni mudeliks.
  • Stepwise Linear Regressiooni algoritmi eesmärk on lisada ja eemaldada mudelitesse potentsiaalseid kandidaate ning säilitada neid, kellel on sõltuvale muutujale oluline mõju.
  • Muutujate valik on mudeli sobitamiseks oluline osa. Järkjärguline regressioon teostab otsinguprotsessi automaatselt.

Tavalise vähimruutude regressiooni saab kokku võtta allolevas tabelis:

Raamatukogu Eesmärk funktsioon Argumendid
baas Arvutage lineaarne regressioon lm() valem, andmed
baas Tehke mudeli kokkuvõte kokkuvõte() sobima
baas Ekstrakti koefitsiendid lm()$koefitsient
baas Ekstraheerige jäägid lm()$jäägid
baas Väljavõtte sobitatud väärtus lm()$fitted.values
olsrr Käivitage astmeline regressioon ols_stepwise() sobiv, pent = 0.1, prem = 0.3, üksikasjad = VÄÄR

märkused: Ärge unustage enne mudeli sobitamiseks kategoorilist muutujat teguriks teisendada.