The Trench matrix inversion algorithm is used to compute the exact concentrated loglikelihood function.
autocovariance or autocorrelation at lags 0,...,n-1, where n is length(z)
time series data
The concentrated loglikelihood function may be written Lm(beta) = -(n/2)*log(S/n)-0.5*g, where beta is the parameter vector, n is the length of the time series, S=z'M z, z is the mean-corrected time series, M is the inverse of the covariance matrix setting the innovation variance to one and g=-log(det(M)).
The loglikelihood concentrated over the parameter for the innovation variance is returned.
McLeod, A.I., Yu, Hao, Krougly, Zinovi L. (2007). Algorithms for Linear Time Series Analysis, Journal of Statistical Software.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#compute loglikelihood for white noise z<-rnorm(100) TrenchLoglikelihood(c(1,rep(0,length(z)-1)), z) #simulate a time series and compute the concentrated loglikelihood using DLLoglikelihood and #compare this with the value given by TrenchLoglikelihood. phi<-0.8 n<-200 r<-phi^(0:(n-1)) z<-arima.sim(model=list(ar=phi), n=n) LD<-DLLoglikelihood(r,z) LT<-TrenchLoglikelihood(r,z) ans<-c(LD,LT) names(ans)<-c("DLLoglikelihood","TrenchLoglikelihood")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.