rls: Recursive least-squares step with forgetting factor

View source: R/util.ts.R View source: R/lin_rls.R

rlsR Documentation

Recursive least-squares step with forgetting factor

Description

Recursive least-squares step

Usage

rls(x, y, t, P, mu = 1)

Arguments

x:

new input

y:

new output

t:

current parameter vector

P:

current covariance matrix

Value

a list with fields:

  • t.new: updated parameter vector,

  • P.new: updated covariance matrix,

  • mu: forgetting factor, the lower the highr the forgetting (1: no forget)

Author(s)

Gianluca Bontempi Gianluca.Bontempi@ulb.be

References

Handbook Statistical foundations of machine learning available in https://tinyurl.com/sfmlh

Examples

par(ask=TRUE)
n<-1;
X<-seq(-pi,pi,by=.02)
N<-length(X)
y<-sin(X)+0.1*rnorm(N)
t<-numeric(2)
P<-500*diag(n+1)
mu<-0.9 ## forgetting factor
for (i in 1:N){
 rls.step<-rls(c(1, X[i]),y[i],t,P,mu)
 t<-rls.step[[1]]
 P<-rls.step[[2]]
 plot(X[1:i],y[1:i],xlim=c(-4,4),ylim=c(-2,2),main=paste("Forgetting factor mu=",mu))
 lines(X[1:i],cbind(array(1,c(i,1)), X[1:i])%*%t,col="red",)
 ## rls fitting
}


gbonte/gbcode documentation built on Feb. 27, 2024, 7:38 a.m.