Una compañía de seguros de automóvil desea caracterizar la siniestralidad de sus asegurados durante el último año

Acc : haber tenido algún accidente en el último año (0:no; 1:sí). Exp : años de experiencia. Edad : edad del conductor. Pot : potencia del motor. Sexo : 1 (mujer), 2 (hombre).

I. Con herramientas del análisis exploratorio, estudie la asociación entre la siniestralidad y el conjunto de variables predictoras (Edad, Experiencia, Potencia del motor y Sexo).

Cargamos Base de datos Accidente

library(readxl)
accidentes <- read_excel("C:/Users/felip/Downloads/accidentes.xlsx")

Revisamos la estructura de los datos para ver su comportamiento

str(accidentes)
## tibble [35 × 5] (S3: tbl_df/tbl/data.frame)
##  $ Acc : num [1:35] 0 0 0 1 0 1 0 1 0 1 ...
##  $ Exp : num [1:35] 10 15 7 1 10 2 8 20 18 4 ...
##  $ Edad: num [1:35] 30 40 25 21 29 20 40 25 43 23 ...
##  $ Pot : num [1:35] 90 85 95 145 70 120 95 135 85 110 ...
##  $ Sexo: num [1:35] 1 1 1 2 1 2 1 2 1 2 ...

Encontramos que las variables “Accidentes” y “Sexo” las cuales nos hablan de si tuvo o no accidente y si es Hombre o Mujer, se encuentran numericas, por lo tanto debemos convertirlas a factor de la siguiente Manera

accidentes=transform(accidentes,
                      Acc=factor(Acc, levels=0:1, labels =c("No","Yes")))

accidentes=transform(accidentes,
                      Sexo=factor(Sexo, levels=1:2, labels =c("mujer","hombre")))

revisaremos si presentamos datos faltantes, para efectos de la regresion es importante saber cuales registros no haran parte del analisis.

esto lo haremos a través del paquete visdat con la funcion vis miss - visualizar datos faltantes

visdat::vis_miss(accidentes)

No presentamos datos faltantes , podemos continuar con el analisis exploratorio un poco mas generalizado

summary(accidentes)
##   Acc          Exp              Edad         Pot            Sexo   
##  No :20   Min.   : 1.000   Min.   :20   Min.   : 70.0   mujer :21  
##  Yes:15   1st Qu.: 6.500   1st Qu.:25   1st Qu.: 90.0   hombre:14  
##           Median : 9.000   Median :29   Median : 95.0              
##           Mean   : 9.543   Mean   :31   Mean   :101.6              
##           3rd Qu.:12.000   3rd Qu.:36   3rd Qu.:110.0              
##           Max.   :20.000   Max.   :56   Max.   :150.0
color=ifelse(accidentes$Acc=="No","Black","Red")

windows(height=10,width=15);par(mfrow=c(1,6))                 
attach(accidentes)
tabla<-prop.table(table(Acc))
coord<-barplot(tabla, col=color,ylim=c(0,1), main="Accidentes")
text(coord,tabla,labels=round(tabla,2), pos=3)
lapply(names(accidentes[,-8]),function(y){
   boxplot(accidentes[,y]~accidentes[,"Acc"],ylab= y, xlab="Accidentes",boxwex = 0.5,col=NULL)
   stripchart(accidentes[,y] ~ accidentes[,"Acc"], vertical = T,
             method = "jitter", pch = 19,
             col = color, add = T)
})

## [[1]]
## NULL
## 
## [[2]]
## NULL
## 
## [[3]]
## NULL
## 
## [[4]]
## NULL
## 
## [[5]]
## NULL
detach(accidentes)

library(ggplot2)
windows(height=10,width=15);par(mfrow=c(1,2)) 
ggplot(data = accidentes, aes(x = Exp, y = Pot, col = Acc)) +
  geom_point() +
  ggtitle("Relacion entre Experiencia y Potencia de Motor diferenciando diferenciado por accidentando o no")

