Main Content

펌프 진단을 위한 특징 분석 및 선택하기

이 예제에서는 진단 특징 디자이너 앱을 사용하여 삼중 왕복 펌프의 결함을 진단하는 특징을 분석하고 선택하는 방법을 보여줍니다.

이 예제에서는 시뮬레이션된 데이터를 사용한 다중 클래스 결함 검출 예제로 생성된 시뮬레이션된 펌프 결함 데이터를 사용합니다. 데이터는 펌프 작동 시작 시의 과도 데이터를 제거하도록 전처리되었습니다.

진단 특징 디자이너 열기

삼중 펌프 결함 데이터를 불러옵니다. 펌프 데이터에는 다양한 결함 상태에 대한 240개의 유속 및 압력 측정값이 포함됩니다. 여기에는 세 가지 결함 유형이 있습니다(펌프 실린더 누수, 펌프 주입구 막힘, 펌프 베어링 마찰 증가). 측정값은 결함 없음, 단일 결함 또는 여러 결함이 있는 상태를 포괄합니다. 데이터는 각 행이 다른 측정값인 테이블에 수집됩니다.

load('savedPumpData')
pumpData
pumpData=240×3 table
           flow                pressure         faultCode
    __________________    __________________    _________

    {1201x1 timetable}    {1201x1 timetable}       0     
    {1201x1 timetable}    {1201x1 timetable}       0     
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       0     
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       100   
    {1201x1 timetable}    {1201x1 timetable}       100   
      ⋮

diagnosticFeatureDesigner 명령을 사용하여 진단 특징 디자이너를 엽니다. 새 세션을 클릭하여 새 세션을 시작합니다. 그러면 데이터를 가져올 수 있는 대화 상자가 열립니다.

작업 공간에서 데이터셋 선택 창에서 pumpData를 데이터 소스로 선택합니다. 소스 변수 선택 창에서 변수 이름이 명령줄에서 본 것과 일치하는지 확인합니다. flowpressure는 모두 신호입니다. faultCode상태 변수입니다. 상태 변수는 결함의 존재 또는 부재를 나타내며, 앱에서 그룹화 및 분류에 사용됩니다. 새 세션 대화 상자를 처음 열면 첫 번째 변수의 변수 속성이 표시됩니다.

가져오기를 클릭하여 펌프 데이터를 앱으로 가져옵니다.

데이터를 플로팅하고 결함 코드별로 그룹화하기

데이터 브라우저의 변수 섹션에서 flow를 선택하고 플롯 갤러리에서 신호 추적을 클릭하여 유속 신호를 플로팅합니다. 같은 방식으로 pressure 신호를 플로팅합니다.

이러한 플롯은 데이터셋의 240개 멤버 모두에 대한 압력 신호 및 유속 신호를 보여줍니다. 신호 추적 탭을 클릭하고 faultCode 기준 그룹화를 선택하여 동일한 결함 코드를 가진 신호를 같은 색상으로 표시할 수 있습니다. 이런 방식으로 신호를 그룹화하면 서로 다른 결함 유형의 신호 간에 명확한 차이가 있는지 신속하게 확인할 수 있습니다. 이 경우 측정된 신호는 다른 결함 코드에 대해 명확한 차이를 보이지 않습니다.

모든 향후 플롯을 faultCode를 기준으로 그룹화하려면 플롯 옵션을 사용하십시오. 플롯 옵션을 클릭하면 세션에 대한 기본 설정을 지정할 수 있는 대화 상자가 열립니다.

시간 영역 특징 추출하기

측정된 신호가 다른 결함 상태에 대해 차이를 보이지 않으므로, 다음 단계는 신호에서 신호의 평균 및 표준편차와 같은 시간 영역 특징을 추출하는 것입니다. 먼저, 데이터 브라우저에서 flow/Data를 선택합니다. 그런 다음 시간 영역 특징을 선택하고 신호 특징을 선택합니다.

두 개의 탭 신호 특징시간 영역 특징이 새로 열립니다. 신호 특징에서 추출할 특징을 선택하고 적용을 클릭합니다. 지금은 결과 플로팅 체크박스의 선택을 해제합니다. 나중에 결과를 플로팅하여 상이한 결함 상태를 구별하는 데 특징이 도움이 되는지 확인합니다. 압력 신호에 대해 이 과정을 반복합니다.

주파수 영역 특징 추출하기

왕복 펌프는 구동 축과 실린더를 사용하여 유체를 펌핑합니다. 펌프의 기계적 구조로 인해 펌프 유속과 압력에 주기적인 변동이 있을 수 있습니다. 예를 들어, 신호 추적 플롯 아래의 신호 패너를 사용하여 유속 신호 섹션을 확대해 보겠습니다.

유속의 주파수 스펙트럼을 계산하면 유속 신호의 주기적 특성이 강조 표시되고 다른 결함 상태에서 유속 신호가 어떻게 변하는지 더 상세히 살펴볼 수 있습니다. 자기회귀 모델을 사용하여 주파수 스펙트럼을 추정합니다.

이 방법은 미리 정해진 차수를 갖는 자기회귀 모델을 데이터에 피팅한 다음, 추정된 모델의 스펙트럼을 계산합니다. 이 접근 방식은 원시 데이터 신호에 대한 과적합을 줄입니다. 이 경우 모델 차수 20을 지정합니다. 또한, 주파수 그리드의 최솟값을 0으로 설정하고 최댓값을 500으로 설정합니다.

계산된 스펙트럼을 선형 스케일로 플로팅하면 공명 피크를 명확하게 확인할 수 있습니다. 결함 코드별로 그룹화하면 여러 결함 상태에 대해 스펙트럼이 어떻게 변하는지 강조 표시됩니다.

