MATLAB Answers

How do I compare two multivariate timeseries? NARMAX?

29 views (last 30 days)
Matt Tlom
Matt Tlom on 20 Jul 2017
Answered: Greg Heath on 5 Nov 2017
I have two datasets in form of time-series: (Y_1(t), X_1(t)) and (Y_2(t), X_2(t)), which comes from measurements of the same object during two repetitions of the same experiment in two different structures(a dynamic driving cycle for the same IC engine).
Y is my response signal, measured CO2 level X contains information about environmental variables, such as humidity, pressure and temperature, and measurements of factors which affects Y, such as speed, momentum, humidity, flows, exhaust pressure&temperature, etc., for a total of 15 variables.
What is the most informative way to compare Y_1 and Y_2? I would like to be either be able to say that the Y_1 differs from Y_2 in a predictable way, due to a given change in a given variable contained in X or that the differences between Y_1 and Y_2 are not explainable by a change in X. Can creating a NARX/NARMAX model for either of them help me in any way?
Thanks in advance!

  2 Comments

Greg Heath
Greg Heath on 26 Jul 2017
QUES: WHAT OR WHERE IS NARMAX???
ANS: I GUESS I FORGOT:
https://www.mathworks.com/matlabcentral/answers/346926-how-do-i-update-narx-network-to-a-narmax-network-using-the-matlab-neural-network-toolbox
Matt Tlom
Matt Tlom on 15 Aug 2017
Hi Greg! Yes, I meant NARX when referring to the Neural Network Time Series Tool. I do not think I need NARMAX in my case. Do you have any recommendation about how to use NARX in the Matlab NNTS tool for comparing my two datasets?
Thanks in advance

Sign in to comment.

Accepted Answer

Carl
Carl on 25 Jul 2017
Hi Matteo. How to compare Y_1 and Y_2 in an informative way is a very broad question, and I think it would mostly depend on what specific information you're looking for. See the following page for a list of MATLAB functions for analyzing time series data in the System Identification Toolbox:
As well as using NARX and time-delay neural networks:
Alternatively, you can perform some type of regression on your X and Y data. The Statistics and Machine Learning Toolbox has a variety of regression models for this:

  2 Comments

Greg Heath
Greg Heath on 30 Jul 2017
The Neural Network Toolbox does not have NARMAX and NARXMAX.
However, they probably are in one of the other toolboxes.
Greg
Greg Heath
Greg Heath on 5 Nov 2017
NARMAX and NARXMAX are not available in MATLAB.
The "MA" stands for "MovingAverage" and the above functions appear to differ from NAR and NARX by including linear combinations of past errors as feedback signals.
However, since
error = target-output
it looks like they can only be used as long as target data is available.
Greg

Sign in to comment.

More Answers (1)

Greg Heath
Greg Heath on 5 Nov 2017
I assume both Y and X are multi-dimensional yielding multidimensional DX = X2-X1 and DY = Y1-Y2.
Then the best way that I can think of explaining differences is to curvefit both DX and DY. Then plot
DYi vs DXj where i and j represent dimension indices, not data points.
Hope this helps
Thank you for formally accepting my answer
Greg

  0 Comments

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by