ggplot(data = accidentes, aes(x = Exp, y = Edad, col = Acc)) +
  geom_point() +
  ggtitle("Relacion entre Experiencia y edad de la persona diferenciando  por accidentando o no")

Resultado analisis exploratorio

desde la visualizacion de datos evidenciamos la relacion y tendencia entre el numero de accidentes y genero, donde el 73% de los accidentes reportados son sufridos por hombres, aun cuando solo el 40% del total de la poblacion de estudio es parte del genero masculino, lo cual evidencia con claridad que los hombres presentan mayor probabilidad de accidentarse perse, por otro lado la relación o efecto entre variables cuantitativas en parte es poco diciente y en otra nos da cierta luz, por ejemplo el caso de potencia del motor, donde se presentan accidentes a diversos niveles de potencia del motor sin encontrar o definir un patron claro, por el contrario el patron visual de experiencia en conduccion es claro, proyectando que a que menor experiencia podemos observar mayor concentración de accidentes efectivos, a medida que la experiencia aumenta disminiyen considerablemente los patrones de cercania vistos en la parte inicial del grafico. es decir con poca experiencia.

II. Utilice la función glm, del software R, para ajustar los siguientes modelos de regresión logística:

Modelo 1: Acc ~ Exp Modelo ; 2: Acc ~ Exp + genero

mod_log1=glm(formula=Acc~Exp, data=accidentes, family = "binomial")
mod_log2=glm(formula=Acc~Exp + Sexo , data=accidentes, family = "binomial")

#Resumen Modelo 1
summary(mod_log1)
## 
## Call:
## glm(formula = Acc ~ Exp, family = "binomial", data = accidentes)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.3816  -0.9683  -0.5681   0.8929   2.4577  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)  
## (Intercept)   1.9419     0.9816   1.978   0.0479 *
## Exp          -0.2456     0.1044  -2.354   0.0186 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 47.804  on 34  degrees of freedom
## Residual deviance: 40.006  on 33  degrees of freedom
## AIC: 44.006
## 
## Number of Fisher Scoring iterations: 4
#Resumen Modelo 2
summary(mod_log2)
## 
## Call:
## glm(formula = Acc ~ Exp + Sexo, family = "binomial", data = accidentes)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.8339  -0.6674  -0.3588   0.3650   1.7426  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)   
## (Intercept)   0.8890     1.2252   0.726  0.46808   
## Exp          -0.2400     0.1176  -2.040  0.04131 * 
## Sexohombre    2.9866     1.0683   2.796  0.00518 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 47.804  on 34  degrees of freedom
## Residual deviance: 29.249  on 32  degrees of freedom
## AIC: 35.249
## 
## Number of Fisher Scoring iterations: 5
library(ggplot2)

G1<-ggplot(data= accidentes ) +
  geom_point(aes(x=Exp , y= Acc, col = Acc))+
  geom_line(aes(x= Exp, y= predict(mod_log1)),
            color = "cadetblue3") + 
  geom_line(aes(x= Exp, y= predict(mod_log2)),
            color = "darkseagreen3") +
  theme(legend.position = "bottom") 

G2<-ggplot(data= accidentes) +
  geom_point(aes(x= Exp, y= Acc, col = Acc))+
  geom_smooth(aes(x = Exp, y = predict(mod_log1)), color = "cadetblue3") + 
  geom_smooth(aes(x = Exp, y = predict(mod_log2)), color = "darkseagreen3") +
  theme(legend.position = "bottom")

library(cowplot)
plot_grid(G1, G2) + labs(title = "Gráficas de regresión del Modelo 1 y Modelo 2") +theme(plot.title = element_text(face = "bold"))

AMBOS COEFICIENTES SON SIGNIFICATIVAMENTE DISTINTOS DE CERO III. Escriba las ecuaciones de pronóstico asociadas a los 2 modelos.

Modelo 1 Crudo estimado = B0+B1Exp + u

Modelo 1 crudo estimado = 1,94 + 0,24Exp + u

