R Postupna i višestruka linearna regresija [primjer korak po korak]

Jednostavna linearna regresija u R

Linearna regresija odgovara na jednostavno pitanje: možete li izmjeriti točan odnos između jedne ciljane varijable i skupa prediktora?

Najjednostavniji vjerojatnosni model je pravocrtni model:

Jednostavna linearna regresija u R

gdje

  • y = Zavisna varijabla
  • x = Nezavisna varijabla
  • Jednostavna linearna regresija u R = komponenta slučajne pogreške
  • Jednostavna linearna regresija u R = presresti
  • Jednostavna linearna regresija u R = Koeficijent x

Razmotrite sljedeći zaplet:

Jednostavna linearna regresija u R

Jednadžba je Jednostavna linearna regresija u R je presretanje. Ako je x jednako 0, y će biti jednako presjeku, 4.77. je nagib linije. On govori u kojem omjeru y varira kada x varira.

Za procjenu optimalnih vrijednosti Jednostavna linearna regresija u R i Jednostavna linearna regresija u R, koristite metodu tzv Obični najmanji kvadrati (OLS). Ova metoda pokušava pronaći parametre koji minimiziraju zbroj kvadrata pogrešaka, odnosno okomitu udaljenost između predviđenih vrijednosti y i stvarnih vrijednosti y. Razlika je poznata kao termin pogreške.

Prije nego što procijenite model, možete odrediti je li linearni odnos između y i x moguć iscrtavanjem dijagrama raspršenja.

Dijagram raspršenosti

Koristit ćemo vrlo jednostavan skup podataka kako bismo objasnili koncept jednostavne linearne regresije. Uvest ćemo prosječne visine i težine za američke žene. Skup podataka sadrži 15 opažanja. Želite izmjeriti jesu li visine u pozitivnoj korelaciji s težinama.

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

Izlaz:

Dijagram raspršenosti

Dijagram raspršenosti sugerira opću tendenciju da se y povećava kako x raste. U sljedećem koraku izmjerit ćete koliko se povećava za svaki dodatni .

Procjene najmanjih kvadrata

U jednostavnoj OLS regresiji, izračun od Procjene najmanjih kvadrata i Procjene najmanjih kvadrata je jednostavan. Cilj nije pokazati izvođenje u ovom vodiču. Napisat ćete samo formulu.

Želite procijeniti: Procjene najmanjih kvadrata

Cilj OLS regresije je minimizirati sljedeću jednadžbu:

Procjene najmanjih kvadrata

gdje

Procjene najmanjih kvadrata je stvarna vrijednost i Procjene najmanjih kvadrata je predviđena vrijednost.

Rješenje za Procjene najmanjih kvadrata is Procjene najmanjih kvadrata

Imajte na umu da Procjene najmanjih kvadrata znači prosječnu vrijednost x

Rješenje za Procjene najmanjih kvadrata is Procjene najmanjih kvadrata

U R-u možete koristiti funkcije cov() i var() za procjenu Procjene najmanjih kvadrata a za procjenu možete koristiti funkciju mean(). Procjene najmanjih kvadrata

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

Izlaz:

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

Izlaz:

## [1] -87.51667

Beta koeficijent podrazumijeva da se za svaku dodatnu visinu težina povećava za 3.45.

Ručno procjenjivanje jednostavne linearne jednadžbe nije idealno. R pruža prikladnu funkciju za procjenu ovih parametara. Uskoro ćete vidjeti ovu funkciju. Prije toga, predstavit ćemo kako ručno izračunati jednostavan model linearne regresije. Na svom putu podatkovnog znanstvenika jedva ili nikada nećete procijeniti jednostavan linearni model. U većini situacija, regresijski zadaci se izvode na velikom broju procjenitelja.

Višestruka linearna regresija u R

Praktičnije primjene regresijske analize koriste modele koji su složeniji od jednostavnog pravocrtnog modela. Vjerojatni model koji uključuje više od jedne nezavisne varijable naziva se višestruki regresijski modeli. Opći oblik ovog modela je:

