StatTimeSerAnalysis::DurbinLevinson Function

void DurbinLevinson(TVec *gamma, TVec *Phi, double &Sigma2, const int NumEvals, TVec *PhiVar = null);

The Durbin-Levinson algorithm.

#NameTypeDescription
1gammaTVec *Defines covariances for Durbin-Levinson algorithm.
2PhiTVec *Returns phi[n,1]...phi[n,n] coefficients.
3Sigma2double &Returns estimated variance.
4NumEvalsconst intDefines number of iterations of the Durbin-Levinson algorithm.
5PhiVar = nullTVec *If not nil, it returns phi coefficients variances.
Remarks:

Uses the Durbin-Levinson algorithm to calculate phi[n,1]...phi[n,n] coefficients. Coefficients are calculated resursively from the following relations:

ϕnn=[γ(n)j=1n1ϕn1,jγ(nj)]vn11,[ϕn,1ϕn,n1]=[ϕn1,1ϕn1,n1]ϕnn[ϕn1,n1ϕn1,1]vn=vn1[1ϕnn2]\begin{aligned} \phi_{nn}&= \left[ \gamma(n)-\sum_{j=1}^{n-1} \phi_{n-1,j} \gamma(n-j)\right] v_{n-1}^ {-1} \quad , \\ \left[ \begin{array}{c}\phi_{n,1} \\ \vdots \\ \phi_{n,n-1} \\ \end{array}\right] &= \left[ \begin{array}{c}\phi_{n-1,1} \\ \vdots \\ \phi_{n-1,n-1}\\ \end{array}\right] - \phi_{nn} \left[ \begin{array}{c}\phi_{n-1,n-1} \\ \vdots \\ \phi_{n-1,1} \\ \end{array}\right] \\ v_n &= v_{n-1}[1-\phi_{nn}^2] \end{aligned}

where phi(1,1) = gamma(1)/gamma(0) and v(0)=gamma(0).

See Also: StatTimeSerAnalysis::Innovations
Declared in Dew::Stats::Units::StatTimeSerAnalysis · Dew.Stats/Units.StatTimeSerAnalysis.h · Cross-compiler