# Interpretación de los coeficientes - odds y odds ratio Modelo 1
Tabla_coef=cbind(Coef=coef(mod_log1),IC=confint(mod_log1,level=0.95))
Tabla_coef
##                  Coef      2.5 %      97.5 %
## (Intercept)  1.941925  0.1848551  4.13862783
## Exp         -0.245607 -0.4859059 -0.06601434

los intervalos de confianza validan mis valores crudos y su significancia. ahora para hablar en terminos de pronostico debemos convertirlos en terminos de odds, como se incrementa el odds de accidentalidad por cada unidad adicional de experiencia

Tabla_odds = exp(Tabla_coef)
colnames(Tabla_odds)[1]="interpreta"
Tabla_odds
##             interpreta     2.5 %     97.5 %
## (Intercept)  6.9721601 1.2030441 62.7167043
## Exp          0.7822295 0.6151397  0.9361174

resultando con el modelo pronosticable Modelo 1 Estimado = 6,97 + 0,78Exp + u

Modelo 2

Modelo 2 Crudo estimado = B0+ B1Exp + B2Sexo u

Modelo 2 crudo estimado = 0,88 + 0,24Exp + 2,98Sexo + u

# Interpretación de los coeficientes - odds y odds ratio Modelo 2
Tabla_coef2=cbind(Coef=coef(mod_log2),IC=confint(mod_log2,level=0.95))
Tabla_coef2
##                   Coef      2.5 %      97.5 %
## (Intercept)  0.8890341 -1.3776790  3.64897083
## Exp         -0.2399985 -0.5285605 -0.04017264
## Sexohombre   2.9865699  1.1292126  5.58840807

los intervalos de confianza validan mis valores crudos y su significancia. ahora para hablar en terminos de pronostico debemos convertirlos en terminos de odds, como se incrementa el odds de accidentalidad por cada unidad adicional de experiencia y dependiendo del genero

Tabla_odds2 = exp(Tabla_coef2)
colnames(Tabla_odds2)[1]="interpreta"
Tabla_odds2
##             interpreta     2.5 %      97.5 %
## (Intercept)   2.432779 0.2521631  38.4350894
## Exp           0.786629 0.5894529   0.9606236
## Sexohombre   19.817589 3.0932200 267.3097416

resultando con el modelo pronosticable Modelo 2 estimado = 2,43 + 0,78Exp + 19.81Sexo + u

IV.A través de indicadores de bondad de ajuste (incluyendo Deviance, AIC, la curva ROC, el AUC y los test de razón de verosimilitud correspondientes), evalúe y compare el ajuste de los 2 modelos anteriores.

#anova test para analisis de desvianza en modelo 1
anova(mod_log1,test="Chisq")
## Analysis of Deviance Table
## 
## Model: binomial, link: logit
## 
## Response: Acc
## 
## Terms added sequentially (first to last)
## 
## 
##      Df Deviance Resid. Df Resid. Dev Pr(>Chi)   
## NULL                    34     47.804            
## Exp   1   7.7977        33     40.006 0.005231 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#anova test para analisis de desvianza en modelo 2
anova(mod_log2,test="Chisq")
## Analysis of Deviance Table
## 
## Model: binomial, link: logit
## 
## Response: Acc
## 
## Terms added sequentially (first to last)
## 
## 
##      Df Deviance Resid. Df Resid. Dev Pr(>Chi)   
## NULL                    34     47.804            
## Exp   1   7.7977        33     40.006 0.005231 **
## Sexo  1  10.7571        32     29.249 0.001039 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

lo que nos dice el test es que si no tuvieramos ningun modelo, la devianza seria de 47,8, pero al incluir la glucosa , la nueva desvianza fue de 40, para el modelo 2 el resultado es un poco mejor ya que se ubica la varianza en 29,2 por lo anterior el modelo 2 desde la optica de desvianza explica mejor que el modelo 1 y comienza a validarse que la inclusion del genero genera valor.

la reduccion de desvianza es significativa.

