R Trinnvis og multippel lineær regresjon [Trinn for trinn eksempel]

Enkel lineær regresjon i R

Lineær regresjon svarer på et enkelt spørsmål: Kan du måle en nøyaktig sammenheng mellom én målvariabel og et sett med prediktorer?

Den enkleste sannsynlighetsmodellen er den rette linjemodellen:

Enkel lineær regresjon i R

hvor

  • y = Avhengig variabel
  • x = Uavhengig variabel
  • Enkel lineær regresjon i R = tilfeldig feilkomponent
  • Enkel lineær regresjon i R = avskjære
  • Enkel lineær regresjon i R = Koeffisient av x

Tenk på følgende plot:

Enkel lineær regresjon i R

Ligningen er Enkel lineær regresjon i R er avskjæringen. Hvis x er lik 0, vil y være lik skjæringspunktet, 4.77. er helningen på linjen. Den forteller i hvilken andel y varierer når x varierer.

For å estimere de optimale verdiene av Enkel lineær regresjon i R og Enkel lineær regresjon i R, bruker du en metode som heter Vanlige minste kvadrater (OLS). Denne metoden prøver å finne parameterne som minimerer summen av kvadratfeilene, det vil si den vertikale avstanden mellom de predikerte y-verdiene og de faktiske y-verdiene. Forskjellen er kjent som feilbegrep.

Før du estimerer modellen, kan du bestemme om en lineær sammenheng mellom y og x er plausibel ved å plotte et spredningsplott.

Scatterplot

Vi vil bruke et veldig enkelt datasett for å forklare begrepet enkel lineær regresjon. Vi vil importere gjennomsnittlige høyder og vekter for amerikanske kvinner. Datasettet inneholder 15 observasjoner. Du vil måle om høyder er positivt korrelert med vekter.

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

Utgang:

Scatterplot

Spredningsdiagrammet antyder en generell tendens til at y øker når x øker. I neste trinn vil du måle etter hvor mye økning for hver ekstra .

Minste kvadraters estimater

I en enkel OLS regresjon, beregningen av Minste kvadraters estimater og Minste kvadraters estimater er grei. Målet er ikke å vise avledningen i denne opplæringen. Du vil bare skrive formelen.

Du vil anslå: Minste kvadraters estimater

Målet med OLS-regresjonen er å minimere følgende ligning:

Minste kvadraters estimater

hvor

Minste kvadraters estimater er den faktiske verdien og Minste kvadraters estimater er den anslåtte verdien.

Løsningen for Minste kvadraters estimater is Minste kvadraters estimater

Legg merke til at Minste kvadraters estimater betyr gjennomsnittsverdien av x

Løsningen for Minste kvadraters estimater is Minste kvadraters estimater

I R kan du bruke cov()og var()funksjonen for å estimere Minste kvadraters estimater og du kan bruke mean()-funksjonen for å estimere Minste kvadraters estimater

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

Utgang:

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

Utgang:

## [1] -87.51667

Beta-koeffisienten innebærer at for hver ekstra høyde øker vekten med 3.45.

Å estimere enkel lineær ligning manuelt er ikke ideelt. R gir en passende funksjon for å estimere disse parameterne. Du vil se denne funksjonen snart. Før det vil vi introdusere hvordan man beregner for hånd en enkel lineær regresjonsmodell. På reisen som dataforsker vil du knapt eller aldri estimere en enkel lineær modell. I de fleste situasjoner utføres regresjonsoppgaver på mange estimatorer.

Multippel lineær regresjon i R

Mer praktiske anvendelser av regresjonsanalyse bruker modeller som er mer komplekse enn den enkle lineære modellen. Den sannsynlige modellen som inkluderer mer enn én uavhengig variabel kalles flere regresjonsmodeller. Den generelle formen for denne modellen er:

Multippel lineær regresjon i R

I matrisenotasjon kan du skrive om modellen:

  • Multippel lineær regresjon i R

