how to convert this code exposal to linear and how to find mape
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
function [a,g0] = getExpontialModel(f)
A = zeros(1,length(f)-1);
G_0 = zeros(1,length(f)-1);
for i=2:length(f)
if f(i-1) ~= 0
A(i-1) = f(i)/f(i-1);
else
A(i-1) = 1;
end
end
a = median(A); %more robust than mean function
for i=1:length(f)-1
G_0(i) = f(i)/a^i;
end
g0 = median(G_0);%more robust than mean function
0 commentaires
Réponses (1)
Rahul
il y a environ une heure
In order to convert the exponential model to a linear model, consider using the logarithmic transformation. For this 'log' function can directly be used.
In order to fins the MAPE (Mean Absolute Percentage Error), a direct function is not availble in MATLAB in R2017b, however, it can be calculated using its formula. Here is an example:
g0 = median(G_0);
% Linearize the data
log_f = log(f);
% Calculate predicted values using the exponential model
predicted_f = g0 * a.^(0:length(f)-1);
% Calculate MAPE
mape = 100 * mean(abs((f - predicted_f) ./ f));
From MATLAB R2022b a direct 'mape' function was introduced:
mape_1 = mape(predicted_f,f);
The following MATLAb Answers can be referred:
The following MathWorks documentations can be referred to know more:
0 commentaires
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!