3
$\begingroup$

I have data of measurements of a sensor. The sensor measures a numeric value at 20 fixed positions every few seconds. You can think of a camera traversing over a plate and measuring the amount of lubricant at different positions on the plate. So the data has the shape N.Timepoints x N.Positions (e.g. 100000 x 20).

The goal is to detect sensor faults. Because the dataset is unlabeled, this is an unsupervised learning task. We do not know what is normal (non-faulty) behaviour, so I would assume that the majority of the data (e.g. 95% or 99%) is normal and the goal is then to identify abnormal curves (e.g. very different shape than usual).

Time information matters because we can assume that a sensor is not only defect for one observation but will stay defect for some time. So observations are dependent on both time and space.

The algorithm should return a classification (sensor faulty yes/no) or even better a probability output for each point in time. It should be usable in an online setting where new data is coming in every few seconds.

I thought about treating the data as functional data and performing Functional Principal Component Analysis as a dimensionality reduction step, so that each curve over the 20 positions is represented by a few PC scores and then perform some outlier detection method (e.g. LOF or one-class SVM) on the PC scores to detect unusual curves. But this ignores the temporal order of the measurements as these methods deal with independent observations and I do not know if this could work in an online fashion.

Is this a valid approach or any ideas on which method to use?

$\endgroup$
1
  • $\begingroup$ Yes, this is a perfectly valid approach. The FPC scores are fine as the PC themselves encapsulate the temporal structure. $\endgroup$
    – usεr11852
    Commented Jul 1, 2019 at 14:02

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.