Linear Fit VI

Owning Palette: Fitting VIs

Requires: Full Development System

Returns the linear fit of a data set (X, Y) using the Least Square, Least Absolute Residual, or Bisquare method.

Details  Examples

 Add to the block diagram  Find on the palette
Y is the array of dependent values. The length of Y must be greater than or equal to the number of unknown parameters.
X is the array of independent values. X must be the same size as Y.
Weight is the array of weights for the observations (X, Y). Weight must be the same size as Y. Weight also must contain non-zero elements. If an element in Weight is less than 0, the VI uses the absolute value of the element.

If you do not wire an input to Weight, the VI sets all elements of Weight to 1.
tolerance determines when to stop the iterative adjustment of slope and intercept when you use the Least Absolute Residual or Bisquare method. For the Least Absolute Residual method, if the relative difference between residue in two successive iterations is less than tolerance, this VI returns the resulting residue. For the Bisquare method, if any relative difference between slope and intercept in two successive iterations is less than tolerance, this VI returns the resulting slope and intercept.

If tolerance is less than or equal to 0, this VI sets tolerance to 0.0001.
method specifies the fitting method.

0Least Square (default)
1Least Absolute Residual
2Bisquare
parameter bounds contains the upper and lower constraints for the slope and intercept. If you know the exact value of certain parameters, you can set the lower and upper bounds of those parameters equal to the known values.
slope min specifies the lower bound for the slope. The default value is -Inf, which means no lower bound is imposed on the slope.
slope max specifies the upper bound for the slope. The default value is Inf, which means no upper bound is imposed on the slope.
intercept min specifies the lower bound for the intercept. The default value is -Inf, which means no lower bound is imposed on the intercept.
intercept max specifies the upper bound for the intercept. The default value is Inf, which means no upper bound is imposed on the intercept.
Best Linear Fit returns the y-values of the fitted model.
slope returns the slope of the fitted model.
intercept returns the intercept of the fitted model.
error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster.
residue returns the weighted mean error of the fitted model. If method is Least Absolute Residual, residue is the weighted mean absolute error. Otherwise, residue is the weighted mean square error.

Linear Fit Details

This VI uses the iterative general Least Square method and the Levenberg-Marquardt method to fit experimental data to a straight line of the general form described by the following equation:

f = ax + b

where x is the input sequence X, a is slope, and b is intercept. This VI finds the values of a and b that best fit the observations (X, Y).

The following equation specifically describes the linear curve resulting from the linear fit algorithm:

y[i] = ax[i] + b

If the noise of Y is Gaussian distributed, use the Least Square method. The following illustration shows the linear fit result using this method.

When you use the Least Square method, this VI finds the slope and intercept of the linear model by minimizing residue according to the following equation:

where N is the length of Y, wi is the ith element of Weight, fi is the ith element of Best Linear Fit, and yi is the ith element of Y.

The Least Absolute Residual and Bisquare methods are robust fitting methods. Use these methods if outliers in the observations exist. The following illustration compares the fit results of the Least Square, Least Absolute Residual, and Bisquare fitting methods. In most cases, the Bisquare method is less sensitive to outliers than the Least Absolute Residual method.

When you use the Least Absolute Residual method, this VI finds the slope and intercept of the linear model by minimizing residue according to the following equation:

When you use the Bisquare method, this VI obtains the slope and intercept using an iterative process, as shown in the following illustration, and calculates residue using the same formula as in the Least Square method.

Examples

Refer to the following VIs for examples of using the Linear Fit VI: