CÁLCULO DE LA VIDA ÚTIL RESTANTE DE UN TURBOFÁN …
Transcript of CÁLCULO DE LA VIDA ÚTIL RESTANTE DE UN TURBOFÁN …
TRABAJO DE FINAL DE GRADO
Grado en Ingeniería Mecánica
CÁLCULO DE LA VIDA ÚTIL RESTANTE DE UN TURBOFÁN
MEDIANTE MACHINE LEARNING
Memoria y Anexos
Autor/a: Jesús Regadera Medrano Director/a: Samir Kanaan Izquierdo Convocatoria: Junio 2021
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
1
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
2
Resumen Este trabajo de fin de grado tiene como objetivo estimar la vida restante útil (RUL) de un motor turbofán utilizando técnicas de Machine Learning. Para ello, se analizará el conjunto de datos de la NASA, donde mediante simulaciones de vuelo se registran un gran número de valores gracias a los diferentes sensores que hay en los motores desde su ciclo inicial hasta el momento en el que fallan. Una vez procesados los datos, se entrenarán dos métodos de regresión con el objetivo de saber cuántos ciclos les faltan a los motores que se encuentran en otro conjunto de datos que únicamente muestra parte de la vida de los motores. Los resultados obtenidos se compararán con un tercer conjunto de datos que contiene el número de ciclos que les faltaban a dichos motores hasta el fallo y se evaluará la eficiencia del modelo mediante criterios de evaluación estadísticos. Para realizar este trabajo, el tratamiento de los datos y la utilización de los métodos se desarrollará en el lenguaje de programación Python, utilizando a su vez bibliotecas de Numpy y Pandas para el análisis de los datos.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
3
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
4
Resum
Aquest treball de fi de grau té com a objectiu estimar la vida restant útil (RUL) d'un motor turbofán
utilitzant tècniques de Machine Learning. Per a això, s'analitzarà el conjunt de dades de la NASA,
on mitjançant simulacions de vol es registren un gran nombre de valors gràcies als diferents sensors
que hi ha en els motors des del seu cicle inicial fins al moment en el qual fallen. Una vegada han
estat processades les dades, s'entrenaran dos mètodes de regressió amb l'objectiu de saber quants
cicles els falten als motors que es troben en un altre conjunt de dades que únicament mostra part
de la vida dels motors. Els resultats obtinguts es compararan amb un tercer conjunt de dades que
conté el nombre de cicles que els faltaven a aquests motors fins a la fallada i s'avaluarà l'eficiència
del model mitjançant criteris d'avaluació estadístics. Per a fer aquest treball, el tractament de les
dades i la utilització dels mètodes es desenvoluparà en el llenguatge de programació Python,
utilitzant també biblioteques de Numpy i Pandas per a l'anàlisi de les dades.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
5
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
6
Abstract
The main objective of this Bachelor's Degree Final Project is to estimate the remaining useful life
(RUL) of a turbofan engine using Machine Learning techniques. For this purpose, the NASA dataset
will be analyzed, where through flight simulations a large number of values are recorded thanks to
the different sensors in the engines from their initial cycle until the moment they fail. Once the data
is processed, two regression methods will be trained in order to know how many cycles the engines
are missing in another dataset that only shows part of the engines' life. The results obtained will be
compared with a third data set containing the number of cycles missing from those engines until
failure and the efficiency of the model will be evaluated using statistical evaluation criteria. To carry
out this work, the data processing and the use of the methods will be developed in the Python
programming language, using Numpy and Pandas libraries for data analysis.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
7
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
8
Agradecimientos Me gustaría agradecer al director de este trabajo de fin de grado, Samir Kanaan, por haberme guiado y ayudado siempre que me han surgido dudas y he necesitado de su ayuda. También quería agradecerle que me animase a iniciarme en el mundo de la Inteligencia Artificial, aconsejándome que me apuntará a la asignatura de Inteligencia Artificial Aplicada a la Ingeniería ya que me ha sido de gran ayuda para realizar el trabajo y ampliar mis conocimientos en un campo que desconocía por completo.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
9
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
10
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
11
Índice
El siguiente índice se genera y actualiza automáticamente con la opción "actualizar campos" que
aparece cuando se pulsa el botón derecho del ratón. Haced que el índice se inicie en una página
impar.
RESUMEN __________________________________________________________ 2
RESUM ____________________________________________________________ 4
ABSTRACT _________________________________________________________ 6
AGRADECIMIENTOS __________________________________________________ 8
GLOSARIO _____________________________¡ERROR! MARCADOR NO DEFINIDO.
ÍNDICE DE FIGURAS _________________________________________________ 14
ÍNDICE DE TABLAS __________________________________________________ 16
1.INTRODUCCIÓN __________________________________________________ 18
2.METODOLOGÍA ___________________________________________________ 20
2.1. Pasos para el desarrollo del modelo predictivo.................................................. 20
2.2 Métodos utilizados ............................................................................................... 21
2.1.1. PCA .................................................................................................................. 22
2.1.2. Regresión lineal ............................................................................................... 23
2.1.3. Random forest ................................................................................................. 24
2.1.4. Criterios de evaluación .................................................................................... 27
3.DATASET ________________________________________________________ 30
3.1. Motor turbofán ................................................................................................. 30
3.2. Descripción Dataset .......................................................................................... 31
3.2.1. Fichero train .................................................................................................... 33
3.2.2. Fichero test ...................................................................................................... 33
3.2.3. Fichero RUL ..................................................................................................... 33
4.ESTIMACIÓN DEL RUL ______________________________________________ 34
4.1 Pre-procesar datos ............................................................................................... 34
4.2 Identificación de indicadores ............................................................................... 34
4.3. Entrenamiento de los modelos ........................................................................... 39
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
12
5.CONCLUSIONES __________________________________________________ 44
6.ESTUDIO ECONÓMICO _____________________________________________ 46
7.IMPACTO MEDIOAMBIENTAL _______________________________________ 48
8.BIBLIOGRAFÍA ___________________________________________________ 50
9.ANEXO _________________________________________________________ 52
Anexo A. Código del trabajo en Jupyter Notebook .................................................... 52
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
13
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
14
Índice de figuras
FIGURA 1.1. REPRESENTACIÓN GRÁFICA DEL MANTENIMIENTO REACTIVO, PREVENTIVO Y
PREDICTIVO. _____________________________________________________________ 18
FIGURA 2.1. FLUJO DE TRABAJO PARA EL DESARROLLO DE UN MODELO PREDICTIVO. ________ 20
FIGURA 2.2. REPRESENTACIÓN GRÁFICA DE PCA DE 2 COMPONENTES. ____________________ 23
FIGURA 2.3. DISTANCIA VERTICAL ENTRE LOS PUNTOS DE LOS DATOS DE ENTRENAMIENTO Y LA
RECTA DE REGRESIÓN. _____________________________________________________ 24
FIGURA 2.4. DISTRIBUCIÓN DE LAS MUESTRAS MEDIANTE BOOTSTRAP. ___________________ 25
FIGURA 2.5. PARTES DE UN ÁRBOL DE DECISIÓN. _____________________________________ 25
FIGURA 2.6. ESTRUCTURA DE UN ÁRBOL DE DECISIÓN. _________________________________ 26
FIGURA 2.7. REPRESENTACIÓN GRÁFICA DE UN R-CUADRADO ALTO Y BAJO. ________________ 28
FIGURA 3.1. ESTRUCTURA DE UN MOTOR TURBOFÁN. _________________________________ 30
FIGURA 3.2. DATAFRAME DEL FICHERO TRAIN. _______________________________________ 33
FIGURA 4.1. SENSORES 22 Y 23. ___________________________________________________ 34
FIGURA 4.2. DESCRIPCIÓN DE LAS VARIABLES. ________________________________________ 35
FIGURA 4.3. REPRESENTACIÓN GRÁFICA DE LOS SENSORES 2,3,4,8,11,13,15 Y 17.- ___________ 36
FIGURA 4.4. REPRESENTACIÓN GRÁFICA DE LOS SENSORES 7,12,20 Y 21. __________________ 37
FIGURA 4.5. REPRESENTACIÓN GRÁFICA DE LOS SENSORES 9 Y 14. _______________________ 37
FIGURA 4.6. REPRESENTACIÓN GRÁFICA DEL SENSOR 6. ________________________________ 38
FIGURA 4.7. VARIANZA Y REPRESENTACIÓN GRÁFICA DEL PCA. __________________________ 39
FIGURA 4.8. REPRESENTACIÓN GRÁFICA DEL MODELO DE REGRESIÓN LINEAL PARA LOS DATOS
TRAIN Y TEST. ____________________________________________________________ 40
FIGURA 4.9. REPRESENTACIÓN GRÁFICA DEL MODELO DE REGRESIÓN LINEAL 2 PARA LOS DATOS
DE TRAIN Y TEST. __________________________________________________________ 42
FIGURA 4.10. ÁRBOL DE DECISIÓN DE RANDOM FOREST. _______________________________ 43
FIGURA 4.11. DATOS SENSORES MOTOR 66 FICHERO TEST. _____________________________ 43
FIGURA 5.1. VALORES NEGATIVOS PREDICHOS POR EL MODELO DE REGRESIÓN LINEAL 1. _____ 44
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
15
FIGURA 5.2. DISTRIBUCIÓN DEL RESIDUO EN EL MODELO DE REGRESIÓN LINEAL 2. __________ 44
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
16
Índice de tablas
TABLA3.2. DESCRIPCIÓN C-MAPSS DATASET. _________________________________________ 31
TABLA 3.3. DESCRIPCIÓN DE LOS SENSORES _________________________________________ 32
TABLA 4.1. RESULTADOS DE LA REGRESIÓN LINEAL. ___________________________________ 40
TABLA 4.2. RESULTADOS DE LA REGRESIÓN LINEAL 2. __________________________________ 41
TABLA 4.3. RESULTADOS DE RANDOM FOREST. _______________________________________ 42
TABLA 6.1. COSTES DERIVADOS DEL PROYECTO. ______________________________________ 47
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
17
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
18
1.Introducción
Las máquinas fallan y cuando lo hacen se reparan. El problema es que hay máquinas que no pueden
ser reparadas una vez ya estropeadas, como es el caso del motor de un avión. Cuando el fallo pone
en riesgo vidas humanas, no vale únicamente con hacer simples revisiones, hay que adelantarse al
fallo. En estos casos, es cuando entra en escena el mantenimiento predictivo, estimando el
momento en el que el equipo fallará. Para entender la importancia que está atesorando el
mantenimiento predictivo es importante ver qué otros tipos de mantenimiento hay y ver sus
desventajas, entendiendo así porque este tipo de mantenimiento está cogiendo tanto valor. Los
otros dos tipos son el mantenimiento reactivo y el mantenimiento preventivo. El primero se basa
en reparar una máquina cuando ya ha fallado, esta clase de mantenimiento puede ser útil cuando
la reparación del equipo no conlleva un gran gasto ni ningún riesgo para las personas como es el
caso de la bombilla de una lámpara. Sin embargo, si se tiene una máquina con piezas de un alto
coste económico, esperar a que se rompan para comprar otras y sustituirlas no tendrá ningún tipo
de sentido. Por este mismo motivo, la decisión más inteligente sería la de prevenir el fallo antes de
que éste ocurra, por eso muchas empresas programan mantenimientos para las máquinas lo que
supone un coste considerable además de que no se deja trabajar al equipo todo el tiempo que
podría hasta que fallase. Por estos motivos el mantenimiento predictivo supone una gran ventaja
respecto a estos dos últimos ya que predecir el momento en el que una máquina fallará, conlleva
un ahorro en recursos, tanto materiales como humanos y se traduce en más seguridad para las
personas. Además, no sólo es útil para adelantarse al fallo, también es útil para señalar problemas
en la maquinaria que se está analizando e indicarnos que partes necesitan ser reparadas. Para llevar
a cabo la predicción del tiempo que le queda a una máquina hasta el fallo, es necesario desarrollar
un algoritmo que nos indique este dato. Uno de los principales objetivos del mantenimiento
predictivo es el de estimar la vida útil restante (RUL), que se define como el tiempo entre las
condiciones actuales en las que está trabajando la máquina hasta que llega a las condiciones de
fallo.
Figura 1.1. Representación gráfica del mantenimiento reactivo, preventivo y predictivo.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
19
La idea es clara, predecir el momento del fallo. La principal cuestión que se nos plantea es la de
cómo logramos anticiparnos a la ruptura. Pues bien, esto no sería posible sin las tecnologías de
Machine Learning, las cuales se han desarrollado a una gran velocidad en las últimas décadas. La
utilización del aprendizaje autónomo ha cogido una gran importancia debido al gran crecimiento
que se ha producido en las tecnologías de manejo de grandes conjuntos de datos o Big Data. El
Machine Learning, permite una compresión más sencilla del gran número de información que se
maneja en las grandes industrias, las cuales ya están normalizando su utilización obteniendo
grandes beneficios.
Podemos afirmar que el futuro del mantenimiento va de la mano del aprendizaje autónomo,
dejando atrás los enormes costes que suponen otras clases de mantenimiento, el cual se aplicaba
cuando la máquina ya había fallado. La tecnología avanza a pasos agigantados y los avances
conseguidos cada día son más notables en la industria y todo lo que la rodea.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
20
2.Metodología
Una vez se ha fijado el objetivo que se desea alcanzar es necesario establecer un orden de trabajo
y entender cómo y qué métodos se utilizan para alcanzar nuestra meta, la vida útil restante.
2.1. Pasos para el desarrollo del modelo predictivo
La manera de llegar a nuestro objetivo y conseguir realizar un buen mantenimiento predictivo de
una máquina, consta de unos pasos que se deben seguir estrictamente para obtener un buen
modelo predictivo. La consecución de un buen algoritmo, es clave para detectar con exactitud
cuándo nuestra máquina fallará. Para ello, necesitamos un gran conjunto de datos y un estudio de
los mismos para detectar qué indicadores nos aportarán más información para determinar cuándo
nuestra máquina necesitará ser reparada. Una vez se obtienen los indicadores necesarios ya se
puede desarrollar un buen modelo que sea capaz de detectar anomalías, clasificar diferentes tipos
de fallo y estimar la vida útil restante (RUL) de la máquina. Los pasos a seguir son los que se
muestran en la Figura 2.1.
Figura 2.1. Flujo de trabajo para el desarrollo de un modelo predictivo.
Para construir el modelo, el primer paso de todos es tener un buen conjunto de datos. Esto no se
traduce únicamente en que haya muchas muestras de la máquina que queremos evaluar, también
es necesario que la máquina actúe en diversas condiciones, no es lo mismo que una máquina
desarrolle su función en verano con una temperatura alta a que lo haga en invierno cuando la
temperatura es mucho más baja, las condiciones que envuelven al desarrollo del funcionamiento
también influyen en el fallo. Tener un conjunto de datos robusto que sea capaz de recoger el
comportamiento de la máquina en todas las circunstancias y condiciones posibles nos permitirá
construir un algoritmo mucho más robusto. Todos estos datos, son recogidos mediante sensores
que se colocan en puntos que miden valores que se consideran clave para el correcto
funcionamiento. Por ejemplo, la temperatura del motor de una máquina nos aportará mucha
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
21
información sobre si dicho motor está actuando bajo condiciones normales de temperatura o no.
En definitiva, cuantas más muestras se obtengan sobre los diferentes comportamientos que pueda
tener la máquina mejor será el modelo predictivo que se pueda desarrollar.
Una vez tenemos todos estos datos, el siguiente paso es el de pre-procesarlos y analizarlos. Este
paso se basa en convertir estos datos en indicadores útiles para predecir el mantenimiento de la
máquina. El pre-procesamiento utiliza técnicas cuya función es la de eliminar el ruido que envuelve
a los sensores que están registrando los datos que serán utilizados posteriormente. También es
necesario eliminar valores que no aportan información o que son valores erróneos debido a que se
pueden tener sensores que solo registran valores dentro de un umbral específico, por lo que si este
valor se dispara y no se encuentra dentro del umbral no queda registrado y no queda reflejado en
nuestra serie de datos como un valor numérico
El siguiente paso es el de identificar los indicadores que más información aportan para construir un
buen algoritmo predictivo. Estos indicadores son aquellos cuyo comportamiento cambia de una
manera notable cuando la máquina empieza a degradarse, es realmente importante hacer una
distinción entre los valores de cada sensor que indican un buen funcionamiento y los que indican
un futuro fallo.
Cuando se han extraído las características que se han considerado importantes para detectar
cuando la máquina está funcionando en condiciones de riesgo y en condiciones normales, es decir,
que no existe el riesgo de que vaya a fallar a corto plazo, el siguiente paso es el de entrenar el
modelo a partir de estos indicadores que se han considerado útiles. Los diferentes algoritmos que
existen de Machine Learning permiten entrenar el conjunto de datos seleccionados y predecir
cuándo y cómo la máquina fallará. El aprendizaje automático es una disciplina científica del ámbito
de la Inteligencia Artificial que crea sistemas que son capaces de aprender por si solos. En este caso
se entiende como ‘aprender’, identificar patrones complejos en un extenso conjunto de datos. Este
tema se tratará con más profundidad y de una manera más práctica en el siguiente apartado.
2.2 Métodos utilizados
Cuando se utilizan métodos de aprendizaje automático, es necesario diferenciar entre las dos
grandes clases que hay. Existen los métodos de clasificación y los métodos de regresión. Una vez se
elige la clase de métodos que se empleará para entrenar nuestro modelo, también será
fundamental elegir los métodos que evalúen la calidad de nuestros resultados como se verá más
adelante.
Los métodos de clasificación son los que se utilizan cuando se quiere clasificar un conjunto de datos,
es decir, el resultado que se desea obtener es el de ubicar los datos en su categoría o clase
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
22
correspondiente. Por ejemplo, a partir de varios datos de un coche como el tamaño de su maletero,
la capacidad de personas que puede albergar, su coste… se pretende clasificar los diferentes coches
en malos, buenos y muy buenos. En este caso, a partir de los datos que se presentan, se clasifica la
calidad del coche en 3 posibles clases.
Los métodos de regresión se basan en la predicción de un valor numérico y establece una relación
entre un número de características y una variable objetivo continua. Este tipo de métodos son los
que se utilizarán para el desarrollo de la estimación del RUL ya que se desea predecir un valor
numérico, en nuestro caso el número de ciclos que le faltan a un motor de avión antes de romper.
Este caso se desarrollará con más detalle en los siguientes capítulos.
2.1.1. PCA
Antes de embarcarse en la aplicación de los tipos de métodos descritos, puede ser de mucha
utilidad visualizar los datos con los que se va a trabajar. Para visualizar si las variables que indican
una misma salida presentan alguna relación sería de gran ayuda visionarlo en un gráfico y ver si
esos puntos están cerca en el plano, el problema es que si se tienen 20 atributos es imposible
observar un gráfico de 20 dimensiones. Lo ideal en este caso sería tener una única salida con dos
variables para poder representar esos puntos en un plano con ejes x e y. La solución a este problema
se llama análisis de componentes principales (PCA) y es útil tanto como para problemas de
regresión como para problemas de clasificación, esta técnica nos permite reducir un gran número
de variables en un menor número de nuevas variables, sin que estas nuevas variables dejen de
aportar toda la información que las otras presentaban. Los datos que contienen las variables
predictoras, es decir, nuestras columnas tienen que estar estandarizados para ser analizadas, esto
significa que la distribución de los datos pasará a tener una media de 0 y una desviación estándar
de 1. Este paso se realiza porque las variables contienen datos que no están en la misma escala de
valores, hay una gran diferencia entre una variable que contenga una escala de entre 20 y 10 que
otra que contenga una escala con valores de entre 9000-8000, por lo que si van a ser comparados
es importante realizar este paso.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
23
Figura 2.2. Representación gráfica de PCA de 2 componentes.
2.1.2. Regresión lineal
Este método de regresión consiste en establecer una relación entre una variable continua y una o
una más variables independientes. La variable continua hace referencia la elemento que se quiere
predecir y las variables independientes hacen referencia los predictores. Dependiendo de si se tiene
uno o más predictores se utilizará la regresión lineal simple o la múltiple. Se usará este método
predictivo como base, ya que es fácil de interpretar y presenta una gran simplicidad.
Este modelo se basa en rectas en las que se hace referencia al valor de y para una muestra i
determinada:
Eq. (2.1.)
Los términos de la ecuación son los siguientes:
𝑇 es el número de observaciones o lo que es lo mismo, el número de muestras.
𝛽0 hace referencia al término independiente. Es el valor esperado cuando las variables
predictoras 𝑋1𝑡, 𝑋2𝑡,..., 𝑋𝑘𝑡 valen 0.
𝛽𝑘 es el coeficiente parcial de regresión de cada uno de los atributos o predictores. Por
ejemplo, 𝛽1 mide el cambio en 𝑌 por cada cambio unitario en el predictor 𝑋1𝑡 cuando
𝑌𝑡 = 𝛽0 + 𝛽1𝑋1𝑡 + 𝛽2𝑋2𝑡 + ⋯ + 𝛽𝑘𝑋𝑘𝑡 + 𝜀𝑡 ∀𝑡 = 1,2, … , 𝑇
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
24
𝑋2𝑡, 𝑋3𝑡,…, 𝑋𝑘𝑡 se mantienen constantes. 𝑋1𝑡 correspondería a la primera columna de los
datos.
𝜀 es el residuo o error, es decir, la diferencia entre el valor real y el valor estimado por el
modelo.
Los valores 𝛽0 y 𝛽𝑘 de la recta no se conocen, ya que tenemos una recta para cada muestra, por lo
que el objetivo es el de estimarlos, con el objetivo de encontrar la recta de regresión que mejor
resultados nos aporte. El método para determinar estos valores es el de mínimos cuadrados
ordinario (OSL). Consiste en minimizar todo lo posible la distancia vertical al cuadrado entre cada
punto de entrenamiento y la recta de regresión.
Figura 2.3. Distancia vertical entre los puntos de los datos de entrenamiento y la recta de regresión.
El algoritmo que hace este proceso automáticamente en Python se llama LinearRegression y se
mostrará en el código que se ha desarrollado para este estudio.
2.1.3. Random forest
Una vez ejecutado el primer modelo predictivo, se aplicará un segundo método para realizar
comparaciones y observar si existe una mejoría en los resultados.
Random Forest se basa en la creación de varios árboles de decisión con el objetivo de predecir la
variable de interés. Cada árbol sobre los que se construye el modelo, se edifica siguiendo un
proceso. Se tienen n muestras, la variable que se desea predecir Y y las variales predictoras
𝑋1,𝑋2, … , 𝑋𝑡. Una vez se tienen estructurados los datos de esta manera, el modelo sigue los
siguientes pasos:
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
25
Mediante la técnica Bootstrap se construye un nuevo conjunto de datos de las mismas
dimensiones que el original. Esta técnica consiste en realizar un muestreo con reemplazo.
Un tercio de los datos no son usados para el entrenamiento del modelo.De esta forma es
probable, como se observa en la Figura 2.3. que en este nuevo conjunto haya variables que
se repitan y otras que no aparezcan, también se observa que las variables no están
colocadas en el mismo orden que en el dataset original.
Figura 2.4. Distribución de las muestras mediante Bootstrap.
A partir de este nuevo conjunto de datos se crean los árboles que formarán el Random
forest. Antes de seguir con el procedimiento, es necesario realizar una pequeña explicación
de cómo se construye un árbol de decisión. Se estructura de la siguiente manera:
Figura 2.5. Partes de un árbol de decisión.
Se basa en preguntas del tipo ¿ 𝑋𝑘 < 𝑏? para cada una de las diferentes variables
predictoras que se tienen. Si la respuesta es sí el árbol se ramifica hacia la izquierda, en el
caso contrario lo hace hacia la derecha. Todas las observaciones quedan dentro de
diferentes híper-rectángulos en los que se divide el espacio, todas las muestras que queden
dentro de un híper-rectángulo tendrán el mismo valor predicho. Los valores de corte 𝑏 son
los que establecen en qué punto empieza y terminan las diferentes divisiones, se
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
26
determinan con el objetivo de minimizar el error cuadrático medio (MSE) entre los valores
reales y las predicciones. Los valores que se encuentran en cada uno de los nodos hoja es
el valor medio de las muestras que pertenecen a dicho nodo. Este criterio de evaluación se
explicará en el siguiente apartado.
Figura 2.6. Estructura de un árbol de decisión.
Si tenemos X variables predictoras, se utliza un número x<X para cada nodo ya que como
se ha explicado los nuevos conjuntos de datos creados por Bootstrap no representan la
totalidad de los datos, este valor x se mantiene constante para todos los árboles. Estas
variables x se escogen aleatoriamente del conjunto total X. La mejor distribución de los x
valores predictores es usado para ramificar el árbol de regresión.
Estos pasos anteriores se repiten varias veces, para así conseguir el mayor número de
árboles, los cuales se van ramificando hasta llegar al nodo hoja.
En el caso de la regresión, la variable que se quiere predecir se obtiene del promedio de las
predicciones de cada árbol. La función que se utiliza en Python para generar este algoritmo es
RandomForestRegressor y tiene algunos parámetros que se pueden ajustar antes de ejecutar el
modelo, los principales son:
n_estimators: Es el número de árboles de decisión que habrá en el bosque. Si no se
establece ningún valor, el modelo establece 100 como número de árboles.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
27
min_samples_split: Es el número mínimo que necesita un nodo para volver a ramificarse.
Si no se determina, el valor por defecto es 2.
max_depth: Hace referencia a la extensión máxima de un árbol. Si no se establece ningún
valor, el árbol se va ramificando hasta que todas las hojas contengan el valor el valor de
muestras (min_samples_split) en el que ya no se ramifican más.
min_samples_leaf: Es el número mínimo de muestras que se requieren para ser un nodo
hoja, que son como se muestra en la Figura 2.4. los que contienen las diferentes
predicciones. El valor por defecto es 1.
2.1.4. Criterios de evaluación
Una vez, se han ejecutado los modelos se debe verificar su calidad. Para ello usaremos 2 medidas
estadísticas que se suelen usar en el caso de los modelos de regresión.
El primero es el R-cuadrado, también conocido como coeficiente de determinación múltiple en el
caso de una regresión linear múltiple que es el que se tiene en este trabajo. Su fórmula es la
siguiente:
Eq. (2.2.)
T es el número total de muestras. �̂�𝑡 es el valor predicho de cada una de las muestras, �̅� es el
valor medio de los valores reales e 𝑌𝑡 es el valor real para cada muestra. El resultado de esta
ecuación se encuentra entre 0 y 1 y se expresa en porcentaje, cuanto más cerca este del 100% más
cerca estarán nuestros valores predichos de la recta de regresión, o lo que es lo mismo, estarán
más próximos al valor real que es el que se busca alcanzar. Matemáticamente, determina la
proporción de la varianza en la variable que se desea predecir que puede ser explicada por la
variable independiente o predictoras.
𝑅2 =∑ (�̂�𝑡 − �̅�)𝑇
𝑡=12
∑ (𝑌𝑡 − �̅�)𝑇𝑡=1
2
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
28
Figura 2.7. Representación gráfica de un R-cuadrado alto y bajo.
La segunda medida que se utilizará, será el error cuadrático medio (RMSE) y hace referencia a la
raíz cuadrada promedio entre el valor real y el valor predicho.
Eq. (2.3.)
La distancia se mide en el eje vertical. La constante 𝑛 es el número de muestras, 𝑦𝑗 es el valor real
e �̂�𝑗 el valor predicho. Los valores menos elevados de RMSE indican un mejor ajuste ya que la
distancia vertical entre los dos puntos será menor.
𝑅𝑀𝑆𝐸 = √1
𝑛∑(𝑦𝑗 − �̂�𝑗
𝑛
𝑗=1
)2
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
29
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
30
3.Dataset
Para comprender el trabajo que se ha realizado, previamente es necesario que se entienda el
dataset que ha sido utilizado. Un dataset, es un conjunto de datos donde generalmente cada
columna equivale a una variable y cada fila a una muestra del conjunto.
3.1. Motor turbofán
El conjunto de datos con el que se ha trabajado, está generado a partir de una herramienta
perteneciente a la NASA llamada C-MAPSS (Commercial Modular Aero-Propulsion System
Simulation), la cual es de uso exclusivo ya que solo puede ser utilizada por miembros del Gobierno
federal de Estados Unidos. C-MAPSS es capaz de generar una simulación del comportamiento de
un motor turbofán. Este tipo de motor es el que utilizan los aviones comerciales y también es
conocido como turboventilador.
Figura 3.1. Estructura de un motor turbofán.
El aire entra por el ventilador del motor, normalmente compuesto por cuchillas de titanio. Una
parte de ese aire que ha entrado se dirige a la cámara de combustión y el aire restante se mueve
alrededor del núcleo a través de un conducto, lo cual permite que se refrigere el motor. El
compresor se encuentra en la primera parte del núcleo y como su nombre indica, se encarga de
comprimir el aire que entra aportándole más energía. El siguiente paso en este recorrido, es la
cámara de combustión. El aire comprimido entra en esta cámara y se mezcla con el combustible
produciendo la combustión. El aire caliente que sale de la cámara de combustión llega a la turbina,
que está compuesta por hélices, haciéndolas rotar. Las hélices de la turbina están conectadas al eje
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
31
al cual están también conectados el ventilador y el compresor por lo que también girarán y
provocarán que se continúe aspirando más aire para seguir llevando a cabo el proceso.
3.2. Descripción Dataset
El conjunto de datos generado por la herramienta C-MAPSS y con el que se ha trabajado para la
realización de este trabajo consta de 4 conjuntos de datos.
DATASET FD001 FD002 FD003 FD004
Número de motores 100 260 100 249
Número de muestras fichero train
20.631 53.579 24.270 61.249
Número de columnas 26 26 26 26
Condiciones de operación 1 6 1 6
Modo de fallo 1 1 2 2
Tabla3.2. Descripción C-MAPSS Dataset.
Para la realización de este trabajo se ha utilizado el primer dataset (FD001). Tal y como nos indica
la tabla, nuestro conjunto de datos consta de 100 motores, los cuales son todos del mismo tipo. El
número de muestras es el total de los ciclos que se han simulado con los 100 motores, un ciclo en
términos de aviación hace referencia a un despegue y un aterrizaje, es decir, cada vez que un avión
despega y aterriza cuando llega a su destino completa un ciclo. No se especifica cual es la distancia
que se recorre en cada ciclo, pero sí se concreta que es siempre la misma distancia. Todos los
motores trabajan bajo las mismas condiciones de operación y tienen el mismo modo de fallo,
tampoco hay más información sobre estos dos parámetros. Las 26 columnas corresponden a 21
sensores,3 settings operacionales y 2 columnas que nos indican el motor y el número de ciclo al
que corresponden los datos que se observan en la fila. A continuación, se presenta en la Tabla 3.3.
la descripción de cada uno de los sensores que se encuentran en el fichero y nos proporcionan
datos sobre el motor en un momento determinado.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
32
Sensores
Número Descripción Símbolo Unidades
1 Temperatura de entrada del ventilador T2 ºR
2 Temperatura de salida del LPC T24 ºR
3 Temperatura de salida del HPC T30 ºR
4 Temperatura de salida del LPT T50 ºR
5 Presión a la entrada del ventilador P2 psia
6 Presión total en el bypass-duct P15 psia
7 Presión total a la salida del HPC P30 psia
8 Velocidad del ventilador Nf rpm
9 Velocidad del núcleo Nc rpm
10 Ratio de presión del motor Epr -
11 Presión estática de salida en el HPC Ps30 psia
12 Ratio de flujo de combustible en Ps30 Phi pps/psia
13 Velocidad corregida del ventilador NRf rpm
14 Velocidad corregida del núcleo NRc rpm
15 Bypass Ratio BPR -
16 Ratio de quemado combustible-aire farB -
17 Entalpía de sangrado htBleed -
18 Velocidad demandada del ventilador Nf_dmd rpm
19 Velocidad corregida demandada del ventilador
PCNfR_dmd rpm
20 Sangrado de refrigerante del HPT W31 Ibm/s
21 Sangrado de refrigerante del LPT W32 Ibm/s
22 - - -
23 - - -
Tabla 3.3. Descripción de los sensores
Como se puede observar en la tabla los dos últimos sensores no contienen información porque
representan valores Nan, es decir, valores que no son números o valores que son imposibles de
calcular como es el caso de una raíz negativa. Por este motivo se tienen en cuenta 21 sensores y
consecuentemente se concluye que hay 26 columnas y no 28 si contásemos estos dos últimos
sensores. Una vez se descarga este dataset se observa que contiene tres ficheros: fichero train,
fichero test y fichero RUL.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
33
3.2.1. Fichero train
Este fichero contiene 26 columnas y 20.631 filas, que son el número de ciclos realizados por los 100
motores, tal y como se ha comentado en el apartado anterior. En este fichero se observa que los
motores van realizando ciclos, mientras que todos los sensores van indicando los valores
correspondientes en cada uno de los ciclos. La columna que nos indica el motor cambia de uno a
otro cuando el anterior llega a su fallo, o lo que es lo mismo, el motor llega al final de su vida
restante útil. Esto quiere decir que en este primer fichero los motores se llevan hasta el fallo y no
se pasa al siguiente hasta que rompe el anterior. En la Figura 3.2. se muestra este fichero para que
se comprenda más fácilmente como están distribuidos los datos.
Figura 3.2. Dataframe del fichero train.
Así quedan distribuidos los datos que seguirían hasta la columna ‘sensor 21’.
3.2.2. Fichero test
Este fichero tiene exactamente la misma distribución que el fichero train, la única y principal
diferencia es que los motores, los cuales siguen siendo del mismo tipo, no se llevan hasta el fallo
por eso en este caso el número de muestras es algo menor, 13.096 muestras. El momento en el
que se cambia de motor es completamente aleatorio. Por ejemplo, se puede pasar de un motor a
otro cuando a éste le quedan 100 ciclos de vida útil y se puede pasar al siguiente cuando a otro le
quedan 10 ciclos de vida útil.
3.2.3. Fichero RUL
Este fichero sirve como respuesta al fichero test y está compuesto por 100 filas ya que está
indicando el número de viajes que le quedaba a cada motor del fichero test antes de fallar. En este
caso el fichero se compone de 100 filas, tal y como se ha explicado, además de una columna que
hace referencia al RUL. Para que se entienda, cada número de los 100 que hay en la columna RUL
corresponde a los viajes que le quedan a cada uno de los 100 motores antes de que rompan.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
34
4.Estimación del RUL
Una se ha visto la metodología a seguir y se ha comprendido el conjunto de datos con el que se va
a trabajar, ya se puede empezar a desarrollar el caso práctico. Una vez se han importado los
diferentes ficheros, se comenzará a trabajar en el análisis de los datos de entrenamiento que se
encuentran en el fichero train.
4.1 Pre-procesar datos
Lo primero que se hará, será realizar un proceso de visualización de los datos que contiene el fichero
para ver si contienen algún valor no esperado o existen valores que no aparecen en algunas
muestras. Lo primero que se observa cuando creamos la tabla con los datos es que los sensores 22
y 23 no contienen ningún tipo de información útil ya que son valores Nan que no pueden ser
representados numéricamente por lo que no nos son de utilidad.
Figura 4.1. Sensores 22 y 23.
Las siguientes columnas que descartaremos serán la de los settings operacionales 1, 2 y 3 ya que todos los
motores trabajan bajo las mismas condiciones de operación. No se ha realizado una normalización de los
datos porque suponía una gran pérdida de información para los algoritmos y perdían eficacia.
4.2 Identificación de indicadores
Realizado ya el pre-procesado, se deben analizar los atributos que nos serán de utilidad para
predecir la vida restante útil. Lo primero que se hará es un análisis de los sensores a partir de sus
medias y desviaciones.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
35
Figura 4.2. Descripción de las variables.
Se puede observar perfectamente como hay sensores cuyo valor no varía ya que su valor medio, su
máximo, su mínimo y sus percentiles son exactamente los mismos. Además, la desviación es
prácticamente nula por lo que podemos afirmar que los valores que nos están indicando estos
atributos son constantes. Esto significa que pueden ser obviados ya que no aportarán información
importante para la predicción ya que lo que se está buscando son indicadores que varíen para que
sean útiles para los métodos predictivos, es decir, que cuando a un motor le queden menos viajes
se vea un crecimiento o un decrecimiento que se pueda asociar a ese número de vuelos restantes.
Si tenemos un mismo valor cuando quedan 300 ciclos de vida que cuando quedan 50 los algoritmos
no serán capaces de predecir con exactitud. Los sensores 1,5,10,16,18 y 19 serán descartados por
estas razones. El sensor 6 contiene alguna variación si comparamos su media y sus percentiles por
lo que por el momento no se eliminará.
Los atributos restantes seguirán siendo analizados para ver su comportamiento. Para ello
necesitaremos representarlos gráficamente. Lo ideal será realizar una gráfica que nos indique como
va variando el valor de cada sensor a medida que le van quedando menos ciclos de vida. Nuestro
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
36
conjunto de datos no contiene ninguna columna que nos indique la vida restante de los motores
por lo que se tendrá que crear. Para ello, se coge el ciclo máximo de cada motor y se le resta el ciclo
actual en el que está, indicando así cuantos ciclos quedan hasta que el motor rompa. Una vez ya se
tienen esta nueva columna añadida, ya se puede graficar los sensores para seguir con su análisis.
Con el objetivo de que se visualicen correctamente los resultados, solo se representarán 10 motores
ya que por el contrario no se distinguirían entre ellos por la cantidad de puntos que aparecerían en
la gráfica. Los resultados son los siguientes:
Figura 4.3. Representación gráfica de los sensores 2,3,4,8,11,13,15 y 17.
Se puede observar como los sensores de la Figura 4.3. sí que varían a medida que llegan al final de
su vida útil, concretamente tienen una tendencia creciente.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
37
Figura 4.4. Representación gráfica de los sensores 7,12,20 y 21.
En el caso de los sensores de la Figura 4.4. se puede observar que tienen una tendencia decreciente,
esto significa que también varían con el paso de los ciclos, por lo que serán de gran utilidad a la
hora de entrenar los modelos predictivos.
Figura 4.5. Representación gráfica de los sensores 9 y 14.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
38
En la Figura 4.5. los sensores tienen una mezcla de tendencias, su comportamiento es muy similar.
Esto es debido a que los dos sensores hacen referencia a una misma magnitud que es la velocidad
del núcleo. Aunque no tengan una tendencia clara, los mantendremos ya que si presentan una
variación.
Figura 4.6. Representación gráfica del sensor 6.
Como se sospechaba el sensor 6 no varía, presentaba alguna diferencia entre la media y sus
mínimos, máximos y percentiles por algunos puntos que no se encuentran dentro de la recta que
representa su constancia. Esto puede ser debido a un error del sensor a la hora de captar los valores
en ese preciso instante o a alteraciones externas al motor. Sea como sea, queda demostrado que
el sensor 6 no presenta variación por lo que se descarta.
En un principio se tenían 21 sensores, tras el análisis restan 14 sensores. Con el objetivo de visualizar
los 14 atributos realizaremos una reducción de dimensionalidad con PCA, por lo que pasaremos de
tener 14 a tener 2 variables. Así podremos ver si los puntos representados que se encuentran
próximos en el gráfico les restan un número parecido de ciclos para que el motor falle. Una vez
realizado, el método observamos los siguientes resultados.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
39
Figura 4.7. Varianza y representación gráfica del PCA.
Observamos que las dos nuevas variables de las que se compone el PCA contienen el 79% de la
varianza que tenían las 14 variables anteriores, teniendo en cuenta el número significativo que
representaban el número de sensores es un gran resultado ya que la variabilidad del conjunto de
datos respecto a su media que representan los dos componentes es similar al que se tenía con 14
componentes. En la representación gráfica también se obtiene un resultado interesante ya que se
ve como los puntos que están situados más a la izquierda son a los que les quedan más ciclos de
vida y a medida que se desplazan a la derecha les van quedando menos. Esto nos ayuda a ver que
los predictores que hemos escogido son correctos ya que se correlacionan con el valor que se
desea predecir.
4.3. Entrenamiento de los modelos
Los indicadores ya han sido seleccionados por lo que ya se puede pasar al siguiente paso. Ahora se
tienen que entrenar los dos modelos seleccionados y validar los resultados mediante los criterios
de evaluación. Antes de todo, se tiene que tener claro cuáles serán los datos con los que se
entrenará el modelo y cuáles serán con los que evaluaremos la eficacia del método entrenado. Los
datos de train estarán compuestos por los valores que aportan los 14 sensores en todos los ciclos
de los 100 motores y como valores respuesta los ciclos restantes en cada uno de esos ciclos. Los
datos de evaluación serán los que se encuentran en el fichero test y el fichero RUL, los cuales no
han formado parte en la composición de los algoritmos por lo que no los tendrá como referencia
para realizar una predicción, los que los métodos usarán como base serán los de train. Estarán
compuestos por la última muestra de cada motor antes de que rompa, por lo que será un conjunto
de datos de 14 columnas y 100 filas, esta parte de los datos serán los atributos. El valor que se desea
predecir serán las 100 filas del fichero RUL, que como es lógico representan los viajes que les
quedan a los motores del fichero test hasta que rompan como ya se había explicado previamente.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
40
Se observa que, en los dos conjuntos de datos, tanto en el train como en el test, el número de filas
de los valores predictores como el de la variable que se quiere predecir es el mismo. Esto es muy
importante ya que por cada conjunto de predictores de una muestra se tiene que obtener una
respuesta.
El primer método que se evaluará será el de regresión lineal, los resultados son los siguientes:
DATOS RMSE R^2
train 44,67 0,5794
test 31,95 0,4088
Tabla 4.1. Resultados de la Regresión Lineal.
Se observa que el modelo no es muy preciso ya que 𝑅2 no tiene un valor muy alto, por debajo de
0,60 cuando lo ideal sería que se aproximase a 1. Como es lógico al utilizar los valores de test este
valor decrece ya que son valores que el modelo no había visto antes. Sin embargo, el valor RMSE
decrece lo cual no sería lo esperado. Para intentar entender que sucede se hará una representación
gráfica del modelo.
Figura 4.8. Representación gráfica del modelo de regresión lineal para los datos train y test.
Se puede observar que para los datos que tienen como respuesta valores inferiores a 150 ciclos el
modelo se ajusta mejor ya que como podemos ver en la gráfica de los datos de train, cuando se
predice un valor de ciclo menor a 150 se hace con más exactitud, se divisa como en esa parte de la
figura los puntos están más cerca de la recta de regresión. Este es el motivo por el que el RMSE baja
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
41
con los datos de test porque tienen como respuesta valores inferiores a 150 ciclos, esto se debe a
que el fichero RUL no contiene valores superiores a este número. También podemos deducir que
el modelo no se ajusta correctamente cuando a los motores les quedan muchos ciclos ya que los
valores captados por los sensores no varían notablemente hasta que al motor le quedan 150 ciclos,
aproximadamente, como se puede observar en las Figuras 4.3,4.4,4.5. Por estos motivos, se
modificarán los datos de entrenamiento con el objetivo de intentar mejorar la eficacia del modelo.
Se seleccionarán únicamente aquellas muestras que les resten 150 ciclos de vida o menos por lo
que los datos de train pasarán a tener 15024 muestras, el fichero test no se verá afectado ya que
como se ha comentado ningún motor estaba por encima de los 150 ciclos de vida restante.
Establecidas las primeras conclusiones de la primera regresión lineal ejecutada, realizaremos una
segunda con los cambios efectuados en los datos de entrenamiento. Los resultados son los
siguientes:
DATOS RMSE R^2 Mejora R^2 vs R.Lineal 1 Reducción RMSE vs R.Lineal
1
train 23,99 0,6947 19,90% -46,29%
test 21,53 0,7316 78,96% -32,61%
Tabla 4.2. Resultados de la regresión lineal 2.
Los resultados indican una clara mejoría. Esto se debe a que ahora el modelo se ajusta mucho
mejor debido a los datos que se han seleccionado, donde los atributos sí varían claramente a
medida que quedan menos ciclos de vida. Se observa perfectamente como los datos del fichero
test, obtienen buenos resultados ya que todas sus muestras tienen como respuesta ciclos por
debajo de 150 que son los que se han entrenado en esta segunda regresión. Los gráficos también
muestran esta mejora en el ajuste.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
42
Figura 4.9. Representación gráfica del modelo de regresión lineal 2 para los datos de train y test.
Se puede deducir claramente que los criterios de evaluación se reducen ya que los puntos se encuentran
mucho más cerca de la recta de regresión.
Una vez ejecutado el primer método, se implementará un segundo método cuyo funcionamiento es
completamente distinto para ver si se consigue seguir mejorando los resultados. Para ello, se utilizará el
método de regresión Random Forest, tras ejecutar el código los resultados son satisfactorios.
Tabla 4.3. Resultados de Random Forest.
La mejoría en los resultados es muy clara para los dos conjuntos de datos. Los parámetros que tiene
este método no han sido modificados, se han mantenido lo que están por defecto. El número de
árboles que contiene el modelo es de 100 ya que tras probarse diferentes valores inferiores y
superiores el modelo perdía efectividad. Para visualizar uno de los árboles que contienen el modelo
se ha modificado el parámetro min_samples_leaf que como se ha explicado previamente, hace
referencia al número mínimo de muestras que tiene que contener un nodo hoja, que son los que
contienen las predicciones. Este valor ha sido modificado porque por el contrario no se visualizaba
bien el árbol al tener tantas ramificaciones ya que el valor por defecto de este parámetro es 1.
DATOS RMSE R^2 Mejora R^2 vs R.Lineal 2 Reducción RMSE vs R.Lineal 2
train 8,15 0,9648 38,88% -66,06%
test 18,59 0,8 9,35% -13,66%
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
43
Figura 4.10. Árbol de decisión de Random Forest.
Para que se entienda el funcionamiento del dibujo, escogeremos uno de los motores con los que
no se han entrenado el modelo, concretamente el motor 66.
Figura 4.11. Datos sensores motor 66 fichero test.
Este motor sigue las siguientes ramificaciones: sensor11<=47.625 (Sí), sensor4<=414.97 (No),
sensor11<=48.055 (Sí), sensor4<=1422.21(No). Siguiendo este camino el resultado obtenido es un
nodo hoja que contiene 56 muestras de los datos de entrenamiento y cuyo valor medio de estas
muestras es 13.398. EL valor de ciclos restantes real para este motor es de 14 por lo que la
predicción es muy acertada.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
44
5.Conclusiones
Una vez presentados los resultados y los gráficos, se debe llegar a varias conclusiones. El modelo
de Random Forest es claramente mejor al modelo de Regresión Lineal vistos los resultados, pero el
análisis debe ser más profundo.
Es obvio que el modelo de regresión lineal tiene menor efectividad, pero en la gráfica se divisa algo
que carece de sentido. Se acentúa más en la primera regresión lineal, así que debe ser analizado.
Figura 5.1. Valores negativos predichos por el modelo de Regresión Lineal 1.
El modelo está prediciendo valores negativos y los datos de entrenamiento no contienen ciclos negativos
como es lógico por lo que algo está fallando. Uno de los requisitos que demanda el modelo para que sea
válido es que los residuos tengan una distribución normal, esto nos hace sospechar que esta condición no se
está cumpliendo ya que se producía un gran error en la predicción de los valores superiores a 150 ciclos.
Figura 5.2. Distribución del residuo en el modelo de Regresión Lineal 2.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
45
El residuo no tiene una distribución normal ya que no es simétrico respecto al eje vertical en 0 por
lo que no está cumpliendo una condición esencial del modelo. En la imagen de la derecha se divisa
como la variación respecto al eje horizontal en 0 también varía. En la segunda regresión estas
desviaciones son notablemente inferiores, pero siguen apareciendo valores negativos que restan
validez al modelo. Esto lleva a realizar la conclusión de que este modelo no es útil para este conjunto
de datos al no cumplir las condiciones básicas que demanda.
El modelo de Random Forest ha presentado una gran efectividad. Este método no demanda que los
datos estén distribuidos de una forma específica ya que es del tipo no paramétrico, esto significa
que no necesitan que los datos estén estructurados de una manera concreta. Esto supone una gran
ventaja, ya que los datos utilizados no siguen una distribución normal, esto podría suponer un
problema en otros modelos, pero no es el caso. Este modelo tampoco requiere estandarización lo
que supone una gran ventaja en este caso ya que no se ha realizado por la falta de información que
suponía. Otra de sus ventajas es su fácil interpretación debido a su estructura por lo que se puede
ver como el algoritmo llega a las predicciones que realiza.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
46
6.Estudio económico
En este apartado se tratarán los costes derivados de la realización de este trabajo de fin de estudios,
teniendo en cuenta todos los factores, ya sean de costes materiales o de salarios.
Lo primero que se calculará serán las horas empleadas para el desarrollo del trabajo, para poder
calcular cuánto dinero percibe el trabajador por el tiempo dedicado a este estudio. El tiempo medio
dedicado a un trabajo de fin de grado según la Universitat Politècnica de Catalunya es de 600 horas
ya que la entidad considera que se tienen que dedicar 25 horas de trabajo por cada crédito, si se
tiene en cuenta que el proyecto de final de carrera tiene 24 créditos, se obtiene este valor final de
horas. Para acabar de definir el sueldo del trabajador que realiza este estudio es necesario saber
cuánto cobra un ingeniero mecánico nada más acabar los estudios. Este sueldo se encuentra entre
los 1.500 y los 2000 euros (UAX, s.f.), por lo que si suponemos que se trabajan 8 horas a la semana
lo que suponen 160 horas al mes, se perciben unos 11 euros la hora.
También se ha de tener en cuenta el precio de las licencias de los programas utilizados. El código
en el cual se basa el desarrollo del trabajo se ha realizado a través de Jupyter Notebook el cual es
de uso gratuito. Para la redacción del estudio y la creación de las diferentes tablas se han utilizado
programas como Word o Excel que forman parte del paquete Office y que sí suponen un coste.
La ejecución de este trabajo no supone un coste en sí ya que el conjunto de datos ha sido extraído
de internet y no se ha realizado la tarea de recopilarlos, únicamente la de analizarlos.
Por último, se tienen que tener en cuenta loa presupuestos base de licitación y de ejecución de
material. Los porcentajes de las partidas de gastos generales y presupuesto industrial se ha seguido
el Artículo 131 del Reglamento general de la Ley de contratos de las administraciones públicas, REAL
DECRETO 1098/2001, publicado en el B.O.E. 257 a fecha de 26 de octubre de 2001. (BOE, 2001)
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
47
Concepto Unidades PVP Total
Equipo informático 1 1.299 € 1.299 €
Paquete Office 365 subscripción anual 1 año 99,00 € 99,00 €
Estudio 600 horas 11€/hora 6.600 €
Presupuesto ejecución material (P.E.M.) 7.998 €
Gastos Generales 13% 1.039,74 €
Beneficio Industrial 6% 479,88 €
Presupuesto base de licitación (P.B.I.) 9.517,62 €
Impuesto de Valor Añadido (I.V.A.) 21% 1.998,70 €
Presupuesto TOTAL 11.516,32 €
Tabla 6.1. Costes derivados del proyecto.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
48
7.Impacto medioambiental
En el caso de este trabajo se debe tener en cuenta, como se ha hecho en el estudio económico que
para el desarrollo del mismo solo se ha realizado el análisis de los conjuntos de datos por lo que
como no ha habido una parte experimental como tal, el impacto medioambiental es muy bajo ya
que solo se tiene que tener en cuenta la energía consumida por el equipo informático.
Cabe destacar que un ordenador cuando se encuentra encendido puede estar realizando varias
tareas mientras que lo que se desea cuantificar es el impacto del ordenador cuando ha estado
realizando el trabajo. Todos los ordenadores, tanto si se están usando como si no, tienen un
impacto en el medioambiente. Cada hora que un ordenador se mantiene encendido, emite entre
52 y 234 gramos equivalentes de CO2 considerando una potencia de entre 80 y 360 vatios, según
la Unión Europea. Se debe tener en cuenta que un ordenador portátil como es el caso, no consume
lo mismo que un ordenador de mesa. La Agencia de Medio Ambiente francesa ADEME estima que
un ordenador portátil consume entre un 50 y un 80 por ciento menos que uno de mesa. Esto quiere
decir que si se han dedicado 600 horas al desarrollo del trabajo se han producido de media 85.800
gramos de CO2.
Se puede concluir que el impacto medioambiental del trabajo no ha sido alto ya que sólo se ha
tenido en cuenta el uso del ordenador.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
49
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
50
8.Bibliografía
Abhinav Saxena, K. G. (s.f.). Damage Propagation Modeling.
ADEME(s.f.).Obtenido de https://www.ecoembes.com/es/planeta-recicla/blog/los-
ordenadores-tambien-emiten-co2
BOE. (2001). Real Decreto 1098/2001, de 12 de octubre, por el que se aprueba el
Reglamento general de la Ley de Contratos de las Administraciones Públicas.
cienciadedatos. (s.f.).Obtenido de
https://www.cienciadedatos.net/documentos/25_regresion_lineal_multiple.html
LearnPython. (s.f.). Obtenido de https://www.learnpython.org/es/Pandas%20Basics
Mathworks. (s.f.). Predictive Maintance with Matlab.
NASA. (s.f.). Obtenido de https://ti.arc.nasa.gov/tech/dash/groups/pcoe/prognostic-data-
repository/
Programacion.net. (s.f.). Obtenido de
https://programacion.net/articulo/introduccion_a_la_libreria_matplotlib_de_python_159
9
Scikit Learn. (s.f.). Obtenido de https://scikit-
learn.org/stable/modules/generated/sklearn.ensemble.RandomForestClassifier.html
Scikit Learn. (s.f.). Obtenido de https://scikit-
learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
Scikit Learn. (s.f.). Obtenido de https://scikit-
learn.org/stable/modules/generated/sklearn.decomposition.PCA.html
UAX. (s.f.). Obtenido de https://www.uax.com/en/blog/ingenieria/cuanto-gana-un-
ingeniero-mecanico
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
51
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
52
9.Anexo
Anexo A. Código del trabajo en Jupyter Notebook
En este anexo se adjunta el código desarrollado mediante el lenguaje de programación Python.
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
53
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
54
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
55
Cálculo de la vida útil restante de un turbofán mediante Machine Learning
56