Difference between ar() function burg implementation and arburg() function

조회 수: 8 (최근 30일)
If we have e.g. ar(y,20,'Burg') where y is the time series and 20 is the model order, y must have a length of 40 data points minimum to work.
If we have arburg(y,20) y can have a length of 20 data points minimum to work.
Why ar() requires double the data points compared to arburg() for the same model order?
For ar() if model order is 20 and data points are 40, does it consider the 20 last observations and discard the 20 first observations?

채택된 답변

Shubham
Shubham 2023년 8월 1일
Hi Demos,
The reason why the `ar()` function requires double the data points compared to `arburg()` for the same model order is due to the specific implementation of the Burg algorithm in MATLAB.
The Burg algorithm used by the `ar()` function estimates the AR model coefficients iteratively. It starts by initializing the estimated coefficients to zero and then updates them one by one. At each iteration, the algorithm uses all the available data points to estimate the next coefficient. As a result, the algorithm needs a sufficient number of data points to ensure accurate estimation of each coefficient.
In the case of `ar()`, if the model order is 20 and the data points are 40, it does not discard the first 20 observations. Instead, it uses all 40 data points to estimate the model coefficients. The model order determines the number of coefficients to estimate, but it does not specify the number of data points to use.
On the other hand, the `arburg()` function in MATLAB automatically determines the model order based on the AIC or FPE criterion. It uses a different approach that allows for a shorter minimum length of the input data. The specific implementation of `arburg()` is designed to handle cases where the number of data points is closer to the model order.
To summarize, the `ar()` function in MATLAB requires double the data points compared to `arburg()` for the same model order due to the different implementation and requirements of the Burg algorithm used by each function.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Spectral Analysis에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by