थर्मोडायनामिक सिमुलेशन-असिस्टेड रैंडम फॉरेस्ट: समुद्री डीजल इंजन दहन कक्ष घटकों के लिए व्याख्या योग्य दोष निदान

Congcong Luo a , Minghang Zhao a,* , Xuyun Fu a , Shisheng Zhong a , Song Fu b , Kai Zhang c , Xiaoxia Yu d
a Department of Mechanical Engineering, Harbin Institute of Technology, Weihai, Weihai 264209, China
b School of Mechatronics Engineering, Harbin Institute of Technology, Harbin 150001, China
c School of Mechanical Engineering, Southwest Jiaotong University, Chengdu 610031, China
d School of Mechanical Engineering, Chongqing University of Technology, Chongqing 400054, China

सारांश

पारंपरिक समुद्री डीजल इंजन बुद्धिमान दोष निदान (intelligent fault diagnosis) विधियां अक्सर दोष प्रशिक्षण नमूनों की कमी के कारण खराब सामान्यीकरण क्षमता से ग्रस्त होती हैं, और विफलता तंत्र के बारे में पूर्व ज्ञान को पर्याप्त रूप से एकीकृत नहीं करने के कारण उनकी व्याख्या क्षमता (explainability) कम होती है। इन समस्याओं को हल करने के लिए, यह शोध पत्र एक थर्मोडायनामिक सिमुलेशन-असिस्टेड रैंडम फॉरेस्ट (TSRF) विधि का प्रस्ताव करता है।

यह विधि थर्मोडायनामिक सिमुलेशन के माध्यम से दोष विकास विशेषताओं को प्रकट करती है और उन्हें बुद्धिमान दोष निदान मॉडल के डिजाइन में पूर्व ज्ञान के रूप में एकीकृत करती है। सबसे पहले, विभिन्न विफलताओं की महत्वपूर्ण विशेषताओं को अनुकरण करने के लिए सिस्टम के बुनियादी मापदंडों को ठीक करके पांच थर्मोडायनामिक दोष मॉडल विकसित किए गए। इसके बाद, संख्यात्मक सिमुलेशन परिणामों के आधार पर, दहन कक्ष घटकों के क्षरण (degradation) को चिह्नित करने वाले संभावित थर्मोडायनामिक संकेतकों की पहचान की गई।

SHapley Additive exPlanations (SHAP) मानों की गणना करके फ़ीचर चयन (feature selection) किया गया, जिसमें केवल उन चर को रखा गया जिनका दोष स्थिति के साथ महत्वपूर्ण सहसंबंध है। अंत में, चयनित मापदंडों का उपयोग करके दहन कक्ष की स्वास्थ्य स्थिति का मूल्यांकन किया गया। प्रायोगिक परिणाम बताते हैं कि प्रस्तावित TSRF विधि उत्कृष्ट वर्गीकरण प्रदर्शन प्रदर्शित करती है, जो दोष डेटासेट पर 99.07% की औसत सटीकता प्राप्त करती है।

कीवर्ड:
समुद्री डीजल इंजन दोष निदान व्याख्या योग्य AI SHAP मान

शोध की प्रेरणा

समुद्री इंजीनियरिंग और प्रोग्नोस्टिक्स एंड हेल्थ मैनेजमेंट (PHM) के क्षेत्र में, उद्योग को दो दीर्घकालिक बाधाओं का सामना करना पड़ता है:

  • डेटा की कमी: समुद्री डीजल इंजन (विशेष रूप से महासागर के जहाजों के मुख्य इंजन) जहाज का दिल होते हैं। समुद्र में एक गंभीर विफलता प्रणोदन की हानि, जहाज के फंसने या यहां तक कि समुद्री आपदा का कारण बन सकती है। इसलिए, डिजाइन में उनके सुरक्षा कारक बहुत अधिक होते हैं, और गंभीर विफलताओं की संभावना स्वाभाविक रूप से बहुत कम होती है। इसके अलावा, शिपिंग उद्योग सख्त निवारक रखरखाव प्रणाली (जैसे परिचालन घंटों के आधार पर अनुसूचित ओवरहाल) लागू करता है। अधिकांश पहनने वाले भागों को वास्तव में विफल होने और दोष डेटा उत्पन्न करने से पहले ही जबरन बदल दिया जाता है। इससे स्वास्थ्य डेटा और प्रारंभिक पहनने के डेटा की प्रचुरता तो होती है, लेकिन पूर्ण विफलता या गंभीर दोषों पर वास्तविक डेटा की अत्यधिक कमी हो जाती है।
  • "ब्लैक बॉक्स" समस्या: चूंकि डीप लर्निंग मॉडल में आमतौर पर पारदर्शिता की कमी होती है, इसलिए यदि इंजीनियर किसी दोष के भौतिक कारणों की व्याख्या नहीं कर सकते हैं तो उनके लिए उन पर भरोसा करना मुश्किल होता है। वर्गीकरण सोसाइटियों द्वारा सख्ती से विनियमित शिपिंग उद्योग में, यह अपारदर्शिता महत्वपूर्ण है। यदि AI गलती से पिस्टन स्कफिंग या क्रैंकशाफ्ट के टूटने का निदान करता है (या चूक जाता है), और सिस्टम यह पता नहीं लगा सकता है कि त्रुटि डेटा पूर्वाग्रह, एल्गोरिदम दोष या सेंसर ड्रिफ्ट से उत्पन्न हुई है या नहीं, तो समुद्री दुर्घटना जांच में यह अस्वीकार्य है।

