I've built a SARIMAX model based on my personal spendings record as a college thesis and have reached a point where I'm pretty content with how it turned out and am getting ready to start writing the documentation.

However, besides technical details, I have to provide an easy to understand view on the system's performance to people unfamiliar with machine learning.

At the moment I've implemented an error function like this: MAE_i = abs(predicted_i - observed_i) / observed_i and then I calculate the sum of parts and average them out MAE = sum(MAE_i) / len(observations). This gives me an error of about 7%.

Is this acceptable or can I devise an easier to understand view on the accuracy of my model?

def computeError(pred, originalData):
    slice = originalData.loc['2019-08-25 00:00:00':]
    meanError = 0
    for pair in zip(slice.values, pred):
        meanError += abs(pair[0] - pair[1]) / pair[1]

    print(f'Mean Absolute Error is {meanError/len(pred)*100}%')

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.