R Stepwise e Regressione lineare multipla [Esempio passo dopo passo]

Regressione lineare semplice in R

La regressione lineare risponde a una semplice domanda: puoi misurare una relazione esatta tra una variabile target e un insieme di predittori?

Il modello probabilistico più semplice è il modello a linea retta:

Regressione lineare semplice in R

where

  • y = variabile dipendente
  • x = Variabile indipendente
  • Regressione lineare semplice in R = componente di errore casuale
  • Regressione lineare semplice in R = intercettare
  • Regressione lineare semplice in R = Coefficiente di x

Consideriamo il seguente grafico:

Regressione lineare semplice in R

L'equazione è Regressione lineare semplice in R è l'intercettazione. Se x è uguale a 0, y sarà uguale all'intercetta, 4.77. è la pendenza della retta. Indica in quale proporzione varia y al variare di x.

Per stimare i valori ottimali di Regressione lineare semplice in R che a Regressione lineare semplice in R, usi un metodo chiamato Minimi quadrati ordinari (OLS). Questo metodo cerca di trovare i parametri che minimizzano la somma degli errori quadrati, ovvero la distanza verticale tra i valori y previsti e i valori y effettivi. La differenza è nota come termine di errore.

Prima di stimare il modello, è possibile determinare se una relazione lineare tra y e x è plausibile tracciando un grafico a dispersione.

Grafico a dispersione

Utilizzeremo un set di dati molto semplice per spiegare il concetto di regressione lineare semplice. Importeremo le altezze e i pesi medi per le donne americane. Il set di dati contiene 15 osservazioni. Vuoi misurare se le altezze sono correlate positivamente con i pesi.

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

Produzione:

Grafico a dispersione

Il grafico a dispersione suggerisce una tendenza generale di y ad aumentare all’aumentare di x. Nel passaggio successivo, misurerai l'aumento per ogni ulteriore .

Stime dei minimi quadrati

In una semplice regressione OLS, il calcolo di Stime dei minimi quadrati che a Stime dei minimi quadrati è semplice. L'obiettivo non è mostrare la derivazione in questo tutorial. Scriverai solo la formula.

Vuoi stimare: Stime dei minimi quadrati

L'obiettivo della regressione OLS è minimizzare la seguente equazione:

Stime dei minimi quadrati

where

Stime dei minimi quadrati è il valore effettivo e Stime dei minimi quadrati è il valore previsto.

La soluzione per Stime dei minimi quadrati is Stime dei minimi quadrati

Si noti che Stime dei minimi quadrati indica il valore medio di x

La soluzione per Stime dei minimi quadrati is Stime dei minimi quadrati

In R, puoi utilizzare la funzione cov() e var() per stimare Stime dei minimi quadrati e puoi usare la funzione mean() per stimare Stime dei minimi quadrati

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

Produzione:

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

Produzione:

## [1] -87.51667

Il coefficiente beta implica che per ogni altezza aggiuntiva il peso aumenta di 3.45.

La stima manuale di una semplice equazione lineare non è l'ideale. R fornisce una funzione adatta per stimare questi parametri. Vedrai questa funzione a breve. Prima di ciò, introdurremo come calcolare manualmente un semplice modello di regressione lineare. Nel tuo viaggio da scienziato dei dati, stimerai a malapena o mai un semplice modello lineare. Nella maggior parte dei casi, le attività di regressione vengono eseguite su molti stimatori.

Regressione lineare multipla in R

Le applicazioni più pratiche dell'analisi di regressione impiegano modelli più complessi del semplice modello rettilineo. Il modello probabilistico che include più di una variabile indipendente è chiamato modelli di regressione multipla. La forma generale di questo modello è:

Regressione lineare multipla in R

Nella notazione matriciale, puoi riscrivere il modello:

  • Regressione lineare multipla in R

La variabile dipendente y è ora una funzione di k variabili indipendenti. Il valore del coefficiente Regressione lineare multipla in R determina il contributo della variabile indipendente Regressione lineare multipla in R che a Regressione lineare multipla in R.

Introduciamo brevemente l'ipotesi che abbiamo fatto sull'errore casuale Regressione lineare multipla in R dell'OLS:

  • Media pari a 0
  • Varianza pari a Regressione lineare multipla in R
  • Distribuzione normale
  • Gli errori casuali sono indipendenti (in senso probabilistico)

Devi risolvere per Regressione lineare multipla in R, il vettore dei coefficienti di regressione che minimizzano la somma degli errori quadratici tra i valori y previsti e quelli effettivi.

La soluzione in forma chiusa è:

Regressione lineare multipla in R

con:

  • indica il trasporre della matrice X
  • Regressione lineare multipla in R indica il matrice invertibile

