Objetivos del Módulo

En este módulo, aprenderás sobre los modelos estadísticos, su importancia en el análisis de datos y cómo se utilizan para hacer predicciones y tomar decisiones informadas. Al final de este módulo, deberías ser capaz de:

  • Comprender los conceptos básicos de los modelos estadísticos.
  • Diferenciar entre los distintos tipos de modelos estadísticos.
  • Aplicar modelos estadísticos básicos a conjuntos de datos.

Conceptos Básicos de Modelos Estadísticos

¿Qué es un Modelo Estadístico?

Un modelo estadístico es una representación matemática de los datos que se utiliza para describir y entender las relaciones entre diferentes variables. Los modelos estadísticos permiten:

  • Describir: Capturar la estructura y las relaciones en los datos.
  • Predecir: Hacer predicciones sobre datos futuros basados en datos históricos.
  • Inferir: Hacer inferencias sobre la población a partir de una muestra.

Componentes de un Modelo Estadístico

  1. Variables:

    • Variables Dependientes (Y): La variable que se intenta predecir o explicar.
    • Variables Independientes (X): Las variables que se utilizan para predecir la variable dependiente.
  2. Parámetros: Coeficientes que cuantifican la relación entre las variables independientes y la variable dependiente.

  3. Error: La diferencia entre los valores observados y los valores predichos por el modelo.

Tipos de Modelos Estadísticos

  1. Modelos Descriptivos: Utilizados para describir los datos.

    • Ejemplo: Media, mediana, moda.
  2. Modelos Predictivos: Utilizados para hacer predicciones sobre datos futuros.

    • Ejemplo: Regresión lineal.
  3. Modelos Inferenciales: Utilizados para hacer inferencias sobre la población a partir de una muestra.

    • Ejemplo: Pruebas de hipótesis.

Ejemplo Práctico: Regresión Lineal Simple

Descripción del Problema

Supongamos que queremos predecir el precio de una casa (variable dependiente) basado en su tamaño en pies cuadrados (variable independiente).

Paso 1: Importar Librerías y Datos

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# Datos de ejemplo
data = {
    'size': [1500, 1600, 1700, 1800, 1900],
    'price': [300000, 320000, 340000, 360000, 380000]
}
df = pd.DataFrame(data)

Paso 2: Visualizar los Datos

plt.scatter(df['size'], df['price'])
plt.xlabel('Tamaño (pies cuadrados)')
plt.ylabel('Precio ($)')
plt.title('Relación entre el tamaño de la casa y el precio')
plt.show()

Paso 3: Crear el Modelo de Regresión Lineal

# Definir variables independientes y dependientes
X = df[['size']]
y = df['price']

# Crear el modelo
model = LinearRegression()
model.fit(X, y)

# Obtener los coeficientes
intercept = model.intercept_
slope = model.coef_[0]

print(f'Intercepto: {intercept}')
print(f'Pendiente: {slope}')

Paso 4: Hacer Predicciones

# Predecir el precio de una casa de 2000 pies cuadrados
predicted_price = model.predict([[2000]])
print(f'El precio predicho para una casa de 2000 pies cuadrados es: ${predicted_price[0]:,.2f}')

Paso 5: Visualizar la Línea de Regresión

plt.scatter(df['size'], df['price'])
plt.plot(df['size'], model.predict(X), color='red')
plt.xlabel('Tamaño (pies cuadrados)')
plt.ylabel('Precio ($)')
plt.title('Línea de Regresión')
plt.show()

Ejercicio Práctico

Ejercicio 1: Regresión Lineal Simple

Utiliza el siguiente conjunto de datos para crear un modelo de regresión lineal que prediga el precio de una casa basado en su tamaño.

data = {
    'size': [1400, 1500, 1600, 1700, 1800, 1900, 2000],
    'price': [280000, 300000, 320000, 340000, 360000, 380000, 400000]
}
df = pd.DataFrame(data)

Instrucciones:

  1. Visualiza los datos.
  2. Crea un modelo de regresión lineal.
  3. Obtén los coeficientes del modelo.
  4. Predice el precio de una casa de 2100 pies cuadrados.
  5. Visualiza la línea de regresión.

Solución

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

# Datos de ejemplo
data = {
    'size': [1400, 1500, 1600, 1700, 1800, 1900, 2000],
    'price': [280000, 300000, 320000, 340000, 360000, 380000, 400000]
}
df = pd.DataFrame(data)

# Visualizar los datos
plt.scatter(df['size'], df['price'])
plt.xlabel('Tamaño (pies cuadrados)')
plt.ylabel('Precio ($)')
plt.title('Relación entre el tamaño de la casa y el precio')
plt.show()

# Definir variables independientes y dependientes
X = df[['size']]
y = df['price']

# Crear el modelo
model = LinearRegression()
model.fit(X, y)

# Obtener los coeficientes
intercept = model.intercept_
slope = model.coef_[0]

print(f'Intercepto: {intercept}')
print(f'Pendiente: {slope}')

# Predecir el precio de una casa de 2100 pies cuadrados
predicted_price = model.predict([[2100]])
print(f'El precio predicho para una casa de 2100 pies cuadrados es: ${predicted_price[0]:,.2f}')

# Visualizar la línea de regresión
plt.scatter(df['size'], df['price'])
plt.plot(df['size'], model.predict(X), color='red')
plt.xlabel('Tamaño (pies cuadrados)')
plt.ylabel('Precio ($)')
plt.title('Línea de Regresión')
plt.show()

Conclusión

En este módulo, hemos introducido los conceptos básicos de los modelos estadísticos y hemos aplicado un modelo de regresión lineal simple para predecir el precio de una casa basado en su tamaño. En los siguientes módulos, profundizaremos en otros tipos de modelos estadísticos y técnicas avanzadas de modelado de datos.

© Copyright 2024. Todos los derechos reservados