summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--R/estpoly.R8
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,