How to find the Relative Root Mean Square Error for the given data?
조회 수: 275 (최근 30일)
이전 댓글 표시
I have some data as given below:
u=[-30 30 -50 50];% desired vector
low = [-90 -90 -90 -90];
up = [90 90 90 90];
b = low + (up - low) .* randn(1,4);% Estimated vetors
How will we find the Relative Root Mean Sqaure Error (RRMSE) for this? Further, what does the RRMSE show?
댓글 수: 6
Dyuman Joshi
2024년 3월 7일
편집: Dyuman Joshi
2024년 3월 7일
@Sadiq Akbar, you should read the comments included in the code above.
답변 (1개)
Divyam
2024년 10월 30일 6:07
@Manikanta Aditya's comment (https://www.mathworks.com/matlabcentral/answers/2091226-how-to-find-the-relative-root-mean-square-error-for-the-given-data#comment_3090826) perfectly summarizes the workflow for finding the RRMSE.
To compare by drawing a plot for RMSE and RRMSE, you can simply use a barplot and check the values for each using the code below in addition to the code provided by Manikanta:
metrics = [rmse, rrmse];
metric_names = {'RMSE', 'RRMSE'};
figure;
bar(metrics);
set(gca, 'xticklabel', metric_names);
ylabel('Error');
title('Comparison of RMSE and RRMSE');
The key difference between RMSE and RRMSE is that RRMSE normalizes the RMSE value by dividing RMSE by the mean of the observed values. RRMSE is a better measure for comparing error values across different datasets. RRMSE thus makes the error relative to the size of the data and hence removes the influence of scaling on datasets.
Dataset 1:
observed = [100, 120, 150]
predicted = [98, 123, 147]
RMSE = 2.708
RRMSE = 0.021788
Dataset 2:
observed = [1000, 1200, 1500]
predicted = [980, 1230, 1470]
RMSE = 27.0801
RRMSE = 0.021788
Notice how the values for RMSE in the above example vary heavily with the values in the dataset but RRMSE stays constant despite the scaling.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Tables에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!