Partial Autocorrelation parcorr bug?

4 ビュー (過去 30 日間)
Duncan Carlsmith
Duncan Carlsmith 2025 年 3 月 12 日
コメント済み: Duncan Carlsmith 2025 年 3 月 28 日
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

採用された回答

Shantanu Dixit
Shantanu Dixit 2025 年 3 月 28 日
編集済み: Shantanu Dixit 2025 年 3 月 28 日
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!
  1 件のコメント
Duncan Carlsmith
Duncan Carlsmith 2025 年 3 月 28 日
Thank you, Shantanu!

サインインしてコメントする。

その他の回答 (0 件)

タグ

製品


リリース

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by