Den avhengige variabelen y er nå en funksjon av k uavhengige variabler. Verdien av koeffisienten Multippel lineær regresjon i R bestemmer bidraget til den uavhengige variabelen Multippel lineær regresjon i R og Multippel lineær regresjon i R.

Vi introduserer kort antagelsen vi gjorde om den tilfeldige feilen Multippel lineær regresjon i R av OLS:

  • Gjennomsnitt lik 0
  • Varians lik Multippel lineær regresjon i R
  • Normal distribusjon
  • Tilfeldige feil er uavhengige (i en sannsynlighet)

Du må løse for Multippel lineær regresjon i R, vektoren av regresjonskoeffisienter som minimerer summen av kvadratfeilene mellom de predikerte og faktiske y-verdiene.

Løsningen i lukket form er:

Multippel lineær regresjon i R

med:

  • indikerer transponere av matrisen X
  • Multippel lineær regresjon i R indikerer inverterbar matrise

Vi bruker mtcars-datasettet. Du er allerede kjent med datasettet. Målet vårt er å forutsi mile per gallon over et sett med funksjoner.

Kontinuerlige variabler i R

Foreløpig vil du bare bruke de kontinuerlige variablene og legge til side kategoriske funksjoner. Variabelen am er en binær variabel som tar verdien av 1 hvis girkassen er manuell og 0 for automatiske biler; vs er også en binær variabel.

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

Utgang:

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

Du kan bruke lm()-funksjonen til å beregne parameterne. Den grunnleggende syntaksen til denne funksjonen er:

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

Husk at en ligning har følgende form

Kontinuerlige variabler i R

i R

  • Symbolet = erstattes av ~
  • Hver x er erstattet av variabelnavnet
  • Hvis du vil slippe konstanten, legger du til -1 på slutten av formelen

Eksempel:

Du vil estimere vekten til enkeltpersoner basert på deres høyde og inntekt. Ligningen er

Kontinuerlige variabler i R

Ligningen i R er skrevet som følger:

y ~ X1+ X2+…+Xn # Med avskjæring

Så for vårt eksempel:

  • Vei ~ høyde + inntekt

Målet ditt er å estimere milen per gallon basert på et sett med variabler. Ligningen som skal estimeres er:

Kontinuerlige variabler i R

Du vil estimere din første lineære regresjon og lagre resultatet i tilpasningsobjektet.

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

Kode Forklaring

  • modell <- mpg ~. disp + hp + drat+ wt: Lagre modellen for å estimere
  • lm(modell, df): Estimer modellen med datarammen 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	

Utdataene gir ikke nok informasjon om kvaliteten på passformen. Du kan få tilgang til flere detaljer som betydningen av koeffisientene, graden av frihet og formen på residualene med summary()-funksjonen.

summary(fit)

Utgang:

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

Konklusjon fra tabellen ovenfor

  • Tabellen ovenfor viser at det er en sterk negativ sammenheng mellom vekt og kjørelengde og positiv sammenheng med drat.
  • Bare variabelen wt har en statistisk innvirkning på mpg. Husk at for å teste en hypotese i statistikk bruker vi:
    • H0: Ingen statistisk effekt
    • H3: Prediktoren har en meningsfull innvirkning på y
    • Hvis p-verdien er lavere enn 0.05, indikerer det at variabelen er statistisk signifikant
  • Justert R-kvadrat: Varians forklart av modellen. I modellen din forklarte modellen 82 prosent av variansen til y. R i annen er alltid mellom 0 og 1. Jo høyere jo bedre

Du kan kjøre ANOVA test for å estimere effekten av hver funksjon på variansene med anova()-funksjonen.

anova(fit)

Utgang:

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

En mer konvensjonell måte å estimere modellytelsen på er å vise residuet mot ulike mål.

Du kan bruke plot()-funksjonen til å vise fire grafer:

– Residualer vs. tilpassede verdier

– Normal QQ-plott: Teoretisk kvartil vs standardiserte residualer

– Skala-plassering: Tilpassede verdier vs kvadratrøtter av de standardiserte residualene

– Residualer vs gearing: gearing vs standardiserte rester

Du legger til koden par(mfrow=c(2,2)) før plot(fit). Hvis du ikke legger til denne kodelinjen, ber R deg trykke enter-kommandoen for å vise neste graf.

par(mfrow=(2,2))

Kode Forklaring

  • (mfrow=c(2,2)): returner et vindu med de fire grafene side om side.
  • De 2 første legger til antall rader
  • Den andre 2 legger til antall kolonner.
  • Hvis du skriver (mfrow=c(3,2)): vil du lage et vindu med 3 rader og 2 kolonner
plot(fit)

Utgang:

Kontinuerlige variabler i R

Formelen lm() returnerer en liste som inneholder mye nyttig informasjon. Du får tilgang til dem med tilpasningsobjektet du har laget, etterfulgt av $-tegnet og informasjonen du vil trekke ut.

– koeffisienter: `fit$coefficients`

– residualer: `fit$residuals`

– tilpasset verdi: `fit$fitted.values`

Faktorer regresjon i R

I den siste modellestimeringen regresserer du bare mpg på kontinuerlige variabler. Det er enkelt å legge til faktorvariabler i modellen. Du legger til variabelen am til modellen din. Det er viktig å være sikker på at variabelen er et faktornivå og ikke kontinuerlig.

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

Utgang:

## 
## 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 bruker det første faktornivået som en basisgruppe. Du må sammenligne koeffisientene til den andre gruppen med basisgruppen.

Trinnvis lineær regresjon i R

Den siste delen av denne opplæringen omhandler trinnvis regresjon algoritme. Hensikten med denne algoritmen er å legge til og fjerne potensielle kandidater i modellene og beholde de som har en betydelig innvirkning på den avhengige variabelen. Denne algoritmen er meningsfull når datasettet inneholder en stor liste med prediktorer. Du trenger ikke å legge til og fjerne de uavhengige variablene manuelt. Den trinnvise regresjonen er bygget for å velge de beste kandidatene for å passe til modellen.

La oss se i aksjon hvordan det fungerer. Du bruker mtcars-datasettet med de kontinuerlige variablene kun for pedagogisk illustrasjon. Før du begynner å analysere, er det greit å etablere variasjoner mellom dataene med en korrelasjonsmatrise. GGally-biblioteket er en utvidelse av ggplot2.

Biblioteket inneholder ulike funksjoner for å vise oppsummerende statistikk som korrelasjon og distribusjon av alle variablene i en matrise. Vi vil bruke ggscatmat-funksjonen, men du kan referere til vignett for mer informasjon om GGally-biblioteket.

Den grunnleggende syntaksen for ggscatmat() er:

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

Du viser korrelasjonen for alle variablene dine og bestemmer hvilken som vil være de beste kandidatene for det første trinnet i den trinnvise regresjonen. Det er noen sterke korrelasjoner mellom variablene dine og den avhengige variabelen, mpg.

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

Utgang:

Trinnvis lineær regresjon i R

Trinnvis regresjon Trinnvis eksempel

Variablevalg er en viktig del for å passe til en modell. Den trinnvise regresjonen vil utføre søkeprosessen automatisk. For å estimere hvor mange mulige valg det er i datasettet, beregner du Trinnvis regresjon Trinnvis eksempel med k er antall prediktorer. Mengden av muligheter vokser seg større med antall uavhengige variabler. Det er derfor du må ha et automatisk søk.

Du må installere olsrr-pakken fra CRAN. Pakken er ennå ikke tilgjengelig i Anaconda. Derfor installerer du den direkte fra kommandolinjen:

install.packages("olsrr")

