Filter löschen
Filter löschen

RMSE plot of Monte Carlo simulation

11 Ansichten (letzte 30 Tage)
Sebsatien
Sebsatien am 2 Dez. 2020
Kommentiert: Sebsatien am 4 Dez. 2020
Hello
I would like your help for this problem that has been bothering me for quite some time.
So, I want to plot the Monte Carlo Simulation of the Root Mean Square Error (RMSE) between a parameter and an estimated parameter
I've written the attached code which was easy enough but the problem is that the plot seems off. From what I know RMSE is supposed to decrease with the number of simulations not oscillate like this.
What I am doing wrong ? And what to do to have a correct plot ?
Thanks in advance
Here's the code :
param = 1 ;
paramest = 1.2 ;
N = 1000;
for n = 1:N
y = param*rand(1,N);
yest = paramest*rand(1,N);
RMSE(n) = sqrt(mean((y - yest).^2));
end
plot(RMSE)
  3 Kommentare
Sebsatien
Sebsatien am 2 Dez. 2020
oh ok. Then I must have misunderstood MC simulation... I thought it was supposed to give the response of a given model in regards to random inputs.
So , I generated "N" random inputs and I wanted to find an output for each input before calculating the RMSE of all the outputs.
So what am I missing ?
Thanks for the reply
KSSV
KSSV am 2 Dez. 2020
You are missng the exact problem definition.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jeff Miller
Jeff Miller am 2 Dez. 2020
RMSE is not supposed to decrease with the number of iterations, but it should stabilize.
Your plot oscillates because each point is based on a single estimate--the one generated at each value of n--nothing is being computed cumulatively across iterations. Try changing the end of your script to this:
cumRMSE = cumsum(RMSE) ./ [1:N];
plot(cumRMSE)
  1 Kommentar
Sebsatien
Sebsatien am 4 Dez. 2020
Thank you very much my good sir, you saved my life. =)

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