viernes, 5 de junio de 2015

Regresion Logistica

Para predecir una variable binaria puede usarse el modelo de regresión logística, que consiste en una transformación de la regresión lineal (ver ejemplo de regresión lineal AQUI).

Si se usa la regresión lineal para predecir una variable binaria, el resultado seria así:




Para poder predecir la variable binaria, se transforma la regresión lineal en regresión logística, convirtiendo y en ln(p/(1-p) y luego se aplica una regresión lineal sobre esta transformación. Después de obtener el resultado, se convierte en probabilidad final usando la transformación exponencial. 

Conceptualmente seria así:



#----------------------------------------------------------------------------------
# carga datos desde dropbox
datos.url       <- "https://www.dropbox.com/s/r6panhu58ps38d2/train_titanic.csv?dl=1"
datos           <- read.csv(datos.url)
datos           <- within(datos, rm(Name,PassengerId,Ticket,Cabin,Age))


#----------------------------------------------------------------------------------
# Divide set en Train y Test
set.seed(1)
muestra         <- sample(nrow(datos),nrow(datos)*.3)
Train           <- datos[-muestra,]
Test            <- datos[muestra,]


#----------------------------------------------------------------------------------
# Crea modelo predictivo 
Modelo_glm      <- glm(Survived ~., Train, family = binomial(link="logit"))


#----------------------------------------------------------------------------------
# Hace prediccion y crea matriz confucion 
Prediccion      <- round(predict(Modelo_glm, newdata = Test, type = "response"))
(MC              <- table(Test[, "Survived"],Prediccion))   # Matriz de Confusión


Referencias:
1.Ejemplo con mismo data set:
 https://www.youtube.com/watch?v=ZkxyjL8SN_o
2.Concepto de Odds Ratio:
 http://ww2.coastal.edu/kingw/statistics/R-tutorials/logistic.html
3. Calcular los betas y concepto de Máxima Verosimilitud (Likelihood):
https://wiki.ecdc.europa.eu/fem/w/fem/fitting-logistic-regression-models.aspx
4. Método Newton para encontrar p:
http://ygc.name/2011/10/24/machine-learning-ex4-logistic-regression/
5. Concepto Regresión Logística:
 http://ufldl.stanford.edu/tutorial/supervised/LogisticRegression/
6. Calculo paso a paso de regresión logística:
http://www.analyticsvidhya.com/blog/2015/10/basics-logistic-regression/





1 comentario: