Time series forecasting with Particle Filter, How can I Do?

5 visualizaciones (últimos 30 días)
I´trying to implement a Time Series Forecasting Using Particle Filter.
Attached are the files that i am working on.
1) Particle Filter Prediction.csv, is the file with two coluns that contem the information.
Column Index, is a sequencial number of occurrencies ( 1 to 2419 )
and column Result that is the value of each Index occurrency.
2) Projeto_ParticleFilter_forecasting is the Mathlab code File.

Respuesta aceptada

Remo Pillat
Remo Pillat el 27 de En. de 2022
Hi Geraldo,
I'm not entirely sure about the source of your data or your end goal, but I noticed a few things in your code:
  • You are only using 10 particles, which is a fairly small number. Consider increasing it. The particle filter is really good at approximating non-Gaussian probability distributions, but it requires a good number of particles to do that. Otherwise, you might see particle starvation.
  • For prediction, the particle filter uses the StateTransitionFcn function handle specified in the stateEstimatorPF object. By default, this will just spread the particles based on a zero-mean normal distribution. You probably want to set the StateTransitionFcn to some function that is more useful for your data. For example, if your data is captured from a vehicle moving at constant velocity, you could use a constant velocity state transition (constvel). There is no one-size-fits-all approach.
Hope this helps.
Thanks,
Remo
  2 comentarios
Geraldo Cesario Junior
Geraldo Cesario Junior el 27 de En. de 2022
Dear Remo, first I would like to thank you for your reply. The fact that there are only 10 particles in the example is just to make it easier. Just enter the number of particles you want, for example 5000 instead of 10 in the code that it changes immediately. This is not my problem.
To predict the next points, I will have to study the StateTransitionFcn function identifier specified in the stateEstimatorPF object. I want to make a prediction for the next ones as if I were a robot trying to find out the next steps to follow, unfortunately I only have points, I don't have a function because the series is temporal and random. Using your example, it's like a vehicle moving at constant speed but I need to dodge the potholes that appear in the road ahead. This is the best definition of what I need to do.
Geraldo Cesario Junior
Geraldo Cesario Junior el 1 de Feb. de 2022
Thank you for answer. This is Helpfull.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by