Utilizziamo il set di dati mtcars. Hai già familiarità con il set di dati. Il nostro obiettivo è prevedere il miglio per gallone su una serie di caratteristiche.

Variabili continue in R

Per ora, userete solo le variabili continue e metterete da parte le caratteristiche categoriali. La variabile am è una variabile binaria che assume il valore 1 se la trasmissione è manuale e 0 per le auto automatiche; anche vs è una variabile binaria.

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

Produzione:

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

È possibile utilizzare la funzione lm() per calcolare i parametri. La sintassi di base di questa funzione è:

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

Ricorda che un'equazione ha la seguente forma

Variabili continue in R

in r

  • Il simbolo = è sostituito da ~
  • Ogni x è sostituita dal nome della variabile
  • Se vuoi eliminare la costante, aggiungi -1 alla fine della formula

Esempio:

Vuoi stimare il peso delle persone in base alla loro altezza e alle loro entrate. L'equazione è

Variabili continue in R

L'equazione in R è scritta come segue:

y ~ X1+ X2+…+Xn # Con intercetta

Quindi per il nostro esempio:

  • Pesare ~ altezza + entrate

Il tuo obiettivo è stimare il miglio per gallone in base a una serie di variabili. L’equazione da stimare è:

Variabili continue in R

Stimerai la tua prima regressione lineare e memorizzerai il risultato nell'oggetto adattato.

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

Spiegazione del codice

  • modello <- mpg ~. disp + hp + drat+ wt: memorizza il modello da stimare
  • lm(modello, df): stima il modello con il frame di dati 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	

L'output non fornisce informazioni sufficienti sulla qualità dell'adattamento. È possibile accedere a maggiori dettagli, come la significatività dei coefficienti, il grado di libertà e la forma dei residui, con la funzione summary().

summary(fit)

Produzione:

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

Inferenza dall'output della tabella precedente

  • La tabella sopra dimostra che esiste una forte relazione negativa tra wt e chilometraggio e una relazione positiva con drat.
  • Solo la variabile wt ha un impatto statistico sul mpg. Ricorda, per testare un'ipotesi in statistica, usiamo:
    • H0: nessun impatto statistico
    • H3: il predittore ha un impatto significativo su y
    • Se il valore p è inferiore a 0.05, indica che la variabile è statisticamente significativa
  • R quadrato corretto: varianza spiegata dal modello. Nel tuo modello, il modello spiega l'82% della varianza di y. R al quadrato è sempre compreso tra 0 e 1. Più alto è, meglio è

È possibile eseguire il ANOVA test per stimare l'effetto di ciascuna caratteristica sulle varianze con la funzione anova().

anova(fit)

Produzione:

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

Un modo più convenzionale per stimare le prestazioni del modello è visualizzare il residuo rispetto a misure diverse.

Puoi utilizzare la funzione plot() per mostrare quattro grafici:

– Residui vs valori adattati

– Grafico QQ normale: quartile teorico vs residui standardizzati

– Posizione della scala: valori stimati rispetto alle radici quadrate dei residui standardizzati

– Residui vs Leva: Leva vs Residui standardizzati

Aggiungi il codice par(mfrow=c(2,2)) prima di plot(fit). Se non aggiungi questa riga di codice, R ti chiede di premere il comando Invio per visualizzare il grafico successivo.

par(mfrow=(2,2))

Spiegazione del codice

  • (mfrow=c(2,2)): restituisce una finestra con i quattro grafici affiancati.
  • I primi 2 aggiungono il numero di righe
  • Il secondo 2 aggiunge il numero di colonne.
  • Se scrivi (mfrow=c(3,2)): creerai una finestra di 3 righe e 2 colonne
plot(fit)

Produzione:

Variabili continue in R

La formula lm() restituisce un elenco contenente molte informazioni utili. Puoi accedervi con l'oggetto fit che hai creato, seguito dal segno $ e dalle informazioni che desideri estrarre.

– coefficienti: `coefficienti$di adattamento`

– residui: `fit$residui`

– valore adattato: `fit$fitted.values`

Regressione ai fattori in R

Nell'ultima stima del modello, si regredisce mpg solo su variabili continue. È semplice aggiungere variabili fattore al modello. Aggiungi la variabile am al tuo modello. È importante assicurarsi che la variabile sia a livello di fattore e non continua.

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

Produzione:

## 
## 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 utilizza il primo livello di fattore come gruppo base. È necessario confrontare i coefficienti dell'altro gruppo con il gruppo base.

Regressione lineare graduale in R

L'ultima parte di questo tutorial riguarda il regressione graduale algoritmo. Lo scopo di questo algoritmo è aggiungere e rimuovere potenziali candidati nei modelli e mantenere quelli che hanno un impatto significativo sulla variabile dipendente. Questo algoritmo è significativo quando il set di dati contiene un ampio elenco di predittori. Non è necessario aggiungere e rimuovere manualmente le variabili indipendenti. La regressione stepwise è costruita per selezionare i migliori candidati per adattarsi al modello.

