1. 서 론
최근 설비 시스템의 효과적인 유지 관리를 위하여 시스템 상태 모니터링(monitoring) 데이터를 활용한 고장 예지 및 건전성 관리(Prognostics and Health Management; PHM)가 많이 활용되고 있다[3]. PHM은 시스템의 이상 감지(anomaly detection)와 고장 진단(diagnostics)뿐만 아니라 잔여 유효 수명(Remaining Useful Life; RUL) 예측을 통해 상태 기반 유지 관리(condition-based maintenance)를 수행한다. 특히, RUL 예측은 사전에 예상치 못한 고장 발생으로 야기되는 손실을 줄일 수 있기 때문에 예측 보전(Predictive Maintenance; PdM)의 핵심적 방법이다[1]. RUL 예측의 정확성을 높이기 위해서 수집된 데이터에 적합한 RUL 예측 분석 방법이 요구되며, 예측된 결과를 유지 관리 방법에 적용함으로써 유지 관리 비용 및 가용도를 최적화하는 것이 중요하다.
시스템의 유지 관리 방법으로는 사후 보전(Corrective Maintenance; CM)과 예방 보전(Preventive Maintenance; PM) 및 예측 보전이 있다[2]. 사후 보전은 고장이 발생 한 이후에 복구를 통해 시스템을 정상화하는 방법이다. 예방 보전은 고장 발생 이전에 정해진 기준(기대 수명, 교체 주기 등)에 의한 스케줄에 따라 유지 관리를 실시 하는 방법이다. 예측 보전은 시스템의 상태를 분석한 후 실시되며, 시스템 상태와 고장 발생 간의 관계가 미리 규 명되어야 한다. 예방 보전과 예측 보전은 고장 발생 이전 에 실시된다는 공통점이 있다. 최근에는 스마트 공장이 늘어남에 따라 산업용 센서를 활용한 예측 보전의 중요 성이 커지고 있다. 따라서 RUL 예측을 통해 시스템의 고장 시점을 예측하고 시스템 특성에 맞는 수리(repair) 또는 교체(replacement)를 위해서는 예측 보전과 예방 보 전을 모두 고려한 유지 관리 전략이 필요하다.
기존 RUL 예측 연구들은 RUL을 예측하는 방법(method) 과 예측 정확성(accuracy) 검증에 초점을 맞추고 있다 [13]. 즉, 연구 결과인 고장 예측 시점을 이용하여 유지 관리 전략의 수립을 위한 연구로의 연계는 많이 다루지 않았다. 이는 RUL 예측을 독립된 연구 결과로서 다루는 이유도 있지만, 동일 연구에서 설비 시스템의 다양한 공 정 환경 변수를 고려하여 분석하기에는 어려움이 있기 때문이다. 특히, 개별 시스템이 아닌 여러 설비가 포함된 시스템은 연구 복잡성이 가중된다. 한편, 기존 유지 보수 연구들은 설비의 RUL 예측을 통한 고장 시점이 아닌, 이미 발생했던 고장 시점을 기반으로 이론적 수식을 이 용하여 분석하는 경우가 많다. RUL 예측의 궁극적 목적 은 고장 예측으로 끝나는 것이 아니라 예측 결과를 활용 하여 예기치 않은 고장을 최소화하고 불필요한 유지 보 수 비용을 절감하는 데 있다[18]. 따라서 RUL 예측 결과 로 얻은 고장 예측 시점을 스케줄 기반 예방 보전 방법 에 접목함으로써 효과적인 유지 관리 전략을 수립할 필 요가 있다.
스케줄 기반 예방 보전의 대표적인 방법으로는 수명 교체(age replacement) 모델과 블록 교체(block replacement) 모델이 있다[21]. 수명 교체 모델은 부품이나 시스 템을 사전에 정해진 교체 수명(replacement age)에 따라 교체하는 방법이다. 만약 교체 수명 전에 고장이 발생하 면 고장 발생 즉시 교체된다. 수명 교체 모델은 고장률 (failure rate)이 시간의 흐름에 따라 증가하고, 고장 교체 비용이 예방 교체 비용보다 높은 경우에 효과적이다. 블 록 교체 모델은 부품 또는 시스템이 수명과 상관없이 사 전에 일정하게 정해진 시점(주기)에 따라 예방 교체하는 방법이다. 고장 교체 여부와 상관없이 정해진 시점에서 교체가 되기에 유지 관리가 편리한 장점이 있다. 그러나 새것과 같은 시스템이 교체될 수 있기에 낭비적 요소가 존재할 수 있다. 따라서 블록 교체 모델은 적절한 고장 수리를 통해서 낭비적 요소를 보완하거나 비용 또는 가 용도를 고려한 최적 교체 주기 결정이 중요하다.
본 논문에서는 시스템의 학습적 방법을 이용하여 RUL 예측 모델을 생성하고 예측된 RUL을 이용하여 비 용 관점에서 최적의 예방 보전 시점을 찾는 방법을 제안 한다. 구체적으로 다수의 동일한 설비들로 구성된 시스 템을 대상으로 기계학습(machine learning) 기법을 이용 하여 RUL 예측 모델을 생성하고 모델의 성능을 평가한 다. 그리고 시스템 특성을 감안한 블록 교체 모델을 선택 하고 비용 최소화를 달성하는 교체 주기를 도출한다. 이 를 통하여, 개별 설비가 아닌 다수의 동일 설비들을 대상 으로 RUL을 예측하며, RUL 예측 결과와 예방 보전 전 략을 연계한 통합적인 방법을 제안하여, 유지 보수의 비 용 최적화를 달성하고자 한다. 제안 방법은 두 개의 파트 (part)로 구성된다. 첫 번째 파트에서는 기계학습 기법인 랜덤 포레스트(Random Forest; RF)와 익스트림 그라디언 트 부스팅(Extreme Gradient Boosting; XGBoost)을 이용 하여 공정 이력(historical) 데이터를 학습하고 RUL 예측 모델들을 생성한다. 이러한 예측 모델들 중에서 정확도 가 가장 높은 모델을 이용하여 개별 설비의 고장 예측 시점을 도출한다. 두 번째 파트에서는 개별 설비의 고장 예측 시점을 활용하여 예방 보전 의사결정을 수행한다. 이때, Weibull 분포 기반 최소 수리 블록 교체 모델을 이 용하여 비용 최소화 관점에서 수리 및 교체 시점을 결정 한다. 사례 연구에서는 CMAPSS(Commercial Modular Aero-Propulsion System Simulation) 터보팬 엔진 데이터 셋을 이용하여 시스템의 고장 시점을 예측하고 시스템 특성과 유지 비용을 감안한 최적 교체 주기를 찾는 과정 을 보여준다.
본 논문의 구성은 다음과 같다. 2장에서는 RF와 XGBoost 를 활용한 RUL 예측 연구 및 블록 교체 모델을 설명한다. 3장에서는 제안된 방법을 설명한다. 4장에서는 사례 연구를 소개하며, 5장에서 결론을 맺는다.
2. 기존 연구
2.1 RF와 XGBoost 활용 잔여 유효 수명 예측
산업용 센서 기술의 발달 및 센서로부터 얻은 모니터링 데이터가 증가함에 따라 공정 빅데이터 분석을 위한 기계학 습의 적용 또한 증가하고 있다[1]. 공정 이력 데이터를 기반 으로 예측 모델을 구성하는 데이터 기반(data-driven) RUL 예측의 경우, 전통적 통계적 기법과 기계학습 기법이 많이 활용된다[26]. 대표적으로 활용되는 기계학습 기법은 선형· 비선형 회귀분석(regression), 서포트 벡터 머신(Support Vector Machine; SVM), RF, XGBoost, 인공신경망(Artificial Neural Network; ANN) 등이 있다.
RF와 XGBoost는 앙상블(ensemble) 학습 방법이라 불 리며 다양한 예측 모델에서 활용되고 있다. 앙상블은 여 러 개의 분류기를 생성하고 예측 결과들을 결합하여 정 확도를 높이는 기법이다[25]. 앙상블 기법은 기계학습에 서 빈번하게 발생하는 과적합(overfitting) 문제를 감소시 키고 단일 모형보다 정확성과 적합성을 높이는 장점이 있다. 앙상블 기법으로는 보팅(voting), 배깅(bootstrap aggregation; bagging), 부스팅(boosting)등이 있다[8]. 보팅은 여러 개의 분류기가 투표를 통해 최종 예측 결과를 결정 한다. 배깅은 평균값, 중간값을 이용하여 예측하며 비교 적 빠른 수행 속도를 나타낸다. 배깅의 대표적 알고리즘 은 여러 개의 의사결정나무(Decision Tree; DT)를 사용하 는 RF이다.
RF는 DT가 가지고 있는 학습(train) 데이터 성능과 테 스트(test) 데이터의 성능 간의 차이가 크게 발생하는 문 제점을 보완하기 위하여 개발되었다[11]. 변수 간의 상호 작용 및 비선형성을 다룸에 있어 큰 문제가 없으며 많은 수의 DT 결과를 평균하여 결과값을 도출하기 때문에 비 교적 높은 안정성과 예측 정확성을 장점으로 가진다[12]. 한편, 부스팅은 여러 개의 분류기가 순차적 학습을 통해 다음 분류기에 가중치를 부여하는 방식이다. 부스팅의 대표적 알고리즘은 Adaboost와 Gradient boost가 있으며 Gradient boost에서 속도 수행 능력을 높인 XGBoost가 있다[5]. XGBoost는 병렬화와 분산화를 통해서 학습을 수행함으로써 학습 속도가 빠르고 결측값 처리가 가능한 장점이 있다[9, 10].
RF와 XGBoost를 활용한 RUL 예측 연구는 다음과 같 다. Chen et al.[6]은 RF 회귀를 사용하고, Aydemir and Acar[1]은 RF와 LSTM(Long Short-Term Memory)을 이 용하여 CMAPSS 터보팬(turbofan) 엔진의 RUL을 예측하 였다. Patil et al.[18]은 RF와 Gradient boost을 이용하여 베어링(bearing)의 RUL을 예측하였다. 또한 Cailian et al.[4]은 RF에 유전(genetic) 알고리즘을 접목하여 리튬 이온(lithium-ion) 배터리 RUL을 예측하였다.
Shi et al.[23]은 베어링의 RUL 예측에 XGBoost와 RF, SVM을 이용하였다. Que and Xu [19]은 XGBoost와 dynamic time warping을 이용하여 스팀 터빈(steam turbine)의 RUL을 예측하였고, Tomg et al.[24]은 리튬 이온 배터리 의 RUL 예측을 위해 XGBoost, Adaboost, Gradient boost 등을 이용하고 성능 평가를 비교하였다. Li et al.[14]은 XGBoost, CNN(Convolutional Neural Network), LightGBM, RNN(Recurrent Neural Network)를 이용하여 CMAPSS 터보팬 엔진의 RUL을 예측하였다. Liu et al.[16] 또한 CMAPSS 터보팬 엔진의 수명 예측을 위하여 XGBoost, RNN, DNN(Deep Neural Network)을 이용하였다.
기존 RF와 XGBoost 기반 RUL 예측 연구들의 시사점 은 다음과 같다. 첫째, 데이터 기반 RUL 예측 연구가 많 았다. 기존 연구들은 센서 데이터 측정값을 이용하여 두 가지 이상의 기계학습 알고리즘을 통해 RUL을 예측하고 이들의 성능 비교를 하는 방식이 많았다. 그러나, 예측한 RUL을 활용하여 예방 보전 전략으로 연계하거나 시스템 교체를 결정하는 방법에 대한 연구는 부족하였다. 둘째, CAMPSS 터보팬 엔진, 리튬이온 배터리, 베어링 등 공개 된 참조 데이터 사용이 많았다. 참조 데이터의 경우 데이 터 신뢰도를 확보할 수 있으며 RUL 예측값과 실제값 비 교가 용이하다. 참고로, 본 연구의 사례 연구에서도 CMAPSS 데이터 셋을 활용하였다.
2.2 블록 교체 모델(Block Replacement Model)
<Figure 1>과 같이, 블록 교체 모델에서 시스템은 일 정하게 정해진 시점(tp, 2tp, 3tp,..)에 예방 교체가 이루어 진다. 여기서 블록은 여러 개의 구성 요소가 하나의 구역 또는 단위로 합쳐진 것을 의미한다. 정해진 시점(주기)에 따라 예방 보전이 수립되므로, 유지 관리 계획을 세우고 실행하기에 편리하다. 또한, 단일 시스템보다는 동일 기 계나 부품이 수가 많을 때 효과적으로 활용된다[22]. 블 록 교체 모델은 교체하는 시점 및 방법에 따라 다음과 같은 세 가지 경우가 존재한다.
-
ⅰ) 고장이 발생한 시스템을 고장 발생 즉시 교체하는 경우
-
ⅱ) 고장이 발생한 시스템을 다음 계획된 교체 시간 tp까지 대기 후 교체하는 경우
-
ⅲ) 고장이 발생한 시스템을 최소 수리를 통하여 활용 후, 다음 계획된 교체 시간 tp에 교체하는 경우
<Figure 1>에서 Cp는 고장이 발생하기 전에 예방 교체 비용(the total cost of a preventive replacement)이다. Cf는 고장이 발생한 이후의 교체 비용(the total cost of a failure replacement)이다. Cf는 예방 교체 비용에 더하여 고 장 교체 시 발생하는 추가적 비용을 포함하므로, 일반적 으로 Cf > Cp 관계를 갖는다.
i)의 경우는 정해진 예방 보수 시점 tp전에 고장이 발 생한 것으로, 고장 발생 즉시 교체된다. 하지만 tp가 되면 다시 계획된 예방 보전에 의해서 교체되므로 낭비가 발 생할 수 있다. N (tp )를 tp기간 동안 발생하는 고장 횟수, M (tp )는 tp기간에 일어나는 평균 횟수, 즉 기대값 E (N (tp ))이라 하면 단위 시간당 기대 비용(expected cost rate per unit time) C1 (tp )는 식 (1)로 나타낼 수 있다[17].
단위 시간당 최적 비용(optimal cost rate per unit time) C1 (tp*)을 찾기 위해 식 (1)을 tp에 관하여 미분하여 0으 로 놓으면 식 (2)와 같이 유도된다[17]. 여기서 m (tp )는 재생(renewal) 밀도 함수 m (tp ) = d/dtM (tp ) 이다. 이어서, C1 (tp*)는 식 (3)으로 정리된다[17].
ii)의 경우는 고장이 발생한 시스템을 다음 계획된 교 체 시간 tp까지 대기 후 교체하게 된다. i) 경우에 대비하 여 비용 측면에서는 유리하나, 다음 예방 보전 시간까지 고장이 발생한 시스템을 가동하지 못하는 단점이 발생한 다. Cd는 고장 발생부터 tp까지 경과 시간에 대한 대기비 용(downtime cost)일 때, C2 (tp )는 식 (4)와 같다[7].
C2 (tp*)를 찾기 위해 식 (4)를 tp에 관하여 미분하고 0 으로 놓으면 식 (5), (6)으로 정리된다[7]. 이때, 고장 밀 도 함수 f(t)는 f(t) = d/dtF (t) 이다.
iii)의 경우는 tp이전에 고장이 발생할 경우로 다음 예 방 보전 시점까지 최소 수리를 실시하여 시스템을 고장 직전 상태로 복구하는 것이다. 즉, 최소 수리는 중고 제 품 또는 재생 부품 등을 활용하여서 비용 측면에서 최소 화를 추구한다. 여러 개의 설비를 동시에 운영하는 경우 에 시스템을 중단 없이 활용하며, 교체 비용을 절감하는 장점이 있다. 본 연구의 제안 방법은 시스템 내 다수의 설비가 운영되며, 개별 설비는 고장 발생 시 즉각 복구를 하는 것으로 가정한다. 따라서 시스템 특성을 감안한 유 지 비용 최적화를 위하여 iii)의 경우를 적용한다. 이때, 수리에 걸리는 시간은 무시할 정도로 짧고, 수리 이후에 도 시스템 고장률 함수 변화는 없는 것으로 가정한다. 고 장률 함수를 h(t), 최소 수리 비용을 Ck라 할 때, C3 (tp ) 는 식 (7)로 나타낼 수 있다[15, 17]. C3 (tp*)를 찾기 위해 식 (7)을 tp에 관하여 미분하고 0으로 놓으면 식 (8)로 정 리된다[17, 21]. 식 (8)에서 h(t)가 단조 증가할 경우, 식 (9)를 만족한다[17, 21].
3. 제안 방법
제안 방법은 <Figure 2>와 같이, 시스템의 RUL를 예 측하는 파트 1과 예측된 RUL를 이용하여 최적 예방 교 체를 실시하는 파트 2로 구성된다. 파트 1의 첫 번째 단 계에서는 RF와 XGBoost를 이용하여 공정 이력 데이터 를 학습한 RUL 예측 모델을 생성한다. 두 번째 단계에 서는 테스트 데이터를 이용하여 RUL 예측 모델의 성능 을 평가한다. 이를 통해 가장 예측 정확도가 높은 모델을 찾는다. 파트 2에서는 파트 1의 최상 예측 모델을 이용 한 시스템 고장 예측 시간을 사용한다. Weibull 분포 기 반 최소 수리 블록 교체 모델을 이용하여 최적 예방 교 체 시점을 도출 후, 기존 방법 대비 비용 절감 효과를 분 석하고 추가 최적화 방안을 모색한다.
3.1 RUL 예측
3.1.1 모델 생성
파트 1의 모델 생성은 공정 이력 데이터의 학습을 통 하여 RUL 예측 모델을 도출하는 과정이다. 이를 위하여 공정 이력 데이터를 추출하고 전처리 및 정규화 과정을 거친다. 사용되는 공정 이력 데이터는 시간 또는 사이클 단위로 설비 시스템의 상태가 기록된 데이터가 요구된 다. 이후, 데이터 분할 과정을 거친다. 데이터 분할은 전 체 데이터를 학습 데이터와 테스트 데이터로 분할하는 것으로서, 보편적으로 7:3 또는 8:2 비율을 적용한다.
<Figure 3>은 RF와 XGBoost 구조를 나타낸 것이다. 이 두 기법은 분할된 학습 데이터의 반복적인 학습을 통하여 오차를 줄이는 RUL 예측 모델을 생성한다. 여 기서 RF를 선택한 이유는 다양한 센서 변수 특성을 가 진 공정 이력 데이터 학습에서 안정적이고 높은 예측력 을 보여주기 때문이다. 그리고 XGBoost를 선택한 이유 는 비교적 간단한 알고리즘으로 병렬 연산이 가능하므 로 데이터가 많은 경우에도 빠르게 학습이 가능한 장점 이 있다.
RF는 다수의 DT 예측 결괏값들의 평균값을 결과로써 도출하고 다양한 변수를 고려할 수 있기 때문에 예측 안 정성이 높다. 한편, XGBoost는 처음 데이터를 학습하고 학습 결과에서 발생한 오차를 그다음 DT에서 학습하는 방식으로 오차를 순차적으로 줄인다. 최종 결괏값은 각 DT에 다른 가중치(wn)를 주어 합하게 된다. 이는 각 DT 를 같은 비율로 합할 경우, 정확성이 떨어지기 때문이다.
제안 방법은 두 가지 방법으로 데이터를 학습하였다. 첫 번째는 모든 데이터를 한 번에 넣어서 학습시키는 방 법이고, 두 번째는 전체 데이터를 단일 설비 단위로 그룹 (group)화한 후, 하나씩 모델에 투입하여 가장 최근의 다 섯 사이클에 대해 예측을 하고 평균을 취하는 방법 (average of last 5 cycles prediction)이다. 두 가지 방법을 사용한 이유는 같은 방법의 기계학습 알고리즘을 사용하 더라도 어떻게 학습시키느냐에 따라서 예측 정확도가 달 라진다는 전제에서 기인한 것이다. 즉, 같은 학습 데이터 를 사용하더라도 학습 방법에 따라 테스트 데이터에서의 예측 결괏값이 달라질 수 있다.
3.1.2 모델 성능 평가
모델 생성 단계에서 RF와 XGBoost를 이용하여 예측 모델을 생성하였으므로 2개의 예측 결과값이 도출된다. 이러한 예측 모델이 실제값과 대비하여 얼마나 정확하게 예측하였는지에 대한 성능 평가가 필요하다. 본 연구에 서는 보편적으로 사용하는 성능 평가 지표인 평균 제곱 근 편차(Root Mean Square Error; RMSE), 평균 제곱 오 차(Mean Absolute Error; MAE) 및 결정계수(R-Squared) 를 이용한다. RMSE는 MAE에 비해서 오차에 덜 민감한 장점이 있다. MAE는 계산이 비교적 간단하지만 이상치 (outlier)가 있을 경우 한계점이 있다. R2는 직관적으로 연관성을 나타내며, 0과 1 사이의 값을 가진다. 가 예 측값이고 Y가 실제값일 때, RMSE, MAE, R2는 각각 식 (10), 식 (11), 식 (12)와 같다. 성능 평가 분석은 RMSE와 MAE는 결과값이 낮은 값을 가질수록, R2는 높은 값을 가질수록 예측 성능이 높다고 판단한다.
3.2 최소 수리 블록 교체
파트 2에서는 예측된 고장 시점을 기반으로 개별 설비 들이 포함된 전체 시스템의 최적 예방 교체 시점(주기) 을 도출한다. 모든 설비는 최적 예방 교체 주기 끝에서 RUL과 상관없이 교체가 실시된다.
본 장에서의 가정 사항은 다음과 같다. 첫째, 예방 보전 으로 교체되는 시스템은 다수의 동일한 설비가 포함된 시 스템으로서 최소 수리 블록 교체를 실시한다. 2.2절에서 설명한 바와 같이, 최소 수리 블록 교체 모델은 예방 교체 시점 이전에 고장 발생할 경우에 최소 수리를 수행하여 시스템을 운영하다가 정기 교체 시점에 일제히 교체하는 것이다. 이 방법은 수리 비용이 교체 비용보다 경제적일 때 사용하며 다수의 동일한 시스템을 운영할 경우에 효과 적이다[15]. 둘째, 개별 설비들 고장 예측 시점은 Weibull 분포를 따른다. Weibull 분포는 부품, 기계 등 고장 데이 터 분석에서 가장 널리 쓰이는 분포 중 하나이다.
<Figure 4>는 최소 수리 블록 교체 모델을 나타낸다. tp는 현재 운영되는 예방 교체 주기이며, 일반적으로 개 별 설비의 고장 시간 평균의 근처값으로 결정된다. 현재 예방 교체 주기 tp를 이용할 경우, 고장 ①과 고장 ②는 예방 교체 주기 이내에 고장이 발생한 것으로 최소 수리 가 실시된다(①과 ②는 각기 다른 설비의 고장 발생 시 점이다). 기존 예방 교체 주기의 경우, 고장 ①의 최소 수리 범위는 고장 ① 시점부터 tp까지가 된다. 반면 최적 교체 주기 tp*를 이용할 경우, 고장 ①만 최소 수리가 실 시되며, tp*에서 모든 설비가 새로 교체되어 고장 ②는 발생하지 않는다. 이때, 최소 수리 범위는 고장 ① 시점 부터 tp*까지가 된다.
파트 2에서는 현재 운영되는 예방 교체 주기 tp와 최 소 수리 블록 교체를 실시할 경우의 예방 교체 주기 tp* 에서의 평균 유지 비용을 비교하여 합리적인 의사결정을 도출한다. 파트 2에서는 파트 1에서 도출했던 가장 성능 이 좋은 예측 모델을 취하여 시스템 고장 예측 시점을 얻는다. 예측 성능이 좋다는 것은 실제 고장 시점과 비교 하여 예측 고장 시점과의 오차가 적은 것을 의미한다.
Weibull 분포의 고장 확률 밀도 함수 f(t), 고장 확률 분포 함수 F (t), 신뢰도 함수 R (t)는 식 (13), (14), (15) 로 나타낼 수 있다. α는 척도 모수(scale parameter), β는 형상 모수(shape parameter)를 의미한다.
<Figure 5>와 같이, Weibull 분포는 고장률 함수 분포에 따라 DFR(Decreasing Failure Rate), CFR(Constant Failure Rate), IFR(Increasing Failure Rate)로 나타낼 수 있다. β < 1 이면 DFR, β = 1이면 CFR, β > 1 이면 IFR 형태로 나타난 다. 이때, β = 1이면 지수 분포, β = 2이면 레일리(Rayleigh) 분포, β > 3 이면 정규 분포에 근사한다고 본다.
시스템 고장 시간이 Weibull 분포를 따를 때, 최소 수 리 블록 교체 모델 식 (7)은 식 (16)으로 나타낼 수 있다.
여기서 식 (7)의 고장률 함수 h(t)는 h(t) = f(t)/R (t) = 이고, 고장률 함수를 적분한 것은 식 (17)을 통해 도출한 후 대입하였다.
비용 관점에서 가장 효과적인 최적 교체 주기 tp*를 찾 기 위해서는 식 (16)을 tp에 대해 미분하여 0으로 놓으면 식 (18)로 구할 수 있다.
식 (18)을 정리하면 tp*는 식 (19)로 도출된다[15, 20].
따라서 시스템 교체 비용과 시스템 수리 비용이 사전 에 정해져 있을 경우, 현재 운영되는 예방 교체 주기와 식 (19)에서 도출한 최적 교체 주기를 비교하여 경제성 분석을 실시한다.
4. 사례 연구
4.1 데이터 설명
사례 연구에서는 미국 NASA(National Aeronautics and Space Administration)의 CMAPSS 터보팬 엔진 데이터 셋을 RUL 예측 및 최적 예방 교체 주기 결정을 위하여 사용하였다. CMAPSS 데이터 셋은 공개(open)된 데이터 로서, 많은 RUL 예측 연구에서 널리 활용되고 있다[13]. CMAPSS 데이터는 다음과 같은 특성을 가진다.
-
∙터보팬 엔진의 주요 부품인 팬(fan), 저압 압축기(Low Pressure Compressor; LPC), 고압 압축기(How Pressure Compressor; HPC), 저압 터빈(Low Pressure Turbine; LPT), 고압터빈(High Pressure Turbine; HPT)을 대상으 로, 고장 및 열화의 영향을 감안한 센서 데이터를 얻을 수 있다[27].
-
∙센서 측정이 엔진 초기 가동부터 고장 발생까지(runto- failure) 완전 자료 형태로서 중도 절단 없이 기록되었다.
-
∙시간 단위가 아닌 사이클 단위를 기준으로 센서값을 기록하므로, 가동 주기(cycle)마다 RUL 예측이 가능하다.
-
∙데이터 셋에 실제 RUL이 포함되어 ground truth(일 종의 정답값)를 제공한다.
-
∙개별 데이터 셋은 학습 데이터와 테스트 데이터로 구성되어 있어서 기계학습을 위하여 별도의 데이터 분할이 필요 없다.
-
∙운용 설정 파라미터와 결함 모드 조합에 따라 FD001부 터 FD004까지 4개의 서브셋(subset) 데이터 셋으로 구성 된다. FD001과 FD002는 고압 압축기의 결함 모드가 인가된 데이터 셋이며, FD003과 FD004는 팬과 고압 압축기의 결함 모드가 인가된 데이터 셋이다[27].
<Table 1>은 각 데이터 서브셋에 포함된 21개 센서 속 성을 나타낸다. 또한, 분석에 포함한 센서는 Use의 ‘o’로 표기하였다. <Table 2>는 데이터 셋 구성을 나타낸다.
4.2 RUL 예측
엔진 설비의 열화 상태 데이터를 학습하여 RUL 예측 모델을 생성한다. 모델 생성 도구는 파이썬(python)을, 기계 학습을 위하여 scikit-learn 라이브러리와 XGBoost 라이브 러리를 이용하였다. 먼저 기계학습 알고리즘을 사용하기 위한 데이터 전처리를 실시하였다. CMAPSS 데이터 셋은 텍스트(txt) 파일 형식이므로 분석을 위하여 CSV 파일 형태 로 변환하였다. 개별 센서 데이터는 레이블(label)이 안 되어 있는 상태이므로 센서별로 측정된 센서 명칭을 입력하였다. ‘Nf_dmd’, ‘PCNfR_dmd’, ‘P2’, ‘T2’, ‘farB’, ‘epr’ 센서는 일정한 값을 가지므로 분석에서 제외하였다. 그리고 운영 파라미터(operational parameters)인 ‘unit_number’, ‘setting_1’, ‘setting_2’, ‘setting_3’는 분석에 사용되지 않으므로 제거하 였다. 또한, 센서 간의 상관분석을 실시하여 중복 경향이 있는 ‘P15’, ‘NRc’ 센서를 제외하였다. 그 후, 최소-최대 정규화(Min-Max normalization) 방법을 사용하여 모든 특성 (feature)을 0-1의 범위 값으로 정규화하였다. CMAPSS 데이 터 셋은 학습 데이터와 테스트 데이터로 사전에 분할되어 있으므로 이를 그대로 사용하였다.
3.1.2절에 설명한 대로, RF와 XGBoost 알고리즘에 두 가지 방법(① 모든 데이터를 한 번에 학습시키는 방법, ② 단일 엔진 단위로 그룹화한 후 하나씩 모델에 투입하 여 가장 최근의 다섯 사이클을 예측하여 평균하는 방법) 으로 학습하였다. <Table 3>은 ① 방법의 분석 결과, <Table 4>는 ② 방법의 분석 결과이다.
<Table 3>의 경우, 4개의 개별 셋을 비교할 때, FD001 이 RF와 XGBoost 알고리즘 모두 RMSE, MAE 값이 낮 고 R2이 높게 나타나서 가장 예측이 잘 되었다. 반면, FD003과 FD004는 예측 정확성이 상대적으로 낮은 것을 알 수 있다.
<Table 4>의 경우, FD001이 RF와 XGBoost 알고리즘 모두 RMSE, MAE 값은 낮고 R2이 높게 나타났다. 특히, ① 방법과 ② 방법을 비교한 경우에는 ② 방법이 예측 정확도가 높은 것으로 나타났다. 이는 동일한 데이터 셋 과 동일한 알고리즘을 사용하더라도 학습 방법을 구체화 시켰을 때 정확도가 높아짐을 확인할 수 있다. 그리고, FD001과 FD002에서는 일정 수준 이상의 성능이 나타났 으나, FD003과 FD004에서는 낮은 성능이 나타났다. 이 는 FD001과 FD002는 단수 개의 부품 고장 모드(고압 압 축기 결함)만을 포함하고 있어 RUL 예측 정확도가 높았 던 반면, FD003과 FD004는 복수 개의 부품 고장 모드 (팬과 고압 압축기 결함)가 혼재되어 있어 열화 성능의 예측이 더 어렵기 때문이라고 추정된다.
추가적으로, 사용된 RF와 XGBoost 알고리즘과 다른 기계학습 비선형 알고리즘간 성능을 비교하였다. 비선형 알고리즘으로는 보편적으로 사용하는 SVM과 ANN을 이 용하였다. SVM은 RMSE=22.89, MAE=16.6, R2=0.69의 성능을, ANN은 RMSE=22.42, MAE=15.4, R2=0.70 성능 을 나타냈다. 이 경우에도 XGBoost가 성능이 다소 우월 하게 나타났다. 그 이유는 XGBoost 장점인 DT의 오차를 순차적으로 줄이면서 예측 성능이 높아진 것이라고 추정 된다.
<Figure 6>은 ② 방법을 활용한 FD001의 RUL 실제값 과 예측값을 나타낸다. X축은 데이터 셋에서 주어진 측 정값, Y축은 예측값을 나타낸다. 그리고 붉은색 점선은 선형 추세선(trend line)을 나타낸 것이다.
<Figure 6>의 예측값들은 학습된 모델에 테스트 데이 터를 넣었을 때 결과값으로 얻은 RUL 예측 사이클이다. 각 엔진의 테스트 데이터 사이클에 RUL 예측 사이클을 합하면 고장 예측 시점을 얻을 수 있다. 예를 들어, ② 방법으로 학습하고 XGBoost를 이용한 1번 엔진의 테스 트 데이터는 31 사이클이고, RUL 예측은 142 사이클이 다. 따라서 이 엔진의 고장 예측 사이클은 31과 142의 합인, 173 사이클이 되는 것이다. <Table 4>에서 최소 RMSE와 MAE 그리고 최대 R2을 갖는 즉, 가장 예측이 잘 된 FD001의 XGBoost를 이용하여 최소 수리 블록 교 체 시점을 결정하였다. <Table 5>는 FD001에 속한 100 개 엔진의 각 고장 예측 시점을 도출한 결과이다. 이 고 장 예측 시점을 활용하여 최적 예방 교체 전략을 수립하 게 된다.
4.3 최소 수리 블록 교체
4.2절의 고장 예측 사이클을 기반으로 전체 엔진의 최 적 예방 교체 주기를 도출한다. 이를 위하여 단위 사이클 당 평균 비용을 최소로 하는 시점을 구한다. CMAPSS 데이터는 사이클 단위를 활용하여 센서값을 기록하기 때 문에 예방 보전을 실시하는 각 블록의 단위도 사이클 단 위를 이용하여 분석하였다. 100개 엔진의 고장 예측 사 이클 특징을 보면 가장 빠르게 고장이 예측된 엔진은 36 번 엔진의 147 사이클, 가장 늦게 고장이 예측된 엔진은 49번 엔진의 333 사이클이었다. 예측된 엔진의 평균 고 장 사이클은 205 사이클이었다. 3.2절에 언급한 대로, <Table 5>의 예측된 고장 사이클이 Weibull 분포를 따른 다고 가정하였기에 최대 우도 추정(Maximum Likelihood Estimation; MLE)으로 형상 모수와 척도 모수를 추정한 다. <Table 6>은 추정된 결과이다.
최소 수리 블록 교체 모델을 활용하기 위해서는 개별 엔진을 새것으로 교체할 때의 비용과 최소 수리할 때의 비용이 사전에 정해져 있어야 한다. 최소 수리 비용은 두 가지 형태로 고려된다. 첫 번째는 고장 발생 시, 바로 대처 하기 위해 재고로 준비된 중고 엔진을 사용하는 방법이다. 두 번째는 고장 발생 시, 고장 난 부분을 찾아서 부품을 수리하는 방법이다. 첫 번째 방법은 두 번째 방법보다 최 소 수리 비용이 높으며, 고장 난 개별 부품을 분리하여 수 리하기 어려운 경우에 적용한다. 두 번째 방법은 첫 번째 방법에 비해 비용은 적게 들지만 같은 주기 내에서 다른 부품이 고장 나면 또 수리를 위해 멈춰야 하는 단점이 있 다. 본 사례 연구는 시스템 복잡성과 동일 주기 내 추가 고장 방지를 고려하여 첫 번째 방법을 적용한다. 일반적으 로 수리 비용이 교체 비용보다 낮을 경우에 최소 수리 블 록 교체가 실시되며, 두 방법은 최소 수리 비용의 차이만 있을 뿐, 방정식 적용에 있어서 차이는 없다. 현재 전체 엔진 교체 주기(tp)는 200 사이클로 결정한다. 이는 <Table 5>의 고장 예측 사이클 평균값인 205 사이클의 내림 값이 다. 또한, 개별 엔진의 새 엔진으로 교체 비용(Cp)은 2억원, 개별 엔진의 최소 수리 비용(Ck)은 1.6억 원으로 가정한다. 비용의 가정은 관련 문헌[22] 및 실제 엔진 가격 단위를 참고하였다. 이는 CMAPSS 데이터에 실제 유지 보수 비용 이 포함되지 않은 것에서 기인한다.
식 (16)을 이용하여 엔진 교체 주기 200 사이클에서의 단위 사이클 당 평균 비용을 구하였다. 이 경우, 평균 비 용은 146만 원이 소요된다.
식 (19)를 이용하여 최소 수리 블록 교체에서의 최적 교체 시점 tp*를 구하였다. 최적 교체 주기는 174.84 사이 클이고, 이때의 평균 비용은 139만 원이다.
현재 운영 중인 교체 주기와 제안 방법으로부터 도출 된 최적 교체 주기는 약 16 사이클의 차이가 존재한다. 최적 교체 주기를 활용할 경우, 사이클 당 평균 비용은 기존 146만 원에서 139만 원으로 약 7만 원의 비용 감소 효과가 기대되었다.
<Figure 7>은 최소 수리 비용이 1.6억원으로 고정될 때, 최적 교체 주기와 평균 비용 관계를 그래프로 나타낸 것이다. 최적 교체 주기 174 사이클 전까지는 하강한 후, 그 이후로는 급격한 변동 없이 완만한 상승을 보인다.
<Table 7>은 최소 수리 비용의 변화와 새 엔진으로 교체 비용 변화에 따른 민감도 분석을 실시한 결과이다. 최소 수리 비용이 1억 원에서 1.8억 원으로 증가함에 따라서 최적 교체 주기는 빨라지고 평균 비용은 증가함을 알 수 있다. <Figure 7>과 <Table 7>을 통해서 최소 수리 비용이 고정될 때와 변화할 때의 최적 교체 주기 및 평균 비용을 비교할 수 있으며 이를 유지 보수 전략에 활용한다. <Table 8>은 최적 교체 주기에 변화에 따른 f(tp*), R (tp*), h(tp*)를 나타 낸다. 최적 교체 주기가 짧아질수록 신뢰도는 증가하며 고장 률은 낮아짐을 알 수 있다. 본 사례 연구에서는 β가 1보다 크게 나타나는 IFR 형태로서 식 (9)의 조건을 만족한다. 따라서, 최적 교체 주기에서의 고장률을 이용해서도 아래와 같이 평균 비용을 도출할 수 있다.
4.4 평균 비용 최적화
기존의 200 사이클 주기로 교체를 실시할 경우, 100개 의 엔진 중 47개 엔진이 한 블록 주기 내에서 고장이 발 생하여 최소 수리가 실시된다. 최적 블록 주기인 174 사 이클 주기로 교체를 실시할 경우, 최소 수리 교체 엔진이 19개로 줄게 된다. 단일 블록 주기 안에서 고장으로 인 한 최소 수리 엔진의 수를 줄이기 위해서 블록 주기를 짧게 가져갈 수 있다. 그러나 성능이 강한 엔진들은 RUL이 많이 남았음에도 불구하고 함께 교체되므로 비용 적 낭비가 발생할 수 있다. 반면 블록 주기를 길게 하면, 블록 주기 안에서 최소 수리 엔진이 증가하므로 유지 비 용 부담이 증가하는 문제가 발생한다. 이러한 상충 관계 에서의 최적 의사 결정을 위하여 비용 관점의 최적화를 실시하였다. 100개 엔진을 고장 예측 사이클에 따라 나 누어 특정 구간에 할당하고, 구간별 최소 유지 비용을 도 출한다. 기존 최적화 방법은 100개의 엔진이 단일 블록 주기 끝에서 일제히 교체되었다. 비용 관점의 최적화 방 법은 성능이 약한 엔진은 블록 주기를 짧게 하여서 최소 수리 엔진을 줄이는 방법으로 비용을 감소시킨다. 또한, 성능이 강한 엔진은 블록 주기를 길게 하여서 RUL이 남 았어도 이른 시기에 교체되는 단점을 보완하여 평균 유 지 비용을 줄인다. 여기서 엔진 성능의 판단은 기존 최적 화 블록 주기에 따라 결정된다. 예를 들어, 개별 엔진의 고장 예측 사이클이 기존 최적 교체 주기인 174 사이클 보다 빠르다면 성능이 약한 엔진으로 간주한다.
<Table 9>와 같이 100개 엔진을 성능 순으로 3개 구간 (stage)으로 나누어 분석하였다. 1 구간은 최적 교체 주기 인 174 사이클보다 낮은 성능(하위 19%)을 보이는 구간 이며, 엔진 수는 19개이다. 2 구간은 중간 성능 구간으로 상위 구간과 하위 구간을 제외한 엔진이며 56개, 3 구간 은 상위 25% 이상 구간이며 25개 엔진으로 구성된다.
<Table 10>은 앞서 가정한 엔진 비용과 새로 추정된 모 수를 이용하여 최적 교체 주기 및 사이클 당 평균 비용을 도출한 결과이다. 1 구간과 2 구간의 엔진 수를 합하고, 2 구간과 3 구간을 합하여서 형상 모수와 척도 모수를 MLE로 추정하였다. 이렇게 하위 구간과 상위 구간을 제 외하고 추정한 이유는 각 구간 단위로 분석할 경우, 엔진 수가 적어서 모수 추정이 부정확할 수 있으며 통계적으로 모집단 대표성을 잃을 수 있기 때문이다. 1 구간에서 164.35 사이클 블록 주기를 활용할 경우, 최소 수리 블록 교체는 기존의 19개 엔진에서 9개 엔진으로 줄게 된다. 평균 비용 은 사이클 당 139만 원에서 134만 원으로 감소한다. 또 2 구간과 3 구간에서 182.26 사이클 블록 주기를 활용할 경 우, 사이클 당 131만 원으로 분석되어 현재보다 약 8만 원 정도 비용 감소 효과가 기대되었다.
5. 결 론
본 논문에서는 설비 시스템의 RUL을 예측하고 최소 수리 블록 교체 모델을 활용하여 최적 예방 정비 시점 의 도출 방법을 제안하였다. 이를 위하여 기계학습 알 고리즘인 RF와 XGBoost를 이용하여 다수의 동일 설비 로 이루어진 시스템의 RUL을 예측한 후, 경제성 관점 에서 최적 교체 주기를 도출하는 세부 방법을 개발하였 다. RUL 예측 방법이나 성능 평가에 초점을 맞춘 기존 연구에 대비하여, 본 논문은 RUL 예측 결과를 스케줄 기반 예방 보전에 적용함으로써 어느 시점에서 수리 및 교체가 이루어져야 비용면에서 효과적인지 찾는 방법을 제안한 것이다. 이 제안 방법을 통해서 고장률이 증가 하는 시스템의 예상치 못한 고장을 사전에 예방하고 유 지 비용의 절감 효과를 기대할 수 있다. 특히 다수의 동 일 설비 시스템에서 구간을 나누어 최적화를 실시함으 로써, 설비 성능이 약한 구간에서 교체 주기를 짧게 실 시할 수 있게 되어 수리 비용 감소 효과를 증진할 수 있다.
본 연구의 한계 및 추후 연구는 다음과 같다. 첫째, RUL 예측 방법으로 기계학습의 앙상블 기법을 활용하 였지만 실제 현장의 다양한 공정 데이터를 적합하게 분 석하기에는 한계가 있다. 이는 주어진 공정 및 시스템 에서 특정 알고리즘이 항상 높은 예측 정확성을 보장하 지 않기 때문이다. 특히, 사례 연구에서는 RUL 예측이 우수한 데이터 셋을 이용하여 제안 방법의 타당성을 확 인하였다. 그러나, RUL 예측이 항상 잘 되는 것은 아니 다. 일부 데이터 셋에서는 RUL 예측 성능이 높게 나타 나지 않았으므로, 제안 방법을 그대로 적용하기에는 어 려움이 존재한다. 추후 연구에서는 고장 모드에 따른 RUL 예측이 가능하도록 FDC(fault detection and classification) 나 FMEA(failure mode and effects analysis)와 같은 물리적인 고장 모드 분석과 병행하여, 데이터 전 처리 방법 및 기계학습 또는 딥러닝 알고리즘을 활용할 계획이다. 둘째, 스케줄 기반 예방 보전의 영역을 다루 었으나 상태 기반 보전의 영역을 다루지는 못하였다. 예상하지 못한 고장을 줄이기 위해서는 시스템 열화 상 태를 감안한 상태 기반 접근법이 필요하다. 추후에는 시스템의 이상 감지 및 고장 진단의 효과적 분석을 위 하여 다변량 관리도와 같은 모니터링 기법을 RUL 예측 에 접목할 예정이다.