In this repository, we introduce nonparametric method for examining machine healthiness. Including methodology to identify maintainence effectiveness with the features and PHM algorithms for uni- and multi-virate data.
- The main.py module is the sample for user to set the parameter for each algorithm.
- The unit test code is writen in each module, and can be precess immediately. Each module is introduced below...
In practice, the main challenge for PHM in the firest step is to identify the correlation between data and maintianence. Under the assumption that the maintianence will make machine more stable, we vidualize data and use statistical test for two slice of univirate data to check the overall correlation between each.
Where the statistical tests are:
| Test | Usage of Both Data |
|---|---|
| t test | the mean of distribution |
| f test | the variance of distribution |
| skewness | the skewness of distribution |
| kurtosis | the kurtosis of distribution |
| KS test | check the distribution of both data is identical or not, the distribution is different if pvalue < 0.01 |
| correlation | the correlation of two data |
| dtw distance | the dynamic time wrapping distance of two data, the smaller value the closer distance |
- The visualization of two data:
- The DTW plot:
- chamber to chamber: comparing the standard deviation of all machines to find the unstable ones. You could take out extreme data points in advance to prevent false alarm.
| Method | Usage |
|---|---|
| z score | detect outliers |
| Submethod | Usage |
|---|---|
| sliding window | detect anomaly with trend factor |
-
$\overline X$ and S control chart example:
The EWMA control chart help us detect time-dependent data with sliding window and weights. The EWMA chart is sensitive to small shifts in the process mean, but does not match the ability of Shewhart-style charts (namely the
- EWMA control chart example:
The Hotelling's T-squared control chart aims to identify the feature distance between multivirate data, under the assumption that the data is independently collected. Data point is regards to be anomaly once its t-squared value is too large, i.e., jump over UCL. However, Hotelling's T-squared control chart can be too sensitive if we break the assumptions of Hotelling's T-squared (see).
- Hotelling's T-squared control chart example:




