Etiquetas: inteligenciaartificial machinelearning python opensource
👩💻 Escrito por Roxana Salazar — creadora de IASi e IASi-Agri, proyectos nacidos de una visión que integra ciencia, ética e inteligencia artificial explicable.
Desarrollado durante el Hackathon MLH 2025, este marco explora cómo los datos satelitales pueden aplicarse en distintos dominios — desde el monitoreo sísmico hasta la agricultura de precisión — manteniendo la transparencia como principio central.
“Este repositorio no es una entrega; es una idea viva.”
🌍 Introducción
¿Qué tienen en común los terremotos y la agricultura de precisión?
Ambos necesitan sistemas de alerta temprana que sean explicables, auditables y accionables.
Después de varios meses trabajando en detección de anomalías satelitales, desarrollé IASi (Intelligent Satellite Anomaly System): un marco que puede evolucionar entre dominios, manteniendo siempre la trazabilidad y los principios éticos.
🏆 Certificación de Calidad: CodeFactor A+ | 23/23 pruebas exitosas | 74 % de cobertura
🚨 El Problema: Sistemas Satelitales de Caja Negra
Los sistemas actuales de alerta satelital presentan deficiencias críticas:
❌ Falta de explicabilidad – no se comprende por qué se activa una alerta.
❌ Sin trazabilidad – no se identifican las señales que contribuyen.
❌ Escasa adaptabilidad – dependen de un único dominio o modelo.
❌ Ausencia de ética – sesgos y riesgos de privacidad.
✅ Mi solución: el Marco IASi, diseñado bajo el principio de “explicabilidad primero”.
⚙️ Arquitectura del Marco IASi
🧮 Fundamento Matemático Principal
def iasi_score(signals, weights):
"""
Calcula el puntaje IASi a partir de múltiples señales.
Args:
signals: diccionario con datos A/R/D/M/S
weights: diccionario con pesos alpha/beta/gamma/delta/epsilon
Returns:
Valor IASi [0,1] con trazabilidad completa
"""
A_ = normalize_environmental(signals.get('A', {}))
R_ = normalize_geochemical(signals.get('R', {}))
D_ = normalize_deformation(signals.get('D', {}))
M_ = normalize_marine(signals.get('M', {}))
S_ = normalize_sensors(signals.get('S', {}))
return (weights['alpha'] * A_ + weights['beta'] * R_ +
weights['gamma'] * D_ + weights['delta'] * M_ +
weights['epsilon'] * S_)
🌐 Arquitectura Multiseñal (A/R/D/M/S)
Código Dominio Descripción
A Ambiental Condiciones atmosféricas, indicadores biológicos
R Geoquímico Emisiones de radón, precursores químicos
D Deformación Desplazamientos InSAR, movimientos del suelo
M Marino Datos oceanográficos y ecosistemas marinos
S Sensores Actividad sísmica y redes de sensores
¿Por qué esta arquitectura funciona?
🔍 Explicable: cada componente es rastreable.
📊 Auditable: pesos configurables por región.
🔄 Adaptable: misma base matemática, distintos dominios.
⚖️ Ética: diseño transparente y centrado en el ser humano.
🌋 Dominio 1: Monitoreo Sísmico (IASi Core)
Configuración sísmica
weights_seismic = {
"alpha": 0.25, "beta": 0.20, "gamma": 0.25, "delta": 0.15, "epsilon": 0.15
}
seismic_signals = {
"A": {"a_score": 0.8},
"R": {"r_zscore": 2.1},
"D": {"d_mm_p95": 18.7},
"M": {"m_verified_ratio": 0.67},
"S": {"s_activity_z": 1.9}
}
score = iasi_score(seismic_signals, weights_seismic)
Resultado: 0.84 (Alerta sísmica alta)
🌾 Dominio 2: Monitoreo Agrícola (IASi-Agri)
La magia de la adaptación: el mismo marco matemático, pero con distinta interpretación de las señales.
def calculate_iea(ndvi, humidity, rainfall, weights, thresholds):
"""IASi adaptado para detección de estrés agrícola."""
ndvi_norm = normalize_ndvi(ndvi)
humidity_norm = normalize_humidity(humidity)
rainfall_norm = normalize_rainfall(rainfall)
iea_score = (ndvi_norm * weights['ndvi'] +
humidity_norm * weights['humidity'] +
rainfall_norm * weights['rainfall'])
if iea_score >= thresholds['high']:
return iea_score, "ALTO", "🚨 Irrigación inmediata recomendada"
elif iea_score >= thresholds['medium']:
return iea_score, "MEDIO", "⏰ Programar irrigación en 24–48 h"
else:
return iea_score, "BAJO", "✅ Mantener monitoreo regular"
🧠 Calidad del Código: Certificación A+
Pruebas Unitarias (74 % de Cobertura)
def test_iasi_score_traceability():
"""Verifica que los componentes del puntaje IASi sean trazables."""
inputs = {
"A": {"a_score": 0.8},
"R": {"r_zscore": 0.0},
"D": {"d_mm_p95": 10.0},
"M": {"m_verified_ratio": 0.6},
"S": {"s_activity_z": 0.0}
}
weights = {k: 0.2 for k in ["alpha","beta","gamma","delta","epsilon"]}
result = iasi_score(inputs, weights)
assert abs(result - 0.58) < 0.01 # Trazabilidad verificada ✅
Métricas de Calidad
Métrica Resultado
🟢 CodeFactor A+ (Top 5 %)
🧪 Pruebas 23/23 exitosas
📈 Cobertura 74 %
🛡️ Seguridad 0 vulnerabilidades
📘 Estilo Cumple PEP8
⚖️ Ética y Procedencia
🔍 Explicabilidad Primero: toda decisión debe ser rastreable.
📂 Validación Abierta: datos y métodos auditables.
⚖️ Umbrales Auditables: configurables por región.
🔒 Privacidad: manejo ético de datos sensibles.
📊 Salida Probabilística: expresa probabilidad, no certeza.
Principio esencial: Validación ≠ Origen.
IASi conserva su historial de desarrollo para garantizar la autoría y la transparencia.
🚀 Resultados y Desempeño
🏆 Código certificado A+ por CodeFactor.
🔬 Rigor científico y documentación completa.
🌎 Adaptabilidad multidominio: de la sismología a la agricultura.
🧩 Arquitectura de IA explicable, lista para escalar en código abierto.
🔗 Referencias y Enlaces
🌐 Repositorio IASi en GitHub
🌾 Demo interactiva IASi-Agri
💬 Colaboraciones
Estoy abierta a colaborar en proyectos de inteligencia artificial explicable, geociencia y agricultura sostenible.
Si compartes la curiosidad por unir transparencia, ética y conocimiento abierto, podemos construir algo que verdaderamente tenga sentido. 🌱
Top comments (0)