Vediamo in azione come funziona. Utilizzi il set di dati mtcars con le variabili continue solo per l'illustrazione pedagogica. Prima di iniziare l'analisi, è bene stabilire le variazioni tra i dati con una matrice di correlazione. La libreria GGally è un'estensione di ggplot2.

La libreria include diverse funzioni per mostrare statistiche riassuntive come la correlazione e la distribuzione di tutte le variabili in una matrice. Utilizzeremo la funzione ggscatmat, ma puoi fare riferimento al file vignette per ulteriori informazioni sulla biblioteca GGally.

La sintassi di base per ggscatmat() è:

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

Visualizzi la correlazione per tutte le tue variabili e decidi quale sarà la migliore candidata per il primo passaggio della regressione stepwise. Ci sono alcune forti correlazioni tra le tue variabili e la variabile dipendente, mpg.

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

Produzione:

Regressione lineare graduale in R

Esempio di regressione graduale passo dopo passo

La selezione delle variabili è una parte importante per adattare un modello. La regressione stepwise eseguirà il processo di ricerca automaticamente. Per stimare quante possibili scelte ci sono nel set di dati, si calcola Esempio di regressione graduale passo dopo passo con k è il numero di predittori. La quantità di possibilità aumenta con il numero di variabili indipendenti. Ecco perché è necessario disporre di una ricerca automatica.

È necessario installare il pacchetto olsrr da CRAN. Il pacchetto non è ancora disponibile in Anaconda. Quindi, lo installi direttamente dalla riga di comando:

install.packages("olsrr")

È possibile tracciare tutti i sottoinsiemi di possibilità con i criteri di adattamento (ad esempio R-quadrato, R-quadrato corretto, criteri bayesiani). Il modello con i criteri AIC più bassi sarà il modello finale.

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

Spiegazione del codice

  • mpg ~.: Costruisci il modello da stimare
  • lm(model, df): esegui il modello OLS
  • ols_all_subset(fit): costruisce i grafici con le informazioni statistiche rilevanti
  • tracciare(prova): Traccia i grafici

Produzione:

Esempio di regressione graduale passo dopo passo

I modelli di regressione lineare utilizzano il test t per stimare l'impatto statistico di una variabile indipendente sulla variabile dipendente. I ricercatori hanno impostato la soglia massima al 10 percento, con valori inferiori che indicano un collegamento statistico più forte. La strategia della regressione graduale è costruita attorno a questo test per aggiungere e rimuovere potenziali candidati. L'algoritmo funziona come segue:

Regressione lineare graduale in R
Regressione lineare graduale in R
  • Passo 1 : regredisce ciascun predittore su y separatamente. Vale a dire, regredire x_1 su y, x_2 su y a x_n. Conservare il p-value e mantenere il regressore con un valore p inferiore a una soglia definita (0.1 per impostazione predefinita). I predittori con significatività inferiore alla soglia verranno aggiunti al modello finale. Se nessuna variabile ha un valore p inferiore alla soglia di immissione, l'algoritmo si interrompe e si ottiene il modello finale solo con una costante.
  • Passo 2 : Utilizza il predittore con il valore p più basso e aggiungi separatamente una variabile. Regredisci una costante, il miglior predittore del passaggio uno e una terza variabile. Aggiungi al modello stepwise i nuovi predittori con un valore inferiore alla soglia di ingresso. Se nessuna variabile ha un valore p inferiore a 0.1, l'algoritmo si ferma e hai il tuo modello finale con un solo predittore. Regredisci il modello stepwise per controllare la significatività dei migliori predittori del passaggio 1. Se è superiore alla soglia di rimozione, lo mantieni nel modello stepwise. Altrimenti, lo escludi.
  • Passo 3 : Si replica il passaggio 2 sul nuovo modello stepwise migliore. L'algoritmo aggiunge predittori al modello stepwise in base ai valori immessi ed esclude il predittore dal modello stepwise se non soddisfa la soglia di esclusione.
  • L'algoritmo continua finché non è possibile aggiungere o escludere alcuna variabile.

È possibile eseguire l'algoritmo con la funzione ols_stepwise() del pacchetto 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

Prima di ciò, ti mostriamo i passaggi dell’algoritmo. Di seguito è riportata una tabella con le variabili dipendenti e indipendenti:

Variabile dipendente Variabili indipendenti
mpg a disposizione
hp
dra
wt
qsec

Inizia

Per cominciare, l'algoritmo inizia eseguendo il modello separatamente su ciascuna variabile indipendente. La tabella mostra il valore p per ciascun modello.

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

Per entrare nel modello, l'algoritmo mantiene la variabile con il valore p più basso. Dall'output sopra, è wt

