Considere los siguientes datos.
| x | y |
|---|---|
| -0.0635559 | 1.818588 |
| 0.5467593 | 2.395839 |
| 0.5311297 | 2.381142 |
| 0.5480553 | 2.399582 |
| 0.8330985 | 2.705020 |
| 0.5683727 | 2.443446 |
| -0.1886051 | 1.355136 |
| 0.0790606 | 1.747528 |
| 0.5993005 | 2.591982 |
| 0.4171014 | 2.534131 |
Los datos se ven asi:
Objetivo: determinar a ojo cuáles son los valores del intercepto y de la pendiente de la recta que mejor aproxime los puntos.
Para cumplir el objetivo se puede escoger un punto en el espacio de parámetros y luego graficar la recta correspondiente como se muestra a continuacion:
Con las funciones identify() y locator() es posible seleccionar un punto en el espacio de los parámentros (en la gráfica) y luego utilizar esos puntos para trazar la recta correspondiente con la función abline().
El procedimiento propuesto es el siguiente:
caTools, animation y magick en R son opciones para hacer animaciones).A continuación se propone repetir el procedimiento anterior para unos datos datos_clasificacion.csv. El objetivo es ajustar una curva logística a los datos a ojo. A continuación se muestra un ejemplo de una curva logística:
Recordemos que para la regresion logística (univariada) se tiene que
\[Prob\left(Y = 1| X = x\right) = \frac{1} {1 + e^{-\beta_0 + \beta_1 x}}\]
Un ejemplo de dos curvas logisticas se muestra a continuacion:
El procedimiento propuesto es el siguiente:
Se diseñó un programa mediante el cual el usuario podría ingresar manuealmente y usando el puntero del mouse los dos puntos necesarios para trazar una recta, siendo capaz de ingresar varios pares de puntos para considerar varias rectas en una sola ejecucion.
Para el desarrollo de este trabajo se marcaron los siguientes puntos en la gráfica:
| Recta | pX | pY |
|---|---|---|
| Recta 1.1 | 0.6528551 | 2.731657 |
| Recta 1.2 | -0.1981772 | 1.384460 |
| Recta 2.1 | 0.8371800 | 2.721294 |
| Recta 2.2 | -0.2099426 | 1.467364 |
| Recta 3.1 | 0.7665875 | 2.742020 |
| Recta 3.2 | -0.2060208 | 1.394823 |
| Recta 4.1 | 0.6763859 | 2.716113 |
| Recta 4.2 | -0.2020990 | 1.374097 |
Obteniedo como resultado los siguientes gráficos donde veremos el espacio de parametros junto con la recta graficada sobre el grupo de datos.
Gráfica 1 - Punto 1
Gráfica 2 - Punto 1
Gráfica 3 - Punto 1
Gráfica 4 - Punto 1
Como se solicitaba en el punto 4 del ejercicio 1 se creó un gif implementando la libreria Animation, el cual posee las gráficas anteriormente vista obviando la gráfica del espacio de parámentros.
Animación - Punto 1
Mediante la función locator() de R, vimos cómo seleccionamos con el mouse los puntos para trazar las rectas. En total trazamos 4, de las cuales identificamos mediante el gif que las de mejor aproximación al conjunto datos_regresion.csv son las rectas 2 \((1.719, 1.198)\) y la 3 \((1.680, 1.385 )\). Ambas son muy parecidas en los interceptos pero tienen una ligera diferencia entre los valores de las pendientes. Podríamos concluir que ambas son válidas mediante el método de selección a ojo.
Se divide el rango de la variable explicativa \(x\) en 10 sub intervalos y se dibuja una linea verticual cuya altura representa la tasa de ocurrencias (unos) en cada subintervalo como se puede apreciar en la siguiente grafica
Gráfica 1 - Punto 2
Se proponen varios puntos \((\beta_0,\beta_1)\) en el espacio de parametros y se grafican las curvas de regresion logistica para dichos parametros
Gráfica 1 - Punto 2
Gráfica 2 - Punto 2
Gráfica 3 - Punto 2
Gráfica 4 - Punto 2
Gráfica 5 - Punto 2
Como se solicitaba en el punto 7 del ejercicio 2 se creó un gif a partir de las graficas anteriores para evidenciar los cambios de mejor manera y ver como se ajusta la curva.
Animación - Punto 2
Luego de dividir el rango de la variable predictora \((x)\) en 10 subintervalos de longitud \((\frac{x_max-x_min}{10})\), se calcula el número de ocurrencias en cada intervalo, como se puede observar en la gráfica que representa los datos anteriores es un problema de naturaleza muy distinta al ejercicio previo, pudiéndose notar que en los primeros 5 subintervalos no se presenta ninguna ocurrencia, del 6 al 9 se observan frecuencias de 1 a 2 casos mientras que el último subintervalo que se encuentra entre 0.893 y 0.9415 tiene 12 ocurrencias. Pensar en utilizar una aproximación lineal sobre datos con la naturaleza observada predeciría ocurrencias en los subintervalos 2 a 4, con la motivación de encontrar una representación más adecuada de los datos es que se propone el ejercicio desarrollado a continuación.
| nSubIntervalo | xFrom | xMean | xTo | Ocurrencias |
|---|---|---|---|---|
| 1 | 0.020 | 0.0685 | 0.117 | 0 |
| 2 | 0.117 | 0.1655 | 0.214 | 0 |
| 3 | 0.214 | 0.2625 | 0.311 | 0 |
| 4 | 0.311 | 0.3595 | 0.408 | 0 |
| 5 | 0.408 | 0.4565 | 0.505 | 0 |
| 6 | 0.505 | 0.5535 | 0.602 | 1 |
| 7 | 0.602 | 0.6505 | 0.699 | 1 |
| 8 | 0.699 | 0.7475 | 0.796 | 2 |
| 9 | 0.796 | 0.8445 | 0.893 | 1 |
| 10 | 0.893 | 0.9415 | 0.990 | 12 |
La técnica de regresión logística se fundamenta en la siguiente ecuación \(\frac{1} {1 + e^{-\beta_0 + \beta_1 x}}\) , a partir de la variable predictora se puede obtener una probabilidad condicionada de pertenecer a la clase 1 siendo x, de acuerdo a la gráfica anterior se esperaría que los datos que se encuentren en los últimos subintervalos (altos x) tengan una probabilidad muy alta ,mientras que los primeros 5 subintervalos tengan una probabilidad baja.
Se propone generar una aproximación eligiendo un par \((\beta_0, \beta_1)\), a partir de lo anterior se muestra la función de probabilidad asociada y el ajuste que puede tener sobre los datos.
Como se puede observar, resulta complicado encontrar unos parámetros adecuados para los datos en un solo intento, por ello se repite el proceso anterior con el fin de ir aproximándose heurísticamente a un ajuste aceptable sobre los datos.
Se fijó el proceso anterior en 5 iteraciones, de las que se obtuvieron el mismo número de puntos \((\beta_0, \beta_1)\), necesarios para construir la función de regresión logística, se graficó la curva resultante para cada uno de ellos. De acuerdo al gif generado, se observa que los conjuntos de puntos 4 \((-7.67, 9.39)\) y 5 \((-9.15, 11.4)\) son los que mejor se adaptan al conjunto de datos datos_clasificacion.csv, teniendo en cuenta que la mayoría de los datos de \(x\) se encuentran entre \(0\) y \(0.55\) aproximadamente y tienen clasificación de \(0\) (variable \(Y\)), es decir que la probabilidad de estos puntos se encuentra por debajo de \(0.5\). Para los \(x\) mayores a \(0.55\), se tiene una cantidad inferior de datos, a partir de esta probabilidad se clasifican en \(1\), es decir que para los datos que se encontraban en los últimos subintervalos \((6:10)\) la probabilidad comienza a estar por encima de \(0.5\).
Sí, es posible calibrar algunos modelos de aprendizaje de máquinas a ojo. Como analizamos anteriormente, los modelos de regresión lineal y regresión logística simple se pueden parametrizar fácilmente en 2 dimensiones, lo cual es muy conveniente para la selección de estos parámetros en el plano cartesiano y evaluar diferentes aproximaciones a los datos. No obstante, este método no garantiza que la regresión obtenida sea la que mejor se ajuste al conjunto de datos, pues su cómputo está basado en la selección de parámetros a ojo. Mientras que, si se le incorpora una función de pérdida al modelo, este garantiza encontrar unos parámetros óptimos que busca minimizar los errores en cada iteración, garantizando que, independientemente de los parámetros seleccionados en la gráfica, el modelo va a iterar n veces necesarias para encontrar los parámetros que minimicen el error de la regresión.
Con un mayor número de parámetros, es más complicado graficarlos (tendríamos n-dimensiones) y por tanto también dificulta identificar a ojo cuál sería el mejor modelo de predicción que se ajusta a los puntos.
Los métodos de ajuste gráfico aprendidos en esta sesión, son altamente aplicables a problemas corporativos que requieran tomar decisiones en lapsos cortos de tiempo, donde el aspecto principal a analizar es la tendencia y no la optimización del proceso. La aplicabilidad de estas técnicas dependerá en gran medida de las necesidades particulares de cada equipo de trabajo y el perfil de los empleados. Específicamente hablando, las tareas más básicas que podemos pensar para esta aplicación comienzan desde la semi-automatización de gráficos de regresión, los cuales, en la actualidad, se realizan manualmente con fórmulas de excel. En este caso, el usuario únicamente tendrá que ingresar los parámetros de entrada del modelo por medio de la selección a ojo de los puntos sobre la gráfica que mejor se ajusten a los datos. Es importante mencionar que, la capacitación tanto para el uso de la herramienta como el análisis de los resultados es indispensable, lo cual garantiza la comprensión de los resultados y la perdurabilidad de la herramienta ante cambios de personal.