logo

Python, una Herramienta de Ingeniería y Confiabilidad

 Articulo 27 de febrero de 2025
Gaspar Ernesto Soto Pelaez
Autor: Gaspar Ernesto Soto PelaezIngeniero mecánico, especialista en gerencia de mantenimiento. Coordinador de proyectos en OMC SAS en Colombia.
EmailLinkedIn

Introducción

Python es un lenguaje de programación práctico, rápido y fácil de entender. Fue creado por Guido van Rossum en 1990 en los Países Bajos. Actualmente, este lenguaje es administrado por una fundación llamada Python Software Foundation, la cual se encarga de realizar actualizaciones, desarrollos y mantenimiento. Además, permite la descarga gratuita de la versión más reciente para los sistemas operativos Windows y Linux desde su sitio web oficial.

Python posee librerías y módulos muy útiles para la ciencia de datos, machine learning e ingeniería de confiabilidad.Algunas de estas importantes librerías son: Pandas, NumPy, SciPy, SymPy, Matplotlib, PyPlot, Reliability, entre otras.

El objetivo de este artículo es profundizar en las herramientas que Python ofrece a los ingenieros y técnicos en temas relacionados con la confiabilidad (Reliability).

La ingeniería de confiabilidad tiene como objeto de estudio la gestión de fallas mediante su estimación, prevención y predicción, analizando sus modos, causas, consecuencias, efectos y gestión de riesgos sobre los activos y sus componentes. Esta disciplina combina herramientas de física, matemáticas, estadística y probabilidad para responder preguntas como:

  • ¿Qué tan confiable es un activo?
  • ¿Cuándo y cómo fallará?

Cuanto mayor sea la criticidad del activo, mayor será el impacto de su falla en aspectos como el financiero, ambiental y de seguridad y salud en el trabajo (SST). Se entiende que la falla es un fenómeno aleatorio, por lo que tiene una probabilidad de ocurrencia.

La probabilidad es un método que permite determinar la frecuencia de un acontecimiento mediante la realización de un experimento aleatorio, en el cual se conocen todos los resultados posibles bajo condiciones suficientemente estables.

Ecuaciones de distribución de probabilidad

  • PDF (Probability Density Function): Función de densidad de probabilidad. Es una ecuación que representa la probabilidad de una variable aleatoria continua. Describe los valores esperados de una variable aleatoria extraída de una muestra.
  • CDF (Cumulative Distribution Function): Función de distribución acumulativa. Calcula la probabilidad acumulada de un valor dado.
  • SF (Survival Function): Función de supervivencia. Es equivalente a la función de confiabilidad R(t). Representa la probabilidad de que un individuo sobreviva desde la fecha de entrada en el estudio hasta un momento determinado t.
  • HF (Hazard Function): Función de riesgo. En análisis de vida, esta función mide la probabilidad de que un ítem experimente un suceso de interés a lo largo del tiempo. En confiabilidad de sistemas, donde el suceso de interés suele ser la falla de un dispositivo, esta función se denomina tasa de falla.
  • CHF (Cumulative Hazard Function): Función de riesgo acumulativa. Representa la medida del riesgo total de que ocurra una falla a lo largo de un período de tiempo determinado.

Existen diversas distribuciones de probabilidad, cuya aplicación depende del comportamiento de los datos analizados. Algunas de ellas son: exponencial, normal, log-normal, gamma, beta, logarítmica, Gumbel, entre otras.

Distribución de Weibull

Al realizar análisis de datos de vida (también conocido como Análisis de Weibull), el ingeniero o científico de datos intenta hacer predicciones sobre la vida útil de los ítems analizados, ajustando los datos a una distribución estadística.

La distribución parametrizada del conjunto de datos permite estimar características clave como:

  • Confiabilidad o probabilidad de falla en un momento específico.
  • Vida media del ítem.
  • Tasa de falla.

