R Trinvis og multipel lineær regression [trin for trin eksempel]

Simpel lineær regression i R

Lineær regression besvarer et simpelt spørgsmål: Kan du måle en nøjagtig sammenhæng mellem en målvariabel og et sæt forudsigere?

Den enkleste probabilistiske model er den lige linjemodel:

Simpel lineær regression i R

hvor

  • y = Afhængig variabel
  • x = Uafhængig variabel
  • Simpel lineær regression i R = tilfældig fejlkomponent
  • Simpel lineær regression i R = opsnappe
  • Simpel lineær regression i R = Koefficient af x

Overvej følgende plot:

Simpel lineær regression i R

Ligningen er Simpel lineær regression i R er opskæringen. Hvis x er lig med 0, vil y være lig med skæringspunktet, 4.77. er linjens hældning. Den fortæller i hvilken proportion y varierer, når x varierer.

At estimere de optimale værdier af Simpel lineær regression i R og Simpel lineær regression i R, bruger du en metode kaldet Almindelige mindste kvadrater (OLS). Denne metode forsøger at finde de parametre, der minimerer summen af ​​de kvadrerede fejl, det vil sige den lodrette afstand mellem de forudsagte y-værdier og de faktiske y-værdier. Forskellen er kendt som fejlterm.

Før du estimerer modellen, kan du afgøre, om en lineær sammenhæng mellem y og x er plausibel ved at plotte et spredningsdiagram.

Scatterplot

Vi vil bruge et meget simpelt datasæt til at forklare begrebet simpel lineær regression. Vi importerer de gennemsnitlige højder og vægte for amerikanske kvinder. Datasættet indeholder 15 observationer. Du vil måle, om højder er positivt korreleret med vægte.

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:

Scatterplot

Spredningsplottet antyder en generel tendens til, at y stiger, når x øges. I næste trin vil du måle efter, hvor meget stigninger for hver yderligere .

Mindste kvadraters skøn

I en simpel OLS-regression kan beregningen af Mindste kvadraters skøn og Mindste kvadraters skøn er ligetil. Målet er ikke at vise afledningen i denne tutorial. Du skriver kun formlen.

Du vil anslå: Mindste kvadraters skøn

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

Mindste kvadraters skøn

hvor

Mindste kvadraters skøn er den faktiske værdi og Mindste kvadraters skøn er den forudsagte værdi.

Løsningen til Mindste kvadraters skøn is Mindste kvadraters skøn

Bemærk, at Mindste kvadraters skøn betyder gennemsnitsværdien af ​​x

Løsningen til Mindste kvadraters skøn is Mindste kvadraters skøn

I R kan du bruge funktionen cov() og var() til at estimere Mindste kvadraters skøn og du kan bruge funktionen mean() til at estimere Mindste kvadraters skøn

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

Beta-koefficienten indebærer, at for hver ekstra højde øges vægten med 3.45.

Det er ikke ideelt at estimere simpel lineær ligning manuelt. R giver en passende funktion til at estimere disse parametre. Du vil snart se denne funktion. Inden da vil vi introducere, hvordan man håndberegner en simpel lineær regressionsmodel. På din rejse som dataforsker vil du knap eller aldrig estimere en simpel lineær model. I de fleste situationer udføres regressionsopgaver på mange estimatorer.

Multipel lineær regression i R

Mere praktiske anvendelser af regressionsanalyse anvender modeller, der er mere komplekse end den simple lineære model. Den probabilistiske model, der omfatter mere end én uafhængig variabel kaldes flere regressionsmodeller. Den generelle form for denne model er:

Multipel lineær regression i R

I matrixnotation kan du omskrive modellen:

  • Multipel lineær regression i R

Den afhængige variabel y er nu en funktion af k uafhængige variable. Værdien af ​​koefficienten Multipel lineær regression i R bestemmer bidraget fra den uafhængige variabel Multipel lineær regression i R og Multipel lineær regression i R.

Vi introducerer kort den antagelse, vi lavede om den tilfældige fejl Multipel lineær regression i R af OLS:

  • Gennemsnit lig med 0
  • Varians lig med Multipel lineær regression i R
  • Normal fordeling
  • Tilfældige fejl er uafhængige (i en sandsynlig forstand)

Du skal løse for Multipel lineær regression i R, vektoren af ​​regressionskoefficienter, der minimerer summen af ​​de kvadrerede fejl mellem de forudsagte og faktiske y-værdier.

Løsningen i lukket form er:

Multipel lineær regression i R

med:

  • angiver omsætte af matrixen X
  • Multipel lineær regression i R angiver inverterbar matrix

