Clear Filters
Clear Filters

Converting an equation into MATLAB code

1 view (last 30 days)
I am trying to write a code that calculates the accuracy of my network using sMAPE. The equation is depicted here:
(Y is actual value, F is forecast value, n is the amount of data)
I have written this code (I have 25 data):
e= gsubtract(output,y);
y= net(input);
accuracy = (0.08*mean(abs(e./(abs((output)+(y))))))
"output" on the code above is the target, "y" is the output (sorry for the misleading name with the actual output) Assuming I use the equation above as a reference, is this code correct?
  2 Comments
Walter Roberson
Walter Roberson on 22 Apr 2018
We do not know. How does e relate to Y or F? How does output relate to Y or F ?
NeverPerfecT
NeverPerfecT on 23 Apr 2018
Sorry about that. I edited the question, hope it clears any ambiguity.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 22 Apr 2018
sMAPE = sum(abs(Y - F) ./ abs(Y + F)) * (2/length(Y))
  2 Comments
NeverPerfecT
NeverPerfecT on 23 Apr 2018
Edited: NeverPerfecT on 23 Apr 2018
With this formula I get values that exceeds 1, is this acceptable or is there some parts I did wrong in the training process? Since based on my knowledge, sMAPE is percentage value, if the value exceeds 1, wouldn't the sMAPE exceeds 100%?
Walter Roberson
Walter Roberson on 23 Apr 2018
The forecast value could be negative. That would make (Y-F) increase beyond Y, and Y+F would be less than Y. That would give you a contribution greater than 1 at that point.

Sign in to comment.

More Answers (2)

JD Wiley
JD Wiley on 10 Sep 2019
latex2img.png

Gujju
Gujju on 27 Jun 2023
Can someone please create the Matlab code for Equation (6) & (8). Those are curves but I'm getting diefferent results.
  1 Comment
Steven Lord
Steven Lord on 27 Jun 2023
This isn't related to the original question in this discussion, so you should ask it as a separate question using the Ask link near the top of the page. When you ask that separate question, please show us the code you've written to try to solve the problem and ask a specific question about where you're having difficulty and we may be able to provide some guidance.

Sign in to comment.

Categories

Find more on Electrophysiology in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!