Partial Autocorrelation parcorr bug?

3 views (last 30 days)
When running parcorr on a sample of normally distributed noise, I get some strange results like one illustrated below. Others are shown in the attached pdf and .mlx. When I try longer (>1000) samples, the code seems to hang. The code is
N=400;
for itest=1:3
figure
y=randn(1,N);
stem(y,'o', 'MarkerFaceColor', 'r')
figure
parcorr(y,'NumLags',N-1)
end

Accepted Answer

Shantanu Dixit
Shantanu Dixit on 28 Mar 2025
Edited: Shantanu Dixit on 28 Mar 2025
Hi Duncan,
The issue you're observing might be due to the choice of 'NumLags = N-1'. The 'PACF' values at larger lags have very little data left that can be used to estimate them. Using too many lags can lead to unstable estimates due to increasing standard errors. You can also refer to a related query on the forum: https://www.mathworks.com/matlabcentral/answers/122337-wrong-function-partial-autocorrelation-pacf-parcorr-greater-than-1-1.
I am able to run 'parcorr' on >1000 samples as well, although due to more samples, the execution takes some time.
Using n = 25 as number of lags in the above script
N=400;
lags = 25
lags = 25
for itest=1:3
figure
y=randn(1,N);
stem(y,'o', 'MarkerFaceColor', 'r')
figure
parcorr(y,'NumLags',lags)
end
Hope this helps!

More Answers (0)

Tags

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!