I'm a machine learning newbie.

I have sensor data which is generated by several sensors.

The data is a series of 'time's. (it is not labeled, in other words, I cannot know which sensor generates which 'time').

And each sensor basically generates data periodically, but sometimes it generates other data.

For example, there are two sensors (sensor A generates a 'time' every 2 seconds, sensor B generates a 'time' every 5 seconds.).

Then the data can be: {2.1, 4.3, 5.2, 6.1, 7.9, 9 (noise from one of the sensors), 10.1, 10.2} .... (there are some noises)

What I want to know is that, when another data is given, it is possible to know that the same sensors generate it? (We know the period)

What method should I have to use?

I found the Gaussian Mixture Model. Am I right to use it?



migrated from datascience.stackexchange.com Jun 15 '17 at 18:36

This question came from our site for Data science professionals, Machine Learning specialists, and those interested in learning more about the field.

  • $\begingroup$ So the data has (white?) additive noise, and you're trying to classify the sensor that generated the data. Can two sensors emit data at exactly the same time? If so, what is the output? $\endgroup$ – Emre Jun 13 '17 at 18:06
  • $\begingroup$ @Emre thanks for replying. Each sensor has their own cycle and generates "encrypted and same size" output, so I cannot see the contents of them and differentiate them. Actually, what I want to know is "Is an input (a set of 'time's) generated by exactly same sensors what I'm using?". $\endgroup$ – minkyung Jun 15 '17 at 2:20
  • $\begingroup$ So the only data is the time stamp? Do you have a separate time series for each sensor? Is there any temporal noise; do the sensors output peridiocally reliably? Do you want to distinguish between sensors with the same periodicity and different delay? $\endgroup$ – Emre Jun 15 '17 at 3:38
  • $\begingroup$ @Emre thanks again. Yes, the only data is the timestamp. And the timestamp is mixed (not separated). There are temporal noises (the data is captured network packets). And yes, it is preferable to distinguish between sensors with the same periodicity. $\endgroup$ – minkyung Jun 15 '17 at 5:58

You might want to look at Kevin Murphy's Bayes Net Toolbox BNT. I used it to train an HMM Gaussian Mixture Model with the EM algorithm on labeled data. The hidden layer is the mixing proportions. I made a few modifications to one of the examples and it worked very well. The only downside of BNT is that it isn't in active development and was written for Matlab version 5 the latest Matlab has some issues with it. Most of the incompatibles have been patched but some remain. There are other Bayes Net applications but I think BNT is the only one where exact inference (J Tree) supports Gaussian Mixtures. The nice thing about using a Bayes Net structure, is that you can use it to classify and also simulate data.


If the data is cyclic by its nature the best thing would work using its spectrum.

You can easily build a system which checks sub set of data to verify periodic and the once you establish your groups checking the affinity of new data is easy - add it to each series. It should belong to the one creates less spread in the frequency (Namely, it follows the cycles).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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