इन चुनौतियों का सामना करने के लिए, हमने TSRF विधि का प्रस्ताव दिया। भौतिकी-आधारित यांत्रिक मॉडल को उन्नत व्याख्या तकनीकों के साथ मिलाकर और डेटा की कमी की समस्या को हल करने के लिए उच्च-निष्ठा सिमुलेशन मॉडल का उपयोग करके, हम यह सुनिश्चित करते हैं कि निदान निर्णय थर्मोडायनामिक्स के मौलिक सिद्धांतों के अनुरूप हों।


कार्यप्रणाली

इस अध्ययन के कार्यप्रवाह में निम्नलिखित चार मुख्य चरण शामिल हैं (जैसा कि चित्र में दिखाया गया है):

  1. थर्मोडायनामिक मॉडलिंग: केवल भौतिक परीक्षण बेंचों पर निर्भर रहने के बजाय, हमने छह-सिलेंडर समुद्री डीजल इंजन का उच्च-निष्ठा वाला एक-आयामी (1D) थर्मोडायनामिक मॉडल बनाया। मॉडल को वास्तविक परिचालन डेटा के आधार पर सख्ती से कैलिब्रेट किया गया था, जिसमें सिमुलेशन त्रुटि को 5% से कम रखा गया था।
  2. फॉल्ट इंजेक्शन: कैलिब्रेटेड मॉडल के आधार पर, हमने भौतिक मापदंडों को ठीक करके पांच विशिष्ट दहन कक्ष दोषों (जैसे सिलेंडर हेड दरारें, पिस्टन एब्लेशन, आदि) का अनुकरण किया, इस प्रकार एक डेटासेट तैयार किया जो वास्तविक इंजन दोषों की विभिन्न डिग्रियों को कवर करता है।
  3. SHAP-आधारित फ़ीचर चयन: हमने प्रमुख विशेषताओं को मात्रात्मक रूप से पहचानने के लिए SHAP मानों का उपयोग किया, और निदान निर्णय पर हावी होने वाले 14 महत्वपूर्ण मापदंडों का चयन किया।
  4. वर्गीकरण निदान: इस भौतिक रूप से संवर्धित डेटासेट का उपयोग करके, हमने रैंडम फॉरेस्ट (RF) क्लासिफायर को प्रशिक्षित किया और उच्च-सटीक दोष निदान प्राप्त किया।
Structure of TSRF method combining Thermodynamic Simulation and Random Forest for Explainable AI

चित्र 1: TSRF विधि की वास्तुकला।


थर्मोडायनामिक मॉडलिंग विवरण

उच्च निष्ठा सुनिश्चित करने के लिए, हमने एक-आयामी डीजल इंजन सिमुलेशन मॉडल का निर्माण किया। यह यांत्रिक मॉडल डेटासेट निर्माण के लिए आवश्यक भौतिक सटीकता और कम्प्यूटेशनल दक्षता के बीच संतुलन बनाता है।

मॉडल टोपोलॉजी