R2=function(Modelo){
   R2=(Modelo$null.deviance - Modelo$deviance)/Modelo$null.deviance} 

Bondad_Ajuste=data.frame(AIC=mod_log1$aic,deviance=mod_log1$deviance,R2=R2(mod_log1))
row.names(Bondad_Ajuste)="mod_log1"
Bondad_Ajuste
##               AIC deviance        R2
## mod_log1 44.00583 40.00583 0.1631205

El primer modelo contribuye a explicar, ahora revisemos la bondad de ajuste para el segundo modelo }

Bondad_Ajuste2=data.frame(AIC=mod_log2$aic,deviance=mod_log2$deviance,R2=R2(mod_log2))
row.names(Bondad_Ajuste2)="mod_log2"
Bondad_Ajuste2
##               AIC deviance        R2
## mod_log2 35.24875 29.24875 0.3881471
Score_RL1 = predict(mod_log1)         
Prob_RL1  = predict(mod_log1,type = "response")
Score_RL2 = predict(mod_log2)         
Prob_RL2  = predict(mod_log2,type = "response")

# Curva ROC: Explora un mejor punto de corte para el Modelo de regresión Logistica
roc1 <- pROC::roc(accidentes$Acc,Prob_RL1, auc = TRUE, ci = TRUE)
print(roc1)
## 
## Call:
## roc.default(response = accidentes$Acc, predictor = Prob_RL1,     auc = TRUE, ci = TRUE)
## 
## Data: Prob_RL1 in 20 controls (accidentes$Acc No) < 15 cases (accidentes$Acc Yes).
## Area under the curve: 0.7983
## 95% CI: 0.6297-0.967 (DeLong)
roc2 <- pROC::roc(accidentes$Acc,Prob_RL2, auc = TRUE, ci = TRUE)
print(roc2)
## 
## Call:
## roc.default(response = accidentes$Acc, predictor = Prob_RL2,     auc = TRUE, ci = TRUE)
## 
## Data: Prob_RL2 in 20 controls (accidentes$Acc No) < 15 cases (accidentes$Acc Yes).
## Area under the curve: 0.8683
## 95% CI: 0.7507-0.986 (DeLong)

Teniendo en cuenta los test anteriores y finalizando con la revision de la curva roc, donde encontramos que el area bajo la curva del segundo modelo es de 0,868 siendo mucho mejor que la del primer modelo la cual se ubico en 0,798, por esto y de manera uniname se opta por el segundo modelo ya que de acuerdo a los indicadores de bondad de ajuste, este presenta mayor favorabilidad.

V. Seleccione el mejor de los modelos anteriores, interprete los coeficientes estimados y valide su significancia.

de acuerdo a lo anteriormente evaluado , encontramos que el mejor modelo seria el modelo 2 , ya que su bondad de ajuste es mejor que el primer modelo, encontrando significativas las dos variables incluidas, tanto experiencia en conduccion como el genero, el modelo 2 es el siguiente posterior a la transformacción de odds

Modelo 2 estimado = 2,43 + 0,78Exp + 19.81Sexo + u

. ahora para hablar en terminos de pronostico debemos convertirlos en terminos de odds, como se incrementa el odds de accidentalidad por cada unidad adicional de experiencia y dependiendo del genero

el intercepto no tiene explicacion con sentido,por ello no lo interpretamos

la probabilidad de no accidentarse incrementa en 0,78 unidades de odds por aumento de unidad de años de 1 unidad de tiempo de experiencia conduciendo

para el sexo y de acuerdo a nuestra variable de referencia que son los hombres,se interpreta que 1 hombre tiene 19,81% mayor probabilidad de accidentarse que una mujer con un nivel de experiencia y demas factores constantes.

El las variables del modelo 2 son significativas estadisticamente hablando de acuerdo a su valor p. 

VI. Para el modelo seleccionado en el punto v. evalúe los indicadores de bondad de clasificación (luego de identificar el mejor punto de corte).

Ahora Generaremos clasificaciones - Convertiremos probabilidades predichas en clasificaciones