Višestruka linearna regresija u R

U matričnom zapisu, možete prepisati model:

  • Višestruka linearna regresija u R

Zavisna varijabla y sada je funkcija k nezavisnih varijabli. Vrijednost koeficijenta Višestruka linearna regresija u R određuje doprinos nezavisne varijable Višestruka linearna regresija u R i Višestruka linearna regresija u R.

Ukratko predstavljamo pretpostavku koju smo napravili o slučajnoj pogrešci Višestruka linearna regresija u R OLS-a:

  • Srednja vrijednost jednaka 0
  • Varijanca jednaka Višestruka linearna regresija u R
  • Normalna distribucija
  • Slučajne pogreške su neovisne (u vjerojatnosnom smislu)

Morate riješiti za Višestruka linearna regresija u R, vektor regresijskih koeficijenata koji minimiziraju zbroj kvadrata pogrešaka između predviđenih i stvarnih y vrijednosti.

Rješenje zatvorenog oblika je:

Višestruka linearna regresija u R

s:

  • označava prenositi matrice X
  • Višestruka linearna regresija u R označava invertibilna matrica

Koristimo skup podataka mtcars. Već ste upoznati sa skupom podataka. Naš cilj je predvidjeti milju po galonu preko niza značajki.

Kontinuirane varijable u R

Za sada ćete koristiti samo kontinuirane varijable i ostaviti po strani kategoričke značajke. Varijabla am je binarna varijabla koja ima vrijednost 1 ako je mjenjač ručni i 0 za automatske automobile; vs je također binarna varijabla.

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

Izlaz:

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

Za izračunavanje parametara možete koristiti funkciju lm(). Osnovna sintaksa ove funkcije je:

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

Zapamtite da je jednadžba sljedećeg oblika

Kontinuirane varijable u R

u R

  • Simbol = zamjenjuje se sa ~
  • Svaki x zamijenjen je imenom varijable
  • Ako želite izbaciti konstantu, dodajte -1 na kraju formule

Primjer:

Želite procijeniti težinu pojedinaca na temelju njihove visine i prihoda. Jednadžba je

Kontinuirane varijable u R

Jednadžba u R je napisana na sljedeći način:

y ~ X1+ X2+…+Xn # S presjekom

Dakle, za naš primjer:

  • Vagati ~ visina + prihod

Vaš cilj je procijeniti milju po galonu na temelju niza varijabli. Jednadžba za procjenu je:

Kontinuirane varijable u R

Procijenit ćete svoju prvu linearnu regresiju i pohraniti rezultat u fit objekt.

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

Objašnjenje koda

  • model <- mpg ~. disp + hp + drat+ wt: Pohranite model za procjenu
  • lm(model, df): Procijenite model s okvirom podataka 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	

Izlaz ne pruža dovoljno informacija o kvaliteti pristajanja. Pomoću funkcije summary() možete pristupiti više detalja kao što su značaj koeficijenata, stupanj slobode i oblik reziduala.

summary(fit)

Izlaz:

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

Zaključak iz gornjeg izlaza tablice

  • Gornja tablica dokazuje da postoji snažan negativan odnos između težine i kilometraže i pozitivan odnos s dratom.
  • Samo varijabla wt ima statistički utjecaj na mpg. Zapamtite, za testiranje hipoteze u statistici koristimo:
    • H0: Nema statističkog utjecaja
    • H3: Prediktor ima značajan utjecaj na y
    • Ako je p vrijednost niža od 0.05, to znači da je varijabla statistički značajna
  • Prilagođeni R-kvadrat: varijanca objašnjena modelom. U vašem modelu, model je objasnio 82 posto varijance y. R na kvadrat je uvijek između 0 i 1. Što je veći to bolje

Možete pokrenuti ANOVA test za procjenu učinka svake značajke na varijance pomoću funkcije anova().

anova(fit)

Izlaz:

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

Konvencionalniji način procjene izvedbe modela je prikaz reziduala u odnosu na različite mjere.

Možete koristiti funkciju plot() za prikaz četiri grafikona:

– Ostaci u odnosu na prilagođene vrijednosti

– Normalni QQ grafikon: teorijski kvartil u odnosu na standardizirane reziduale

– Skala-lokacija: prilagođene vrijednosti u odnosu na kvadratne korijene standardiziranih reziduala

– Ostaci u odnosu na financijsku polugu: financijska poluga u odnosu na standardizirane reziduale

Dodajete kod par(mfrow=c(2,2)) prije plot(fit). Ako ne dodate ovaj redak koda, R će od vas zatražiti da pritisnete naredbu enter za prikaz sljedećeg grafikona.

par(mfrow=(2,2))

Objašnjenje koda

  • (mfrow=c(2,2)): vraća prozor s četiri grafikona jedan pored drugog.
  • Prva 2 zbrajaju broj redaka
  • Druga 2 dodaje broj stupaca.
  • Ako napišete (mfrow=c(3,2)): stvorit ćete prozor s 3 reda i 2 stupca
plot(fit)

Izlaz:

Kontinuirane varijable u R

Formula lm() vraća popis koji sadrži puno korisnih informacija. Možete im pristupiti s odgovarajućim objektom koji ste izradili, nakon čega slijedi znak $ i informacije koje želite izdvojiti.

– koeficijenti: `fit$coefficients`

– ostaci: `fit$reziduali`

– prilagođena vrijednost: `fit$fitted.values`

Faktori regresije u R

U posljednjoj procjeni modela, regresirate mpg samo na kontinuirane varijable. Modelu je jednostavno dodati faktorske varijable. Svojem modelu dodajete varijablu am. Važno je biti siguran da je varijabla faktorska razina, a ne kontinuirana.

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

Izlaz:

## 
## 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 koristi prvu razinu faktora kao osnovnu grupu. Morate usporediti koeficijente druge grupe u odnosu na osnovnu grupu.

Postepena linearna regresija u R

Posljednji dio ovog vodiča bavi se postupna regresija algoritam. Svrha ovog algoritma je dodavanje i uklanjanje potencijalnih kandidata u modelima i zadržavanje onih koji imaju značajan utjecaj na zavisnu varijablu. Ovaj algoritam ima smisla kada skup podataka sadrži veliki popis prediktora. Ne morate ručno dodavati i uklanjati nezavisne varijable. Postepena regresija izgrađena je za odabir najboljih kandidata koji odgovaraju modelu.

Pogledajmo na djelu kako to radi. Skup podataka mtcars s kontinuiranim varijablama koristite samo za pedagošku ilustraciju. Prije nego počnete s analizom, dobro je utvrditi varijacije između podataka pomoću korelacijske matrice. Knjižnica GGally je proširenje ggplot2.

Knjižnica uključuje različite funkcije za prikaz sumarne statistike kao što su korelacija i distribucija svih varijabli u matrici. Koristit ćemo funkciju ggscatmat, ali možete se pozvati na vinjeta za više informacija o knjižnici GGally.

Osnovna sintaksa za ggscatmat() je:

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

Prikazujete korelaciju za sve svoje varijable i odlučujete koja će biti najbolji kandidati za prvi korak postupne regresije. Postoje neke jake korelacije između vaših varijabli i zavisne varijable, mpg.

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

Izlaz:

Postepena linearna regresija u R

Korak po korak primjer regresije

Odabir varijabli važan je dio za uklapanje modela. Postepena regresija će automatski izvršiti proces pretraživanja. Da biste procijenili koliko mogućih izbora postoji u skupu podataka, izračunajte Korak po korak primjer regresije gdje je k broj prediktora. Količina mogućnosti raste s brojem nezavisnih varijabli. Zato morate imati automatsku pretragu.

Morate instalirati paket olsrr iz CRAN-a. Paket još nije dostupan u Anacondi. Stoga ga instalirate izravno iz naredbenog retka:

install.packages("olsrr")

Možete iscrtati sve podskupove mogućnosti s kriterijima prilagodbe (tj. R-kvadrat, prilagođeni R-kvadrat, Bayesov kriterij). Model s najnižim AIC kriterijima bit će konačni model.

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

Objašnjenje koda

  • mpg ~.: Konstruirajte model za procjenu
  • lm(model, df): Pokrenite OLS model
  • ols_svi_podskup(fit): Konstruirajte grafikone s relevantnim statističkim informacijama
  • dijagram (test): Iscrtajte grafikone

Izlaz:

Korak po korak primjer regresije

Modeli linearne regresije koriste t-test za procjenu statističkog utjecaja nezavisne varijable na zavisnu varijablu. Istraživači su postavili maksimalni prag na 10 posto, a niže vrijednosti ukazuju na jaču statističku vezu. Strategija postupne regresije konstruirana je oko ovog testa za dodavanje i uklanjanje potencijalnih kandidata. Algoritam radi na sljedeći način:

Postepena linearna regresija u R
Postepena linearna regresija u R
  • Korak 1: Regresirajte svaki prediktor na y zasebno. Naime, regresija x_1 na y, x_2 na y na x_n. Pohranite p-vrijednost i zadržite regresor s p-vrijednošću nižom od definiranog praga (0.1 prema zadanim postavkama). Prediktori sa značajnošću nižom od praga bit će dodani konačnom modelu. Ako nijedna varijabla nema p-vrijednost nižu od ulaznog praga, tada se algoritam zaustavlja i imate svoj konačni model samo s konstantom.
  • Korak 2: Koristite prediktor s najnižom p-vrijednošću i zasebno dodaje jednu varijablu. Regresirate konstantu, najbolji prediktor prvog koraka i treće varijable. Postupnom modelu dodajete nove prediktore s vrijednošću nižom od ulaznog praga. Ako nijedna varijabla nema p-vrijednost nižu od 0.1, tada se algoritam zaustavlja i imate svoj konačni model sa samo jednim prediktorom. Regresirate postupni model kako biste provjerili značaj najboljih prediktora za prvi korak. Ako je viši od praga za uklanjanje, zadržavate ga u postupnom modelu. U protivnom ga isključujete.
  • Korak 3: Replicirate korak 2 na novom najboljem modelu korak po korak. Algoritam dodaje prediktore u postupni model na temelju unesenih vrijednosti i isključuje prediktor iz postupnog modela ako ne zadovoljava prag isključivanja.
  • Algoritam nastavlja raditi dok se nijedna varijabla ne može dodati ili isključiti.

Algoritam možete izvesti s funkcijom ols_stepwise() iz paketa olsrr.

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

Prije toga, pokazat ćemo vam korake algoritma. Dolje je tablica s ovisnim i nezavisnim varijablama:

Zavisna varijabla Nezavisne varijable
mpg dostupno
hp
štakor
wt
qsec

početni plan

Za početak, algoritam počinje pokretanjem modela na svakoj nezavisnoj varijabli zasebno. Tablica prikazuje p-vrijednost za svaki model.

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

Za ulazak u model, algoritam zadržava varijablu s najnižom p-vrijednošću. Iz gornjeg rezultata, to je mas

Korak 1

U prvom koraku, algoritam neovisno pokreće mpg na wt i drugim varijablama.

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

Svaka varijabla potencijalni je kandidat za ulazak u konačni model. Međutim, algoritam zadržava samo varijablu s nižom p-vrijednošću. Ispostavilo se da HP ima malo nižu p-vrijednost od qsec. Dakle, hp ulazi u konačni model

Korak 2

Algoritam ponavlja prvi korak, ali ovaj put s dvije neovisne varijable u konačnom modelu.

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

Nijedna od varijabli koje su ušle u konačni model nema dovoljno nisku p-vrijednost. Algoritam ovdje prestaje; imamo konačni model:

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

Možete koristiti funkciju ols_stepwise() za usporedbu rezultata.

stp_s <-ols_stepwise(fit, details=TRUE)

Izlaz:

Algoritam pronalazi rješenje nakon 2 koraka i vraća isti izlaz kao i prije.

