Sstep.Clutter.Full.RB: Sequential Importance Sampling under Clutter Environment

Description Usage Arguments Value References Examples

Description

This function performs one step propagation using the sequential importantce sampling with full information proposal distribuiton and returns Rao-Blackwellization estimate of mean under clutter environment.

Usage

1
Sstep.Clutter.Full.RB(mm, xx, logww, yyy, par, xdim, ydim, resample.sch)

Arguments

mm

the Monte Carlo sample size m.

xx

the samples in the last iteration.

logww

the log weight in the last iteration.

yyy

the observations.

par

a list of parameter values (ssw,ssv,pd,nyy,yr), where ssw is the standard deviation in the state equation, ssv is the standard deviation for the observation noise, pd is the probability to observe the true signal, nyy the dimension of the data, and yr is the range of the data.

xdim

the dimension of the state varible x_t.

ydim

the dimension of the observation y_t.

resample.sch

a binary vector of length obs, reflecting the resampling schedule. resample.sch[i]= 1 indicating resample should be carried out at step i.

Value

The function returns a list with the following components:

xx

the new sample.

logww

the log weights.

xhat

the fitted vlaues.

xhatRB

the fitted values using Rao-Blackwellization.

References

Tsay, R. and Chen, R. (2019). Nonlinear Time Series Analysis. Wiley, New Jersey.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
nobs <- 100; pd <- 0.95; ssw <- 0.15; ssv <- 0.02;
xx0 <- 0; ss0 <- 0.1; nyy <- 10; yrange <- c(-80,80);
xdim <- 2; ydim <- nyy; nk <- 5
yr <- yrange[2]-yrange[1]
par <- list(ssw=ssw,ssv=ssv,nyy=nyy,pd=pd,yr=yr)
Yy10 <- array(dim=c(nyy,nobs,nk))
Xx10 <- matrix(ncol=nk,nrow=nobs)
Ii10 <- matrix(ncol=nk,nrow=nobs)
kk <- 0
seed.k <- 1
while(kk < nk){
	seed.k <- seed.k+1
	set.seed(seed.k)
	kk <- kk+1
	simu <- simuTargetClutter(nobs,pd,ssw,ssv,xx0,ss0,nyy,yrange)
	if(max(abs(simu$yy))>80){
		kk <- kk-1
	}else{
		Xx10[,kk] <- simu$xx; Yy10[,,kk] <- simu$yy; Ii10[,kk] <- simu$ii
	}
}
resample.sch <- rep.int(1,nobs)
delay <- 0; mm <- 2000;
Xxhat.p10 <- array(dim=c(nobs,1,nk))
Xxhat.RB10 <- array(dim=c(nobs,2,nk))
Xres.com1.10 <- array(dim=c(nobs,3,nk))
Xres.com2.10 <- array(dim=c(nobs,4,nk))
for(kk in 1:nk){
	xx.init <- matrix(nrow=2,ncol=mm)
	xx.init[1,] <- yrange[1]+runif(mm)*yr
	xx.init[2,] <- rep(0.1,mm)
	out3 <- SMC.Full.RB(Sstep.Clutter.Full.RB,nobs,Yy10[,,kk],mm,par,
	xx.init,xdim,ydim,resample.sch)
	Xxhat.RB10[,1,kk] <- out3$xhatRB[1,]
	Xxhat.RB10[,2,kk] <- out3$xhat[1,]
}

ConvFuncTimeSeries/test_t documentation built on May 29, 2019, 1:39 p.m.