Profesor del programa de Ingeniería Industrial, Universidad Sergio Arboleda. Candidato a doctor en Ingeniería de la Universidad de los Andes.

Regresiones logísticas

Ahora, ,miramemos un modelo más de regresión. la regresión logística es un tipo de análisis de regresión utilizado para predecir el resultado de una variable categórica en función de las variables independientes o predictoras. Es útil para modelar la probabilidad de un evento ocurriendo como función de otros factores.

La característica central de un modelo logístico es la siguiente: relaciona la probabilidad de un resultado con una función exponencial de una variable predictora. Al modelar la probabilidad de un resultado, un modelo logístico logra dos cosas. Primero, modela más directamente lo que nos interesa, que es una probabilidad o proporción, como la probabilidad de que un cliente determinado compre un producto o la proporción esperada de un segmento que responderá a una promoción. En segundo lugar, limita el modelo al rango apropiado para una proporción, que es [0, 1]. Un modelo lineal básico como se genera con lm () no tiene tal límite y podría estimar una probabilidad sin sentido como 1.05 o -0.04. La ecuación de la función logística es: Ecuación 1: Ecuación Logística Veamos un ejemplo de lo que hace la función aplicando la probabilidad logística con plogis:

plogis( exp (0) / (exp (0) + 1))
## [1] 0.6224593
plogis(-Inf)
## [1] 0
plogis ( -0.2)
## [1] 0.450166

El análisis de regresión logística se enmarca en el conjunto de Modelos Lineales Generalizados (GLM por sus siglas en inglés). Las probabilidades que describen el posible resultado de un único ensayo se modelan, como una función de variables explicativas, utilizando una función logística. Por lo tanto, los modelos lineales generalizados se pueden utilizar para modelar recuentos de datos (como el número de compras) o intervalos de tiempo (como el tiempo que se pasa en un sitio web) o variables binarias (por ejemplo, compró / no compró). La característica común de todos los modelos GLM es que relacionan predictores distribuidos normalmente con un resultado no normal mediante una función conocida como enlace. Esto significa que pueden adaptarse a modelos para muchas distribuciones diferentes utilizando un marco único y coherente.

Para construir nuestra función, tenemos que asegurarnos que la variable que vamos a predecir esté compuesta por factores. En este caso, lo haremos con la variable bebedor (o Drinker). Además, como haremos uso de modelos lineales generalizados (como vimos arriba), la función a utilizar es glm().

library(readr)
## Warning: package 'readr' was built under R version 3.6.3
data1 <- read.csv("Clase 2.csv", sep=";")
table(data1$Playing)
## 
##     0     1 
## 16873  1334
rl1 <- glm(data1$Playing ~ data1$Overall + data1$Age, family = binomial)
rl1
## 
## Call:  glm(formula = data1$Playing ~ data1$Overall + data1$Age, family = binomial)
## 
## Coefficients:
##   (Intercept)  data1$Overall      data1$Age  
##      -34.9031         0.3786         0.1879  
## 
## Degrees of Freedom: 18206 Total (i.e. Null);  18204 Residual
## Null Deviance:       9541 
## Residual Deviance: 5044  AIC: 5050
summary(rl1)
## 
## Call:
## glm(formula = data1$Playing ~ data1$Overall + data1$Age, family = binomial)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -3.4447  -0.2408  -0.0863  -0.0252   3.8259  
## 
## Coefficients:
##                 Estimate Std. Error z value Pr(>|z|)    
## (Intercept)   -34.903063   0.791216  -44.11   <2e-16 ***
## data1$Overall   0.378607   0.009073   41.73   <2e-16 ***
## data1$Age       0.187900   0.009464   19.85   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 9540.9  on 18206  degrees of freedom
## Residual deviance: 5044.0  on 18204  degrees of freedom
## AIC: 5050
## 
## Number of Fisher Scoring iterations: 8

