>  Docs Center  >  Libraries  >  ASTROLIB  >  KSONE
Libraries

KSONE

KSONE

Name


      KSONE

Purpose


      Compute the one-sided Kolmogorov-Smirnov statistic

Explanation


      Returns the Kolmogorov-Smirnov statistic and associated probability for
      for an array of data values and a user-supplied cumulative distribution
      function (CDF) of a single variable. Algorithm from the procedure of
      the same name in "Numerical Recipes" by Press et al. 2nd edition (1992)

Calling Sequence


      ksone, data, func_name, D, prob, [ /PLOT ]

Input Parameters


      data - vector of data values, must contain at least 4 elements for the
              K-S statistic to be meaningful
      func_name - scalar string giving the name of the cumulative distribution
              function. The function must be defined to accept the data
              vector as its only input (see example), though keywords may be
              passed via the _EXTRA facility.

Output Parameters


      D - floating scalar giving the Kolmogorov-Smirnov statistic. It
              specified the maximum deviation between the cumulative
              distribution of the data and the supplied function
      prob - floating scalar between 0 and 1 giving the significance level of
              the K-S statistic. Small values of PROB show that the
              cumulative distribution function of DATA is significantly
              different from FUNC_NAME.

Optional Input Keyword


      /PLOT - If this keyword is set and non-zero, then KSONE will display a
              plot of the CDF of the data with the supplied function
              superposed. The data value where the K-S statistic is
              computed (i.e. at the maximum difference between the data CDF
              and the function) is indicated by a vertical line.
              KSONE accepts the _EXTRA keyword, so that most plot keywords
              (e.g. TITLE, XTITLE, XSTYLE) can also be passed to KSONE.
      /WINDOW - If set, the plot to a resizeable graphics window

Example


      Determine if a vector created by the RANDOMN function is really
      consistent with a Gaussian distribution with unit variance.
      The CDF of a Gaussian is the error function except that a factor
      of 2 is included in the error function. So we must create a special
      function:
      function gauss_cdf, x
      return, errorf( x/sqrt(2) )
      end
      IDL> data = randomn(seed, 50) ;create data array to be tested
      IDL> ksone, abs(data), 'gauss_cdf', D, prob, /PLOT ;Use K-S test
     
      A small value of PROB indicates that the cumulative distribution of
        DATA is significantly different from a Gaussian

Notes


      The code for PROB_KS is from the 2nd (1992) edition of Numerical
      Recipes which includes a more accurate computation of the K-S
      significance for small values of N than the first edition.
      Since _EXTRA is used to pass extra parameters both to the user-supplied
      function, and to the cgPLOT command, the user-supplied function should
      not accept "cgPLOT" keyword names (e.g. XTITLE).

Procedure Calls


      procedure PROB_KS - computes significance of K-S distribution
      TAG_EXIST()

Revision History


      Written W. Landsman August, 1992
      Accept _EXTRA keywords W. Landsman September, 1995
      Fixed possible bug in plot display showing position maximum difference
      in histogram M. Fardal/ W. Landsman March, 1997
      Documentation updates W. Landsman June 2003
      Pass _EXTRA to func_name M. Fitzgerald April, 2005
      Work for functions that do not accept keywords W. Landsman July 2009
      Use Coyote graphics for plotting Feb 2011



© 2024 NV5 Geospatial Solutions, Inc. |  Legal
   Contact Us