The LINFIT function fits the paired data {xi, yi} to the linear model, y = A + Bx, by minimizing the chi-square error statistic. The chi-square error statistic is computed as

LINFIT is based upon the “fit” and “gammq” routines from Numerical Recipes in C (Second Edition). See section 15.2 of Numerical Recipes in C (Second Edition) for details.

This routine is written in the IDL language. Its source code can be found in the file linfit.pro in the lib subdirectory of the IDL distribution.

Examples


; Define two n-element vectors of paired data:
X = [-3.20, 4.49, -1.66, 0.64, -2.43, -0.89, -0.12, 1.41, $
   2.95, 2.18, 3.72, 5.26]
Y = [-7.14, -1.30, -4.26, -1.90, -6.19, -3.98, -2.87, -1.66, $
   -0.78, -2.61, 0.31, 1.74]
; Define an n-element vector of Poisson measurement errors:
measure_errors = SQRT(ABS(Y))
; Compute the model parameters, A and B, and print the result:
result = LINFIT(X, Y, MEASURE_ERRORS=measure_errors)
PRINT, result

IDL prints:

-3.16574    0.829856

Syntax


Result = LINFIT( X, Y [, CHISQR=variable] [, COVAR=variable] [, /DOUBLE] [, MEASURE_ERRORS=vector] [, PROB=variable] [, SIGMA=variable] [, YFIT=variable] )

Return Value


The result is a two-element vector containing the linear model parameters [A, B].

Arguments


X

An n-element vector containing the independent variable values. X may be of type integer, floating point, or double-precision floating-point.

Y

An n-element integer, single-, or double-precision floating-point vector.

Keywords


CHISQR

Set this keyword to a named variable that will contain the value of the unreduced chi-square goodness-of-fit statistic.

COVAR

Set this keyword to a named variable that will contain the covariance matrix of the coefficients.

Note: The COVAR matrix depends only upon the independent variable X and (optionally) the MEASURE_ERRORS. The values do not depend upon Y. See section 15.4 of Numerical Recipes in C (Second Edition) for details.

DOUBLE

Set this keyword to force the computation to be done in double-precision arithmetic.

MEASURE_ERRORS

Set this keyword to a vector containing standard measurement errors for each point Y[i]. This vector must be the same length as X and Y. When MEASURE_ERRORS is set, the chi-square error statistic is computed as

where σ represents the measurement error.

Note: For Gaussian errors (e.g., instrumental uncertainties), MEASURE_ERRORS should be set to the standard deviations of each point in Y. For Poisson or statistical weighting, MEASURE_ERRORS should be set to SQRT(ABS(Y)).

PROB

Set this keyword to a named variable that will contain the probability that the computed fit would have a value of CHISQ or greater. If PROB is greater than 0.1, the model parameters are “believable”. If PROB is less than 0.1, the accuracy of the model parameters is questionable.

SIGMA

Set this keyword to a named variable that will contain the 1-sigma uncertainty estimates for the returned parameters

Note: If MEASURE_ERRORS is omitted, then you are assuming that a straight line is the correct model for your data, and therefore, no independent goodness-of-fit test is possible. In this case, the values returned in SIGMA are multiplied by
SQRT(CHISQ/(NM)), where N is the number of points in X, and M is the number of coefficients. See section 15.2 of Numerical Recipes in C (Second Edition) for details.

YFIT

Set this keyword equal to a named variable that will contain the vector of calculated Y values.

Version History


4.0

Introduced

Pre 6.1

Deprecated the SDEV keyword.

See Also


COMFIT, CURVEFIT, GAUSSFIT, LADFIT, LMFIT, POLY_FIT, REGRESS, SFIT, SVDFIT