"
242 | ],
243 | "text/plain": [
244 | " species island bill_length_mm ... flipper_length_mm body_mass_g sex\n",
245 | "0 Adelie Torgersen 39.1 ... 181.0 3750.0 Male\n",
246 | "1 Adelie Torgersen 39.5 ... 186.0 3800.0 Female\n",
247 | "2 Adelie Torgersen 40.3 ... 195.0 3250.0 Female\n",
248 | "3 Adelie Torgersen NaN ... NaN NaN NaN\n",
249 | "4 Adelie Torgersen 36.7 ... 193.0 3450.0 Female\n",
250 | ".. ... ... ... ... ... ... ...\n",
251 | "339 Gentoo Biscoe NaN ... NaN NaN NaN\n",
252 | "340 Gentoo Biscoe 46.8 ... 215.0 4850.0 Female\n",
253 | "341 Gentoo Biscoe 50.4 ... 222.0 5750.0 Male\n",
254 | "342 Gentoo Biscoe 45.2 ... 212.0 5200.0 Female\n",
255 | "343 Gentoo Biscoe 49.9 ... 213.0 5400.0 Male\n",
256 | "\n",
257 | "[344 rows x 7 columns]"
258 | ]
259 | },
260 | "metadata": {
261 | "tags": []
262 | },
263 | "execution_count": 2
264 | }
265 | ]
266 | },
267 | {
268 | "cell_type": "markdown",
269 | "metadata": {
270 | "id": "6Kke9L_8eKgM"
271 | },
272 | "source": [
273 | "El dataset viene con datos nulos, que no nos sirven para entrenar un modelo de machine learning. Por ende, los contaremos y luego los eliminaremos. "
274 | ]
275 | },
276 | {
277 | "cell_type": "code",
278 | "metadata": {
279 | "colab": {
280 | "base_uri": "https://localhost:8080/"
281 | },
282 | "id": "217LQBfZtsHg",
283 | "outputId": "6fc1da77-d96d-4de5-edf2-0eb3068d4e3d"
284 | },
285 | "source": [
286 | "df.isnull().sum()"
287 | ],
288 | "execution_count": 8,
289 | "outputs": [
290 | {
291 | "output_type": "execute_result",
292 | "data": {
293 | "text/plain": [
294 | "species 0\n",
295 | "island 0\n",
296 | "bill_length_mm 2\n",
297 | "bill_depth_mm 2\n",
298 | "flipper_length_mm 2\n",
299 | "body_mass_g 2\n",
300 | "sex 11\n",
301 | "dtype: int64"
302 | ]
303 | },
304 | "metadata": {
305 | "tags": []
306 | },
307 | "execution_count": 8
308 | }
309 | ]
310 | },
311 | {
312 | "cell_type": "code",
313 | "metadata": {
314 | "id": "Pli5XaQEt1Ny"
315 | },
316 | "source": [
317 | "df.dropna(inplace=True)"
318 | ],
319 | "execution_count": 9,
320 | "outputs": []
321 | },
322 | {
323 | "cell_type": "markdown",
324 | "metadata": {
325 | "id": "G_7z0jjeea-0"
326 | },
327 | "source": [
328 | "Para este ejercicio, crearemos un gráfico de correlación linear como el que hicimos anteriormente. En este caso suponemos que existe una relación entre la masa corporal de los pingüinos y el tamaño de sus alas."
329 | ]
330 | },
331 | {
332 | "cell_type": "code",
333 | "metadata": {
334 | "colab": {
335 | "base_uri": "https://localhost:8080/",
336 | "height": 625
337 | },
338 | "id": "K6jWtgpTsE3q",
339 | "outputId": "7af6876b-1659-43eb-f318-211aa5f8571c"
340 | },
341 | "source": [
342 | "sns.regplot(x=df[\"body_mass_g\"], y=df[\"flipper_length_mm\"])"
343 | ],
344 | "execution_count": 45,
345 | "outputs": [
346 | {
347 | "output_type": "execute_result",
348 | "data": {
349 | "text/plain": [
350 | ""
351 | ]
352 | },
353 | "metadata": {
354 | "tags": []
355 | },
356 | "execution_count": 45
357 | },
358 | {
359 | "output_type": "display_data",
360 | "data": {
361 | "image/png": "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2rJli4LBoJYtW3ZkyOuTTz6p1atXS5KWLl2qCy+8MFuXhRyWSCR06623qqqqSrfeeivPNWTM0bHGcw2ZcMstt6ikpEQ+n09FRUW644471NnZqbvvvlsHDx7UtGnT9M1vflNlZWXEGlIyXKz927/9mx5//HFNmTJFkvTZz35WdXV1kkb+Wbl161atXLlSiURCF198sT71qU9l7ZqQmw4dOqQHHnhA77zzjowx+vKXv6za2lqea/nAAoclEgnb3d1trbW2r6/Pfuc737GvvPKKvfPOO+2GDRustdauWLHCrlu3zlpr7f/8z//YFStWWGut3bBhg73rrrustda+88479tvf/rbt7e21+/fvt1/5yldsPB7PwhUhV40Ua/fee6995plnPvD99fX19vbbb7eJRMK+8sor9jvf+Y611tqOjg57yy232I6OjiH/DxztkUcesffcc4/9wQ9+YK21PNeQMUfHGs81ZMKyZctsW1vbkLYHH3zQrlmzxlpr7Zo1a+yDDz5orSXWkJrhYu3hhx+2a9eu/cD3jvSzMh6P26985St23759tq+vz37729+277zzjleXgDzx05/+1K5fv95a634/6Ozs5LmWJ5j+hiOMMSopKZEkxeNxxeNxGWO0Y8cOLViwQJJ04YUXavPmzZKkF1544Ujmd8GCBXrxxRdlrdXmzZu1aNEiFRcXa/r06ZoxY4Zee+21rFwTctNIsTaSF154QRdccIGMMTr11FN16NAhtba2auvWrTrrrLNUVlamsrIynXXWWdq6datXl4E80dzcrIaGBl188cWSJGstzzVkxNGxNhqea0i3zZs362Mf+5gk6WMf+9iQ5xqxBi+M9LPytdde04wZM1RTUyO/369FixYdiU9Akrq6uvTSSy/p4x//uCTJ7/ertLSU51qeYPobhkgkEvrbv/1b7du3T0uWLFFNTY3C4bCKiookSVVVVWppaZEktbS0qLq6WpJUVFSkcDisjo4OtbS06JRTTjlyzMH7AP2OjrVTTjlFjz32mH7729/q3//933XmmWfqz//8z1VcXKyWlhZFIpEj+1ZXV6ulpWVIDErEGob3y1/+Un/xF3+h7u5uSVJHRwfPNWTE0bHWj+caMuH222+XJF1yySVavHix2traVFlZKUmaOnWq2traJIlYQ8qOjjVJWrdunZ5++mnNnDlTn/vc51RWVjbq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\n",
362 | "text/plain": [
363 | ""
364 | ]
365 | },
366 | "metadata": {
367 | "tags": []
368 | }
369 | }
370 | ]
371 | },
372 | {
373 | "cell_type": "markdown",
374 | "metadata": {
375 | "id": "u83QqoA5sqF8"
376 | },
377 | "source": [
378 | "# Entrenamiento del Modelo\n",
379 | "\n",
380 | "A partir de la correlación linear anterior, entrenaremos un modelo simple de regresión linear. \n",
381 | "\n",
382 | "Lo primero es crear dos vectores. En este caso usamos la masa corporal como nuestro vector X (predictor) y el tamaño de las alas como el vector y (valor por predecirse).\n",
383 | "\n",
384 | "La función *train_test_split* es fundamental en machine learning, ya que nos divide nuestro data sets en datos de entrenamiento y prueba. Los datos de prueba nos servirán para medir el desempeño de nuestro modelo.\n",
385 | "\n",
386 | "Las funciones *values* y *reshape* nos permiten crear un arreglo artificial en 2D que nos permitirá entrenar nuestro modelo.\n",
387 | "\n",
388 | "Para entrenar al modelo, solo tenemos que invocar a *Linear Regression* y luego entrenar al modelo con la función *fit*."
389 | ]
390 | },
391 | {
392 | "cell_type": "code",
393 | "metadata": {
394 | "id": "geqh7kcjzAVN"
395 | },
396 | "source": [
397 | "X = df[\"body_mass_g\"].values.reshape(-1,1)\n",
398 | "y = df[\"flipper_length_mm\"]\n",
399 | "\n",
400 | "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20, random_state = 42)"
401 | ],
402 | "execution_count": 48,
403 | "outputs": []
404 | },
405 | {
406 | "cell_type": "code",
407 | "metadata": {
408 | "colab": {
409 | "base_uri": "https://localhost:8080/"
410 | },
411 | "id": "KMrZah8Tzcd8",
412 | "outputId": "80b66d50-14fd-456c-df70-54ac3d94fc4a"
413 | },
414 | "source": [
415 | "reg = LinearRegression()\n",
416 | "reg.fit(X_train, y_train)"
417 | ],
418 | "execution_count": 49,
419 | "outputs": [
420 | {
421 | "output_type": "execute_result",
422 | "data": {
423 | "text/plain": [
424 | "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)"
425 | ]
426 | },
427 | "metadata": {
428 | "tags": []
429 | },
430 | "execution_count": 49
431 | }
432 | ]
433 | },
434 | {
435 | "cell_type": "markdown",
436 | "metadata": {
437 | "id": "jCdwCPWd0TtP"
438 | },
439 | "source": [
440 | "# Suma de Errores Cuadráticos\n",
441 | "\n",
442 | "En este modelo tenemos ya un modelo entrenado y listo para ser medido.\n",
443 | "\n",
444 | "*Scikit Learn* no tiene un modulo para calcular la summa de errores cuadráticos por lo que lo haremos manualemente.\n",
445 | "\n",
446 | "Lo que tenemos es una vector llamado *y_test* (datos reales) que utiliza a *X_test* para generar una predicción. Lo que hacemos con una sola línea de código es sumar todos los vectores al cuadrado."
447 | ]
448 | },
449 | {
450 | "cell_type": "code",
451 | "metadata": {
452 | "colab": {
453 | "base_uri": "https://localhost:8080/"
454 | },
455 | "id": "ZhEYwh6h0R6o",
456 | "outputId": "2dd8ee9b-0bbb-4b27-f6b6-6b3f9815d5c2"
457 | },
458 | "source": [
459 | "sec = np.sum((y_test - reg.predict(X_test))**2)\n",
460 | "sec"
461 | ],
462 | "execution_count": 71,
463 | "outputs": [
464 | {
465 | "output_type": "execute_result",
466 | "data": {
467 | "text/plain": [
468 | "2913.7808139174745"
469 | ]
470 | },
471 | "metadata": {
472 | "tags": []
473 | },
474 | "execution_count": 71
475 | }
476 | ]
477 | },
478 | {
479 | "cell_type": "markdown",
480 | "metadata": {
481 | "id": "znhuZj_P1MDh"
482 | },
483 | "source": [
484 | "# Otras Métricas de Desempeño\n",
485 | "\n",
486 | "En este caso usamos dos métricas adicionales que vienen preconstruidas en *Scikit Learn*. \n",
487 | "\n",
488 | "Por un lado tenemos al promedio de los errores cuadráticos (mean_squared_error). Como su nombre lo indica, hace un promedio de los errores cuadráticos en vez de sumarlos.\n",
489 | "\n",
490 | "Una métrica que se usa popularmente en regresión linear son los mínimos cuadrados ordinarios (r²). Este genera un rango de 0 a 1 para medir la varianza capturada por el modelo. \n"
491 | ]
492 | },
493 | {
494 | "cell_type": "code",
495 | "metadata": {
496 | "colab": {
497 | "base_uri": "https://localhost:8080/"
498 | },
499 | "id": "XfEhnt6QNRJt",
500 | "outputId": "3816b7a2-ea87-49f1-8988-72ef08868c9e"
501 | },
502 | "source": [
503 | "y_test_predict = reg.predict(X_test)\n",
504 | "\n",
505 | "rmse = mean_squared_error(y_test, y_test_predict)\n",
506 | "r2 = r2_score(y_test, y_test_predict)\n",
507 | "\n",
508 | "print(rmse)\n",
509 | "print(r2)"
510 | ],
511 | "execution_count": 65,
512 | "outputs": [
513 | {
514 | "output_type": "stream",
515 | "text": [
516 | "43.48926587936529\n",
517 | "0.7903633255525706\n"
518 | ],
519 | "name": "stdout"
520 | }
521 | ]
522 | }
523 | ]
524 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2021 Xavier Carrera
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Tutorial Machine Learning: Regresión Lineal
2 |
3 | La Regresión Lineal es uno de los algoritmos clásicos de Machine Learning. Se usa para problemas como la predicción de precios o hasta para saber cuanto bajaríamos de peso.
4 |
5 | En este apunte encontrarás la explicación teorica y matemática de regresión lineal. En los apuntes, pasamos al código para ilustrar los temas cubiertos acá. Para este propósito usamos el data set de pingüinos que pertenece a la librería *Seaborn*.
6 |
7 | Si tienes alguna pregunta, no dudes en contactarme en Twitter: @XaviGrowth
8 |
9 | Nota 1: La notación para vectores es en negritas. Es decir, podrás identificar a los vectores cuando aparezcan de la siguiente manera: **y**.
10 |
11 | Nota 2: Los términos error cuadrado y error cuadrático no son diferentes.
12 |
13 | ## Introducción
14 |
15 | Muchos data sets tienen una relación linear entre sus variables. En estos casos, podemos predecir una variable usando un valor conocido. A esto lo conocemos como la **línea de mejor ajuste**. Esta línea la podemos calcular usando la siguiente ecuación:
16 |
17 | 
18 |
19 | Gráficamente se ve de la siguiente manera:
20 |
21 | 
22 |
23 | Aquí la *x* es el predictor de la variable porque será usado para precedir a *y*. A *y* la conocemos como la respuesta a la variable. Esta técnica es la regresión linear, la cual es uno de los algoritmos clásicos de machine learning.
24 |
25 | El principio fundamental de la regresión linear es que un cambio en uno o más variables del predictor generarán un cambio en la respuesta de la variable.
26 |
27 | ## 1. Regresión Linear y Estadística
28 |
29 | En principio, machine learning es estadística inferencial ya que tomamos datos históricos para extrapolar y hacer predicciones de datos futuros. La estadística es de gran utilidad para encontrar la línea de mejor ajuste. Nuestros data sets son una colección de puntos distribuidos en un gráfico de dispersión, en los cuales tenemos promedios de *x*, *y*, sus desviaciones standard y coeficientes de correlación.
30 |
31 | ### Promedios y Desviación Estándard
32 |
33 | Los promedios son simplemente la suma de *x* y *y* entre el número de elementos, en esta caso representado por *n*.
34 |
35 | Después de calcular los promedios (identificados como *x̅* y *y̅*) podemos encontrar la desviación estándard con la siguiente fórmula:
36 |
37 | 
38 |
39 | La desviación estándard no es otra cosa más que un forma de entender que tan lejos estan nuestros data points del promedio. Una desviación estándard pequeña significa que los data points están bastante cerca del promedio, mientras que una desviación estándard grande significa mayor dispersión. Por ejemplo:
40 |
41 | 
42 |
43 | Es importante recordar que la desviación estándard no mide precisión, sino variabilidad. Una desviación estándard grande no es indicador de que tengamos data points equivocados, sino que se encuentran más alejados del promedio.
44 |
45 | ### Coeficiente de Correlación
46 |
47 | Teniendo las desviaciones estándard de *x* y *y*, podemos calcular el coeficiente de correlación (identificado como *r*). Para calcularlo, tenemos que convertir *x* y *y* en unidades estándard. Usamos 1 ≤ *i* ≤ *n* para poner *xi* y *yi* en la siguiente fórmula:
48 |
49 | 
50 |
51 | Esta fórmula nos permite obtener las desviaciones estándard de *xi* y *yi* sobre la media.
52 |
53 | Hecho esto, podemos aplicar la fórmula para calcular el coeficiente de correlación tomando el promedio del producto:
54 |
55 | 
56 |
57 | Todo lo anterior puede parecer complicado. Lo que es importante recordar es que el resultado de esta fórmula va de -1 a 1 y nos indica que tan linearmente correlacionados están nuestros data points. Cuando *r* esta cerca de 0, existe poca correlación linear. Cuando *r* está cerca de 1 existe una correlación positiva. Al contrario, si *r* está cerca de -1 tenemos una correlación negativa.
58 |
59 | Por ejemplo, imagina que queremos analizar una correlación sobre bajar de peso. Supongamos que tenemos el dato de cuantos libros leen un grupo de personas. Posiblemente el coeficiente de correlación será cercano a 0 porque leer libros no tendría porque ser indicador del peso de una persona. Sin embargo, el número de horas de ejercicio podria estar cercano a 1 (entre más ejercicio hace una persona, más baja de peso) y el número de calorias que consume podría estar cercano a -1 (entre más calorias consume una persona, menos baja de peso).
60 |
61 | No te preocupes si todo esto parece complicado; solo tienes que recordar lo que cada uno de estos conceptos representa teóricamente. Los cálculos son hechos al final del día por las computadoras.
62 |
63 | Con toda esta información podemos calcular la línea de mejor ajuste. En unidades estándard se vería así: *y̅= rx̅*, donde *r* es el coeficiente de correlación. Esto se traduce a la siguiente ecuación:
64 |
65 | 
66 |
67 | La línea resultante no puede pasar por todos los data points, pero nos muestra una buena representación de todos estos. Con los valores de *xi* podemos calcular valores *yi* que son desconocidos en un principio. Sin embargo, esto solo es posible si existe una correlación linear (ya sea de 1 o -1).
68 |
69 | ## 2. Regresión Linear y Algebra Linear
70 |
71 | La algebra linear es de gran ayuda cuando trabajamos con regresión linear porque podemos desarrollar una intuición sobre como se ve la línea de mejor ajuste.
72 |
73 | En esta parte vamos a hablar sobre otra forma de calcular la línea de mejor ajuste. Sin embargo, puedes elegir si usar un método estadístico o uno algebráico para este propósito.
74 |
75 | La fórmula que hemos visto anteriormente para calcular la línea de mejor ajuste también se le conoce como la línea de regresión de mínimos cuadrados, la cual indica que la suma de los cuadrados de las distancias verticales de cada data point hacía la línea de mejor ajuste es menor en comparación a cualquier otra línea.
76 |
77 | Esto nos permite definir una función de error para cualquier línea *y = mx +b* que resulta en la suma de errores cuadráticos. Es decir, la suma del cuadrado de cada distancia vertical entre los puntos y la línea. La ecuación se ve de la siguiente manera:
78 |
79 | 
80 |
81 | Aunque lo anterior puede sonar complicado, solo tienes que recordar que la regresión de mínimos cuadrados es la distancia (o error) entre nuestros data points y nuestra línea.
82 |
83 | Por ejemplo, si tenemos una línea y cuatro puntos distanciados por valores 3, 5, 2 y 2. En esta caso solo tenemos que llevarlos al cuadrado.
84 |
85 | 
86 |
87 | Es decir, 9, 25, 4 y 4 respectívamente. Al final solo hay que sumarlos todos para que nos de un resultado de 42.
88 |
89 | No olvides que esto es otra manera de calcular la línea de mejor ajuste. Suponiendo que tenemos un conjunto de puntos *(x1, y1),(x2,y2),...(xn,yn)*, tendríamos que derivar una formula para obtener la línea de mínimos cuadrados. Una primera aproximación sería poner nuestros puntos en términos de vectores. Es decir, **x** es igual a:
90 |
91 | [m]
92 | [b]
93 |
94 | Ahora definiriamos una matriz A en *n* × 2. Por 1 ≤ i ≤ n en la fila número *i* contedrá *xi* en la primera columna y 1 en la segunda.
95 |
96 | Veamos ahora este vector de A:
97 |
98 | [*x1 1*]
99 | [*x2 1*]
100 | [ ... ]
101 | [xn 1 ]
102 |
103 | El vector *A* **x** contendrá valores que la línea representada por **x** predecirá por cada valor *x* en nuestro data set. Es decir, calcular *A* **x** es nutrir el valor *x* de cada punto representado por **x**.
104 |
105 | Como resultado, si definimos un vector **b** para que esté en el elemento número *i* tendremos como resultado *yi*. De esta forma podemos encontrar la distancia vertical entre cada punto y el valor *y* predecido por restar **b** a *A* **x**.
106 |
107 | Así podemos encontrar la suma de errores cuadráticos al llevar al cuadrado individualmente cada valor dentro de *A* **x** - **b** y añadiéndolos todos. En fórmula la veríamos así:
108 |
109 | = ||*AX* - b||²
110 |
111 | Por ejemplo, digamos que tenemos una serie de números (1, 0), (3,4), (2,3). Aquí *m* = 3 (número de datos) y *b* = 2 (promedio).
112 |
113 | Empecemos armando la matriz que se vería así:
114 |
115 | [1 1]
116 | [3 1]
117 | [2 1]
118 |
119 | Podemos predecir los valores de *y* al predecir la linea de cada valor *x* calculando *Ax*:
120 |
121 | [1 1]
122 | = [3 1] [3]
123 | [2 1] [2]
124 |
125 | [1 ⋅ 3 + 1 ⋅ 2]
126 | = [3 ⋅ 3 + 1 ⋅ 2]
127 | [2 ⋅ 3 + 1 ⋅ 2]
128 |
129 | [5]
130 | = [11]
131 | [8]
132 |
133 | Ahora incluimos a *b* con los valores y:
134 |
135 | [0]
136 | = [4]
137 | [3]
138 |
139 | Todo junto, podríamos caclular la suma de errores cuadráticos de la siguiente manera:
140 |
141 | = ||*AX* - b||²
142 |
143 | ||[5] [0]||²
144 | = ||[11] - [4]||
145 | ||[8] [3]||
146 |
147 | ||[5]||²
148 | = ||[7]||
149 | ||[5]||
150 |
151 | = 5² + 7² + 5²
152 |
153 | = 99
154 |
155 | Hay que tomar en cuenta que al minimizar ||*A* **x** - **b**||, también estamos minimizano la distancia entre *A* **x** y **b** dado que minimizar la distancia a un cuadrado positivo minimiza también los valores.
156 |
157 | Si has tenido problemas para entender esta última parte, no te preocupes. Repasar un poco de algebra lineal puede ayudarte a desarrollar un instinto para entender como se forman las líneas de mejor ajuste.
158 |
159 | De momento quédate con que esto nos ayudará despues a entender que tan bien nuestro modelo de machine learning predice datos desconocidos.
160 |
161 | ## 3. Regresión en Alta Dimensionalidad
162 |
163 | Aunque hasta el momento hemos trabajado solo con matrices bidimensionales, la realidad es que en la mayoría de los casos nos enfrentaremos a datasets multidimensionales. Sin embargo, la regresión de cuadrados mínimos es muy buena para generalizar en alta dimensionalidad.
164 |
165 | En esta caso, si tenemos variables predictoras [*x1, x2, ...., xp*] y una variable de respuesta *y*, entonces la ecuación linear que produce *y* se vería así:
166 |
167 | *y = m1x1 + m2x2 + ... + mp xp +b*
168 |
169 | Lo que intentamos hacer acá es una fórmula para la línea de mejor ajuste para nuestra regresión lineal en alta dimensionalidad. Pero en este caso, no obtenemos una línea de mejor ajuste sino un hiperplano de mejor ajuste.
170 |
171 | Podemos crear una matriz *A* que cuando se multiplica con **x** resulta en un vector conteniendo el valor predecido de *y* de cada data point:
172 |
173 | [m1]
174 | [m2]
175 | [..]
176 | [mp]
177 | [b ]
178 |
179 | Para producir alta dimensionalidad necesitamos solo añadir una columna más a cada variable predictor. En un dataset con *n* data points y variables predictoras *p*:
180 |
181 |
182 | [*x11 x12 ... x1p 1]
183 | [x21 x22 ... x2p 1]
184 | [ ... ... ]
185 | [xn1 xn2 ... xnp 1]
186 |
187 | De esta forma inicializamos el vector **b** para contener valores y los valores *y* de cada data point.
188 |
189 | Resulta ser que de este punto en la derivación es exáctamente lo mismo que antes. Tenemos un vector **x** por cada *A* **x** que está tan cerca como sea posible de *b*.
190 |
191 | De esta forma, los elementos en **x** tendrán el valor de coeficientes del hiperplano de mejor ajuste.
192 |
193 | En este punto podemos encontrar el hiperplano de mejor ajuste para cualquier dataset, siempre que haya más datapoints que predictores. Pero también puede pasar que los data points sean muy predecibles pero no en una forma linear. En este caso, solo tenemos que añadir nuevos términos no-lineares a nuestra función y actualizar nuestras formulas. Lo anterior se hace añadiendo exponentes a nuestras variables predictoras, dando como resultado una regresión polinomial.
194 |
195 | 
196 |
197 | Por ejemplo, si tuvieramos una variables predictora *x* y una variable a predecir *y* solo tendríamos que representar *y* para representar un polinomio de segundo grado de *x*. Es decir, en vez de representar una línea de mejor ajuste como:
198 |
199 | *y = mx + b*
200 |
201 | lo que haríamos es representarlo como un mejor ajuste polinomial:
202 |
203 | *y = m1x² + m2x + b*
204 |
205 | En muchas formas, es lo mismo que crear otra variable predictora. Todo lo que hemos hecho es tomar cada punto en nuestro dataset y añadir otro valor x². Después de esto, podemos calcular el coeficiente como lo hacemos normalmente en una regresión linear de alta dimensionalidad.
206 |
207 | ## 4. Limitaciones de Regresión Linear
208 |
209 | Aunque la regresión linear es una herramienta poderosa de machine learning, solo puede ser utilizada si hay una relación linear obvia. Pero este no es el caso cuando si tenemos una variable a predecir que no obedece a una variable predictora.
210 |
211 | ### Outliers
212 |
213 | Otro factor que puede limitar el uso de regresión linear son los outliers. Estos son elementos en nuestro dataset que son muy distintos al resto de nuestros data points. Un outlier bastante alejado de nuestro data set podría afectar la línea de mejor ajuste. Este es un ejemplo de detección de outliers en una gráfica de caja:
214 |
215 | 
216 |
217 | Por lo general, los outliers son simplemente excluidos del resto de elementos que se encuentran distantes a ellos. Un método más complicado es modelar los datos y luego excluir data points que contribuyan de más a calcular el error.
218 |
219 | Sin embargo, no debemos olvidar que estos data points podrían tener información valiosa. Hay que tener cuidado si decidimos excluirlos.
220 |
221 | ### Multicolinealidad
222 |
223 | A multicolinealidad la conocemos cuando hay demasiadas variables que parecen estar fuertemente relacionadas. La mayor preocupación en este punto es que la multicolinealidad puede resultar en múltiples ecuaciones para encontrar el mejor ajuste y que su regresión de cuadrados mínimos produce resultados inestables. Es decir, podríamos tener problemas al extrapolar en situaciones en las que no hay tanta multicolinealidad.
224 |
225 | Además, se vuelve más difícil medir el impacto de cada variable predictora en el valor a predecir. También podemos caer en una situación en la que con tantos valores predictores, nuestra regresión linear se especialice en un data set pero tenga problemas para predecir valores nuevos. Hay que recordar que el nombre del juego en este caso es **generalizar**.
226 |
227 | ### Heterocedasticidad
228 |
229 | Otro caso que limita el uso de regresión linear es la popiedad de heterocedasticidad, la cual produce grandes diferencias en las desviaciones estándard. Esto puede causar que algunos data points tengán un peso desproporcionado al calcular su importancia en las regresiones. En la siguiente imagen podemos ver la heterocedasticidad en la distancia entre puntos y la línea de mejor ajuste:
230 |
231 | 
232 |
233 | ### Sobreajuste
234 |
235 | El sobreajuste es probablemente el problema más común cuando utilizamos regresión linear. En estos casos los errores entre los data points tienen un gran efecto en la ecuación de mejor ajuste. Como mencionamos antes, un modelo sobreajustado se desempeña bien en los datos usados para entrenar un modelo. Sin embargo, no será tan bueno para entrenarse con datos nuevos. Variables que no explican el fenómeno en cuestión puden tener demasiado peso, lo que puede dar resultados inesperados.
236 |
237 | ## 5. Alternativas a la Regresión Linear
238 |
239 | Aunque la regresión linear de mínimos cuadrados es la forma más común de regresión, hay muchas otras variantes que pueden resolver problemas similares. A continuación veremos algunas de ellas.
240 |
241 | ### Regresión de Ridge
242 |
243 | Esta es similar a la regresión linear, con la diferencia que modifica un poco la función de error. Para la regresión linear usamos la suma de errores cuadrados como una métrica de desempeño. En ridge el objetivo es minimizar los valores cuadrados de los coeficientes también.
244 |
245 | ### Lasso
246 |
247 | Lasso es muy similar a Ridge. Este también penaliza los coeficientes en la función de erros, pero lo hace basado en el tamaño linear en vez del tamaño cuadrado.
248 |
249 | ### Comparasión Ridge vs Lasso
250 |
251 | Una forma fácil de entender los usos de los errores cuadrados en Ridge y Lasso es cuando hay dos variables predictoras como se muestra en la siguiente imagen. Los ejes *x* y *y* representan los valores del coeficiente en un plano de mejor ajuste y las elipses todos los pares de coeficientes que producen cierto valor de la suma de errores cuadrados. A medida que la suma del error cuadrado aumenta, las elipses se hacen más grandes.
252 |
253 | 
254 |
255 | En la izquierda tenemos un rombo que representa los valores del coeficiente permitidos por Lasso y el círculo los permitidos por Ridge.
256 |
257 | Debido a que ambas regresiones buscan minimizar la suma de errores cuadráticos mientras permanecen en su espacio de coeficientes permitibles. Esto significa que el par de valores seleccionados para ser coeficientes estarán en la elipse más pequeña que intersecta con el diamante o el círculo en los diagramas.
258 |
259 | Es decir, la elipse iniciará con la suma de errores cuadrados más pequeña y crecerá hasta que tope con alguna de las formas. Este será el pico de los coeficientes.
260 |
261 | Al ver el diagrama, queda claro que si la elipsis se expande hacia el círculo, es improbable que tope con un punto donde el coeficiente sea cero. Pero al expandirse hacia el rombo, hay buenas posibilidades de que tope con uno de los vértices en el eje *x* o *y*. De esta manera podemos ver que Lasso difiere de Ridge dado que puede reducir el coeficiente a cero.
262 |
263 | En la práctica, ambas regresiones se comportan de forma muy similar. Pero dado que Lasso puede reducir lo pesos de las variables predictoras a cero, puede distinguir entre variables predictoras. Esta es una buena solución cuando tenemos el riesgo de caer en sobreajustar nuestro modelo.
264 |
265 | Sin embargo, ambas regresiones penalizan la línea de mejor ajuste al tener coeficientes más grandes. Con esto podemos producir ecuaciones que hacen un uso mínimo de las variables predictoras para que impacten lo menos posible los resultados.
266 |
267 | Podemos imaginar todo esto como que Ridge y Lassos tienen recursos limitados, por lo que dan pesos importantes solo a las variables importantes.
268 |
269 | ### Regresión de K Vecinos Más Próximos
270 |
271 | Los K-Vecinos Más Próximos (KNN por sus siglas en inglés) son otra forma de medir la regresión linear. Como en casos pasados, necesitamos pares de variables predictoras **xi** que resulta en un variable *yi*. Con esto podemos predecir el valor resultante de una variable *y* desde el vector de la variable predictora **x**.
272 |
273 | Para hacer una predicción desde **x**, graficamos **xi** en nuestro dataset y seleccionamos puntos *k* que están geométricamente cercanos a **x**. La estimación de la regressión KNN nos da un promedio de los valores resultantes.
274 |
275 | Una propiedad poderosa de KNN es que hace pocas suposiciones sobre los datasets en el que se construye. Mientras la regresión linear asume que hay relaciones lineares, la regresión KNN puede acomodarse a casi cualquier problema.
276 |
277 | Además de que al ajustar el valor *k*, podemos cambiar la flexibilidad de la regresión KNN. Si tomamos incluso la menor de las tendencias, podemos usar el valor *k* más pequeño. Por el otro lado, los valores *k* más grandes eliminarán las desviaciones pequeñas en favor de tendencias grandes.
278 |
279 | Considera la siguiente regresión:
280 |
281 | 
282 |
283 | Tenemos un nuevo punto en *y* cada que en *x* tenemos un valor predictor de 3.5 y un valor de 2 para *k*. Recordando que tomamos nuestro valor *k* más cercano a **x** y el promedio de sus valores resultantes, estamos buscando dos puntos cercanos a *x* = 3.5. Al ver la gráfica, notamos que estos puntos son *x* = 3 y *x* = 4.
284 |
285 | Estos puntos corresponden con las variables resultantes *y* = 9 y *y* = *16*, por lo que nuestra predicción es el promedio entre 9 y 16. Es decir, 12.
286 |
--------------------------------------------------------------------------------
/img/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/img/correlacion.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XavierCarrera/Tutorial-Machine-Learning-Regresion-Lineal/a797c234b8e0e139b6ba4a9a31248ca9a2b2a007/img/correlacion.png
--------------------------------------------------------------------------------
/img/correlacion_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XavierCarrera/Tutorial-Machine-Learning-Regresion-Lineal/a797c234b8e0e139b6ba4a9a31248ca9a2b2a007/img/correlacion_1.png
--------------------------------------------------------------------------------
/img/correlacion_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XavierCarrera/Tutorial-Machine-Learning-Regresion-Lineal/a797c234b8e0e139b6ba4a9a31248ca9a2b2a007/img/correlacion_3.png
--------------------------------------------------------------------------------
/img/correlación_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XavierCarrera/Tutorial-Machine-Learning-Regresion-Lineal/a797c234b8e0e139b6ba4a9a31248ca9a2b2a007/img/correlación_2.png
--------------------------------------------------------------------------------
/img/distribucion_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XavierCarrera/Tutorial-Machine-Learning-Regresion-Lineal/a797c234b8e0e139b6ba4a9a31248ca9a2b2a007/img/distribucion_normal.png
--------------------------------------------------------------------------------
/img/hetero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XavierCarrera/Tutorial-Machine-Learning-Regresion-Lineal/a797c234b8e0e139b6ba4a9a31248ca9a2b2a007/img/hetero.png
--------------------------------------------------------------------------------
/img/hiperplano.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XavierCarrera/Tutorial-Machine-Learning-Regresion-Lineal/a797c234b8e0e139b6ba4a9a31248ca9a2b2a007/img/hiperplano.png
--------------------------------------------------------------------------------
/img/outliers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XavierCarrera/Tutorial-Machine-Learning-Regresion-Lineal/a797c234b8e0e139b6ba4a9a31248ca9a2b2a007/img/outliers.png
--------------------------------------------------------------------------------
/img/suma_errores_cuadrados.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XavierCarrera/Tutorial-Machine-Learning-Regresion-Lineal/a797c234b8e0e139b6ba4a9a31248ca9a2b2a007/img/suma_errores_cuadrados.png
--------------------------------------------------------------------------------