diff options
-rw-r--r-- | R/estpoly.R | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/R/estpoly.R b/R/estpoly.R index d951ad5..8445e48 100644 --- a/R/estpoly.R +++ b/R/estpoly.R @@ -344,10 +344,14 @@ oe <- function(x,order=c(1,1,0),options=optimOptions()){ if(nf<1) stop("Not an OE model") - leftPadZeros <- function(x,n) c(rep(0,n),x) + # Initial Model mod_arx <- iv4(x,c(nf,nb,nk)) # fitting ARX model - ivs <- matrix(predict(mod_arx)) + wk <- resid(mod_arx) + e_init <- as.numeric(signal::filter(signal::Ma(mod_arx$sys$A),wk)) + ivs <- y-e_init theta0 <- matrix(c(mod_arx$sys$B,mod_arx$sys$A[-1])) + + leftPadZeros <- function(x,n) c(rep(0,n),x) uout <- apply(u,2,leftPadZeros,n=n) l <- levbmqdt(y,uout,order,ivs,obj=oeGrad,theta0=theta0,N=N, |