Regresión Lineal con Datos Geográficos y Socioeconómicos
Clase 19 de 29 • Curso de Introducción al Álgebra Lineal: Vectores
Contenido del curso
Vectores
- 3

Vectores y Escalares: Conceptos y Operaciones Básicas
19:16 min - 4

Convenciones y Notación en Vectores y Escalares
09:04 min - 5

Modelo RGB y su implementación en Python
11:50 min - 6

Adición de Vectores: Conceptos y Propiedades Básicas
08:03 min - 7

Suma de Vectores en Python con NumPy
10:30 min - 8

Producto Escalar-Vectores: Conceptos y Propiedades Básicas
16:56 min - 9

Operaciones con Escalares y Vectores en Python usando NumPy
18:37 min - 10

Producto Interno de Vectores: Definición y Propiedades
12:45 min - 11

Producto Interno de Vectores en Python con NumPy
12:20 min - 12

Análisis de Sentimientos de Tweets con Vectores de Palabras
16:00 min
Funciones lineales
- 13

Funciones Lineales: Transformación de Vectores en Escalares
11:50 min - 14

Funciones Lineales y Propiedades de Superposición
14:22 min - 15

Teoremas y Corolarios en Funciones Lineales
18:02 min - 16

Funciones Afines: Propiedades y Ejercicios Prácticos
10:02 min - 17

Aproximaciones de Taylor: Modelos Lineales de Funciones No Lineales
08:38 min - 18

Aproximaciones de Taylor y análisis de error en Python
13:48 min - 19

Regresión Lineal con Datos Geográficos y Socioeconómicos
Viendo ahora
Norma y distancia
- 20

Propiedades y Cálculo de la Norma de Vectores
17:18 min - 21

Cálculo de Distancias entre Vectores usando Normas Euclidianas y LP
22:47 min - 22

Optimización de Visitas para Arrendar Departamentos
10:11 min - 23

Cálculo de Desviación Estándar en Series de Tiempo con NumPy
16:29 min - 24

Modelo de Riesgo Retorno en Inversiones de Acciones
12:57 min - 25

Cálculo de Ángulos y Correlación entre Vectores
10:29 min
Clustering
Cierre
¿Qué es una regresión lineal?
En el fascinante mundo de la data y la estadística, la regresión lineal se presenta como una herramienta poderosa que nos permite hacer predicciones basadas en datos. Utilizando funciones afines, podemos aproximar tendencias y modelar relaciones entre variables. En este contexto, discutiremos conceptos básicos, culminando con un ejemplo práctico usando un conjunto de datos del Golden Oak Research Group.
¿Cuáles son los elementos clave en una regresión?
- Modelo de regresión: Una función matemática que estima una variable dependiente (etiqueta o resultado esperado) 'y', basada en una o más variables independientes (regresores).
- Vector de pesos (β): Representa los coeficientes que multiplican cada regresor, proporcionando su peso relativo.
- Offset o bias (b): Un escalar añadido al resultado para ajustar la predicción al modelo real.
- Notación: Para simplificar, a menudo se utiliza la notación ɣ = X^Tβ, donde X^T representa la transpuesta de una matriz que incluye las variables independientes.
¿Cómo estructuramos un modelo de regresión?
Para ejecutar un modelo de regresión lineal, podemos utilizar bibliotecas de Python que facilitan la manipulación y análisis de datos. Aquí te explicamos cómo:
Cargando y explorando datos
Primero, es crucial cargar las librerías necesarias:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
A continuación, cargamos el dataset en un Data Frame de Pandas:
df = pd.read_csv('incomedb_G0RG.csv')
Puedes explorar las primeras filas de datos para conocer sus estructurar:
print(df.head())
Identificación de regresores
Para nuestro ejemplo, utilizaremos la latitud y la longitud como regresores, mientras que el ingreso promedio será la variable a predecir (MIN):
x = df[['lat', 'long']].values
y = df['MIN'].values
Creación de la función de predicción
Definimos nuestra función de predicción basada en un vector de pesos (β) y un offset:
def predict(x, beta, offset):
return np.dot(x, beta) + offset
Ajuste y evaluación del modelo
Con nuestros datos listos y función de predicción definida, procedemos a predecir:
beta = np.array([744.83, -83.45])
offset = 30980.48
predictions = predict(x, beta, offset)
Para evaluar la calidad del modelo:
plt.scatter(predictions, y, c='red')
plt.plot([y.min(), y.max()], [y.min(), y.max()], 'k--', lw=4)
plt.xlabel('Valor Predicho')
plt.ylabel('Valor Real')
plt.title('Comparación de valores reales vs predicciones')
plt.show()
¿Cómo mejoramos nuestras predicciones?
Para mejorar la precisión del modelo, podrías considerar la inclusión de variables adicionales, como códigos postales en nuestro caso. Ajustar e incluir nuevos parámetros para los regresores podría incrementar la exactitud del modelo. Aquí, el aprendizaje no termina; es vital recalibrar y probar diferentes combinaciones para encontrar la estructura que mejor se adecue al contexto de los datos que se observan.
¡No te detengas aquí! Continúa explorando más sobre regresiones y modelos de datos en Platzi y otros recursos educativos en línea. El camino de los datos es vasto y está lleno de descubrimientos para aquellos que se aventuran con curiosidad y determinación.