diff options
author | Suraj Yerramilli | 2016-02-13 18:26:29 +0530 |
---|---|---|
committer | Suraj Yerramilli | 2016-02-13 18:26:29 +0530 |
commit | 8b7f7f92b633584310e8661fdf00004efe29289a (patch) | |
tree | 48bd29cf55e19d60f01db845a49336b710785478 /R/iv.R | |
parent | 1242ed4d247a9447db66278a72b5187cc034592a (diff) | |
download | SysID-R-code-8b7f7f92b633584310e8661fdf00004efe29289a.tar.gz SysID-R-code-8b7f7f92b633584310e8661fdf00004efe29289a.tar.bz2 SysID-R-code-8b7f7f92b633584310e8661fdf00004efe29289a.zip |
code for first three stages in the iv4 algo
Diffstat (limited to 'R/iv.R')
-rw-r--r-- | R/iv.R | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -46,4 +46,24 @@ iv <- function(z,order=c(0,1,0),x=NULL){ estpoly(sys = model, stats=list(vcov = vcov, sigma = sqrt(sigma2),df = df), fitted.values=ypred,residuals=e,call=match.call(),input=u) +} + +#' @export +iv4 <- function(z,order=c(0,1,0)){ + y <- outputData(z); u <- inputData(z); N <- dim(y)[1] + na <- order[1];nb <- order[2]; nk <- order[3] + nb1 <- nb+nk-1 ; n <- max(na,nb1); df <- N-na-nb + + # Steps 1-2 + mod_iv1 <- iv(z,order) + A <- signal::Ma(c(1,mod_iv1$sys$A)) + B <- signal::Ma(c(rep(0,nk),mod_iv1$sys$B)) + + # Step 3 (AR Modeling) + w <- matrix(as.numeric(signal::filter(A,y)) - + as.numeric(signal::filter(B,u))) + mod_ar <- ar(w,aic = F,order=na+nb) + L <- signal::Ma(c(1,-mod_ar$ar)) + + # Step 4 }
\ No newline at end of file |