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

5 次查看(过去 30 天)
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.

采纳的回答

Remo Pillat
Remo Pillat 2022-1-27
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 个评论
Geraldo Cesario Junior
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by