pc=0.6 # Seleccionamos un punto de corte pc=0.6 probado posterior
Class_RL2 = as.factor(ifelse(Prob_RL2>pc,"Yes","No")) 
data.frame(accidentes$Acc,Class_RL2)
##    accidentes.Acc Class_RL2
## 1              No        No
## 2              No        No
## 3              No        No
## 4             Yes       Yes
## 5              No        No
## 6             Yes       Yes
## 7              No        No
## 8             Yes        No
## 9              No        No
## 10            Yes       Yes
## 11             No        No
## 12             No        No
## 13            Yes        No
## 14            Yes       Yes
## 15             No       Yes
## 16             No        No
## 17             No        No
## 18            Yes       Yes
## 19             No        No
## 20             No        No
## 21             No        No
## 22             No        No
## 23            Yes       Yes
## 24            Yes        No
## 25             No        No
## 26             No        No
## 27            Yes       Yes
## 28            Yes        No
## 29             No        No
## 30             No        No
## 31            Yes       Yes
## 32            Yes       Yes
## 33             No        No
## 34            Yes        No
## 35            Yes        No
# Evaluando la bondad de clasificación
table(accidentes$Acc,Class_RL2,dnn=c("observado","predicho"))  
##          predicho
## observado No Yes
##       No  19   1
##       Yes  6   9
# Matriz de confusión
caret::confusionMatrix(Class_RL2,accidentes$Acc,positive = "Yes")
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction No Yes
##        No  19   6
##        Yes  1   9
##                                           
##                Accuracy : 0.8             
##                  95% CI : (0.6306, 0.9156)
##     No Information Rate : 0.5714          
##     P-Value [Acc > NIR] : 0.003999        
##                                           
##                   Kappa : 0.5739          
##                                           
##  Mcnemar's Test P-Value : 0.130570        
##                                           
##             Sensitivity : 0.6000          
##             Specificity : 0.9500          
##          Pos Pred Value : 0.9000          
##          Neg Pred Value : 0.7600          
##              Prevalence : 0.4286          
##          Detection Rate : 0.2571          
##    Detection Prevalence : 0.2857          
##       Balanced Accuracy : 0.7750          
##                                           
##        'Positive' Class : Yes             
## 
ICC_RL2=caret::confusionMatrix(Class_RL2,accidentes$Acc,positive = "Yes")
ICC_RL2$byClass       
##          Sensitivity          Specificity       Pos Pred Value 
##            0.6000000            0.9500000            0.9000000 
##       Neg Pred Value            Precision               Recall 
##            0.7600000            0.9000000            0.6000000 
##                   F1           Prevalence       Detection Rate 
##            0.7200000            0.4285714            0.2571429 
## Detection Prevalence    Balanced Accuracy 
##            0.2857143            0.7750000

el modelo presenta una precision del 80% lo cual habla bien del modelo de manera inicial , aunque el no information rate es alto, tiene un indice capa del 58% , lo cual es un buen aporte , por encima de la aleatoriedad, en sensitividad el modelo clasificaria el 66,7% de las personas accidentadas como accidentados, y respecto a especificidad , el modelo clasificaria como no accidentados al 90% de los no accidentados, es decir , clasificaria como no accidentados al 10% de accidentandos, lo cual puede ser favorable a nivel de modelacion captando al 90% de los no accidentados.

attach(accidentes)
 with(accidentes,{
dD=density(Prob_RL2[Acc=="Yes"])
dS=density(Prob_RL2[Acc=="No"])
plot(NULL, xlim=range(Prob_RL2), ylim=range(c(dD$y,dS$y)), 
     type="n",ylab="Densidad",xlab="Probabilidad Predicha")
lines(dD,col=color[2]);lines(dS,col=color[1])
text( 0.08,3, "No Accidentados"); text(0.82,1, "Accidentados")
PC.option=c(0.5,0.25,0.75)
abline(v=PC.option,col="red",lty=2)
text(PC.option,3,paste("PC = ",PC.option),cex=0.7,adj=0)
})