Na kraju, možete reći da je model objašnjen dvjema varijablama i presjekom. Milja po galonu je u negativnoj korelaciji s bruto konjskim snagama i težinom

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

Strojno učenje

Strojno učenje postaje široko rasprostranjen među podatkovnim znanstvenicima i primjenjuje se u stotinama proizvoda koje svakodnevno koristite. Jedna od prvih ML aplikacija bila je filtar za neželjenu poštu.

Slijede druge primjene strojnog učenja-

  • Identifikacija neželjenih spam poruka u e-pošti
  • Segmentacija ponašanja kupaca za ciljano oglašavanje
  • Smanjenje lažnih transakcija kreditnim karticama
  • Optimizacija korištenja energije u stambenim i poslovnim zgradama
  • prepoznavanje lica

Nadzirano učenje

In Nadzirano učenje, podaci o obuci koje unesete u algoritam uključuju oznaku.

Klasifikacija je vjerojatno najkorištenija tehnika nadziranog učenja. Jedan od prvih zadataka klasifikacije s kojim su se istraživači uhvatili u koštac bio je filter neželjene pošte. Cilj učenja je predvidjeti je li e-pošta klasificirana kao spam ili ham (dobra e-pošta). Stroj, nakon koraka obuke, može otkriti klasu e-pošte.

Regresije obično se koriste u području strojnog učenja za predviđanje kontinuirane vrijednosti. Regresijski zadatak može predvidjeti vrijednost a zavisna varijabla na temelju skupa neovisne varijable (također se nazivaju prediktori ili regresori). Na primjer, linearna regresija može predvidjeti cijenu dionice, vremensku prognozu, prodaju i tako dalje.

Ovdje je popis nekih temeljnih algoritama učenja pod nadzorom.

  • Linearna regresija
  • Logistička regresija
  • Najbliži susjedi
  • Support Vector Machine (SVM)
  • Stabla odlučivanja i slučajna šuma
  • Neuronske mreže

Učenje bez nadzora

In Učenje bez nadzora, podaci o obuci nisu označeni. Sustav pokušava učiti bez reference. Dolje je popis algoritama učenja bez nadzora.

  • K-srednja vrijednost
  • hijerarhijski Cluster Analiza
  • Maksimiziranje očekivanja
  • Vizualizacija i smanjenje dimenzionalnosti
  • Analiza glavne komponente
  • Kernel PCA
  • Lokalno-linearno ugrađivanje

rezime

  • Linearna regresija odgovara na jednostavno pitanje: možete li izmjeriti točan odnos između jedne ciljane varijable i skupa prediktora?
  • Uobičajena metoda najmanjih kvadrata pokušava pronaći parametre koji minimiziraju zbroj kvadrata pogrešaka, odnosno okomitu udaljenost između predviđenih vrijednosti y i stvarnih vrijednosti y.
  • Vjerojatnosni model koji uključuje više od jedne nezavisne varijable naziva se model višestruke regresije.
  • Svrha algoritma Stepwise Linear Regression je dodavanje i uklanjanje potencijalnih kandidata u modelima i zadržavanje onih koji imaju značajan utjecaj na zavisnu varijablu.
  • Odabir varijabli važan je dio za uklapanje modela. Postepena regresija automatski izvodi proces pretraživanja.

Uobičajena regresija najmanjeg kvadrata može se sažeti u tablici u nastavku:

Knjižnica Cilj funkcija argumenti
baza Izračunajte linearnu regresiju lm() formula, podaci
baza Sažeti model rezimirati() pristajati
baza Ekstrakt koeficijenata lm()$koeficijent
baza Izvadite ostatke lm()$reziduali
baza Ekstrakt ugrađene vrijednosti lm()$uklopljene.vrijednosti
olsrr Pokrenite postupnu regresiju ols_stepwise() pristajanje, pent = 0.1, prem = 0.3, detalji = FALSE

bilješke: Ne zaboravite transformirati kategoričku varijablu u faktor prije uklapanja u model.