From 34a35434bff9407126221085407b5301b30d9d38 Mon Sep 17 00:00:00 2001 From: Suraj Yerramilli Date: Mon, 4 Jan 2016 18:51:05 +0530 Subject: Completed predict routine --- R/predict.R | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'R/predict.R') diff --git a/R/predict.R b/R/predict.R index 84b64a8..a896c3d 100644 --- a/R/predict.R +++ b/R/predict.R @@ -12,7 +12,9 @@ predict.idpoly <- function(x,data,nahead=1){ Hinv <- signal::Arma(b=Hden,a=x$C) filtered <- signal::filter(Hinv,y-det_sys) if(nahead!=1){ - + H <- as.numeric(polynom::polynomial(x$C)*polyinv(Hden,nahead)) + Hl <- signal::Ma(H[1:nahead]) + filtered <- signal::filter(Hl,filtered) } ypred <- y[k] - filtered } @@ -39,4 +41,16 @@ predict.estpoly <- function(x,newdata=NULL,nahead=1){ polyinv <- function(x,k){ gamma <- 1/Re(polyroot(x)) + + inverse <- function(y,k){ + sapply(1:k-1,function(i) y^i) + } + z <- lapply(lapply(gamma,inverse,k=2),polynom::polynomial) + temp = z[[1]] + if(length(z)>1){ + for(i in 2:length(z)){ + temp = temp*z[[i]] + } + } + temp } \ No newline at end of file -- cgit