# Curva ROC: Explora un mejor punto de corte para el Modelo de regresión Logistica
roc3 <- pROC::roc(accidentes$Acc,Prob_RL2, auc = TRUE, ci = TRUE)
print(roc3)
## 
## Call:
## roc.default(response = accidentes$Acc, predictor = Prob_RL2,     auc = TRUE, ci = TRUE)
## 
## Data: Prob_RL2 in 20 controls (accidentes$Acc No) < 15 cases (accidentes$Acc Yes).
## Area under the curve: 0.8683
## 95% CI: 0.7507-0.986 (DeLong)
pROC::plot.roc(roc3, legacy.axes = TRUE, print.thres = "best", print.auc = TRUE,
          auc.polygon = FALSE, max.auc.polygon = FALSE, auc.polygon.col = "gainsboro",
          col = 2, grid = TRUE) 

#justificacion de porque pc= 0,6
pc=0.6
Predict_RL2 = as.factor(ifelse(Prob_RL2>pc,"Yes","No"))

se define un punto de corte en 0,6 de acuerdo a juicio de experto y prueba roc.

VII. Determine si existe una mejora significativa en el modelo seleccionado, cuando se adicionan las variables edad y potencia del motor.

mod_Completo=glm(formula=Acc~Exp + Sexo + Edad + Pot, data=accidentes, family = "binomial")

summary(mod_Completo)
## 
## Call:
## glm(formula = Acc ~ Exp + Sexo + Edad + Pot, family = "binomial", 
##     data = accidentes)
## 
## Deviance Residuals: 
##      Min        1Q    Median        3Q       Max  
## -1.37539  -0.34691  -0.03831   0.03004   2.36888  
## 
## Coefficients:
##              Estimate Std. Error z value Pr(>|z|)  
## (Intercept) -19.97398    9.23723  -2.162   0.0306 *
## Exp          -0.47952    0.33645  -1.425   0.1541  
## Sexohombre    3.04940    2.36426   1.290   0.1971  
## Edad         -0.02585    0.08801  -0.294   0.7689  
## Pot           0.24687    0.10715   2.304   0.0212 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 47.804  on 34  degrees of freedom
## Residual deviance: 12.700  on 30  degrees of freedom
## AIC: 22.7
## 
## Number of Fisher Scoring iterations: 8
Score_RL3 = predict(mod_Completo)         
Prob_RL3  = predict(mod_Completo,type = "response")
pc=0.6
 #Seleccionamos un punto de corte pc=0.6 probado posterior

