# SMC: Generic Sequential Monte Carlo Method In NTS: Nonlinear Time Series Analysis

## Description

Function of generic sequential Monte Carlo method with delay weighting not using full information proposal distribution.

## Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13``` ```SMC( Sstep, nobs, yy, mm, par, xx.init, xdim, ydim, resample.sch, delay = 0, funH = identity ) ```

## Arguments

 `Sstep` a function that performs one step propagation using a proposal distribution. Its input includes `(mm,xx,logww,yyy,par,xdim,ydim)`, where `xx` and `logww` are the last iteration samples and log weight. `yyy` is the observation at current time step. It should return `xx` (the samples xt) and `logww` (their corresponding log weight). `nobs` the number of observations `T`. `yy` the observations with `T` columns and `ydim` rows. `mm` the Monte Carlo sample size. `par` a list of parameter values to pass to `Sstep`. `xx.init` the initial samples of `x_0`. `xdim` the dimension of the state variable `x_t`. `ydim` the dimension of the observation `y_t`. `resample.sch` a binary vector of length `nobs`, reflecting the resampling schedule. resample.sch[i]= 1 indicating resample should be carried out at step `i`. `delay` the maximum delay lag for delayed weighting estimation. Default is zero. `funH` a user supplied function `h()` for estimation `E(h(x_t) | y_t+d`). Default is identity for estimating the mean. The function should be able to take vector or matrix as input and operates on each element of the input.

## Value

The function returns `xhat`, an array with dimensions `(xdim; nobs; delay+1)`, and the scaled log-likelihood value `loglike`. If `loglike` is needed, the log weight calculation in the `Sstep` function should retain all constants that are related to the parameters involved. Otherwise, `Sstep` function may remove all constants that are common to all the Monte Carlo samples. It needs a utility function `circular2ordinal`, also included in the `NTS` package, for efficient memory management.

## References

Tsay, R. and Chen, R. (2018). Nonlinear Time Series Analysis. John Wiley & Sons, New Jersey.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12``` ```nobs= 100; pd= 0.95; ssw= 0.1; ssv= 0.5; xx0= 0; ss0= 0.1; nyy= 50; yrange= c(-80,80); xdim= 2; ydim= nyy; mm= 10000 yr=yrange-yrange par=list(ssw=ssw,ssv=ssv,nyy=nyy,pd=pd,yr=yr) simu=simuTargetClutter(nobs,pd,ssw,ssv,xx0,ss0,nyy,yrange) xx.init=matrix(nrow=2,ncol=mm) xx.init[1,]=yrange+runif(mm)*yr xx.init[2,]=rep(0.1,mm) resample.sch=rep.int(1,nobs) out= SMC(Sstep.Clutter,nobs,simu\$yy,mm,par,xx.init,xdim,ydim,resample.sch) ```

NTS documentation built on Aug. 6, 2020, 5:08 p.m.