A continuación explicaré a grandes rasgos lo que hice.
Primero hice análisis decriptivo sobre la base de datos, analicé la composición de la base, así como las correlaciones entre las variables numéricas y calculé los cuantiles de las variables numérocas para ver si las variables están en la misma escala o no; luego utilicé gráficos de caja y Componentes Principales para ver la distribución de los datos y ver si había datos atípicos. Luego apliqué un árbol de clasificación para ver si había alguna agrupación en los datos.
Luego, apliqué los modelos de clasificación en el siguiente orden: Bagging, Random Forest, Regresión Logística y LDA, para cada uno de ellos calculé las tasas de error por grupo y globales, tanto apartentes como las tasas sobre el conjunto de prueba. Además estimé la tasa de error con métodos de resmuestreo.
Por último hice la comparación de los tres métodos para ver cuál se equivoca menos y concluir.
La media de la variable PctDiscCH es 0.027, mientras que la media de la variable PriceMM es de 2.085, casi 77 veces más que 0.027.
La base de datos OJ contiene 1070 registros con 18 variables. Los registros son ventas de jugos de naranja, en los cuales el comprador eligió entre la marca Citrus Hill y la marca Minute Maid Orange. Las variables son mediciones de características del cliente y del producto.
Quité las variables ID y WeekofPurchase.
11 variables numéricas.
5 variables categóricas - 4 dummies y 1 con 5 niveles.
| Marca | Venta |
|---|---|
| CH | 653 |
| MM | 417 |
| Variable | Descripción |
|---|---|
| Purchase | Marca del jugo(variable respuesta)MM/CH |
| PriceCH | Precio del jugo para la marca CH |
| PriceMM | Precio del jugo para la marca MM |
| DiscCH | Descuento para la marca CH |
| DiscMM | Descuento para la marca MM |
| SpecialCH | Especial para la marca CH |
| SpecialMM | Especial para la marca MM |
| LoyalCH | Lealtad del cliente con la marca CH |
| SalePriceMM | Precio final(descuento) para MM |
| SalePriceCH | Precio final(descuento) para CH |
| PriceDiff | Precio final MM menos precio final CH |
| Store7 | Indica si la venta se hizo en Store 7 |
| PctDiscMM | Porcentaje de descuento para MM |
| PctDiscCH | Porcentaje de descuento para CH |
| ListPriceDiff | Precio de MM menos precio de CH |
| STORE | Indica en cuál tienda se hizo la venta |
| Variable | Variables Correlacionadas |
|---|---|
| PriceCH | +PriceMM +SPCH |
| PriceMM | +SPMM +PriceDiff |
| DiscCH | -SPCH +PctDiscH |
| DiscMM | -SPMM -PriceDiff +PctDiscMM |
| SPMM | +PriceDiff -PctDiscMM |
| SPCH | -PctDisH |
| PiceDiff | -PtDiscMM |
Las variables PriceCH y PriceMM tienen una correlación de 0.62, ésto es interesante ya que significa que si el precio de uno cambia entonces el del otro también.
Fig. 1 Correlaciones entre variables numéricas, rojo para la marca CH, azul para la marca MM
Pocos datos atípicos.
Fig. 2 Gráficos de caja de las variables numéricas respecto a la variable categórica, rojo para la marca CH, azul para la marca MM
LoyalCH separa los datos. Descuento en los precios influye en la decisión de la marca vendida. Lealtad a la marca CH.
Fig. 3 Gráficos de caja para las variables DiscCH, DiscMM y LoyalCH. Rojo: CH. Azul: MM.
Fig. 4. Primeros dos componentes principales y últimos dos componentes principales. Rojo: CH. Azul: MM
Los datos no se ven separados. Transformación a variable dummy.
Fig 5. Árbol de clasificación para la variable respuesta
Se ajustaron los modelos siguientes: Bagging con 15 predictores, Random Forest con 3 predictores, Regresión Logística y LDA. con Weights of Evidence.
Se escogieron 3 predictores. Hice Random Forest variando la cantidad de predictores usados en cada iteración y al usar 3 se minimizan las tasas de errores por grupo y global.
Se hizo con WOE ya que las variables son mixtas y el método solo funciona para variables numéricas.
Importancia de las variables. Además ya incluye método de remuestreo OOB.
Fig. 5 Importancia de las variables
Summary arroja NA´s, hay problemas de colinealidad. Con las probas estimadas si la proba es mayor que .5 entonces claifiqué en la marca MM Usando función step me quedo con las variables:
| Variables |
|---|
| PriceCH |
| PriceMM |
| DiscCH |
| DiscMM |
| LoyalCH |
| PctDiscMM |
| STORE |
Para remuetreo, tanto en Regresión Logística como en LDA uso Bootstrap y Validation Approach. La única diferencia es que en la primera uso muetreo con reemplazo y en el otro no.
| Método | Error Marca CH | Error Marca MM | Error Global |
|---|---|---|---|
| Bagging Test | 0.14 | 0.26 | 0.18 |
| Random Forest Test | 0.11 | 0.22 | 0.15 |
| Test Error Reg Log | 0.11 | 0.20 | 0.15 |
| Test Error LDA | 0.20 | 0.12 | 0.15 |
| Método | Error Marca CH | Error Marca MM | Error Global |
|---|---|---|---|
| OOB-Bagging | 0.17 | 0.28 | 0.21 |
| OOB-Random Forest | 0.14 | 0.29 | 0.20 |
| Bootstrap RG | 0.12 | 0.25 | 0.17 |
| Validation Approach RG | 0.12 | 0.24 | 0.17 |
| Bootstrap LDA | 0.24 | 0.13 | 0.17 |
| Validation Approach LDA | 0.24 | 0.13 | 0.17 |
Por lo tanto, queda a punto de vista de la persona que quiera clasificar, ya que si se quiere un modelo que clasifique bien a la marca CH yo utilizaría el modelo de Regresión Logística o los modelos Bagging y Random Forest , ya que éstos tienen tasas de error sobre la marca CH menor que las del modelo LDA. Sin embargo si se quiere clasificar bien a la marca MM mejor utilizaría el modelo LDA. Cabe resaltar que Random Forest y Bagging tienen tasas de error global más altas que los demás métodos.