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

5 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Remo Pillat
Remo Pillat am 27 Jan. 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 Kommentare
Geraldo Cesario Junior
Geraldo Cesario Junior am 27 Jan. 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 am 1 Feb. 2022
Thank you for answer. This is Helpfull.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by