Du kan plotte alle undersettene av muligheter med tilpasningskriteriene (dvs. R-kvadrat, Justert R-kvadrat, Bayesianske kriterier). Modellen med de laveste AIC-kriteriene vil være den endelige modellen.

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

Kode Forklaring

  • mpg ~.: Konstruer modellen for å estimere
  • lm(modell, df): Kjør OLS-modellen
  • ols_all_subset(tilpasning): Konstruer grafene med relevant statistisk informasjon
  • plot (test): Tegn grafene

Utgang:

Trinnvis regresjon Trinnvis eksempel

Lineære regresjonsmodeller bruker t-test å estimere den statistiske innvirkningen av en uavhengig variabel på den avhengige variabelen. Forskere satte den maksimale terskelen til 10 prosent, med lavere verdier indikerer en sterkere statistisk kobling. Strategien for den trinnvise regresjonen er konstruert rundt denne testen for å legge til og fjerne potensielle kandidater. Algoritmen fungerer som følger:

Trinnvis lineær regresjon i R
Trinnvis lineær regresjon i R
  • Trinn 1: Regress hver prediktor på y separat. Nemlig, regress x_1 på y, x_2 på y til x_n. Lagre p-verdien og hold regressoren med en p-verdi lavere enn en definert terskel (0.1 som standard). Prediktorene med signifikans lavere enn terskelen vil bli lagt til den endelige modellen. Hvis ingen variabel har en p-verdi lavere enn inngangsterskelen, stopper algoritmen, og du har den endelige modellen med kun en konstant.
  • Trinn 2: Bruk prediktoren med den laveste p-verdien og legg til én variabel separat. Du regresserer en konstant, den beste prediktoren for trinn én og en tredje variabel. Du legger til den trinnvise modellen, de nye prediktorene med en verdi lavere enn inngangsterskelen. Hvis ingen variabel har en p-verdi lavere enn 0.1, stopper algoritmen, og du har den endelige modellen med kun én prediktor. Du regresserer den trinnvise modellen for å sjekke betydningen av trinn 1 beste prediktorer. Hvis den er høyere enn fjerningsterskelen, beholder du den i den trinnvise modellen. Ellers utelukker du det.
  • Trinn 3: Du replikerer trinn 2 på den nye beste trinnvise modellen. Algoritmen legger til prediktorer til den trinnvise modellen basert på inntastingsverdiene og ekskluderer prediktoren fra den trinnvise modellen hvis den ikke tilfredsstiller ekskluderingsterskelen.
  • Algoritmen fortsetter til ingen variabel kan legges til eller ekskluderes.

Du kan utføre algoritmen med funksjonen ols_stepwise() fra olsrr-pakken.

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

Før det viser vi deg trinnene til algoritmen. Nedenfor er en tabell med de avhengige og uavhengige variablene:

Avhengig variabel Uavhengige variabler
mpg disp
hp
rotte
wt
qsec

Start

Til å begynne med starter algoritmen med å kjøre modellen på hver uavhengig variabel separat. Tabellen viser p-verdien for hver modell.

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

For å gå inn i modellen beholder algoritmen variabelen med den laveste p-verdien. Fra utgangen ovenfor er det wt

Trinn 1

I det første trinnet kjører algoritmen mpg på wt og de andre variablene uavhengig.

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

Hver variabel er en potensiell kandidat til å gå inn i den endelige modellen. Algoritmen beholder imidlertid bare variabelen med den lavere p-verdien. Det viser seg at hk har en litt lavere p-verdi enn qsec. Derfor går hp inn i den endelige modellen

Trinn 2

Algoritmen gjentar det første trinnet, men denne gangen med to uavhengige variabler i den endelige modellen.

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

Ingen av variablene som kom inn i den endelige modellen har en p-verdi som er tilstrekkelig lav. Algoritmen stopper her; vi har den endelige modellen:

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

Du kan bruke funksjonen ols_stepwise() for å sammenligne resultatene.

