Main Content

진단 특징 디자이너를 사용하여 앙상블 데이터 탐색 및 특징 비교하기

진단 특징 디자이너 앱을 사용하면 다기능 그래픽 인터페이스를 사용하여 예측 정비 워크플로의 특징 설계 부분을 완성할 수 있습니다. 대화형 방식으로 특징을 설계하고 비교한 다음 공칭 시스템 및 결함 시스템과 같이 서로 다른 그룹의 데이터를 구별하는 데 가장 적합한 특징을 결정할 수 있습니다. RTF(run-to-failure) 데이터가 있는 경우, 잔여 수명(RUL)을 결정하는 데 가장 적합한 특징을 평가할 수도 있습니다. 가장 효과적인 특징은 궁극적으로 결함 진단 및 예지진단을 위한 상태 지표가 될 수 있습니다.

다음 그림은 예측 정비 워크플로와 진단 특징 디자이너 기능 간의 관계를 보여줍니다.

End-to-End workflow for Predictive Maintenance and Diagnostic Feature Designer. The diagram on the top illustrates the general workflow. The diagram on the bottom illustrates the workflow for Diagnostic Feature Designer.

이 앱은 앙상블 데이터에서 작동합니다. 앙상블 데이터에는 여러 멤버로부터 얻은, 즉 여러 대의 비슷한 기계에서 얻거나 데이터가 일수나 연수와 같은 시간 간격으로 분할된 단일 기계 등에서 얻은 데이터 측정값이 포함됩니다. 데이터에는 또한 앙상블 멤버의 결함 상태 또는 작동 상태를 설명하는 상태 변수도 포함될 수 있습니다. 종종 상태 변수는 레이블이라고 하는 정의된 값을 가집니다. 데이터 앙상블에 대한 자세한 내용은 상태 모니터링 및 예측 정비를 위한 데이터 앙상블 항목을 참조하십시오.

앱 내 워크플로는 데이터를 가져오는 시점에 이미 다음 상태에 있는 데이터로 시작됩니다.

  • 정리 기능을 사용해 전처리된 상태

  • 개별 데이터 파일들로 구성되거나 모든 앙상블 멤버를 포함하거나 참조하는 단일 앙상블 데이터 파일로 구성된 상태

진단 특징 디자이너 내의 워크플로에는 데이터를 추가로 처리하고, 데이터에서 특징을 추출하고, 효과에 따라 이러한 특징의 순위를 지정하는 데 필요한 단계가 포함되어 있습니다. 워크플로는 가장 효과적인 특징을 선택하고 이러한 특징을 모델 훈련을 위해 분류 학습기 앱으로 내보내는 것으로 마무리됩니다.

워크플로에는 선택적 MATLAB® 코드 생성 단계가 포함됩니다. 선택한 특징에 대한 계산을 캡처하는 코드를 생성하면, 더 많은 멤버를 포함하는 더 큰 규모의 측정 데이터 세트(예: 다른 공장들의 유사한 기계들)에 대해 이 계산을 자동화할 수 있습니다. 결과로 생성되는 특징 세트는 분류 학습기를 위한 추가적인 훈련 입력값을 제공합니다. 또한 스트리밍 데이터 용도의 형식으로 작성된 코드나 Simulink® 블록을 생성할 수 있습니다.

진단 특징 디자이너를 사용하여 예측 정비 작업 수행하기

다음 이미지는 진단 특징 디자이너의 기본 기능을 보여줍니다. 그림에 표시된 특징 디자이너 탭과 같은 탭의 컨트롤을 사용하여 데이터 및 결과와 상호 작용합니다. 데이터 브라우저에서 가져온 변수와 도출된 변수, 특징 및 데이터셋을 확인합니다. 플로팅 영역에서 결과를 시각화합니다.

Diagnostic Feature Designer app. A toolstrip is on the top. The data browser is on the left. A set of histograms that illustrate group separation is in the main plot area.

가져온 데이터를 통합 앙상블 데이터셋으로 변환하기

앱 사용의 첫 번째 단계는 새 세션을 만들고 데이터를 가져오는 것입니다. 테이블, 타임테이블, 셀형 배열 또는 행렬에서 데이터를 가져올 수 있습니다. 앱이 외부 데이터 파일과 상호 작용할 수 있게 해 주는 정보가 들어 있는 앙상블 데이터저장소를 가져올 수도 있습니다. 파일에는 실제 또는 시뮬레이션된 시간 영역 측정 데이터, 스펙트럼 모델 또는 데이터, 변수 이름, 상태 및 동작 변수, 이전에 생성한 특징이 포함될 수 있습니다. 진단 특징 디자이너는 모든 멤버 데이터를 단일 앙상블 데이터셋으로 결합합니다. 이 데이터셋에서 각 변수는 모든 개별 멤버 값을 포함하는 총체적 신호 또는 모델입니다.

