Particle Smoothing Expectation Maximization Procedure

An estimation technique for time series data. Extension to previous code
1.4K Downloads
Updated 17 Dec 2010

View License

Suppose you have a random process x(t), that is generated from time indexed densities N(m1(t),sigma1(t)) with probability alpha, and from density N(m2(t),sigma2(t)) with probability 1-alpha.

The process x(t) is directly unobservable but can be observed through y(t)=f(x(t))+noise

Given only the data y(t), we develop a methodology to estimate the parameters [m1(t),sigma1(t),m2(t),sigama2(t),alpha] that govern this specified process.

We illustrate the application of this methodology using the following process

x(t) = a*x(t-1)+Jump(t) where Jump(t)=N(m1,sigma1) with prob. alpha, and Jump(t)=0 with prob. 1-alpha
y(t) = c*exp(x(t)) + noise;

This model was developed because it can be use to generate Random Walks, AR(1) processess, Mean Reversion Processes, Stochastic Volatility, and Stochastics processes with spikes or Jumps. Our particular interest was in developing a model for estimating price spikes in electricity.

The paper attached 'An estimation Technique for Time Indexed Gaussian Mixture Model', shows how to develop the estimation procedure for this model and the same technique can be applied to any model of the form

x(t)=f(x(t))+Jump(t)
y(t)=g(x(t))+noise

The code attached illustrates the application of our methodology, if is extremely computionally intensive as it requires the use of particle smoothing. This is the extension of the first parameter estimation code, in which we assumed that both (y(t) and x(t)) were known. Now we only assume the data y(t) as given.

Run simulationexample.m to obtain 'figure 5' and dataexample.m to obtain 'figure 6'

Cite As

Moeti Ncube (2024). Particle Smoothing Expectation Maximization Procedure (https://www.mathworks.com/matlabcentral/fileexchange/29723-particle-smoothing-expectation-maximization-procedure), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Linear and Nonlinear Regression in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.3.0.0

mispelling of partical in title

1.1.0.0

revised title to mention procedure being used

1.0.0.0