Ahora, ¿qué significan los coeficientes de esta regresión? Para saber cómo funcionan estos. ¿Qué significa un coeficiente de 0.378? Podemos usarlo para calcular la asociación de las ventas de pases con el factor del paquete de promoción, examinando la proporción de éxito contra la proporción de no éxito. Para esto calcularemos los valores de la asociación con la función exp() y la función coef() sobre los coeficientes de la regresión:

exp(coef(rl1))
##   (Intercept) data1$Overall     data1$Age 
##  6.946919e-16  1.460248e+00  1.206713e+00

Esto muestra que el efecto de Overall es una razón de probabilidades estimada de 1.475, lo que significa que los jugadores tienen 1.475 veces más probabilidades de estar jugando cuando tienen un alto Overall. Otra forma de pensar en esto es que el desempeño aumenta la probabilidad de jugar en un 47,5%.

Ahora ¿Cómo sabemos si le pegamos a los resultados? Creamos una matriz de confusión con los datos. Esta no es más que una matriz de contigencia para modelos de clasificación.

predicciones <- ifelse(test = rl1$fitted.values > 0.5, yes = 1, no = 0)
t1 <- table(data1$Playing, predicciones)
t1
##    predicciones
##         0     1
##   0 16620   253
##   1   808   526

Pero, ¿qué nos dicen estos números? En la siguiente gráfica veremos que representan

Figura 2: Matriz de confusión

A partir de estos valores podremos calcular los indicadores de la regresión logística. Algunos de los más importantes son:

Figura 1: Medidas de la regresión logística

Esto es solamente un primer acercamiento a los modelos lineales. Queda mucho por explorar y por conocer ¿Hay algún otro tema que sea de su interés sobre regresiones lineales? Los invito a mirar las librerias y paquetes que hay en R para resolver muchos de los problemas que tenemos en el área de la ingeniería de mercados.

Segmentación de datos

En esta sección, abordamos un problema canónico de la ingeniería de mercados: encontrar, evaluar y predecir segmentos de clientes. En clases anteriores, hemos visto cómo evaluar las relaciones en los datos, comparar grupos y evaluar modelos lineales multivariados. En un proyecto de segmentación real, se usarían esos métodos para asegurarse de que los datos tengan una estructura multivariante adecuada y luego comenzaría el análisis de segmentación.

El objetivo general de la segmentación del mercado es encontrar grupos de clientes que difieran en aspectos importantes asociados con el interés del producto, la participación en el mercado o la respuesta a los esfuerzos de marketing. Al comprender las diferencias entre los grupos, un comercializador puede tomar mejores decisiones estratégicas sobre oportunidades, definición de productos y posicionamiento, y puede participar en una promoción más efectiva.

Sin embargo, el mayor problema de estos métodos no radica en su aplicación. No es particularmente difícil encontrar grupos dentro de los datos de los consumidores; de hecho, veremos dos formas de hacer esto, todas las cuales “tienen éxito” de acuerdo con un criterio estadístico u otro. Más bien, la dificultad radica en garantizar que el resultado sea significativo para una necesidad empresarial en particular.

La segmentación es como cortar un ponqué, y cualquier ponqué puede cortarse en un número infinito de formas. Su tarea como ingeniero de mercados es considerar la infinidad de datos posibles que podrían recopilarse, la infinidad de agrupaciones posibles de esos datos y la infinidad de preguntas comerciales posibles que podrían abordarse. Su objetivo es encontrar una solución dentro de esos infinitos que represente diferencias reales en los datos y que informe e influya en decisiones comerciales reales.

Segmentación y analítica de datos

Una distinción clave en el aprendizaje estadístico es si el método es supervisado o no. En el aprendizaje supervisado, se presenta un modelo con observaciones cuyo estado de resultado (variable dependiente) se conoce, con el objetivo de predecir ese resultado a partir de las variables independientes. Por ejemplo, podríamos usar datos de campañas de marketing directo anteriores, con un resultado conocido de si cada objetivo respondió o no, más otras variables predictoras, para ajustar un modelo que predice la probabilidad de respuesta en una nueva campaña. Nos referimos a este proceso como clasificación.