여러 세션에서 동일한 데이터를 사용하기 위해 세션 파일에 초기 세션을 저장할 수 있습니다. 세션 데이터에는 가져온 변수와 계산한 추가 변수 및 특징이 모두 포함됩니다. 그러면 이후 세션에서 세션 파일을 열고 가져온 데이터와 파생 데이터로 계속 작업할 수 있습니다.

데이터 준비 및 가져오기에 대한 자세한 내용은 다음을 참조하십시오.

가져오기 과정 자체에 대한 자세한 내용은 진단 특징 디자이너에서 앙상블 데이터 가져오기 및 시각화하기 항목을 참조하십시오.

데이터 시각화하기

가져오거나 처리 툴로 생성한 신호 또는 스펙트럼을 플로팅하려면 플롯 갤러리에서 플롯 유형을 선택하십시오. 다음 그림은 일반적인 신호 추적을 보여줍니다. 대화형 플로팅 툴을 사용하면 패닝하고 확대/축소하고, 피크 위치 및 피크 사이의 거리를 표시하고, 앙상블 내의 통계적 변동을 표시할 수 있습니다. 플롯에서 상태 레이블별로 데이터를 그룹화하면 멤버 데이터가 예를 들어 공칭 시스템에서 오는지 또는 결함 시스템에서 오는지 명확하게 확인할 수 있습니다.

Example signal trace in the app

앱에서 플로팅하는 방법에 대한 자세한 내용은 진단 특징 디자이너에서 앙상블 데이터 가져오기 및 시각화하기 항목을 참조하십시오.

새 변수 계산하기

데이터를 탐색하고 특징 추출을 위해 데이터를 준비하려면 데이터 처리 툴을 사용하십시오. 처리 툴을 적용할 때마다 앱은 소스 변수와 사용한 가장 최근의 처리 단계를 모두 포함하는 이름으로 새롭게 도출된 변수를 만듭니다. 예를 들면 다음과 같습니다.

  • 변수 Vibration/Data에 TSA(시간-동기 신호 평균화) 처리를 적용하는 경우 새롭게 도출된 변수 이름은 Vibration_tsa/Data입니다.

  • Vibration_tsa/Data에서 파워 스펙트럼을 계산하는 경우 새로 생성된 변수 이름은 Vibration_ps/SpectrumData입니다. 이 새 이름은 가장 최근의 처리가 ps인 것과 변수가 신호가 아닌 스펙트럼이라는 사실을 모두 반영합니다.

변수에 대한 자세한 내용을 보려면 세부 정보 창을 사용하십시오. 이 영역에서 직접 소스 신호, 독립 변수 같은 정보를 찾을 수 있습니다. 변수에 대한 처리 내역을 플로팅하고 가장 최근 작업에 대한 파라미터를 볼 수도 있습니다.

모든 신호에 대한 데이터 처리 옵션에는 앙상블 레벨 통계량, 신호 잔차, 필터링, 파워 스펙트럼 및 차수 스펙트럼이 포함됩니다. 멤버 샘플이 동일한 독립적 가변 간격으로 발생하지 않는 경우 데이터를 균일한 그리드로 보간할 수도 있습니다.

데이터를 회전 기계에서 가져온 경우, 회전속도계 출력값 또는 공칭 rpm을 기반으로 TSA 처리를 수행할 수 있습니다. TSA 신호에서 TSA 잔차 신호 및 차분 신호와 같은 추가 신호를 생성할 수 있습니다. TSA에서 도출된 이러한 신호는 고조파 및 측파대를 유지하거나 폐기하여 시스템 내의 물리적 구성 요소를 분리하며 많은 기어 상태 특징의 기초가 됩니다.

처리 옵션 중 대다수는 독립적으로 사용할 수 있습니다. 일부 옵션은 시퀀스로 수행할 수 있거나 반드시 시퀀스로 수행해야 합니다. 앞에서 설명한 회전 기계 및 TSA 신호 외에 또 다른 예로 임의 신호에 대한 잔차 생성을 들 수 있습니다. 다음을 수행할 수 있습니다.

  1. 앙상블 통계량을 사용하여 전체 앙상블을 특성화하는 단일 멤버 통계 변수(예: 평균값 및 최댓값)를 생성합니다.

  2. 기준 신호 뺄셈을 사용하여 앙상블 레벨 값을 뺄셈해서 각 멤버에 대한 잔차 신호를 생성합니다. 이러한 잔차는 신호에서의 변동을 나타내며 나머지 앙상블로부터 벗어나는 신호를 보다 명확하게 나타낼 수 있습니다.

  3. 이러한 잔차 신호를 추가 처리 옵션 또는 특징 생성을 위한 소스로 사용합니다.

