File Exchange

image thumbnail

Goodness of Fit (Modified)

version 1.8 (3.04 KB) by

Computes goodness of fit for regression model given matrix/vector of target and output values.



View License

 GFIT2 Computes goodness of fit for regression model

       [gf] = gfit2(t,y)
       [gf] = gfit2(t,y,gFitMeasure)
       [gf] = gfit2(t,y,gFitMeasure,options)

           t: matrix or vector of target values for regression model
           y: matrix or vector of output from regression model.
 gFitMeasure: a string or cell array of string values representing
               different form of goodness of fit measure as follows:
               'all' - calculates all the measures below
               '1' - mean squared error (mse)
               '2' - normalised mean squared error (nmse)
               '3' - root mean squared error (rmse)
               '4' - normalised root mean squared error (nrmse)
               '5' - mean absolute error (mae)
               '6' - mean absolute relative error (mare)
               '7' - coefficient of correlation (r)
               '8' - coefficient of determination (d)
               '9' - coefficient of efficiency (e)
               '10' - maximum absolute error
               '11' - maximum absolute relative error

    options: a string containing other output options, currently the only option is verbose output.

                'v' - verbose output, posts some text output for the
                    chosen measures to the command line

      gf: vector of goodness of fit values between model output and target for each of the strings in gFitMeasure


      gf = gfit2(t,y); for all statistics in list returned as vector

      gf = gfit2(t,y,'3'); for root mean squared error

      gf = gfit2(t,y, {'3'}); for root mean squared error

      gf = gfit2(t,y, {'1' '3' '9'}); for mean squared error, root mean
            | squared error, and coefficient of
           \|/ efficiency
      gf = [mse rmse e]

      gf = gfit2(t,y,'all','v'); for all statistics in list returned as
                    vector with information posted to the
                    command line on each statistic

      gf = gfit2(t,y, {'1' '3' '9'}, 'v'); for mean squared error, root
                    mean squared error, and
                    coefficient of efficiency as a
                    vector with information on each
                    of these also posted to the
                    command line

Comments and Ratings (5)


Very useful and well written function. Thanks.


Ben (view profile)

David Yeo

Thank you. !!



Added a verbose option to return some information to the command line


Actually uploaded new file this time, managed to forget to on last update.


Changed output for gfit2(t,y) now returns all available statistics as a vector rather than just the mean squared error (choice 1). Also made minor changes to comments and help section.


Fixed some bugs and spelling mistakes in comments, and added new output option.

MATLAB Release
MATLAB 7.2 (R2006a)

Inspired by: Goodness of Fit

Inspired: gapolyfitn

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video