La regressione multipla (lineare)

R fornisce un supporto completo per la regressione lineare multipla. Gli argomenti seguenti sono forniti in ordine crescente di complessità.

Montaggio del modello

# Multiple Linear Regression Example
fit <- lm(y ~ x1 + x2 + x3, data=mydata)
summary(fit) # show results

Grafici diagnostici

I grafici diagnostici forniscono controlli per eteroscedasticità, normalità e osservazioni influenti.,

# diagnostic plots
layout(matrix(c(1,2,3,4),2,2)) # optional 4 graphs/page
plot(fit)

fare clic per visualizzare

Per una valutazione più completa del modello di adattamento vedere diagnostica regressione o gli esercizi in questo corso interattivo sulla regressione.

Confronto dei modelli

È possibile confrontare i modelli nidificati con la funzione anova (). Il seguente codice fornisce un test simultaneo che x3 e x4 aggiungono alla previsione lineare sopra e oltre x1 e x2.

# compare models
fit1 <- lm(y ~ x1 + x2 + x3 + x4, data=mydata)
fit2 <- lm(y ~ x1 + x2)
anova(fit1, fit2)

Convalida incrociata

Puoi eseguire la convalida incrociata K-Fold usando il cv.lm () funzione nel pacchetto DAAG.,

# K-fold cross-validation
library(DAAG)
cv.lm(df=mydata, fit, m=3) # 3 fold cross-validation

Somma l’MSE per ogni piega, dividi per il numero di osservazioni e prendi la radice quadrata per ottenere l’errore standard validato incrociato di stima.

È possibile valutare il ritiro R2 tramite convalida incrociata K-fold. Usando la funzione crossval () dal pacchetto bootstrap, fai quanto segue:

Selezione variabile

La selezione di un sottoinsieme di variabili predittive da un insieme più grande (ad esempio, selezione graduale) è un argomento controverso. È possibile eseguire la selezione graduale (avanti, indietro, entrambi) utilizzando la funzione stepAIC () dal pacchetto di massa., stepAIC () esegue la selezione graduale del modello con AIC esatto.

In alternativa, è possibile eseguire la regressione di tutti i sottoinsiemi utilizzando la funzione leaps( ) dal pacchetto leaps. Nel seguente codice nbest indica il numero di sottoinsiemi di ogni dimensione da segnalare. Qui, i dieci migliori modelli saranno riportati per ogni dimensione del sottoinsieme (1 predittore, 2 predittori, ecc.).

fare clic per visualizzare

Altre opzioni per plot( ) sono bic, Cp e adjr2. Altre opzioni per tracciare con
subset( ) sono bic, cp, adjr2 e rss.,

Importanza relativa

Il pacchetto relaimpo fornisce misure di importanza relativa per ciascuno dei predittori nel modello. Vedere aiuto (calc.relimp) per i dettagli sulle quattro misure di importanza relativa fornite.

fare clic per visualizzare

Miglioramenti grafici

Il pacchetto car offre un’ampia varietà di grafici per la regressione, inclusi grafici variabili aggiunti e grafici diagnostici e Scatterplots migliorati.

Andando oltre

Regressione non lineare

Il pacchetto nls fornisce funzioni per la regressione non lineare., Vedere Regressione non lineare di John Fox e minimi quadrati non lineari per una panoramica. Strumenti statistici di Huet e colleghi per la regressione non lineare: una guida pratica con esempi S-PLUS e R è un prezioso libro di riferimento.

Regressione robusta

Ci sono molte funzioni in R per aiutare con una regressione robusta. Ad esempio, è possibile eseguire una regressione robusta con la funzione rlm( ) nel pacchetto MASS. John Fox (chi altro?) La regressione robusta fornisce una buona panoramica di partenza. Il sito web di calcolo statistico UCLA ha esempi di regressione robusti.,

Il pacchetto robusto fornisce una libreria completa di metodi robusti, inclusa la regressione. Il pacchetto robustbase fornisce anche statistiche robuste di base, inclusi i metodi di selezione del modello. E David Olive ha fornito una dettagliata revisione online delle statistiche robuste applicate con il codice R di esempio.

Per praticare

Questo corso di machine learning in R include esercizi di regressione multipla e validazione incrociata.

Author: admin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *