gaussian_approx {bssm} R Documentation

## Gaussian Approximation of Non-Gaussian/Non-linear State Space Model

### Description

Returns the approximating Gaussian model which has the same conditional mode of p(alpha|y, theta) as the original model. This function is rarely needed itself, and is mainly available for testing and debugging purposes.

### Usage

```gaussian_approx(model, max_iter, conv_tol, ...)

## S3 method for class 'nongaussian'
gaussian_approx(model, max_iter = 100, conv_tol = 1e-08, ...)

## S3 method for class 'ssm_nlg'
gaussian_approx(model, max_iter = 100, conv_tol = 1e-08, iekf_iter = 0, ...)
```

### Arguments

 `model` Model to be approximated. Should be of class `bsm_ng`, `ar1_ng` `svm`, `ssm_ung`, or `ssm_mng`, or `ssm_nlg`, i.e. non-gaussian or non-linear `bssm_model`. `max_iter` Maximum number of iterations as a positive integer. Default is 100 (although typically only few iterations are needed). `conv_tol` Positive tolerance parameter. Default is 1e-8. Approximation is claimed to be converged when the mean squared difference of the modes of is less than `conv_tol`. `...` Ignored. `iekf_iter` For non-linear models, non-negative number of iterations in iterated EKF (defaults to 0, i.e. normal EKF). Used only for models of class `ssm_nlg`.

### Value

Returns linear-Gaussian SSM of class `ssm_ulg` or `ssm_mlg` which has the same conditional mode of p(alpha|y, theta) as the original model.

### References

Koopman, SJ and Durbin J (2012). Time Series Analysis by State Space Methods. Second edition. Oxford: Oxford University Press.

Vihola, M, Helske, J, Franks, J. (2020). Importance sampling type estimators based on approximate marginal Markov chain Monte Carlo. Scand J Statist. 1-38. https://doi.org/10.1111/sjos.12492

### Examples

```data("poisson_series")
model <- bsm_ng(y = poisson_series, sd_slope = 0.01, sd_level = 0.1,
distribution = "poisson")
out <- gaussian_approx(model)
for(i in 1:7)
cat("Number of iterations used: ", i, ", y[1] = ",
gaussian_approx(model, max_iter = i, conv_tol = 0)\$y[1], "\n", sep ="")

```

[Package bssm version 1.1.7-1 Index]