Vi bruger mtcars-datasættet. Du er allerede bekendt med datasættet. Vores mål er at forudsige mile per gallon over et sæt funktioner.

Kontinuerlige variable i R

Indtil videre vil du kun bruge de kontinuerlige variable og lægge kategoriske træk til side. Variablen am er en binær variabel, der tager værdien 1, hvis gearkassen er manuel, 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)

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

Du kan bruge lm()-funktionen til at beregne parametrene. Den grundlæggende syntaks for denne funktion 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 en ligning er af følgende form

Kontinuerlige variable i R

i R

  • Symbolet = erstattes af ~
  • Hvert x erstattes af variabelnavnet
  • Hvis du vil droppe konstanten, skal du tilføje -1 i slutningen af ​​formlen

Eksempel:

Du ønsker at estimere vægten af ​​individer baseret på deres højde og indtjening. Ligningen er

Kontinuerlige variable i R

Ligningen i R er skrevet som følger:

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

Så for vores eksempel:

  • Vej ~ højde + omsætning

Dit mål er at estimere mile per gallon baseret på et sæt variabler. Ligningen der skal estimeres er:

Kontinuerlige variable i R

Du vil estimere din første lineære regression og gemme resultatet i tilpasningsobjektet.

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

Kode Forklaring

  • model <- mpg ~. disp + hp + drat+ wt: Gem modellen for at estimere
  • lm(model, 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	

Outputtet giver ikke nok information om kvaliteten af ​​pasformen. Du kan få adgang til flere detaljer såsom betydningen af ​​koefficienterne, graden af ​​frihed og formen af ​​residualerne med summary()-funktionen.

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

Konklusioner fra ovenstående tabeloutput

  • Ovenstående tabel beviser, at der er en stærk negativ sammenhæng mellem vægt og kilometertal og positiv sammenhæng med drat.
  • Kun variablen wt har en statistisk indvirkning på mpg. Husk, at for at teste en hypotese i statistik, bruger vi:
    • H0: Ingen statistisk effekt
    • H3: Prædiktoren har en meningsfuld indvirkning på y
    • Hvis p-værdien er lavere end 0.05, indikerer det, at variablen er statistisk signifikant
  • Justeret R-kvadrat: Varians forklaret af modellen. I din model forklarede modellen 82 procent af variansen af ​​y. R i anden kvadrat er altid mellem 0 og 1. Jo højere jo bedre

Du kan køre ANOVA test for at estimere effekten af ​​hver funktion på varianserne med funktionen anova().

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	

En mere konventionel måde at estimere modellens ydeevne på er at vise restproduktet mod forskellige mål.

Du kan bruge plot()-funktionen til at vise fire grafer:

– Residualer vs. tilpassede værdier

– Normal QQ-plot: Teoretisk kvartil vs standardiserede residualer

– Skala-placering: Tilpassede værdier vs. kvadratrødder af de standardiserede residualer

– Residualer vs Gearing: Gearing vs Standardiserede residualer

Du tilføjer koden par(mfrow=c(2,2)) før plot(fit). Hvis du ikke tilføjer denne kodelinje, beder R dig trykke på enter-kommandoen for at få vist den næste graf.

par(mfrow=(2,2))

Kode Forklaring

  • (mfrow=c(2,2)): returner et vindue med de fire grafer side om side.
  • De første 2 tilføjer antallet af rækker
  • Den anden 2 tilføjer antallet af kolonner.
  • Hvis du skriver (mfrow=c(3,2)): vil du oprette et 3 rækker 2 kolonner vindue
plot(fit)

Output:

Kontinuerlige variable i R

Formlen lm() returnerer en liste, der indeholder en masse nyttig information. Du kan få adgang til dem med det pasobjekt, du har oprettet, efterfulgt af $-tegnet og de oplysninger, du vil udtrække.

– koefficienter: `fit$koefficienter`

– residualer: `fit$residuals`

– tilpasset værdi: `fit$fitted.values`

Faktorer regression i R

I den sidste modelestimering regresserer du kun mpg på kontinuerte variabler. Det er ligetil at tilføje faktorvariable til modellen. Du tilføjer variablen am til din model. Det er vigtigt at være sikker på, at variablen er et faktorniveau og ikke kontinuert.

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 bruger det første faktorniveau som en basisgruppe. Du skal sammenligne koefficienterne for den anden gruppe med basisgruppen.

Trinvis lineær regression i R

Den sidste del af denne tutorial omhandler trinvis regression algoritme. Formålet med denne algoritme er at tilføje og fjerne potentielle kandidater i modellerne og beholde dem, der har en væsentlig indflydelse på den afhængige variabel. Denne algoritme er meningsfuld, når datasættet indeholder en stor liste af prædiktorer. Du behøver ikke manuelt at tilføje og fjerne de uafhængige variabler. Den trinvise regression er bygget til at vælge de bedste kandidater til at passe til modellen.

Lad os se i aktion, hvordan det virker. Du bruger kun mtcars-datasættet med de kontinuerlige variable til pædagogisk illustration. Før du begynder at analysere, er det godt at etablere variationer mellem dataene med en korrelationsmatrix. GGally-biblioteket er en udvidelse af ggplot2.

Biblioteket indeholder forskellige funktioner til at vise opsummerende statistik såsom korrelation og fordeling af alle variablerne i en matrix. Vi vil bruge ggscatmat-funktionen, men du kan henvise til tegnefilm for mere information om GGally-biblioteket.

Den grundlæggende syntaks 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 korrelationen for alle dine variable og beslutter, hvilken der vil være den bedste kandidat til det første trin af den trinvise regression. Der er nogle stærke sammenhænge mellem dine variabler og den afhængige variabel, mpg.

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

Output:

Trinvis lineær regression i R

Trinvis regression Trin for trin eksempel

Valg af variabler er en vigtig del for at passe til en model. Den trinvise regression vil udføre søgeprocessen automatisk. For at estimere, hvor mange mulige valg der er i datasættet, beregner du Trinvis regression Trin for trin eksempel med k er antallet af prædiktorer. Mængden af ​​muligheder vokser sig større med antallet af uafhængige variable. Derfor skal du have en automatisk søgning.

Du skal installere olsrr-pakken fra CRAN. Pakken er endnu ikke tilgængelig i Anaconda. Derfor installerer du det direkte fra kommandolinjen:

install.packages("olsrr")

Du kan plotte alle undersæt af muligheder med tilpasningskriterierne (dvs. R-kvadrat, justeret R-kvadrat, Bayesianske kriterier). Modellen med de laveste AIC-kriterier vil være den endelige model.

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

Kode Forklaring

  • mpg ~.: Konstruer modellen til at estimere
  • lm(model, df): Kør OLS-modellen
  • ols_all_subset(tilpasning): Konstruer graferne med de relevante statistiske oplysninger
  • plot (test): Tegn graferne

Output:

Trinvis regression Trin for trin eksempel

Lineære regressionsmodeller bruger t-test at estimere den statistiske indvirkning af en uafhængig variabel på den afhængige variabel. Forskere sætter den maksimale tærskel til 10 procent, med lavere værdier indikerer en stærkere statistisk sammenhæng. Strategien for den trinvise regression er konstrueret omkring denne test for at tilføje og fjerne potentielle kandidater. Algoritmen fungerer som følger:

Trinvis lineær regression i R
Trinvis lineær regression i R
  • Trin 1: Regresser hver prædiktor på y separat. Nemlig regress x_1 på y, x_2 på y til x_n. Opbevar p-værdi og hold regressoren med en p-værdi lavere end en defineret tærskel (0.1 som standard). Prædiktorerne med en signifikans lavere end tærsklen vil blive tilføjet den endelige model. Hvis ingen variabel har en p-værdi lavere end indtastningstærsklen, stopper algoritmen, og du har din endelige model med kun en konstant.
  • Trin 2: Brug prædiktoren med den laveste p-værdi og tilføjer separat én variabel. Du regresserer en konstant, den bedste prædiktor for trin et og en tredje variabel. Du tilføjer til den trinvise model de nye prædiktorer med en værdi lavere end indtastningstærsklen. Hvis ingen variabel har en p-værdi lavere end 0.1, så stopper algoritmen, og du har din endelige model med kun én prædiktor. Du regresserer den trinvise model for at kontrollere betydningen af ​​trin 1 bedste prædiktorer. Hvis den er højere end udtagningstærsklen, beholder du den i den trinvise model. Ellers udelukker du det.
  • Trin 3: Du replikerer trin 2 på den nye bedste trinvise model. Algoritmen tilføjer prædiktorer til den trinvise model baseret på de indtastede værdier og udelukker prædiktor fra den trinvise model, hvis den ikke opfylder ekskluderingstærsklen.
  • Algoritmen fortsætter, indtil ingen variabel kan tilføjes eller udelukkes.

Du kan udføre algoritmen med funktionen 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 dig trinene i algoritmen. Nedenfor er en tabel med de afhængige og uafhængige variable:

Afhængig variabel Uafhængige variabler
mpg disp
hp
rotte
wt
qsec

Starten

Til at begynde med starter algoritmen med at køre modellen på hver uafhængig variabel separat. Tabellen viser p-værdien for hver 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

For at komme ind i modellen beholder algoritmen variablen med den laveste p-værdi. Fra ovenstående output er det wt

Trin 1

I det første trin kører algoritmen mpg på wt og de andre variable uafhængigt.

## [[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 potentiel kandidat til at indgå i den endelige model. Algoritmen beholder dog kun variablen med den lavere p-værdi. Det viser sig, at hp har en lidt lavere p-værdi end qsec. Derfor går hp ind i den endelige model

Trin 2

Algoritmen gentager det første trin, men denne gang med to uafhængige variable i den endelige model.

## [[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 af ​​de variable, der kom ind i den endelige model, har en tilstrækkelig lav p-værdi. Algoritmen stopper her; vi har den endelige 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

Du kan bruge funktionen ols_stepwise() til at sammenligne resultaterne.

stp_s <-ols_stepwise(fit, details=TRUE)

Output:

Algoritmen finder en løsning efter 2 trin, og returnerer det samme output, som vi havde før.

I slutningen kan du sige, at modellerne er forklaret af to variable og et skæringspunkt. Mile per gallon er negativt korreleret med brutto hestekræfter og vægt

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

Maskinelæring

Maskinelæring er ved at blive udbredt blandt dataforskere og er implementeret i hundredvis af produkter, du bruger dagligt. En af de første ML ansøgninger var spamfilter.

Følgende er andre anvendelser af Machine Learning-

  • Identifikation af uønskede spam-beskeder i e-mail
  • Segmentering af kundeadfærd til målrettet annoncering
  • Reduktion af svigagtige kreditkorttransaktioner
  • Optimering af energiforbrug i bolig- og kontorbygninger
  • Ansigtsgenkendelse

Overvåget læring

In Overvåget læring, indeholder de træningsdata, du sender til algoritmen, en etiket.

Klassifikation er nok den mest anvendte superviserede læringsteknik. En af de første klassificeringsopgaver, forskere tog fat på, var spamfilteret. Målet med læringen er at forudsige, om en e-mail er klassificeret som spam eller ham (god e-mail). Maskinen kan efter træningstrinnet registrere klassen af ​​e-mail.

regressioner bruges almindeligvis i maskinlæringsområdet til at forudsige kontinuerlig værdi. Regressionsopgave kan forudsige værdien af ​​en afhængig variabel baseret på et sæt af uafhængige variabler (også kaldet prædiktorer eller regressorer). For eksempel kan lineære regressioner forudsige en aktiekurs, vejrudsigt, salg og så videre.

Her er listen over nogle grundlæggende overvågede læringsalgoritmer.

  • Lineær regression
  • Logistisk regression
  • Nærmeste naboer
  • Support Vector Machine (SVM)
  • Beslutningstræer og Random Forest
  • Neurale netværk

Uovervåget læring

In Uovervåget læring, er træningsdataene umærkede. Systemet forsøger at lære uden reference. Nedenfor er en liste over uovervågede læringsalgoritmer.

  • K-middel
  • Hierarkisk Cluster Analyse
  • Forventningsmaksimering
  • Visualisering og dimensionsreduktion
  • Hovedkomponentanalyse
  • Kernel PCA
  • Lokalt-lineær indlejring

Resumé

  • Lineær regression besvarer et simpelt spørgsmål: Kan du måle en nøjagtig sammenhæng mellem en målvariabel og et sæt forudsigere?
  • Den almindelige mindste kvadraters metode forsøger at finde de parametre, der minimerer summen af ​​de kvadrerede fejl, det vil sige den lodrette afstand mellem de forudsagte y-værdier og de faktiske y-værdier.
  • Den probabilistiske model, der omfatter mere end én uafhængig variabel, kaldes multiple regressionsmodeller.
  • Formålet med Stepwise Linear Regression-algoritmen er at tilføje og fjerne potentielle kandidater i modellerne og beholde dem, der har en signifikant indflydelse på den afhængige variabel.
  • Valg af variabler er en vigtig del for at passe til en model. Den trinvise regression udfører søgeprocessen automatisk.

Almindelig mindste kvadraters regression kan opsummeres i tabellen nedenfor:

Bibliotek Objektiv Funktion argumenter
bund Beregn en lineær regression lm() formel, data
bund Opsummer modellen sammenfatte() passer
bund Udtræk koefficienter lm()$koefficient
bund Udtræk rester lm()$rester
bund Udtræk tilpasset værdi lm()$fitted.values
olsrr Kør trinvis regression ols_stepwise() fit, pent = 0.1, prem = 0.3, detaljer = FALSK

Bemærk: Husk at transformere kategorisk variabel i faktor før for at passe til modellen.