stp_s <-ols_stepwise(fit, details=TRUE)

Utgang:

Algoritmen finner en løsning etter 2 trinn, og returnerer samme utgang som vi hadde tidligere.

På slutten kan du si at modellene er forklart av to variabler og en avskjæring. Mile per gallon er negativt korrelert med brutto hestekrefter og vekt

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

Maskinlæring

Maskinlæring er i ferd med å bli utbredt blant dataforskere og distribueres i hundrevis av produkter du bruker daglig. En av de første ML-søknadene var spamfilter.

Følgende er annen anvendelse av maskinlæring-

  • Identifikasjon av uønskede spam-meldinger i e-post
  • Segmentering av kundeatferd for målrettet annonsering
  • Reduksjon av falske kredittkorttransaksjoner
  • Optimalisering av energibruk i bolig- og kontorbygg
  • Ansiktsgjenkjenning

Veiledet læring

In Veiledet læring, inkluderer treningsdataene du mater til algoritmen en etikett.

Klassifisering er trolig den mest brukte veiledede læringsteknikken. En av de første klassifiseringsoppgavene forskerne tok tak i var spamfilteret. Målet med læringen er å forutsi om en e-post er klassifisert som spam eller ham (god e-post). Maskinen kan, etter treningstrinnet, oppdage e-postklassen.

Regresjoner brukes ofte i maskinlæringsfeltet for å forutsi kontinuerlig verdi. Regresjonsoppgave kan forutsi verdien av en avhengig variabel basert på et sett med uavhengige variabler (også kalt prediktorer eller regressorer). For eksempel kan lineære regresjoner forutsi en aksjekurs, værmelding, salg og så videre.

Her er listen over noen grunnleggende overvåket læringsalgoritmer.

  • Lineær regresjon
  • Logistisk regresjon
  • Nærmeste naboer
  • Støtte Vector Machine (SVM)
  • Beslutningstrær og Random Forest
  • Nevrale nettverk

Uovervåket læring

In Uovervåket læring, er treningsdataene umerket. Systemet prøver å lære uten referanse. Nedenfor er en liste over læringsalgoritmer uten tilsyn.

  • K-gjennomsnitt
  • Hierarkisk Cluster Analyse
  • Forventningsmaksimering
  • Visualisering og dimensjonalitetsreduksjon
  • Hovedkomponentanalyse
  • Kjerne PCA
  • Lokalt-lineær innebygging

Oppsummering

  • Lineær regresjon svarer på et enkelt spørsmål: Kan du måle en nøyaktig sammenheng mellom én målvariabel og et sett med prediktorer?
  • Ordinær minste kvadraters metode prøver å finne parameterne som minimerer summen av kvadratfeilene, det vil si den vertikale avstanden mellom de predikerte y-verdiene og de faktiske y-verdiene.
  • Den sannsynlighetsmodellen som inkluderer mer enn én uavhengig variabel kalles multiple regresjonsmodeller.
  • Hensikten med trinnvis lineær regresjonsalgoritme er å legge til og fjerne potensielle kandidater i modellene og beholde de som har en betydelig innvirkning på den avhengige variabelen.
  • Variablevalg er en viktig del for å passe til en modell. Den trinnvise regresjonen utfører søkeprosessen automatisk.

Vanlig minste kvadraters regresjon kan oppsummeres i tabellen nedenfor:

Bibliotek Målet Funksjon argumenter
basen Beregn en lineær regresjon lm() formel, data
basen Oppsummer modellen oppsummere() passer
basen Trekk ut koeffisienter lm()$koeffisient
basen Trekk ut rester lm()$rester
basen Trekk ut tilpasset verdi lm()$fitted.values
olsrr Kjør trinnvis regresjon ols_stepwise() passform, pent = 0.1, prem = 0.3, detaljer = FALSE

Merknader: Husk å transformere kategorisk variabel i faktor før for å passe til modellen.