Class_RL3 = as.factor(ifelse(Prob_RL3>pc,"Yes","No")) 
data.frame(accidentes$Acc,Class_RL3)
##    accidentes.Acc Class_RL3
## 1              No        No
## 2              No        No
## 3              No        No
## 4             Yes       Yes
## 5              No        No
## 6             Yes       Yes
## 7              No        No
## 8             Yes       Yes
## 9              No        No
## 10            Yes       Yes
## 11             No        No
## 12             No        No
## 13            Yes       Yes
## 14            Yes       Yes
## 15             No        No
## 16             No        No
## 17             No        No
## 18            Yes       Yes
## 19             No        No
## 20             No        No
## 21             No        No
## 22             No        No
## 23            Yes       Yes
## 24            Yes       Yes
## 25             No        No
## 26             No       Yes
## 27            Yes       Yes
## 28            Yes       Yes
## 29             No        No
## 30             No        No
## 31            Yes       Yes
## 32            Yes       Yes
## 33             No        No
## 34            Yes        No
## 35            Yes        No
# Evaluando la bondad de clasificación
table(accidentes$Acc,Class_RL3,dnn=c("observado","predicho"))  
##          predicho
## observado No Yes
##       No  19   1
##       Yes  2  13
# Matriz de confusión
caret::confusionMatrix(Class_RL3,accidentes$Acc,positive = "Yes")
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction No Yes
##        No  19   2
##        Yes  1  13
##                                          
##                Accuracy : 0.9143         
##                  95% CI : (0.7694, 0.982)
##     No Information Rate : 0.5714         
##     P-Value [Acc > NIR] : 9.733e-06      
##                                          
##                   Kappa : 0.8235         
##                                          
##  Mcnemar's Test P-Value : 1              
##                                          
##             Sensitivity : 0.8667         
##             Specificity : 0.9500         
##          Pos Pred Value : 0.9286         
##          Neg Pred Value : 0.9048         
##              Prevalence : 0.4286         
##          Detection Rate : 0.3714         
##    Detection Prevalence : 0.4000         
##       Balanced Accuracy : 0.9083         
##                                          
##        'Positive' Class : Yes            
## 
ICC_RL3=caret::confusionMatrix(Class_RL3,accidentes$Acc,positive = "Yes")
ICC_RL3$byClass   
##          Sensitivity          Specificity       Pos Pred Value 
##            0.8666667            0.9500000            0.9285714 
##       Neg Pred Value            Precision               Recall 
##            0.9047619            0.9285714            0.8666667 
##                   F1           Prevalence       Detection Rate 
##            0.8965517            0.4285714            0.3714286 
## Detection Prevalence    Balanced Accuracy 
##            0.4000000            0.9083333
anova(mod_log2,mod_Completo)
## Analysis of Deviance Table
## 
## Model 1: Acc ~ Exp + Sexo
## Model 2: Acc ~ Exp + Sexo + Edad + Pot
##   Resid. Df Resid. Dev Df Deviance
## 1        32     29.249            
## 2        30     12.700  2   16.549

el modelo presenta una precision del 91,1% lo cual habla bien del modelo de manera inicial , aunque el no information rate es alto, tiene un indice capa del 82,3% , lo cual es un buen aporte , por encima de la aleatoriedad, en sensitividad el modelo clasificaria el 86,6% de las personas accidentadas como accidentados, y respecto a especificidad , el modelo clasificaria como no accidentados al 95% de los no accidentados, es decir , clasificaria como no accidentados al 5% de accidentandos, lo cual puede ser favorable a nivel de modelacion captando al 95% de los no accidentados.

de acuerdo al test anova y a la mejora en ajuste de bondas y en relacion a precision en terminos de desviance, la inclusion de las variables edad y potencia generan valor dentro del modelo y mejoran su ajuste.

Vii. Haciendo uso de sus habilidades de modelación, genera un breve reporte de sus hallazgos en el cual oriente a la compañía sobre los factores que afectan la siniestralidad.

Teniendo en cuenta la muestra de informacion evaluada a traves de un conjunto de procesos y herramientas estadisticas de tipo regresion logistica, podemos precisar un cojunto de situaciones y caracteristicas que definen recomendaciones para ustedes como ejecutivos de la compañia de seguros;

para iniciar la relacion entre hombre y accidentados es evidente desde el analisis exploratorio,donde las herramientas estadisticas constatan dicha afirmación, por lo cual se recomienda un costo adicional dentro de la poliza de los hombres ya que su probabilidad de accidente es mayor significativamente en relacion a las mujeres, adicional las polizas deben tener valoraciones diferenciales por años de experiencia manejando, ya que se evidencia que existe relacion y clasificacion entre personas con poca experiencia conduciendo y mayor accidentalidad y disminuyendo el patrona a medida que aumenta la experiencia, por ultimo los automoviles y motocicletas de alto cilindrinaje,de acuerdo al modelo tienen mayor probabilidad de accidentarse, de acuerdo a los expertos por la dificultad de conduccion a altas velocidades que pueden desarrollar estos vehiculos, por lo anterior las polizas deben incrementarse para estos vehiculos.

podemos asumir que para una campaña estrategica la siguiente afirmacion es valiosa,los hombres con poca experiencia y con vehiculos de alta potencia son propensos a accidentarse en relacion a las mujeres con experiencia y vehiculos de baja potencia.