I am new to machine learning and I was wondering what algorithm to use to predict waveforms from an already existing waveform data samples.

I have the x coordinates and Y coordinates or (waveforms) for a few set of features for the different set of values. I want to be able to predict further waveforms for more values using this as training data. Which type of Machine Learning Algorithm should be used in such cases ?

  • 1
    $\begingroup$ Are the input waveforms and output (predictable part) waveforms always the same length (= same number of samples) - or can they be arranged this way for training and prediction? Or is one or both input/desired output an inherently variable-length sequence? $\endgroup$ Commented Feb 21, 2017 at 19:00
  • 1
    $\begingroup$ For further clarity, if you give some example data, and explain a little about what you are trying to predict, it would help the question a lot. If you give a generic situation to predict in your answer, you willy get an equally generic answer (in your case, most regression algorithms could probably be made to fit the problem). $\endgroup$ Commented Feb 21, 2017 at 19:02
  • $\begingroup$ You could try: (DBN) Semi-Supervised Deep Belief Nets. Hope this helps. $\endgroup$ Commented Feb 21, 2017 at 19:46

1 Answer 1


There is no example of what kind of waveform it is in this question. So I'll answer about the waveforms I'm familiar with.

If a waveform moves with rules that are easy for humans to discover, computers can easily discover the rules too. In this case, please use RNN (Recurrent Neural Network). Among them, GRU, LSTM, etc. will be easier to access.

However, most of the reasons we want to use a computer to predict a waveform is that it is difficult for the human eye to discover the rules in waveform prediction. In this case, unfortunately, it is difficult for computers to discover rules as well.

  1. Normality: Most statistical models were created assuming normality. Therefore, most statistical models cannot be used unless your waveform is normality. Common methods to test for normality are shapiro-wilk test and kolmogorov-smirnov test.

  2. Stationarity: Stock prices are statistically a non-stationary time series.

2.1. Before Machine Learning: A common method to test for stationarity is the ADF test. A method of obtaining meaningful results from data input as an non-stationary time series is called 'differential'. People used ARIMA before machine learning. Therefore, If You have non-stationarity waveforms, I would recommend ARIMA first.

2.2. Machine Learning: In the case of a non-stationary time series, if the RNN is run without being differentiated, meaningless results are output. You could bring in a SOTA model, but it would still be meaningless without correction for non-stationary time series. Therefore, If You have non-stationarity waveforms and You want to solve it with machine learning, I would recommend LSTM with differentiated waveform.

If you want to know more, I recommend a book 'Practical Time Series Analysis: Prediction with Statistics and Machine Learning, Aileen Nielsen'(2019) If You show Your data, I'll edit my answer to Your data.


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.