How to approach a predictive maintenance problems with a small dataset in thingworx
Iโm working on predictive maintenance of combustion engines, for this I have 2 years of sensor data of one engine, with close to ten reported failures during that time window.
Failures are of different kinds, say:
type 1: 3 failures
type 2: 2 failure2
type 3: 1 failure
...
type n: 1 failure
So far I have these ideas:
1) Use a classification model to predict probability of failure within a time window.
Problem: Very few data points to model, with less than 10 occurrences of the same failure I donโt see feasible to overcome the risk of overfit or obtain any reliable metric, even using over-sampling
2) Principal Component analysis: I have found some white papers where PCA is used as a clustering technique to identify anomalies which may include failures as well. What I like of this approach is that will not require to have labeled data, on the other hand it seems to rely heavily on industry expertise to define categories within the groups of data. Another drawback of this approach is that thingworx does not seem to have this technique available, but have to be used with an external tool as mathcad.
3) Anomaly detection algorithm available on thingworx: It will be easier to implement than PCA, but it seems less powerful than the two previous options.
All three options suffer from the same problem, the amount of data available if very limited to generate reliable results. One alternative I have seen used for these cases is to generate synthetic data based on first principles models to simulate the different operation conditions which will include failures as well. But this may require more time than I have for the task.
Based on that information, is there a better way to approach this problem? if not, which alternatives of the mentioned above is a better fit for the thingworx platform?