Para llevar a cabo el análisis de datos de vida, el ingeniero o científico de datos debe realizar las siguientes tareas:

  1. Reunir datos de vida del ítem.
  2. Seleccionar una distribución de vida que se ajuste a los datos y modele la vida útil del ítem.
  3. Estimar los parámetros que ajustarán la distribución a los datos.
  4. Generar gráficos y resultados que permitan estimar características como la confiabilidad o la vida media del ítem.

Parámetros de una distribución Weibull 3P

  • η (eta) / α (alfa): Parámetro de escala (η > 0, α > 0).
  • β (beta): Parámetro de forma (β > 0).
  • γ (gamma): Parámetro de ubicación (vida libre de fallas, -∞ < γ < +∞).

Condiciones limites:

  • t ≥ γ
  • f(t) ≥ 0

Función de densidad de probabilidad (PDF) para la distribución Weibull de 3 parámetros:

Ilustración 1. Fuente: reliawiki.com
Ilustración 1. Fuente: reliawiki.com

Para algunos autores, el parámetro de escala es denominado alfa (α) o Alpha, al igual que en la librería Reliability de Python.

Trazado de una distribución de Weibull en Python

Se deduce que, si γ = 0, se obtiene una distribución de Weibull de 2 parámetros (2P).

Ilustración 2. Gráfico de Weibull en Python para diferentes valores de α y β. Fuente: el autor. Gráfico realizado en Python.
Ilustración 2. Gráfico de Weibull en Python para diferentes valores de α y β. Fuente: el autor. Gráfico realizado en Python.

El código de Python utilizado para trazar la distribución de Weibull de la Ilustración 2 se encuentra disponible en un notebook de Jupyter, alojado en Google Colaboratory. Para más detalles, consulta la referencia [8] en la cibergrafía.

Funciones para la distribución de Weibull

Función de Distribución Acumulativa (CDF):

Image


Función de Supervivencia (SF) o Confiabilidad R(t):

Image


Función de Riesgo (HF):

Image

Función de Riesgo Acumulativa (CHF):

Image

Trazado de una función de confiabilidad de Weibull R(t)

Ilustración 3. Función de confiabilidad de Weibull para diferentes valores de α,β.  Fuente: El autor. Gráfico realizado en Python.
Ilustración 3. Función de confiabilidad de Weibull para diferentes valores de α,β. Fuente: El autor. Gráfico realizado en Python.

Las franjas de color alrededor de cada función indican los intervalos de confianza, dentro de los cuales se encuentran los puntos que dieron origen a cada función R(t).

Ejemplos de aplicación de confiabilidad con Python

Ejemplo de datos de vida de componentes

[1] Del Artículo #1 de la cibergrafía, tomamos los datos observados sobre el tiempo de vida (duración en horas) de 20 componentes en un período determinado.

Ilustración 4. Tabla de datos. Fuente [1]
Ilustración 4. Tabla de datos. Fuente [1]
Ilustración 5. CDF para [1]. Fuente: el autor. Gráfico realizado en Python.
Ilustración 5. CDF para [1]. Fuente: el autor. Gráfico realizado en Python.

Si deseamos trazar la función de densidad de probabilidad (PDF), necesitamos conocer los parámetros de la distribución.

Si observamos la Ilustración 5, vemos que:

  • α=106.848
  • β=1.058

Con estos parámetros, podemos trazar la PDF en Python.

Ilustración 6. PDF para [1]. Fuente: el autor en Python.
Ilustración 6. PDF para [1]. Fuente: el autor en Python.
Ilustración 7. Gráfico de confiabilidad R(t) para [1] en Python. Fuente el autor.
Ilustración 7. Gráfico de confiabilidad R(t) para [1] en Python. Fuente el autor.

Ejemplo de Weibull aplicado a fallas de equipos

Otro ejemplo de aplicación fue realizado con los datos del artículo [2] (ver Cibergrafía), en el cual se llevó a cabo un análisis de confiabilidad basado en una estadística de fallas de equipos de una planta fraccionadora de gas.

Para este análisis, se dispone de la siguiente estadística de Tiempo Para Falla (TPF).

Ilustración 8. Tabla de datos. Fuente: [2]
Ilustración 8. Tabla de datos. Fuente: [2]
Ilustración 9. CDF para la tabla de datos del artículo [2] en Python. Fuente el autor.
Ilustración 9. CDF para la tabla de datos del artículo [2] en Python. Fuente el autor.

De la Ilustración 9, se pueden obtener los siguientes parámetros:

  • α = 1620.525
  • β = 0.81
Ilustración 10. PDF para [2] en Python. Fuente: el autor.
Ilustración 10. PDF para [2] en Python. Fuente: el autor.
Ilustración 11. Confiabilidad R(t) para [2] en Python. Fuente: el autor.
Ilustración 11. Confiabilidad R(t) para [2] en Python. Fuente: el autor.

Conclusiones

  • El avance tecnológico y de programación facilita los procesos de cálculo, estimación, modelado y generación de gráficos relacionados con distribuciones de confiabilidad.
  • Python, más que un lenguaje de programación, es una herramienta clave para la ingeniería de confiabilidad, la ciencia de datos y otras áreas afines.
  • No es necesario ser un programador experto para aprovechar las librerías de Python enfocadas en confiabilidad.
  • Tampoco es indispensable ser matemático o estadístico para realizar cálculos y estimaciones con la librería Reliability de Python; sin embargo, tener claros los conceptos básicos de estadística y probabilidad es de gran ayuda.
  • El uso de herramientas computacionales, como las librerías de Python, reduce significativamente los tiempos de análisis y respuesta.
  • Los gráficos de distribuciones de probabilidad permiten comprender mejor el comportamiento de los datos de vida o de falla de un componente o equipo.
  • La tabla de datos de falla es fundamental para determinar la confiabilidad de los sistemas involucrados.
  • El CMMS se convierte en una fuente crucial de datos de falla para alimentar los análisis de confiabilidad.
  • Un adecuado diligenciamiento y registro de información en las órdenes de trabajo (OTs) es esencial para un análisis de confiabilidad preciso y efectivo.

Cibergrafía

  1. Ferrera Martínez, Arquímedes. "Modelos probabilísticos y función de confiabilidad." Revista Predictiva 21. Disponible en: https://predictiva21.com/modelos-probabilisticos-funcion-confiabilidad/
  2. Ferrera Martínez, Arquímedes. "Análisis de Weibull: Ejemplos." Revista Predictiva 21. Disponible en: https://predictiva21.com/analisis-weibull-ejemplos/
  3. Palacio, Luis Hernando. "Parámetros de distribución de Weibull." Revista Predictiva 21. Disponible en: https://predictiva21.com/parametros-distribucion-weibull/
  4. Salazar, R., Rojano, A., Figueroa, E., & Pérez, F. "Aplicaciones de la distribución de Weibull en ingeniería de confiabilidad." Memoria del XXI Coloquio Mexicano de Economía Matemática y Econometría. Disponible en: https://www.eumed.net/libros-gratis/2013/1255/aplicaciones-distribucion-weibull-ingenieria-confiabilidad.pdf
  5. Wikipedia para confiabilidad. Disponible en: https://www.reliawiki.com/index.php/Main_Page
  6. Librería Reliability para Python. Documentación oficial disponible en: https://reliability.readthedocs.io/en/latest/index.html
  7. Sitio web de la Fundación Python. Descargas y tutoriales de Python en: https://www.python.org
  8. Notebook de Jupyter desarrollado en Python por el autor del artículo: Reliability_0.ipynb.

Dinos qué te ha parecido el artículo

starstarstarstarstar

Publica tu artículo en la revista #1 de Mantenimiento Industrial

Publicar un artículo en la revista es gratis, no tiene costo.
Solo debes asegurarte que no sea un artículo comercial.
¿Qué esperas?

O envía tu artículo directo: articulos@predictiva21.com

Publicar artículo