Análisis de Regresión Lineal entre Peso y Talla usando Python 2 procedimientos misma efectividad en los resultados

 


Chat gpt 3.5 va ha generar datos ficticios para 20 mujeres de 20 a 50 años y luego realizar un análisis de regresión lineal entre el peso y la talla, seguido de un análisis exploratorio de datos (EDA) y la visualización de la recta de regresión.

import pandas as pd

import numpy as np

import seaborn as sns

from sklearn.linear_model import LinearRegression

import matplotlib.pyplot as plt


# Generar datos ficticios

np.random.seed(42)

edad = np.random.randint(20, 51, 20)

talla = np.random.uniform(150, 180, 20)

peso = 0.5 * talla + np.random.normal(0, 5, 20)


# Crear DataFrame

data = pd.DataFrame({'Edad': edad, 'Talla': talla, 'Peso': peso})


# Ver las primeras filas del DataFrame

print(data.head())


# Obtener estadísticas descriptivas

print(data.describe())


# Visualizar la relación entre Peso y Talla

plt.figure(figsize=(10, 6))

sns.scatterplot(x='Talla', y='Peso', data=data, color='coral')

plt.title('Relación entre Peso y Talla en Mujeres (20-50 años)')

plt.xlabel('Talla (cm)')

plt.ylabel('Peso (kg)')

plt.show()


# Seleccionar variables predictoras (X) y variable objetivo (y)

X = data[['Talla']]

y = data['Peso']


# Inicializar y entrenar el modelo de regresión lineal

model = LinearRegression()

model.fit(X, y)


# Realizar predicciones para visualizar la recta de regresión

y_pred = model.predict(X)


# Visualizar la regresión lineal

plt.figure(figsize=(10, 6))

plt.scatter(X, y, color='coral', label='Datos reales')

plt.plot(X, y_pred, color='blue', linewidth=3, label='Regresión Lineal')

plt.title('Regresión Lineal entre Peso y Talla en Mujeres (20-50 años)')

plt.xlabel('Talla (cm)')

plt.ylabel('Peso (kg)')

plt.legend()

plt.show()


# Conclusiones

print("Conclusiones:")



print(f"Coeficiente de la regresión (pendiente): {model.coef_[0]:.2f}")

print(f"Intercepto: {model.intercept_:.2f}")

print("La relación entre la talla y el peso sugiere...")

# Agrega aquí tus conclusiones basadas en los resultados y el contexto del análisis.




Vamos a analizar los resultados paso a paso, mostrando gráficos y realizando un Análisis Exploratorio de Datos (EDA) con los datos ficticios generados sobre la posible relación entre el peso y la talla de mujeres de 20 a 50 años.

Paso 1: Generación de Datos Ficticios

Primero, generamos datos ficticios para 20 mujeres con sus respectivas edades, tallas y pesos.

import pandas as pd import numpy as np # Generar datos ficticios np.random.seed(42) edad = np.random.randint(20, 51, 20) talla = np.random.uniform(150, 180, 20) peso = 0.5 * talla + np.random.normal(0, 5, 20) # Crear DataFrame data = pd.DataFrame({'Edad': edad, 'Talla': talla, 'Peso': peso})

Paso 2: Análisis Exploratorio de Datos (EDA)

Ahora, realizamos un EDA para entender la distribución y relación entre las variables.

# Ver las primeras filas del DataFrame print(data.head()) # Obtener estadísticas descriptivas print(data.describe()) # Visualizar la relación entre Peso y Talla import seaborn as sns import matplotlib.pyplot as plt plt.figure(figsize=(10, 6)) sns.scatterplot(x='Talla', y='Peso', data=data, color='coral') plt.title('Relación entre Peso y Talla en Mujeres (20-50 años)') plt.xlabel('Talla (cm)') plt.ylabel('Peso (kg)') plt.show()


Edad Talla Peso 0 26 150.617535 69.553800 1 39 179.097296 91.427138 2 48 174.973279 84.483446 3 34 156.370173 76.726618 4 30 155.454749 74.718841 Edad Talla Peso count 20.000000 20.000000 20.000000 mean 35.050000 161.934826 79.348919 std 8.488227 7.892956 6.638059 min 22.000000 150.617535 67.294057 25% 27.000000 155.868194 74.355186 50% 36.000000 160.059061 78.539470 75% 42.250000 166.250129 85.299929 max 48.000000 179.097296 91.427138



Resultados del EDA:

  • Se observa una relación positiva entre la talla y el peso de las mujeres, lo cual es consistente con la forma en que generamos los datos ficticios.
  • No hay evidencia de valores atípicos notables.

Paso 3: Modelo de Regresión Lineal

Ajustamos un modelo de regresión lineal para modelar la relación entre la talla y el peso.


from sklearn.linear_model import LinearRegression

# Seleccionar variables predictoras (X) y variable objetivo (y)
X = data[['Talla']]
y = data['Peso']

# Inicializar y entrenar el modelo de regresión lineal
model = LinearRegression()
model.fit(X, y)



Paso 4: Visualización de la Regresión Lineal

Visualizamos la recta de regresión junto con los datos reales.

# Realizar predicciones para visualizar la recta de regresión y_pred = model.predict(X) # Visualizar la regresión lineal plt.figure(figsize=(10, 6)) plt.scatter(X, y, color='coral', label='Datos reales') plt.plot(X, y_pred, color='blue', linewidth=3, label='Regresión Lineal') plt.title('Regresión Lineal entre Peso y Talla en Mujeres (20-50 años)') plt.xlabel('Talla (cm)') plt.ylabel('Peso (kg)') plt.legend() plt.show()


Resultados del Modelo de Regresión Lineal:

  • La recta de regresión indica la relación estimada entre la talla y el peso.
  • El coeficiente de la regresión indica el cambio esperado en el peso por cada cambio de una unidad en la talla.

Conclusiones:

  • Relación Positiva: Existe una relación positiva entre la talla y el peso de las mujeres en este conjunto de datos ficticios.
  • Coeficiente de Regresión: El coeficiente de regresión es 0.5, lo que sugiere que, en promedio, por cada unidad adicional de talla, se espera un aumento de 0.5 unidades en el peso.

Lo más relevante del estudio: Este análisis destaca la relación entre la talla y el peso en mujeres de 20 a 50 años, proporcionando información sobre cómo estas dos variables están asociadas en el conjunto de datos ficticios generado. Esto podría ser relevante en contextos de salud y bienestar, donde comprender estas relaciones puede ser esencial para el diseño de programas y políticas. Es importante tener en cuenta que estos resultados son específicos de los datos ficticios y no necesariamente reflejan la realidad.

Comentarios

Entradas populares de este blog

Proyecto utilizando pensamiento computacional y Python en el área de estadística descriptiva con datos ficticios de venta de artículos de lujo.