앱의 데이터 처리 옵션에 대한 자세한 내용은 진단 특징 디자이너에서 데이터 처리 및 특징 탐색하기 항목을 참조하십시오.

프레임 기반 처리와 병렬 처리

이 앱은 프레임 기반 (분할된) 처리 및 병렬 처리를 위한 옵션을 제공합니다.

기본적으로 앱은 한 번의 작업으로 전체 신호를 처리합니다. 신호를 분할하고 개별 프레임을 처리할 수도 있습니다. 프레임 기반 처리는 앙상블의 멤버가 비정상(Nonstationary) 동작, 시변 동작 또는 주기적 동작을 보이는 경우 특히 유용합니다. 또한 프레임 기반 처리는 특징 값의 시간 내역을 제공하므로 예지진단 순위 지정도 지원합니다.

Parallel Computing Toolbox™가 설치되어 있는 경우 병렬 처리를 사용할 수 있습니다. 앱이 모든 멤버에 대해 동일한 처리를 개별적으로 수행하는 경우가 많기 때문에 병렬 처리는 계산 시간을 크게 개선할 수 있습니다.

특징 생성하기

원래 신호와 도출된 신호 및 스펙트럼에서 특징을 계산하고 그 효과를 평가할 수 있습니다. 사용자가 최적의 특징이 무엇인지 이미 알고 있을 수도 있고, 아니면 적용 가능한 모든 특징을 사용해 실험하기를 원할 수도 있습니다. 사용 가능한 특징은 일반적인 신호 통계량부터 오류의 정확한 위치를 식별할 수 있는 특수한 기어 상태 메트릭과 무질서한 동작을 강조하는 비선형 특징에 이르기까지 다양합니다.

특징 세트를 계산할 때마다 앱은 이러한 특징을 특징 테이블에 추가하고 멤버 간의 값 분포에 대한 히스토그램을 생성합니다. 아래 그림은 두 특징에 대한 히스토그램을 보여줍니다. 이 히스토그램은 각 특징이 레이블이 지정된 데이터를 얼마나 잘 구분하는지 보여줍니다. 예를 들어, 다음 그림과 같이 상태 변수인 faultCode가, 공칭 시스템 데이터의 경우 상태 0(파란색)을 갖고 결함이 있는 시스템 데이터의 경우 상태 1(주황색)을 갖는다고 가정해 보겠습니다. 히스토그램에서 Bin 내의 색 혼합 상태를 통해 공칭 그룹화와 결함 그룹화가 고유한 히스토그램 Bin을 생성하는지 아니면 서로 섞인 히스토그램 Bin을 생성하는지 확인할 수 있습니다. 모든 특징 히스토그램을 한 번에 보거나 앱의 히스토그램 플롯 세트에 포함할 특징을 선택할 수 있습니다. 그림에서 CrestFactor Bin은 주로 순수한 파란색이거나 순수한 주황색으로, 그룹이 잘 분리되었음을 나타냅니다. Kurtosis 히스토그램 Bin은 주로 파란색과 주황색이 혼합된 짙은 주황색으로, 그룹이 잘 분리되지 않았음을 나타냅니다.

Histogram displayed in the app that shows CrestFactor on the left and Kurtosis on the right.

모든 특징의 값을 함께 비교하려면 특징 테이블 보기와 특징 추적 플롯을 사용하십시오. 특징 테이블 보기는 모든 앙상블 멤버의 모든 특징 값으로 구성된 테이블을 표시합니다. 특징 추적은 이러한 값을 플로팅합니다. 이 플롯은 앙상블 내에서 특징 값의 발산을 시각화하고 사용자가 특징 값이 나타내는 특정 멤버를 식별할 수 있도록 합니다.

앱의 특징 생성 및 히스토그램 해석에 대한 자세한 내용은 다음을 참조하십시오.

특징에 순위 지정하기

