Is the result from xcorr(zsco​re(X),zsco​re(Y), 'coeff') the same as correlation coefficient for each lag position?

7 views (last 30 days)
I have 2 data sets (X and Y). Both have different units, so I standardized them by calculating zscores for each data set. I would like to get correlation coefficient (r) between the 2 data sets for each lag position. I'm trying to understand if xcorr(zscore(X),zscore(Y), 'coeff') gives me r for each lag position.
Thank you

Accepted Answer

Naman Chaturvedi
Naman Chaturvedi on 14 Sep 2018
Yes, you are correct. It does give the correlation coefficients for the every lag values. By using 'coeff' the following changes are made:-
xcorr(x,y,'coeff') = xcorr(x,y)/(sqrt(sum(abs(x).^2)*sum(abs(y).^2)))
Although, this xcorr(x,y,'coeff') is different from the pearson's definition of corr. coeff. in the sense that it doesn't subtract mean of x and y, your application will give the correct ans as the zscore already performs the normalization.
Check out the documentation for xcorr if you haven't already.
Hope this helps!
  1 Comment
Chalita on 15 Sep 2018
Thank you so much for your responses! Your explanation makes sense. I can now be sure that I have correct results.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!