R Stapwise & Meervoudige lineaire regressie [Stap voor stap voorbeeld]

Eenvoudige lineaire regressie in R

Lineaire regressie beantwoordt een eenvoudige vraag: kunt u een exacte relatie meten tussen één doelvariabele en een reeks voorspellers?

Het eenvoudigste probabilistische model is het lineaire model:

Eenvoudige lineaire regressie in R

WAAR

  • y = Afhankelijke variabele
  • x = Onafhankelijke variabele
  • Eenvoudige lineaire regressie in R = willekeurige foutcomponent
  • Eenvoudige lineaire regressie in R = onderscheppen
  • Eenvoudige lineaire regressie in R = Coëfficiënt van x

Denk eens aan het volgendewing plot:

Eenvoudige lineaire regressie in R

De vergelijking is Eenvoudige lineaire regressie in R is het onderscheppingspunt. Als x gelijk is aan 0, zal y gelijk zijn aan het snijpunt, 4.77. is de helling van de lijn. Het vertelt in welke verhouding y varieert als x varieert.

Om de optimale waarden van te schatten Eenvoudige lineaire regressie in R en Eenvoudige lineaire regressie in R, gebruik je een methode genaamd Normaal Minste Squares (OLS). Deze methode probeert de parameters te vinden die de som van de kwadratische fouten minimaliseren, dat wil zeggen de verticale afstand tussen de voorspelde y-waarden en de werkelijke y-waarden. Het verschil staat bekend als de fout term.

Voordat u het model schat, kunt u bepalen of een lineair verband tussen y en x plausibel is door een spreidingsdiagram te tekenen.

spreidingsdiagram

We zullen een zeer eenvoudige dataset gebruiken om het concept van eenvoudige lineaire regressie uit te leggen. We importeren de gemiddelde lengtes en gewichten voor Amerikaanse vrouwen. De dataset bevat 15 waarnemingen. U wilt meten of hoogten positief gecorreleerd zijn met gewichten.

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:

spreidingsdiagram

Het spreidingsdiagram suggereert een algemene tendens dat y toeneemt naarmate x toeneemt. In de volgende stap meet u met hoeveel de stijgingen voor elke extra .

Minste aantalares schattingen

In een eenvoudige OLS-regressie wordt de berekening van Minste aantalares schattingen en Minste aantalares schattingen is eenvoudig. Het is niet de bedoeling om de afleiding in deze tutorial te laten zien. Je schrijft alleen de formule.

U wilt schatten: Minste aantalares schattingen

Het doel van de OLS-regressie is het minimaliseren van de following vergelijking:

Minste aantalares schattingen

WAAR

Minste aantalares schattingen is de werkelijke waarde en Minste aantalares schattingen is de voorspelde waarde.

De oplossing voor Minste aantalares schattingen is Minste aantalares schattingen

Merk op dat Minste aantalares schattingen betekent de gemiddelde waarde van x

De oplossing voor Minste aantalares schattingen is Minste aantalares schattingen

In R kunt u de functies cov() en var() gebruiken om te schatten Minste aantalares schattingen en je kunt de functie mean() gebruiken om te schatten Minste aantalares schattingen

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

De bètacoëfficiënt houdt in dat voor elke extra lengte het gewicht met 3.45 toeneemt.

Het handmatig schatten van eenvoudige lineaire vergelijkingen is niet ideaal. R biedt een geschikte functie om deze parameters te schatten. Je zult deze functie binnenkort zien. Daarvoor zullen we introduceren hoe u met de hand een eenvoudig lineair regressiemodel kunt berekenen. In jouw reis als datawetenschapper zul je nauwelijks of nooit een eenvoudig lineair model schatten. In de meeste situaties worden regressietaken op veel schatters uitgevoerd.

Meervoudige lineaire regressie in R

Meer praktische toepassingen van regressieanalyse maken gebruik van modellen die meer complex dan het eenvoudige lineaire model. Het probabilistische model dat meer dan één onafhankelijke variabele omvat, wordt genoemd meerdere regressiemodellen. De algemene vorm van dit model is:

Meervoudige lineaire regressie in R

