Por: Julia Torrez
Este proyecto se enfoca en crear un conjunto de datos ficticios que simula métricas y eventos relacionados con la operación de robots en un entorno. Utilizaremos Python y las bibliotecas pandas, numpy, y matplotlib para la generación y visualización de datos.
Paso 1: Definición de Variables y Generación de Datos
import pandas as pd
import numpy as np
import random
# Definir el número de robots y el periodo de tiempo
num_robots = 5
num_horas = 24 * 7 # Una semana
# Crear un rango de fechas y horas
fechas_horas = pd.date_range(start='2023-01-01', periods=num_horas, freq='H')
# Crear datos ficticios para cada robot
data = {
'Fecha_Hora': np.repeat(fechas_horas, num_robots),
'ID_Robot': np.tile(range(1, num_robots + 1), num_horas),
'Bateria': np.random.uniform(20, 100, num_robots * num_horas),
'Temperatura': np.random.uniform(15, 35, num_robots * num_horas),
'Estado': np.random.choice(['Activo', 'En espera', 'Reparación'], num_robots * num_horas)
}
df_robotica = pd.DataFrame(data)
df_robotica.to_csv('datos_robotica.csv', index=False)
Este código genera datos ficticios que simulan métricas de robots a lo largo del tiempo. Cada robot tiene una ID única, y las métricas incluyen la batería, la temperatura y el estado del robot.
Paso 2: Análisis Exploratorio de Datos (EDA)
# Cargar datos desde el archivo CSV
df_robotica = pd.read_csv('datos_robotica.csv', parse_dates=['Fecha_Hora'])
# Mostrar las primeras filas del DataFrame
print(df_robotica.head())
# Estadísticas descriptivas
print("\nEstadísticas Descriptivas:")
print(df_robotica.describe())
# Visualizar la evolución de la batería para un robot específico
import seaborn as sns
import matplotlib.pyplot as plt
robot_id = 1
plt.figure(figsize=(12, 6))
plt.plot(df_robotica[df_robotica['ID_Robot'] == robot_id]['Fecha_Hora'], df_robotica[df_robotica['ID_Robot'] == robot_id]['Bateria'])
plt.title(f'Evolución de la Batería para el Robot {robot_id}')
plt.xlabel('Fecha y Hora')
plt.ylabel('Nivel de Batería (%)')
plt.show()
RESULTADO:
Fecha_Hora ID_Robot Bateria Temperatura Estado
0 2023-01-01 1 91.072294 28.772633 Activo
1 2023-01-01 2 68.235430 20.065448 Reparación
2 2023-01-01 3 86.136589 15.199576 Activo
3 2023-01-01 4 98.721053 29.468873 En espera
4 2023-01-01 5 43.072435 25.713132 En espera
Estadísticas Descriptivas:
ID_Robot Bateria Temperatura
count 840.000000 840.000000 840.000000
mean 3.000000 59.853542 24.936140
std 1.415056 23.122435 5.784154
min 1.000000 20.000931 15.013068
25% 2.000000 40.584729 19.829992
50% 3.000000 59.960337 24.750997
75% 4.000000 79.521778 30.091672
max 5.000000 99.825668 34.991154
Aquí, realizamos un análisis exploratorio básico. Cargamos los datos, mostramos las primeras filas y estadísticas descriptivas. Además, visualizamos la evolución de la batería para un robot específico a lo largo del tiempo.
Paso 3: Visualización Multivariable
# Visualizar la relación entre la temperatura y el nivel de batería
plt.figure(figsize=(10, 6))
plt.scatter(df_robotica['Temperatura'], df_robotica['Bateria'], c=df_robotica['ID_Robot'], cmap='viridis', alpha=0.7)
plt.colorbar(label='ID del Robot')
plt.title('Relación entre Temperatura y Nivel de Batería')
plt.xlabel('Temperatura (°C)')
plt.ylabel('Nivel de Batería (%)')
plt.show()

En este paso, utilizamos un gráfico de dispersión para explorar la relación entre la temperatura y el nivel de batería de todos los robots.
Conclusiones:
Generación de Datos Ficticios: La creación de un conjunto de datos ficticios es esencial para simular escenarios de la vida real y realizar pruebas en entornos controlados.
Análisis Exploratorio de Datos: El EDA nos permite comprender la estructura de los datos, identificar tendencias y patrones, y explorar la variabilidad de las métricas a lo largo del tiempo.
Visualización Multivariable: La representación gráfica de múltiples variables ayuda a entender las relaciones complejas entre diferentes aspectos del conjunto de datos, como la relación entre la temperatura y el nivel de batería.
Aplicación en Robótica: Este proyecto puede aplicarse en situaciones reales para monitorear y analizar el rendimiento de robots, identificar posibles problemas y optimizar su operación.
Este proyecto es un punto de partida básico. Puedes expandirlo incluyendo más métricas, simulando eventos específicos o aplicando técnicas avanzadas de análisis de datos según los requisitos específicos de tu aplicación en robótica. Recuerda que los datos utilizados son ficticios y con fines educativos. En un escenario práctico, se requerirían datos reales y adaptaciones adicionales.
No hay comentarios:
Publicar un comentario