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?