MATLAB Answers

RMSE plot of Monte Carlo simulation

61 views (last 30 days)
Sebsatien on 2 Dec 2020
Commented: Sebsatien on 4 Dec 2020
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));


KSSV on 2 Dec 2020
There is no simulation in your are creating two sets of random numbers and finding the RMSE, offcourse you will end up with the same plot what you got.
Sebsatien on 2 Dec 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 on 2 Dec 2020
You are missng the exact problem definition.

Sign in to comment.

Accepted Answer

Jeff Miller
Jeff Miller on 2 Dec 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];

  1 Comment

Sebsatien on 4 Dec 2020
Thank you very much my good sir, you saved my life. =)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by