简介
N-CMAPSS(New Commercial Modular Aero-Propulsion System Simulation)基于商用飞机上记录的真实飞行条件,由商用模块化航空推进系统仿真(C-MAPSS)动力学模型生成。
数据集提供了模拟运行到失败的过程,广泛应用于剩余使用寿命(RUL)预测研究,尤其是在航空发动机健康管理(Health Management)和故障预测领域。N-CMAPSS数据集源自NASA的CMAPSS(Commercial Modular Aero-Propulsion System Simulation)仿真平台,该平台能够模拟不同类型的商用发动机在各种工作条件下的性能退化。
数据集压缩包打开后可以看到有10个.h5文件
HDF5 (Hierarchical Data Format version 5)是一种广泛用于存储和管理大量数据的文件格式。它的设计目标是高效存储复杂的、结构化的数据,特别适用于科学计算和大数据分析。
(小白备注:可以理解为,.h5文件其实就像个压缩包,里面还包含了很多的数据文件)
查看数据集
接下来利用Python查看数据集
这里要注意使用h5py查看.h5文件
import h5py
import numpy as np
# 打开HDF5文件
with h5py.File('C:/data_set/N-CMAPSS_DS02-006.h5', 'r') as hdf:
# 查看文件中的内容
for key in hdf.keys():
print("hdf[key]是",hdf[key],";key是", key,";hdf[key].name是", hdf[key].name)
# 读取所有变量的名称
print("A各列含义:", [col.decode('utf-8') for col in np.array(hdf["A_var"])])
print("T各列含义:",[col.decode('utf-8') for col in np.array(hdf["T_var"])])
print("W各列含义:",[col.decode('utf-8') for col in np.array(hdf["W_var"])])
print("X_s各列含义:",[col.decode('utf-8') for col in np.array(hdf["X_s_var"])])
print("X_v各列含义:",[col.decode('utf-8') for col in np.array(hdf["X_v_var"])])
只需将'C:/data_set/N-CMAPSS_DS02-006.h5'这里替换为你的文件名就可以了
例如可以替换为'C:/data_set/N-CMAPSS_DS01-005.h5',运行结果:
hdf[key]是 <HDF5 dataset "A_dev": shape (4906636, 4), type "<f8"> ;key是 A_dev ;hdf[key].name是 /A_dev
hdf[key]是 <HDF5 dataset "A_test": shape (2735232, 4), type "<f8"> ;key是 A_test ;hdf[key].name是 /A_test
hdf[key]是 <HDF5 dataset "A_var": shape (4,), type "|S5"> ;key是 A_var ;hdf[key].name是 /A_var
hdf[key]是 <HDF5 dataset "T_dev": shape (4906636, 10), type "<f8"> ;key是 T_dev ;hdf[key].name是 /T_dev
hdf[key]是 <HDF5 dataset "T_test": shape (2735232, 10), type "<f8"> ;key是 T_test ;hdf[key].name是 /T_test
hdf[key]是 <HDF5 dataset "T_var": shape (10,), type "|S12"> ;key是 T_var ;hdf[key].name是 /T_var
hdf[key]是 <HDF5 dataset "W_dev": shape (4906636, 4), type "<f8"> ;key是 W_dev ;hdf[key].name是 /W_dev
hdf[key]是 <HDF5 dataset "W_test": shape (2735232, 4), type "<f8"> ;key是 W_test ;hdf[key].name是 /W_test
hdf[key]是 <HDF5 dataset "W_var": shape (4,), type "|S4"> ;key是 W_var ;hdf[key].name是 /W_var
hdf[key]是 <HDF5 dataset "X_s_dev": shape (4906636, 14), type "<f8"> ;key是 X_s_dev ;hdf[key].name是 /X_s_dev
hdf[key]是 <HDF5 dataset "X_s_test": shape (2735232, 14), type "<f8"> ;key是 X_s_test ;hdf[key].name是 /X_s_test
hdf[key]是 <HDF5 dataset "X_s_var": shape (14,), type "|S4"> ;key是 X_s_var ;hdf[key].name是 /X_s_var
hdf[key]是 <HDF5 dataset "X_v_dev": shape (4906636, 14), type "<f8"> ;key是 X_v_dev ;hdf[key].name是 /X_v_dev
hdf[key]是 <HDF5 dataset "X_v_test": shape (2735232, 14), type "<f8"> ;key是 X_v_test ;hdf[key].name是 /X_v_test
hdf[key]是 <HDF5 dataset "X_v_var": shape (14,), type "|S5"> ;key是 X_v_var ;hdf[key].name是 /X_v_var
hdf[key]是 <HDF5 dataset "Y_dev": shape (4906636, 1), type "<i8"> ;key是 Y_dev ;hdf[key].name是 /Y_dev
hdf[key]是 <HDF5 dataset "Y_test": shape (2735232, 1), type "<i8"> ;key是 Y_test ;hdf[key].name是 /Y_test
A各列含义: ['unit', 'cycle', 'Fc', 'hs']
T各列含义: ['fan_eff_mod', 'fan_flow_mod', 'LPC_eff_mod', 'LPC_flow_mod', 'HPC_eff_mod', 'HPC_flow_mod', 'HPT_eff_mod', 'HPT_flow_mod', 'LPT_eff_mod', 'LPT_flow_mod']
W各列含义: ['alt', 'Mach', 'TRA', 'T2']
X_s各列含义: ['T24', 'T30', 'T48', 'T50', 'P15', 'P2', 'P21', 'P24', 'Ps30', 'P40', 'P50', 'Nf', 'Nc', 'Wf']
X_v各列含义: ['T40', 'P30', 'P45', 'W21', 'W22', 'W25', 'W31', 'W32', 'W48', 'W50', 'SmFan', 'SmLPC', 'SmHPC', 'phi']
可以看到N-CMAPSS_DS01-005.h5中又包含了A_dev, T_dev,W_dev, X_s_dev, X_v_dev,Y_dev(开发数据),以及A_test, T_test,W_test, X_s_test, X_v_test, Y_test(测试数据),A_var, T_var,W_var, X_s_var, X_v_var(变量)
然后根据读取的变量,可以发现,A,T,W,X_s,X_v 各列的含义,Y当然就是剩余寿命
Auxiliary Information | Model Health Parameters | Scenario descriptors | Measurements | Virtual Sensors | |
A_var | T_var | W_var | X_s_var | X_v_var | |
shape | (4,) | (10,) | (4,) | (14,) | (14,) |
1 | unit | fan_eff_mod | alt | T24 | T40 |
2 | cycle | fan_flow_mod | Mach | T30 | P30 |
3 | Fc | LPC_eff_mod | TRA | T48 | P45 |
4 | hs | LPC_flow_mod | T2 | T50 | W21 |
5 | HPC_eff_mod | P15 | W22 | ||
6 | HPC_flow_mod | P2 | W25 | ||
7 | HPT_eff_mod | P21 | W31 | ||
8 | HPT_flow_mod | P24 | W32 | ||
9 | LPT_eff_mod | Ps30 | W48 | ||
10 | LPT_flow_mod | P40 | W50 | ||
11 | P50 | SmFan | |||
12 | Nf | SmLPC | |||
13 | Nc | SmHPC | |||
14 | Wf | phi |
我们结合文章来看,其实就是这些信息:
但很奇怪的是,数据集中的变量总数为4+10+14+14=42,差3个。最后发现没有找到 Table 3中标黄的这3个指标。我试着把10个.h5文件都读取了一遍,发现都只有这42个变量。