Passo 1

Nella prima fase, l'algoritmo esegue mpg su wt e sulle altre variabili in modo indipendente.

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

Ogni variabile è un potenziale candidato per entrare nel modello finale. Tuttavia, l'algoritmo mantiene solo la variabile con il valore p più basso. Risulta che hp ha un valore p leggermente inferiore a qsec. Pertanto, HP entra nel modello finale

Passo 2

L'algoritmo ripete il primo passaggio ma questa volta con due variabili indipendenti nel modello finale.

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

Nessuna delle variabili inserite nel modello finale ha un valore p sufficientemente basso. L'algoritmo si ferma qui; abbiamo il modello finale:

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

È possibile utilizzare la funzione ols_stepwise() per confrontare i risultati.

stp_s <-ols_stepwise(fit, details=TRUE)

Produzione:

L'algoritmo trova una soluzione dopo 2 passaggi e restituisce lo stesso output di prima.

Alla fine, si può dire che il modello è spiegato da due variabili e un'intercetta. Il miglio per gallone è correlato negativamente con la potenza lorda e il peso

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

machine Learning si sta diffondendo tra i data scientist e viene implementato in centinaia di prodotti utilizzati quotidianamente. Una delle prime applicazioni ML è stata filtro antispam.

Di seguito sono riportate altre applicazioni del Machine Learning:

  • Identificazione dei messaggi di spam indesiderati nella posta elettronica
  • Segmentazione del comportamento dei clienti per pubblicità mirata
  • Riduzione delle transazioni fraudolente con carta di credito
  • Ottimizzazione del consumo energetico in abitazioni e uffici
  • Riconoscimento facciale

Apprendimento supervisionato

In Apprendimento supervisionato, i dati di addestramento forniti all'algoritmo includono un'etichetta.

Classificazione è probabilmente la tecnica di apprendimento supervisionato più utilizzata. Uno dei primi compiti di classificazione affrontati dai ricercatori è stato il filtro antispam. L'obiettivo dell'apprendimento è prevedere se un'e-mail è classificata come spam o ham (buona e-mail). La macchina, dopo la fase di addestramento, può rilevare la classe dell'e-mail.

regressioni sono comunemente utilizzati nel campo dell'apprendimento automatico per prevedere il valore continuo. L'attività di regressione può prevedere il valore di a variabile dipendente basato su un insieme di variabili indipendenti (chiamati anche predittori o regressori). Ad esempio, le regressioni lineari possono prevedere il prezzo delle azioni, le previsioni del tempo, le vendite e così via.

Ecco l'elenco di alcuni algoritmi fondamentali di apprendimento supervisionato.

  • Regressione lineare
  • Regressione logistica
  • Vicini più vicini
  • Supporta la macchina vettoriale (SVM)
  • Alberi decisionali e foresta casuale
  • Reti neurali

Apprendimento senza supervisione

In Apprendimento senza supervisione, i dati di addestramento sono senza etichetta. Il sistema tenta di apprendere senza riferimento. Di seguito è riportato un elenco di algoritmi di apprendimento non supervisionato.

  • K-significa
  • Hierarchical Cluster Analisi
  • Massimizzazione delle aspettative
  • Visualizzazione e riduzione della dimensionalità
  • Analisi del componente principale
  • PCA del kernel
  • Incorporamento localmente lineare

Sommario

  • La regressione lineare risponde a una semplice domanda: puoi misurare una relazione esatta tra una variabile target e un insieme di predittori?
  • Il metodo dei minimi quadrati ordinari cerca di trovare i parametri che minimizzano la somma degli errori quadratici, ovvero la distanza verticale tra i valori y previsti e i valori y effettivi.
  • Il modello probabilistico che include più di una variabile indipendente è chiamato modello di regressione multipla.
  • Lo scopo dell'algoritmo di regressione lineare graduale è quello di aggiungere e rimuovere potenziali candidati nei modelli e mantenere quelli che hanno un impatto significativo sulla variabile dipendente.
  • La selezione delle variabili è una parte importante per adattare un modello. La regressione stepwise esegue il processo di ricerca automaticamente.

La regressione ordinaria ai minimi quadrati può essere riassunta nella tabella seguente:

Biblioteca Obiettivo Funzione argomenti
base Calcolare una regressione lineare lom() formula, dati
base Riassumere il modello riassumere() in forma
base Estrarre i coefficienti lm()$coefficiente
base Estrarre i residui lm()$residui
base Estrarre il valore adattato lm()$valori.adattati
olsrr Eseguire una regressione graduale ols_passo dopo passo() fit, pent = 0.1, prem = 0.3, dettagli = FALSO

Note:: Ricordarsi di trasformare la variabile categoriale in fattore prima di adattare il modello.