इंजन सिस्टम को द्रव पाइपलाइनों और कार्यात्मक घटकों के नेटवर्क के रूप में विवेकीकृत (discretized) किया गया है:

  • कोर पावर यूनिट: छह-सिलेंडर, टू-स्ट्रोक इन-लाइन कॉन्फ़िगरेशन।
  • वायु प्रणाली: इनटेक/एग्जॉस्ट मैनिफोल्ड्स (PL1, PL2) एक जटिल पाइपिंग नेटवर्क के माध्यम से जुड़े हुए हैं।
  • बूस्टिंग सिस्टम: टर्बोचार्जर (TC1) इंटरकूलर (CO1) के साथ युग्मित है।

कैलिब्रेशन और सत्यापन

फॉल्ट इंजेक्शन करने से पहले, बेसलाइन मॉडल को मापे गए डेटा के आधार पर सख्ती से कैलिब्रेट किया गया था।

  • डेटा स्रोत: डेटा अधिग्रहण मॉड्यूल (DCM) के माध्यम से प्राप्त वास्तविक जहाज परिचालन डेटा।
  • सत्यापन: प्रमुख मापदंडों (जैसे शक्ति, निकास तापमान) के विचलन को ±5% त्रुटि सीमा के भीतर सख्ती से नियंत्रित किया गया था।
1-D thermodynamic simulation model

चित्र 2: डीजल इंजन के एक-आयामी थर्मोडायनामिक मॉडल का योजनाबद्ध आरेख।

Model Validation Results

चित्र 5: डेटा अधिग्रहण मॉड्यूल (DCM)।

फॉल्ट इंजेक्शन तंत्र

चूंकि एक-आयामी मॉडल सीधे 3D संरचनात्मक दोषों का प्रतिनिधित्व नहीं कर सकते हैं, इसलिए हमने भौतिक क्षरण तंत्र को समकक्ष थर्मोडायनामिक पैरामीटर शिफ्ट में बदलने के लिए एक घटनात्मक मानचित्रण विधि अपनाई।

दोष का प्रकार भौतिक तंत्र मॉडलिंग कार्यान्वयन
F1: सिलेंडर हेड दरार बाधित ताप चालन। सिलेंडर हेड सतह के तापमान ($T_H$) को 346°C तक बढ़ाना।
F2: पिस्टन एब्लेशन सामग्री की हानि और सीलिंग विफलता। पिस्टन तापमान ($T_P$) में वृद्धि + मामूली ब्लो-बाय (0.01 kg/s)।
F3: लाइनर घिसना घिसने के कारण बोर व्यास में वृद्धि। बोर में वृद्धि + गंभीर ब्लो-बाय (0.03 kg/s)।
F4: रिंग घिसना गैस रिसाव। ब्लो-बाय द्रव्यमान प्रवाह दर (0.02 kg/s) का समायोजन।
F5: रिंग का चिपकना घर्षण में वृद्धि और सीलिंग विफलता। बोर व्यास में परिवर्तन + लाइनर तापमान में वृद्धि + ब्लो-बाय।

व्याख्या क्षमता विश्लेषण

इस अध्ययन का एक मुख्य नवाचार ध्यान को "दोष क्या है?" से "यह दोष क्यों निदान किया गया?" पर स्थानांतरित करने में निहित है। हमने पिस्टन रिंग वियर (F4) के विश्लेषण के माध्यम से इस क्षमता का प्रदर्शन किया:

  • स्थानीय व्याख्या (वॉटरफॉल प्लॉट): वॉटरफॉल प्लॉट विशिष्ट भविष्यवाणी तर्क को तोड़ता है। उदाहरण के लिए, मॉडल ने "रिंग वियर" की भविष्यवाणी की क्योंकि ब्लो-बाय हीट फ्लो (P06) और ब्लो-बाय मास फ्लो रेट (P07) ने विशिष्ट मान प्रस्तुत किए, जिससे इस दोष की भविष्यवाणी की संभावना बढ़ गई। यह भौतिक नियमों के अनुरूप है: रिंग के घिसने से सीलिंग नष्ट हो जाती है, जिससे गैस रिसाव (ब्लो-बाय) होता है।
  • वैश्विक व्याख्या (बीस्वार्म प्लॉट): वैश्विक विश्लेषण मॉडल द्वारा सीखे गए सामान्य नियमों को प्रकट करता है। हमने पाया कि टरबाइन से पहले कम निकास दबाव (P11) रिंग वियर का एक मजबूत संकेतक है। भौतिक रूप से, यह सुसंगत है: घिसे हुए रिंग सिलेंडर से गैस रिसाव का कारण बनते हैं, जिससे टरबाइन को चलाने के लिए उपलब्ध ऊर्जा कम हो जाती है।
