0
$\begingroup$

I created an ML model to classify five IoT signals (say A, B, C, D, and E) I get in CSV files monthly. Each signal has a value in the sampled timestamps.

My questions (doubts) are:

  1. Do I have to preprocess new data in the production only on the same (in this example, daily) timestamp; in other words, only the same number of values (features) for each time-series sample as during the model's training? I am pretty sure that is true, but I wonder if there is something specific to the time series.
  2. Since my data are normalized and standardized, what would be the suggestion regarding the length of the time series, since that is important for the standardization of input data in the model in the production environment?

During the training, I divided the values on the daily time stamp (say 5000 values for each signal in a day). So, my time-series are a daily basis time-stamp. I have finished the training, and the results on the test dataset and with cross-validation are acceptable for production. However, I would like not to make a mistake in directions for the data acquiring team.

$\endgroup$

1 Answer 1

1
$\begingroup$

Applying time series for IoTs could be quite complex because you have to deal with model constraints (in general, it can't process too many data), business constraints (what to do you want to predict and with which accuracy), and device constraints (sensors could have different calibrations and the components are not 100% identical).

So the first step would be to define a time range between 50 and 200 steps with a clear time limit for a starting and an ending, ideally, that corresponds to a cycle.

I recommend starting with simple business objectives because you have already a lot of complexity due to the model and devices. It also applies to devices: starting studying one device could be more efficient to understand the main behaviors and add more devices progressively.

Then you have to choose the right model. Random Forest is quite universal and could take into account several variables.

https://pyts.readthedocs.io/en/latest/generated/pyts.classification.TimeSeriesForest.html

LSTMs are great to learn patterns, but they are quite sensitive to noise. You may have to know your devices very well to smooth their signal correctly.

https://www.analyticsvidhya.com/blog/2019/01/introduction-time-series-classification/

https://www.kaggle.com/code/meaninglesslives/simple-neural-net-for-time-series-classification

Sktime could be interesting: https://www.sktime.org/en/v0.9.0/examples/02_classification_univariate.html

Note that if the classification rules apply to any IoT, it is not a multi-variate case, but rather a pattern recognition applicable to any similar device. However, be aware that the devices should be comparable enough to make good classification (= data normalization and maybe noise reduction).

$\endgroup$
2
  • $\begingroup$ Thank you, @nicolas-martin, for a comprehensive answer. Since my problem is time series classification, what would you suggest for such a problem? $\endgroup$
    – AbelAI
    Nov 16, 2022 at 14:42
  • $\begingroup$ Sorry, I misunderstood the objective: I update the answer... $\endgroup$ Nov 16, 2022 at 16:59

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.