압력 신호에 대해 동일한 계산을 수행하여 다른 결함 상태를 구별하는 데 도움이 되는 추가 특징을 얻을 수 있습니다.

이제 피크, 모드 계수 및 대역 전력과 같은 스펙트럼 특징을 계산할 수 있습니다.

250Hz 이후의 피크는 더 작기 때문에 23Hz에서 250Hz 사이의 더 작은 주파수 대역에서 이러한 특징을 추출합니다. 각 신호에 대해 5개의 스펙트럼 피크를 추출합니다. 지금은 결과 플로팅 체크박스의 선택을 해제합니다. 나중에 결과를 플로팅하여 상이한 결함 상태를 구별하는 데 특징이 도움이 되는지 확인합니다. 대화 상자 상단에서 선택한 신호를 변경하여 압력 신호에 대해 이 과정을 반복합니다.

특징 보기

추출한 모든 특징은 특징 테이블 브라우저에 표시된 테이블에 수집되었습니다. 계산된 특징 데이터를 보려면 데이터 브라우저에서 FeatureTable1을 선택하고 플롯 갤러리에서 특징 테이블 보기를 클릭하십시오. 결함 코드도 테이블의 가장 오른쪽 열로 특징 테이블 보기에 표시되어 있습니다. 계산되는 특징이 많을수록 더 많은 열이 테이블에 추가됩니다.

특징 테이블을 히스토그램으로 표시하면 서로 다른 상태 변수 값(여기서는 결함 유형)에 대한 특징 값의 분포를 확인할 수 있습니다. FeatureTable1을 선택한 다음 플롯 갤러리에서 히스토그램을 클릭하여 히스토그램 플롯 세트를 만듭니다. 다음 및 이전 버튼을 사용하여 다양한 특징에 대한 히스토그램을 표시합니다. 결함 코드별로 그룹화된 히스토그램 플롯은 특정 특징이 결함 유형 간의 강력한 차별화 요소인지 확인하는 데 도움이 될 수 있습니다. 강력한 차별화 요소일 경우, 특징 분포가 서로 더 멀어집니다. 삼중 펌프 데이터의 경우 특징 분포가 겹치는 경향이 있으며, 결함을 식별하는 데 명확하게 사용할 수 있는 특징이 없습니다. 다음 섹션에서는 자동 순위 지정을 사용하여 결함 예측에 더 유용한 특징을 찾는 방법을 살펴봅니다.

특징에 순위 지정 및 특징 내보내기

특징 디자이너 탭에서 특징 순위 지정을 클릭하고 FeatureTable1을 선택합니다. 앱은 모든 특징 데이터를 수집하고 분산분석과 같은 메트릭을 기반으로 하여 특징에 순위를 지정합니다. 메트릭 값을 기반으로 중요도 순으로 특징이 나열됩니다. 이 경우 유속 신호의 RMS 값과 압력 신호의 RMS 값 및 평균값은 서로 다른 결함 유형을 가장 강력하게 구분하는 특징입니다.

중요도 측면에서 특징에 순위를 지정한 후, 다음 단계는 이러한 특징을 기반으로 하여 분류 모델을 훈련시킬 수 있도록 내보내는 것입니다. 내보내기를 클릭하고 분류 학습기로 특징 내보내기를 선택한 다음 분류에 사용할 특징을 선택합니다. 여기서는 상위 15개의 특징을 내보냅니다. 그러면 앱이 이러한 특징을 분류 학습기로 보냅니다. 여기에서 특징은 다른 결함을 식별하는 분류기를 설계하는 데 사용될 수 있습니다.

분류 학습기에서 열리는 파일에서 새 세션 대화 상자에서 5겹 교차 검증을 확인하고 세션을 시작합니다.

분류 학습기에 단일 모델에 대한 산점도 플롯이 표시됩니다.

분류 학습기 탭의 모델 섹션에서 훈련에 사용할 모든 모델 유형을 선택합니다.

모델 목록에서 다중을 선택합니다. 그런 다음 모두 훈련을 클릭합니다.

훈련이 완료되면 분류 학습기에 각 모델이 모델 검증 정확도와 함께 모델 번호 순으로 나열되고 세트의 첫 번째 모델에 대한 혼동행렬이 표시됩니다. 정렬 기준Accuracy (Validation)으로 변경합니다.

SVM 방법의 분류 정확도가 약 79%로 가장 높습니다. 과정에 임의성이 있으므로 결과가 다를 수 있습니다. 이 모델을 선택하고 혼동행렬을 클릭합니다. 혼동행렬은 이 방법이 각 결함 유형에 대해 모델을 얼마나 잘 분류하는지 보여줍니다. 대각선에 있는 요소는 올바르게 분류된 결함 유형의 개수를 나타냅니다. 비대각선 요소는 예측 클래스와 실제 클래스가 같지 않은 결함 유형을 나타냅니다. 정확도를 개선하기 위해 특징의 개수를 늘려 볼 수 있습니다. 또는 기존 특징을 반복할 수 있습니다. 또 다른 단계는 기존 특징(특히, 스펙트럼 특징)을 반복하고 스펙트럼 계산 방법을 수정하거나 대역폭을 변경하거나 또는 다른 주파수 피크를 사용하여 분류 정확도를 개선하는 것일 수 있습니다.

삼중 펌프 결함 진단하기

이 예제에서는 진단 특징 디자이너를 사용하여 특징을 분석 및 선택하고 분류기를 생성하여 삼중 왕복 펌프의 결함을 진단하는 방법을 보여주었습니다.

참고 항목

|

관련 항목