SHAP Analysis,including Waterfall plot, beeswarm plot, interaction plot and dependence plot

चित्र 11: SHAP मानों पर आधारित पिस्टन रिंग वियर (F4) दोष विश्लेषण: (a) वॉटरफॉल प्लॉट; (b) बीस्वार्म प्लॉट; (c) इंटरैक्शन प्लॉट; (d) डिपेंडेंस प्लॉट।

SHAP विज़ुअलाइज़ेशन कोड देखें (Python)

यदि आप उपरोक्त चार्ट के कार्यान्वयन विवरण में रुचि रखते हैं, तो यहां वॉटरफॉल, बीस्वार्म, इंटरैक्शन और डिपेंडेंस प्लॉट उत्पन्न करने के लिए उदाहरण कोड दिया गया है।👇

import shap
import matplotlib.pyplot as plt
import numpy as np

# --- 0. Setup & Global Settings ---
plt.rcParams['font.family'] = 'Arial'
plt.rcParams['font.size'] = '24'
plt.rcParams['axes.unicode_minus'] = False

# Assumption: 'best_model' is your trained XGBoost/RF model
# Assumption: 'X_train' and 'X_test' are pandas DataFrames

# 1. Calculate SHAP values as Numpy Arrays (for Beeswarm, Dependence, Interaction)
explainer_tree = shap.TreeExplainer(best_model)
shap_values_numpy = explainer_tree.shap_values(X_train) 

# 2. Calculate SHAP values as Explanation Object (Specifically for Waterfall)
explainer_obj = shap.Explainer(best_model, X_test)
shap_values_obj = explainer_obj(X_test)


##################################################################
#                                                                #
#                      (a) Waterfall Plot                        #
#          Visualizes contribution for a single sample           #
#                                                                #
##################################################################

class_idx = 4  # Target class
sample_idx = 3 # Specific sample to explain

plt.figure()
shap.plots.waterfall(
    shap_values_obj[sample_idx, :, class_idx], 
    max_display=9, 
    show=False
)

# Customizing style
ax = plt.gca()
ax.set_xlabel(ax.get_xlabel(), fontsize=36)
ax.set_ylabel(ax.get_ylabel(), fontsize=36)
ax.spines['bottom'].set_linewidth(3)
plt.show()


##################################################################
#                                                                #
#                      (b) Beeswarm Plot                         #
#              Global summary of feature importance              #
#                                                                #
##################################################################

class_idx = 5
plt.figure(figsize=(10, 8))

shap.summary_plot(
    shap_values_numpy[..., class_idx], 
    X_train, 
    feature_names=X_train.columns, 
    plot_type="dot", 
    show=False, 
    cmap='Greys' # or 'plasma'
)

# Customize Color Bar
cbar = plt.gcf().axes[-1] 
cbar.set_ylabel('Parameter Value', fontsize=24)
cbar.tick_params(labelsize=20)
plt.show()


##################################################################
#                                                                #
#                     (c) Interaction Plot                       #
#          Visualizes interaction effects between features       #
#                                                                #
##################################################################

# Note: Calculation can be expensive
shap_interaction_values = explainer_tree.shap_interaction_values(X_test)
class_idx = 4

plt.figure()
shap.summary_plot(
    shap_interaction_values[..., class_idx], 
    X_test, 
    show=False, 
    max_display=6, 
    cmap='Greys' 
)

# Clean up subplots
axes = plt.gcf().axes
for ax in axes:
    ax.spines['bottom'].set_linewidth(2)
    ax.tick_params(axis="x", labelsize=18, width=2)
    ax.set_title(ax.get_title(), fontsize=14) 

plt.subplots_adjust(wspace=0.3, hspace=0.4)    
plt.show()


##################################################################
#                                                                #
#                     (d) Dependence Plot                        #
#           Feature relationship colored by interaction          #
#                                                                #
##################################################################

Feature_X = 'P06'  # Main feature
Feature_Y = 'P07'  # Interaction feature
class_idx = 4

shap.dependence_plot(
    Feature_X, 
    shap_values_numpy[..., class_idx], 
    X_train, 
    interaction_index=Feature_Y, 
    dot_size=100, 
    show=False
)

# Customize Axes
ax = plt.gca()
ax.tick_params(axis='both', which='major', labelsize=36, width=2)
ax.set_ylabel(f'SHAP value ({Feature_X})', fontsize=36)
ax.spines['bottom'].set_linewidth(3)
ax.spines['left'].set_linewidth(3)
plt.show()


##################################################################
#                                                                #
#            (e) Advanced Composite Plot (Beeswarm + Bar)        #
#      Combines Beeswarm (Bottom Axis) & Importance (Top Axis)   #
#                                                                #
##################################################################

class_idx = 5
fig, ax1 = plt.subplots(figsize=(10, 8))

# 1. Main Beeswarm Plot (on ax1)
shap.summary_plot(
    shap_values_numpy[..., class_idx], 
    X_train, 
    feature_names=X_train.columns, 
    plot_type="dot", 
    show=False, 
    color_bar=True, 
    cmap='Greys' # or 'plasma'
)

# Customize Color Bar
cbar = plt.gcf().axes[-1] 
cbar.set_ylabel('Parameter Value', fontsize=24)
cbar.tick_params(labelsize=20)

# Adjust layout to make room for the top axis
plt.gca().set_position([0.2, 0.2, 0.65, 0.65]) 

# 2. Feature Importance Bar Plot (on Top Axis ax2)
# Create a twin axis sharing the y-axis
ax2 = ax1.twiny() 

shap.summary_plot(
    shap_values_numpy[..., class_idx], 
    X_train, 
    plot_type="bar", 
    show=False
)

# Align position with the main plot
plt.gca().set_position([0.2, 0.2, 0.65, 0.65]) 

# Style the bars (Transparent & Light Color)
bars = ax2.patches
for bar in bars:
    bar.set_color('#CCE5FB') # Light blue background bars
    bar.set_alpha(0.4)       # Transparency

# Customize Axes Labels
ax1.set_xlabel(f'Shapley Value Contribution (F{class_idx})', fontsize=24, labelpad=5)
ax1.set_ylabel('Parameters', fontsize=24)
ax2.set_xlabel('Mean Shapley Value (Parameter Importance)', fontsize=24, labelpad=10)

# Move ax2 (Bar plot axis) to the top
ax2.xaxis.set_label_position('top') 
ax2.xaxis.tick_top()

# Ensure ax1 (dots) is drawn ON TOP OF ax2 (bars)
ax1.set_zorder(ax1.get_zorder() + 1) 
ax1.patch.set_visible(False) # Make ax1 background transparent

plt.show()

शोध की मुख्य विशेषताएं

हमारा मानना ​​है कि इस कार्य ने इस क्षेत्र में निम्नलिखित प्रमुख योगदान दिए हैं:

  • समुद्री डीजल इंजन दहन कक्ष घटकों के पांच विशिष्ट दोषों के लिए पैरामीटरयुक्त मॉडल की स्थापना।
  • कई फ़ीचर चयन विधियों के साथ तुलना करके SHAP विधि की प्रभावशीलता का सत्यापन।
  • थर्मोडायनामिक यांत्रिक मॉडल के साथ डेटा-संचालित विधियों को मिलाकर व्याख्या योग्य दोष निदान के लिए एक नया दृष्टिकोण प्रदान करना।

उद्धरण

यदि आपको यह कार्य अपने शोध के लिए उपयोगी लगता है, तो कृपया इसे उद्धृत करने पर विचार करें 😊

BibTeX

@article{luo2025thermodynamic,
  title     = {Thermodynamic simulation-assisted random forest: Towards explainable fault diagnosis of combustion chamber components of marine diesel engines},
  author    = {Luo, Congcong and Zhao, Minghang and Fu, Xuyun and Zhong, Shisheng and Fu, Song and Zhang, Kai and Yu, Xiaoxia},
  journal   = {Measurement},
  volume    = {251},
  pages     = {117252},
  year      = {2025},
  publisher = {Elsevier},
  doi       = {10.1016/j.measurement.2025.117252},
}

मानक प्रारूप

C. Luo, M. Zhao, X. Fu, S. Zhong, S. Fu, K. Zhang, X. Yu. Thermodynamic simulation-assisted random forest: Towards explainable fault diagnosis of combustion chamber components of marine diesel engines[J]. Measurement, 2025, 251: 117252.

ScienceDirect पर देखें