Regresión logística y cuadrática República Bolivariana de Venezuela Ministerio del Poder Popular para la Defensa Universidad Nacional Experimental Politécnica de la Fuerza Armada UNEFA- Núcleo Nueva Esparta Cálculo Numérico Regresión logística y cuadrática Elaborado por: Noor El Sehnawi C.I.:25967204. Oriana Lamaa C.I.: 25999565. Profesor: Jesús Suniaga Juangriego, noviembre del 2016.
Modelo de regresión logística Un grupo de estudiantes pasan entre 0 y 6 horas estudiando para un examen. . ¿De qué manera el número de horas dedicadas a estudiar afecta a la probabilidad de que el estudiante va a pasar el examen? x=c( 0.50, 1.00, 1.25, 1.50, 0.75, 1.75, 1.75, 2.00, 2.25, 2.50, 2.75, 3.00, 3.25, 3.50, 4.00, 4.25, 4.50, 4.75, 5.00, 5.50) y=c(0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1) print(indices) [1] 19 17 20 4 14 12 10 18 16 13 3 8 7 6 9 15 #Comandos datos=data.frame(x,y) print(datos) n=nrow(datos) indices=sample(1:n,0.80*n) print(indices)
Modelo de regresión logística muestra1=datos[indices,] muestra2=datos[-indices,] x y 19 5.00 1 17 4.50 20 5.50 4 1.50 14 3.50 12 3.00 10 2.50 18 4.75 x y 1 0.50 2 1.00 5 0.75 11 2.75 x y 16 4.25 1 13 3.25 3 1.25 8 2.00 7 1.75 6 9 2.25 15 4.00 (datos de validación) (datos de entrenamiento)
Modelo de regresión logística #Comandos model=glm(y~x,data=muestra1,family=binomial) summary(model) summary(model) Estimate Std. Error z value Pr(>|z|) (Intercept) -3.858 1.939 -1.990 0.0466 * x 1.372 0.644 2.131 0.0331 * #Para ver que la Regresión logística es adecuada se buscan los P-value, para intercept y x deben dar significativos (p<0.05)
Modelo de regresión logística predichos1 19 17 20 4 14 12 10 18 16 13 3 8 7 6 9 15 1 #Comandos predichos1<-predict(model, type = 'response') predichos1=round(predichos1,0) muestra1$valpred=predichos1 Predichos1 tabla1=table(muestra1$y, predichos1> tabla1 tabla1 FALSE TRUE 5 2 1 7
Modelo de regresión logística predichos2 #Comandos pcc1=sum(diag(tabla1))*100/nrow(muestra1) predichos2= predict(model,newdata=muestra2, type ="response") predichos2=round(predichos2,0) predichos2 tabla=table(muestra2$y, predichos2 > 0.5) 1 2 5 11 tabla FALSE 3 1
Modelo de regresión logística pcc2=sum(diag(tabla))*100/nrow(muestra2)) #Calcula el porcentaje clasificación correcta en los datos de validación > pcc2 [1] 75 cat(" porcentaje de clasificación en los datos de entrenamiento",pcc1) porcentaje de clasificación en los datos de entrenamiento 75 cat(" porcentaje de clasificación en los datos de validación",pcc2) porcentaje de clasificación en los datos de validación 75 #Si este % es mayor que 70% podemos afirmar que el modelo logístico es válido.
Modelo de regresión cuadrática Se realiza una prueba de frenado de un automóvil nuevo, midiendo la distancia de parada (en metros) de acuerdo a la rapidez del vehículo (Km/h), al momento de aplicar los frenos, obteniéndose los siguientes datos: Rapidez=x=c(35,50,65,80,95,110) Distancia=y=c(16,26,41,62,88,119) #Comandos plot(x,y) reg=lm(y~x+I(x^2))
Modelo de regresión cuadrática Summary(reg) Estimate Std. Error t value Pr(>|t|) (Intercept) 13.3587302 0.7168965 18.63 0.000337 *** x -0.3394444 0.0214604 -15.82 0.000549 *** I(x^2) 0.0118254 0.0001463 80.81 4.18e-06 *** Multiple R-squared: 1, Adjusted R-squared: 1 #Comandos summary(reg) coef=reg$coefficients a=coef[1];b=coef[2];c=coef[3] > a (Intercept) 13.35873 > b x -0.3394444 > c I(x^2) 0.0118254
Modelo de regresión cuadrática yp 15.96429 25.95000 41.25714 61.88571 87.83571 119.10714 plot(x,y,xlab="rapidez",ylab="distancia", pch=20) #Comandos xp=x yp=a+(b*xp)+(c*(xp^2)) yp plot(x,y,xlab="rapidez",ylab="distancia", pch=20)