히스토그램을 사용하면 특징이 효과적인지에 대한 초기 평가를 수행할 수 있습니다. 보다 엄격한 상대 평가를 수행하기 위해 특수한 통계적 방법을 사용하여 특징에 순위를 지정할 수 있습니다. 앱은 세 가지 유형의 순위 지정 즉, 지도 순위 지정, 비지도 순위 지정, 예지진단 순위 지정을 제공합니다.

  • 분류 순위 지정을 위한 방법을 포함하는 지도 순위 지정은 여러 데이터 그룹(예: 정상 동작과 결함 동작)을 구분하는 능력에 따라 특징에 점수를 부여하고 순위를 지정합니다. 지도 순위 지정은 데이터 그룹의 특성을 나타내는 레이블이 포함된 상태 변수가 필요합니다.

  • 비지도 순위 지정에는 데이터 레이블이 필요하지 않습니다. 이 유형의 순위 지정은 다른 특징과의 군집화 경향에 따라 특징에 점수를 부여하고 순위를 지정합니다.

  • 예지진단 순위 지정 방법은 잔여 수명(RUL)을 예측하기 위해 성능 저하를 추적하는 능력에 따라 특징에 점수를 부여하고 순위를 지정합니다. 예지진단 순위 지정은 실제 또는 시뮬레이션된 RTF(run-to-failure) 또는 결함 진행 데이터를 필요로 하며 상태 변수를 사용하지 않습니다.

다음 그림은 지도 분류 순위 지정 결과를 보여줍니다. 여러 순위 지정 방법을 시도하고 각 방법의 결과를 함께 볼 수 있습니다. 순위 지정 결과를 바탕으로 효과 없는 특징을 제거할 수 있으며, 도출된 변수 또는 특징을 계산할 때 파라미터 조정에서의 순위 지정 효과를 평가할 수 있습니다.

Bar graph in the app showing Features Sorted by Importance

특징 순위 지정에 대한 자세한 내용은 다음을 참조하십시오.

분류 학습기로 특징 내보내기

후보 특징 세트를 정의한 후에는 이를 Statistics and Machine Learning Toolbox™의 분류 학습기 앱으로 내보낼 수 있습니다. 분류 학습기는 자동화된 방법을 사용하여 특징 세트를 갖는 여러 유형의 모델을 테스트함으로써 데이터를 분류하도록 모델을 훈련시킵니다. 이 과정에서, 분류 학습기는 최적의 모델과 가장 효과적인 특징을 결정합니다. 예측 정비에서 분류 학습기를 사용하는 목적은 정상 시스템과 결함 시스템의 데이터를 구분하도록 모델을 선택하여 훈련시키는 데 있습니다. 이 모델을 결함 검출 및 예측을 위한 알고리즘에 적용할 수 있습니다. 앱에서 분류 학습기로 내보내는 예제는 펌프 진단을 위한 특징 분석 및 선택하기 항목을 참조하십시오.

특징과 데이터셋을 MATLAB 작업 공간으로 내보낼 수도 있습니다. 이렇게 하면 명령줄 함수 또는 기타 앱을 사용하여 원래 및 도출된 앙상블 데이터를 시각화하고 처리할 수 있습니다. 명령줄에서, 앙상블 데이터저장소에서 참조되는 파일을 포함해 선택한 특징과 변수를 파일에 저장할 수도 있습니다.

내보내기에 대한 자세한 내용은 진단 특징 디자이너에서 특징에 순위 지정 및 특징 내보내기 항목을 참조하십시오.

특징에 대한 MATLAB 코드 생성하기

특징 자체를 내보내는 것 외에도, 이러한 특징을 만든 계산을 재현하는 MATLAB 함수를 생성할 수 있습니다. 코드를 생성하면 다른 데이터 세트로 특징을 계산하는 작업을 자동화할 수 있습니다. 예를 들어 많은 멤버가 포함된 대규모 입력 데이터 세트가 있을 경우, 앱에서 처음 대화형 방식으로 가능한 특징을 탐색할 때는 보다 빠른 응답을 위해 데이터의 서브셋만 사용하고자 할 수 있습니다. 앱을 사용하여 가장 효과적인 특징을 식별한 후, 코드를 생성하고 이 코드를 사용하여 모든 멤버로 구성된 데이터 세트에 동일한 특징 계산을 적용할 수 있습니다. 더 큰 멤버 세트를 사용하면 분류 학습기에 대한 훈련 입력 정보로 더 많은 샘플을 제공할 수 있습니다.

다음 그림은 코드 생성 탭을 보여줍니다. 이 탭에서는 자세한 쿼리를 수행하여 특징 입력 및 계산 방법 등의 기준에 따라 특징을 선택할 수 있습니다.

Code generation tab. From left to right, the tab contains sections for the frame policy, filtering and sorting, parallel computing, and code (with Generate Function button)

function [featureTable,outputTable] = diagnosticFeatures(inputData)
%DIAGNOSTICFEATURES recreates results in Diagnostic Feature Designer.
%

또한 스트리밍 데이터용으로 형식이 지정된 코드를 생성할 수 있고 이 코드를 사용하는 Simulink 블록도 생성할 수 있습니다.

자세한 내용은 다음을 참조하십시오.

참고 항목

관련 예제

세부 정보