# Multivariate Heterogeneous Time Series Data for Machine-Learning-Supported Monitoring of a Motor Test Bench


## Motivation
The experimental evaluation process of novel electric traction drives is a very time-consuming and complex task. Specific test benches are required due to the multitude of factors influencing the performance of the machines. Data acquired in the test bench correspond to a high-dimensional and heterogeneous time series. However, the high amount of sensors and devices attached to monitor the device's behaviour under test (DUT) is prone to failure. Faults in a sensor or cooling circuits in the test bench can lead to unseen shutdowns and experiment interruptions. Since most of the work focuses on monitoring the DUT, we aim to improve the experimental process with a machine-leaning supported monitoring system for the overall condition of the test bench. The following dataset contains multiple acquired time series with different labels for normal behaviour and manually generated fault cases, which provide the best interpretation and can not be detected with simple threshold-based approaches. Early experiments using deep learning techniques showed impressive results in fault detection and fault type classification tasks. 


## Acknowledgment

We are very grateful to the Vehicle Systems and Fundamentals of Electrical Engineering Research Group (https://www.uni-kassel.de/eecs/fsg) for providing excellent time series data from several experiments with an electric motor test bench.

## Structure



 - **base_project.zip : Fault_detection_and_classification**

   ```
   ├── Notebooks 
   │   ├── 00_load_data.ipynb : Jupyter Notebook presenting the structure of the data
   │   ├── 01_description_and_visualization.ipynb : basic fault description
   │   ├── classification_example_CNN.ipynb : Demo of fault type classifier with CNN
   │   ├── model_evaluation_5_classes.ipynb : model evaluation from [1]
   └── src
   │   ├── models.py : CNN and LSTM PyTorch nn.Module : classes
   │   ├── inception.time.py : PyTorch nn.Module : class for InceptionTime classifier
   │   ├── time_series_loader.py : Dataset PyTorch utils.data.Dataset : class
   │   ├── lightning.py : PyTorchLightning Module : classes
   └── models 
       └── multiclass_classifiers : Folder containing best performing models in [1]
   ```

   Code example for training and evaluation of multiple deep-learning model structures used in the task of fault detection and fault type classification. The evaluation of the best performing models in a fault type classification presented in [1] is also available. 

   

- **5_classes_dataset.zip**

  Database used in [1] for training evaluation and test of multiple deep learning models. Data provides the values of 131 signals with a sampling rate of 100 Hz. The data is stored as HDF5-Files with multiple index: the first index [TSID] represents each unique experiment in the test bench and the second index provides the Timestamps

  ```
  ├── X_TRAIN.h5 : Features in training set
  ├── Y_TRAIN.h5 : class labels
  ├── X_EVAL.h5 : Features in evaluation set
  ├── Y_EVAL.h5 : class labels
  ├── X_TEST.h5 : Features in test set
  ├── Y_TEST.h5 : class labels
  ├── meta.h5 : Meta DataFrame with experiment information
  ├── results_binary.csv : results of fault detection in [1]
  └── results_multiclass.csv : results of fault type classification in [1]
  
  ---------------------------------------------------------------------------------
  DataFrame example: [x1, x2, x3 : feature names]
  ---------------------------------------------------------------------------------
  TSID	Timestamp						x1			x2			x3			...
  0		2020-05-15 16:13:24.062034326	0.64158		2.990777	4.276004	-0.0
  		2020-05-15 16:13:24.072034326	0.64158		2.357481	7.359634	-0.0
  		2020-05-15 16:13:24.082034326	0.64158		1.503826	11.756244	-0.0
  		2020-05-15 16:13:24.092034326	0.64158		1.501959	3.165252	-0.0
  		2020-05-15 16:13:24.102034326	0.64158		1.497030	0.341806	-0.0
  		...
  ```

  


## Citing

IMPORTANT: In case you use the data please cite our corresponding article [1].




# References

[1] D. Botache *et al*., "Towards Highly Automated Machine-Learning-Empowered Monitoring of Motor Test Stands," *2021 IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS)*, 2021, pp. 120-130, doi: 10.1109/ACSOS52086.2021.00031.



## License

Creative Commons Attribution 4.0