* * Chapter 3, UK data * open data ukdriversksi.txt calendar(m) 1969 data(format=free,org=columns,skips=1) 1969:01 1984:12 ksi set logksi = log(ksi) * @LocalDLM(type=trend,shocks=both,a=at,c=ct,f=ft) @LocalDLMInit(irreg=sigsqeps) logksi * * Estimation with sigsqxi and sigsqzeta fixed at zero * nonlin sigsqeps sigsqxi=0.0 sigsqzeta=0.0 dlm(a=at,c=ct,sv=sigsqeps,f=ft,sw=%diag(||sigsqxi,sigsqzeta||),exact,y=logksi,$ method=bfgs,vhat=vhat,svhat=svhat) * set resids = %scalar(vhat)/sqrt(%scalar(svhat)) @STAMPDiags(ncorrs=15) resids * dlm(a=at,c=ct,sv=sigsqeps,f=ft,sw=%diag(||sigsqxi,sigsqzeta||),exact,y=logksi,$ type=smooth) / xstates set level = %scalar(xstates) set irreg = logksi-level * graph(footer="UK data with deterministic trend") 2 # logksi # level * * Same model, freeing up variances * @LocalDLMInit(irreg=sigsqeps,trend=sigsqzeta) logksi compute sigsqxi=sigsqeps*.01 nonlin sigsqeps sigsqxi sigsqzeta dlm(a=at,c=ct,sv=sigsqeps,f=ft,sw=%diag(||sigsqxi,sigsqzeta||),exact,y=logksi,$ method=bfgs,vhat=vhat,svhat=svhat) * * Unconstrained, sigsqzeta comes in negative, so we re-estimate with it * fixed at 0. (The results in the text come from estimating the * variances in log form, which prevents negative values. The 1.5e-11 is * effectively zero). The results here will be identical to section 3.3 * in the book. * nonlin sigsqeps sigsqxi sigsqzeta=0.0 dlm(a=at,c=ct,sv=sigsqeps,f=ft,sw=%diag(||sigsqxi,sigsqzeta||),exact,y=logksi,$ method=bfgs,vhat=vhat,svhat=svhat) set resids = %scalar(vhat)/sqrt(%scalar(svhat)) @STAMPDiags(ncorrs=15) resids * dlm(a=at,c=ct,sv=sigsqeps,f=ft,sw=%diag(||sigsqxi,sigsqzeta||),exact,y=logksi,$ type=smooth) / xstates set level = %scalar(xstates) set irreg = logksi-level graph(footer="Figure 3.1 Stochastic linear trend model",$ key=upright,klabels=||"Log UK drivers KSI","Stochastic level and slope"||) 2 # logksi # level set irreg = logksi-level graph(footer="Figure 3.3 Irregular component for stochastic linear trend") # irreg