Regressione lineare
Yi = beta0 + beta1Xi + ei
lm(y~x, tabella) ' y variabile dipendente, x regressore
coef(lm(y~x, tabella)) ' estrae solo i due coefficienti beta0 e beta1
summary(lm(y~x, tabella)) ' riepilogo dettagliato
per vedere o memorizzare solo un parametro
summary(lm(y~x, tabella))$sigma # in questo caso estraggo solo la sd dei residui
per costruire sul grafico la retta di regressione con g = grafico già costruito
g + geom.smooth(method="lm", formula=y~x) # posso anche omettere il parametro "formula" (di default usa y dipendente e x regressore
Usando:
lm(y~I(x-mean(x)), data=tabella)) # se voglio usare una funzione devo usare I()
In questo modo: beta1 (pendenza) rimane invariato (incremento di y per ogni incremento unitario di x)
beta0 (intercetta) diventa y atteso per valore medio di x
Per fare una previsione usando la retta di regressione:
Predict(lm([...]), newdata=data.frame(x=[valore o vettore di valori di x per previsione y[)
Il risultato è uguale a calcolare y sostituendo x e i coefficienti
resid(lm[...]) # calcola i residui (omettendo il parametro newdata usa i parametri di lm, quindi calcola tutti i residui per ogni coppia di x e y (sum(resid(lm[...])) è naturalmente 0)
SINTESI FUNZIONE lm
model <- lm(y ~ 1) ## Intercept only (no slope coefficient)
model <- lm(y ~ x - 1) ## Slope only (no intercept coefficient)
model <- lm(y ~ x) ## Intercept & slope (x is not a factor)
model <- lm(y ~ w) ## Intercepts only (w is a factor)
model <- lm(y ~ x + w) ## Intercepts & slope against confounding x & w
model <- lm(y ~ x * w) ## Intercepts & slopes against interacting x & w
lm(y ~ 1) : yhat = B0
lm(y ~ x - 1) : yhat = B1*x
lm(y ~ x) : yhat = B0 + B1*x
lm(y ~ w) : yhat = B0 + B2*w
lm(y ~ x + w) : yhat = B0 + B1*x + B2*w
lm(y ~ x * w) : yhat = B0 + B1*x + B2*w + B3*x*w
lm(y ~ I(log(x)) + w) : yhat = B0 + B1*log(x) + B2*w
lm(y ~ I(log(x)) * w) : yhat = B0 + B1*log(x) + B2*w + B3*log(x)*w
Categories
Bash
(3)
BOT
(2)
C#
(1)
Cluster Analysis
(1)
Data Cleaning
(6)
Data Ingestion
(2)
Data Science Specialization
(10)
Data Visualization
(15)
ggplot2
(1)
Hadoop
(1)
Hashnode
(3)
Machine Learning
(5)
MapReduce
(1)
Maps
(1)
Markdown
(7)
Market Basket Analysis
(1)
MATLAB
(1)
Matplotlib
(3)
Numpy
(2)
Octave
(1)
Pandas
(3)
Python
(17)
R
(22)
Regression
(7)
scikit-learn
(1)
Seaborn
(1)
Shell
(3)
Shiny App
(1)
SSIS
(3)
Statistical Inference
(2)
T-SQL
(8)
Unix
(3)
No comments:
Post a Comment