In matrixnotatie kunt u het model herschrijven:

  • Meervoudige lineaire regressie in R

De afhankelijke variabele y is nu een functie van k onafhankelijke variabelen. De waarde van de coëfficiënt Meervoudige lineaire regressie in R bepaalt de bijdrage van de onafhankelijke variabele Meervoudige lineaire regressie in R en Meervoudige lineaire regressie in R.

We introduceren kort de veronderstelling die we hebben gemaakt over de willekeurige fout Meervoudige lineaire regressie in R van de OLS:

  • Gemiddelde gelijk aan 0
  • Variantie gelijk aan Meervoudige lineaire regressie in R
  • Normale verdeling
  • Willekeurige fouten zijn onafhankelijk (in probabilistische zin)

Je moet het oplossen Meervoudige lineaire regressie in R, de vector van regressiecoëfficiënten die de som van de kwadratische fouten tussen de voorspelde en werkelijke y-waarden minimaliseren.

De oplossing in gesloten vorm is:

Meervoudige lineaire regressie in R

met:

  • geeft de transponeren van de matrix X
  • Meervoudige lineaire regressie in R geeft de inverteerbare matrix

We gebruiken de mtcars-dataset. U bent al bekend met de dataset. Ons doel is om de mijl per gallon te voorspellen op basis van een reeks functies.

Continue variabelen in R

Voorlopig gebruik je alleen de continue variabelen en zet je categorische kenmerken buiten beschouwing. De variabele am is een binaire variabele die de waarde 1 aanneemt als de transmission is handmatig en 0 voor automatische auto's; vs is ook een binaire variabele.

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

U kunt de functie lm() gebruiken om de parameters te berekenen. De basissyntaxis van deze functie is:

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

Onthoud dat een vergelijking van de volgende aard iswing formulier

Continue variabelen in R

en R

  • Het symbool = wordt vervangen door ~
  • Elke x wordt vervangen door de naam van de variabele
  • Als je de constante wilt laten vallen, voeg dan -1 toe aan het einde van de formule

Voorbeeld:

U wilt het gewicht van personen schatten op basis van hun lengte en inkomen. De vergelijking is

Continue variabelen in R

De vergelijking in R wordt als volgt geschreven:

y ~ X1+ X2+…+Xn # Met onderschepping

Dus voor ons voorbeeld:

  • Weeg ~ lengte + omzet

Uw doel is om de mijl per gallon te schatten op basis van een reeks variabelen. De te schatten vergelijking is:

Continue variabelen in R

U schat uw eerste lineaire regressie en slaat het resultaat op in het fit-object.

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

Code Uitleg

  • model <- mpg ~. disp + hp + drat+ wt: Bewaar het model om te schatten
  • lm(model, df): Schat het model met het dataframe 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	

De output biedt onvoldoende informatie over de kwaliteit van de pasvorm. U heeft toegang tot meer details zoals de betekenis van de coëfficiënten, de mate van vrijheid en de vorm van de residuen met de summary() functie.

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

Gevolgtrekking uit de bovenstaande tabeluitvoer

  • De bovenstaande tabel bewijst dat er een sterk negatief verband bestaat tussen wt en kilometerstand en een positief verband met drat.
  • Alleen de variabele wt heeft een statistische impact op mpg. Onthoud dat we, om een ​​hypothese in de statistiek te testen, het volgende gebruiken:
    • H0: Geen statistische impact
    • H3: De voorspeller heeft een betekenisvolle impact op y
    • Als de p-waarde lager is dan 0.05, geeft dit aan dat de variabele statistisch significant is
  • Aangepast R-kwadraat: Variantie verklaard door het model. In uw model verklaarde het model 82 procent van de variantie van y. R kwadraat ligt altijd tussen 0 en 1. Hoe hoger hoe beter

Je kunt het ANOVA test om het effect van elk kenmerk op de varianties met de a te schattennova() functie.

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	

Een meer conventionele manier om de prestaties van het model te schatten, is door het residu weer te geven tegen verschillende metingen.

U kunt de functie plot() gebruiken om vier grafieken weer te geven:

– Residuen versus aangepaste waarden

– Normale QQ-plot: theoretisch kwartiel versus gestandaardiseerde residuen

– Schaallocatie: aangepaste waarden versus vierkantswortels van de gestandaardiseerde residuen

– Residuen versus hefboomwerking: hefboomwerking versus gestandaardiseerde residuen

U voegt de code par(mfrow=c(2,2)) toe vóór plot(fit). Als u deze regel code niet toevoegt, vraagt ​​R u om op de opdracht Enter te drukken om de volgende grafiek weer te geven.

par(mfrow=(2,2))

Code Uitleg

  • (mfrow=c(2,2)): retourneert een venster met de vier grafieken naast elkaar.
  • De eerste 2 tellen het aantal rijen op
  • De tweede 2 telt het aantal kolommen op.
  • Als je schrijft (mfrow=c(3,2)): dan creëer je een venster met 3 rijen en 2 kolommen
plot(fit)

Output:

Continue variabelen in R

De formule lm() retourneert een lijst met veel nuttige informatie. U kunt ze openen met het fit-object dat u hebt gemaakt, gevolgd door het $-teken en de informatie die u wilt extraheren.

– coëfficiënten: `fit$coëfficiënten`

– residuen: `fit$residuals`

– aangepaste waarde: `fit$fitted.values`

Factorenregressie in R

In de laatste modelschatting regressie je mpg alleen op continue variabelen. Het is eenvoudig om factorvariabelen aan het model toe te voegen. U voegt de variabele am toe aan uw model. Het is belangrijk om er zeker van te zijn dat de variabele een factorniveau is en niet continu.

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 gebruikt het eerste factorniveau als basisgroep. Je moet de coëfficiënten van de andere groep vergelijken met de basisgroep.

Stap voorwise Lineaire regressie in R

Het laatste deel van deze tutorial gaat over de stapwise regressie algoritme. Het doel van dit algoritme is om potentiële kandidaten in de modellen toe te voegen en te verwijderen en degenen die een significante impact hebben op de afhankelijke variabele te behouden. Dit algoritme is zinvol wanneer de dataset een grote lijst met voorspellers bevat. U hoeft de onafhankelijke variabelen niet handmatig toe te voegen of te verwijderen. De stapwise regressie is gebouwd om de beste kandidaten te selecteren die in het model passen.

Laten we in actie zien hoe het werkt. Je gebruikt de mtcars-dataset met de continue variabelen uitsluitend ter pedagogische illustratie. Voordat u met de analyse begint, is het goed om variaties tussen de gegevens vast te stellen met behulp van een correlatiematrix. De GGally-bibliotheek is een uitbreiding van ggplot2.

De bibliotheek bevat verschillende functies om samenvattende statistieken weer te geven, zoals correlatie en verdeling van alle variabelen in een matrix. We zullen de ggscatmat-functie gebruiken, maar u kunt verwijzen naar de vignet voor meer informatie over de GGally-bibliotheek.

De basissyntaxis voor ggscatmat() is:

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

U geeft de correlatie weer voor al uw variabelen en beslist welke de beste kandidaten zijn voor de eerste stap van de stapwise regressie. Er zijn enkele sterke correlaties tussen uw variabelen en de afhankelijke variabele, mpg.

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

Output:

Stap voorwise Lineaire regressie in R

Stap voorwise Regressie stap voor stap voorbeeld

Variabelenselectie is een belangrijk onderdeel om in een model te passen. De stapwise regressie zal de se uitvoerenarching-proces automatisch. Om in te schatten hoeveel mogelijke keuzes er in de dataset zijn, berekent u Stap voorwise Regressie stap voor stap voorbeeld waarbij k het aantal voorspellers is. Het aantal mogelijkheden wordt groter met het aantal onafhankelijke variabelen. Daarom moet u automatisch zoeken.

U moet het olsrr-pakket van CRAN installeren. Het pakket is nog niet beschikbaar in Anaconda. Daarom installeert u het rechtstreeks vanaf de opdrachtregel:

install.packages("olsrr")

U kunt alle subsets van mogelijkheden plotten met de fitcriteria (dwz R-kwadraat, aangepast R-kwadraat, Bayesiaanse criteria). Het model met de laagste AIC-criteria zal het definitieve model zijn.

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

Code Uitleg

  • mpg ~.: Construeer het model om te schatten
  • lm(model, df): Voer het OLS-model uit
  • ols_all_subset(fit): Construeer de grafieken met de relevante statistische informatie
  • plot(test): Teken de grafieken

Output:

Stap voorwise Regressie stap voor stap voorbeeld

Lineaire regressiemodellen gebruiken de t-toets om de statistische impact van een onafhankelijke variabele op de afhankelijke variabele te schatten. Onderzoekers hebben de maximale drempel vastgesteld op 10 procent, waarbij lagere waarden duiden op een sterker statistisch verband. De strategie van de stapwise Rond deze test wordt regressie opgebouwd om potentiële kandidaten toe te voegen en te verwijderen. Het algoritme werkt als volgt:

Stap voorwise Lineaire regressie in R
Stap voorwise Lineaire regressie in R
  • Stap 1: Voer elke voorspeller afzonderlijk uit op y. Namelijk: regressie x_1 op y, x_2 op y naar x_n. Bewaar de p-waarde en houd de regressor met een p-waarde lager dan een gedefinieerde drempel (standaard 0.1). De voorspellers met een significantie lager dan de drempelwaarde worden aan het definitieve model toegevoegd. Als geen enkele variabele een p-waarde heeft die lager is dan de invoerdrempel, stopt het algoritme en hebt u uw uiteindelijke model met alleen een constante.
  • Stap 2: Gebruik de voorspeller met de laagste p-waarde en voeg afzonderlijk één variabele toe. Je regressie van een constante, de beste voorspeller van stap één en een derde variabele. Je voegt iets toe aan de stapwise model, de nieuwe voorspellers met een waarde lager dan de instapdrempel. Als geen enkele variabele een p-waarde heeft die lager is dan 0.1, stopt het algoritme en heb je je uiteindelijke model met slechts één voorspeller. Je gaat de stap terugwise model om de significantie van de beste voorspellers van stap 1 te controleren. Als deze hoger is dan de verwijderingsdrempel, behoudt u deze in de stapwise model. Anderwise, je sluit het uit.
  • Stap 3: U repliceert stap 2 op de nieuwe beste stapwise model. Het algoritme voegt voorspellers toe aan de stapwise model gebaseerd op de ingevoerde waarden en sluit de voorspeller uit van de stapwise model als het niet voldoet aan de uitsluitingsdrempel.
  • Het algoritme gaat door totdat er geen variabele meer kan worden toegevoegd of uitgesloten.

U kunt het algoritme uitvoeren met de functie ols_stepwise() uit het olsrr-pakket.

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

Daarvoor laten we u de stappen van het algoritme zien. Hieronder staat een tabel met de afhankelijke en onafhankelijke variabelen:

Afhankelijke variabele Onafhankelijke variabelen
mpg disp
hp
drassssssssssssssssssssssssssssss
wt
qsec

Start

Om te beginnen begint het algoritme met het afzonderlijk uitvoeren van het model op elke onafhankelijke variabele. De tabel toont de p-waarde voor elk 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

Om het model binnen te gaan, behoudt het algoritme de variabele met de laagste p-waarde. Uit de bovenstaande uitvoer blijkt dat het gewicht is

Stap 1

In de eerste stap voert het algoritme mpg onafhankelijk uit op wt en de andere variabelen.

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

Elke variabele is een potentiële kandidaat om in het uiteindelijke model te komen. Het algoritme behoudt echter alleen de variabele met de lagere p-waarde. Het blijkt dat hp een iets lagere p-waarde heeft dan qsec. Daarom komt HP in het definitieve model

Stap 2

Het algoritme herhaalt de eerste stap, maar deze keer met twee onafhankelijke variabelen in het uiteindelijke 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

Geen van de variabelen die in het uiteindelijke model zijn opgenomen, heeft een p-waarde die voldoende laag is. Het algoritme stopt hier; we hebben het definitieve 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

U kunt de functie ols_step gebruikenwise() om de resultaten te vergelijken.

stp_s <-ols_stepwise(fit, details=TRUE)

Output:

Het algoritme vindt na twee stappen een oplossing en retourneert dezelfde uitvoer als voorheen.

Uiteindelijk kun je zeggen dat de modellen worden verklaard door twee variabelen en een snijpunt. Mijl per gallon is negatief gecorreleerd met bruto paardenkracht en gewicht

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

Machine leren

Machine leren wordt steeds populairder onder datawetenschappers en wordt toegepast in honderden producten die u dagelijks gebruikt. Eén van de eerste ML-applicaties was spamfilter.

Following zijn andere toepassingen van Machine Learning-

  • Identificatie van ongewenste spamberichten in email
  • Segmentatie van klantgedrag voor gerichte reclame
  • Vermindering van frauduleuze creditcardtransacties
  • Optimalisatie van het energieverbruik in woning- en kantoorgebouwen
  • Gezichtsherkenning

Leren onder toezicht

In Leren onder toezicht, bevatten de trainingsgegevens die u aan het algoritme invoert een label.

Classificatie is waarschijnlijk de meest gebruikte techniek van begeleid leren. Een van de eerste classificatietaken die onderzoekers aanpakten was het spamfilter. Het doel van het leren is om te voorspellen of een email wordt geclassificeerd als spam of ham (goed bijvmail). De machine kan na de trainingsstap de klasse van e detecterenmail.

regressies worden vaak gebruikt op het gebied van machine learning om continue waarde te voorspellen. Regressietaak kan de waarde van a voorspellen afhankelijke variabele gebaseerd op een set van onafhankelijke variabelen (ook wel voorspellers of regressoren genoemd). Lineaire regressies kunnen bijvoorbeeld een aandelenkoers, weersvoorspelling, verkoop enzovoort voorspellen.

Hier is de lijst met enkele fundamentele algoritmen voor begeleid leren.

  • Lineaire regressie
  • Logistische regressie
  • NearesBuren
  • Ondersteuning Vector Machine (SVM)
  • Beslisbomen en Random Forest
  • Neurale netwerken

Niet-gecontroleerd leren

In Niet-gecontroleerd leren, de trainingsgegevens zijn niet gelabeld. Het systeem probeert te leren zonder referentie. Hieronder vindt u een lijst met leeralgoritmen zonder toezicht.

  • K-gemiddeld
  • hierarchical Clusteranalyse
  • Verwachtingsmaximalisatie
  • Visualisatie en dimensionaliteitsreductie
  • Hoofdcomponentenanalyse
  • Kernel-PCA
  • Lokaal-lineaire inbedding

Samengevat

  • Lineaire regressie beantwoordt een eenvoudige vraag: kunt u een exacte relatie meten tussen één doelvariabele en een reeks voorspellers?
  • Normaal Minste Squares De methode probeert de parameters te vinden die de som van de kwadratische fouten minimaliseren, dat wil zeggen de verticale afstand tussen de voorspelde y-waarden en de werkelijke y-waarden.
  • Het probabilistische model dat meer dan één onafhankelijke variabele omvat, wordt meerdere regressiemodellen genoemd.
  • Het doel van Stapwise Het lineaire regressie-algoritme is bedoeld om potentiële kandidaten in de modellen toe te voegen en te verwijderen en degenen die een aanzienlijke impact hebben op de afhankelijke variabele te behouden.
  • Variabelenselectie is een belangrijk onderdeel om in een model te passen. De stapwise regressie voert de se uitarching-proces automatisch.

De gewone kleinste kwadratenregressie kan in de onderstaande tabel worden samengevat:

Bibliotheek Objectief Functie argumenten
baseren Bereken een lineaire regressie lm() formule, gegevens
baseren Vat het model samen samenvatten() geschikt
baseren Haal coëfficiënten eruit lm()$coëfficiënt
baseren Residuen eruit halen lm()$resten
baseren Extraheer de ingebouwde waarde lm()$fitted.waarden
olsrr Stap uitvoerenwise regressie ols_stapwise() fit, pent = 0.1, prem = 0.3, details = ONWAAR

Note: Vergeet niet om de categorische variabele in factor te transformeren voordat deze in het model past.