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

조회 수: 7 (최근 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
Geraldo Cesario Junior 2022년 1월 27일
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 2022년 2월 1일
Thank you for answer. This is Helpfull.

댓글을 달려면 로그인하십시오.

추가 답변 (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