En el aprendizaje no supervisado, no conocemos las agrupaciones de resultados, pero intentamos descubrirlas a partir de la estructura de los datos. Por ejemplo, podríamos explorar una campaña de marketing directo y preguntarnos: “¿Hay grupos que difieran en cómo y cuándo responden a las ofertas? Si es así, ¿cuáles son las características de esos grupos?” Usamos el término agrupación en clústeres para este enfoque.

Agrupamiento basado en datos

Dado que en este curso tenemos un tiempo limitado, veremos dos procedimientos de agrupamiento que son ilustrativos de los cientos de métodos disponibles. Verá que el procedimiento general para buscar y evaluar clústeres en R es similar en todos los métodos. Así que si desea utilizar otro método y explorarlo, lo invito a que busque entre los paquetes disponibles en R.

En este curso revisaremos dos métodos de agrupamiento basados en la distancia, hclust () y kmeans (). Pero, ¿a qué nos referimos por distancia? Al igual que cuando utilizamos el teorema de pitágoras, las distancias entre los datos corresponde a la diferencia entre cada uno de ellos en diferentes sistemas de coordenadas. Para encontrar la distancia entre dos datos, usamos una función de distancia, la cual proporciona la distancia entre los elementos de un conjunto. Si la distancia es cero, los elementos son equivalentes; de lo contrario, son diferentes entre sí.

Figura 3: Cálculo de distancia entre los datos

Una función de distancia no es más que una fórmula matemática utilizada por métricas de distancia. Existen muchas métricas para medir la distancia entre datos, pero en este curso usaremos únicamente distancias euclidianas. Si desean explorar más, les recomiendo que busquen las distancias de Manhattan, las distancias de cosenos y las distancias de Mahalanobis. Para nuestro caso, la distancia euclidiana se calcula con la siguiente fórmula:

Figura 4: fórmula de la distancia euclidiana

sqrt(sum((c(1,2,3) - c(2,3,2))^2))
## [1] 1.732051

El análisis de agrupación requiere dos etapas: encontrar una solución de agrupación propuesta y evaluar esa solución para las necesidades comerciales de uno. Para cada método, seguimos los siguientes pasos:

  • Transformar los datos si es necesario para un método de agrupamiento en particular; por ejemplo, algunos métodos requieren todos los datos numéricos (por ejemplo, kmeans (), Mclust ()) o todos los datos categóricos (por ejemplo, poLCA ()).
  • Calcule una matriz de distancias si es necesario; algunos métodos requieren una matriz de similitud precalculada para agrupar las observaciones (por ejemplo, hclust ()).
  • Aplicar el método de agrupación en clústeres y guardar su resultado en un objeto. Para algunos métodos, esto requiere especificar el número (K) de grupos deseados (por ejemplo, kmeans (), poLCA ()).
  • Para algunos métodos, analiza más el objeto para obtener una solución con grupos K (por ejemplo, hclust ()).
  • Examine la solución en el objeto modelo con respecto a los datos subyacentes y considere si responde a una pregunta de mercado.
  
  

Como ya hemos argumentado, la parte más difícil de ese proceso es el último paso: establecer si una solución estadística propuesta responde a una necesidad empresarial. En última instancia, una solución de clúster es en gran medida solo un vector de supuestas asignaciones de grupo para cada observación, como “1, 1, 4, 3, 2, 3, 2, 2, 4, 1, 4. . ..”Depende de usted averiguar si eso cuenta una historia significativa para sus datos.

Dado lo anterior, ya podemos hablar sobre nuestros métodos a utilizar. Los métodos basados en la distancia intentan encontrar grupos que minimicen la distancia entre los miembros dentro del grupo, mientras maximizan la distancia de los miembros de otros grupos. El agrupamiento jerárquico hace esto modelando los datos en una estructura de árbol, mientras que kmeans () usa centroides de grupo (puntos centrales).