通过最小二乘法、最小绝对残差或Bisquare方法返回数据集(X, Y)的线性拟合。


icon

输入/输出

  • c1ddbl.png Y

    Y是由因变值组成的数组。Y的长度必须大于等于未知参数的元素个数。

  • c1ddbl.png X

    X是由自变量组成的数组。X的元素数必须等于Y的元素数。

  • c1ddbl.png 权重

    权重是观测点(X, Y)的权重数组。权重必须与Y的大小相同。权重必须包含非零元素。如权重中的某个元素小于0,VI将使用元素的绝对值。

    权重未连线,VI将把权重的所有元素设置为1。

  • cdbl.png 容差

    容差确定使用最小绝对残差或Bisquare方法时,何时停止斜率截距的迭代调整。对于最小绝对残差方法,如两次连续的交互之间残差的相对差小于容差,该VI将返回结果残差。对于Bisquare方法,如两次连续的交互之间斜率截距的相对差小于容差,该VI将返回斜率截距

    容差小于等于0,VI将把容差设置为0.0001。

  • cu16.png 方法

    方法指定拟合方法。

    0最小二乘(默认)
    1最小绝对残差
    2Bisquare
  • cnclst.png 参数界限

    参数界限包含斜率截距的上下限。如知道特定参数的值,可设置参数的上下限为该值。

  • cdbl.png 斜率最小值

    斜率最小值指定斜率的下限。默认值为-Inf,表示斜率没有下限。

  • cdbl.png 斜率最大值

    截距最大值指定截距的上限。默认值为Inf,表示截距没有上限。

  • cdbl.png 截距最小值

    截距最小值指定截距的下限。默认值为-Inf,表示截距没有下限。

  • cdbl.png 截距最大值

    截距最大值指定截距的上限。默认值为Inf,表示截距没有上限。

  • i1ddbl.png 最佳线性拟合

    最佳线性拟合返回拟合模型的Y值。

  • idbl.png 斜率

    斜率返回拟合模型的斜率。

  • idbl.png 截距

    截距返回拟合模型的截距。

  • ii32.png 错误

    错误返回VI的任何错误或警告。将错误连接至错误代码至错误簇转换VI,可将错误代码或警告转换为错误簇。

  • idbl.png 残差

    残差返回拟合模型的加权平均误差。如方法设为最小绝对残差法,则残差为加权平均绝对误差。否则残差为加权均方误差。

  • 该VI通过循环调用广义最小二乘方法和Levenberg-Marquardt方法使实验数据拟合为下列等式代表的直线方程一般式:

    f = ax + b

    x是输入序列Xa斜率b截距。该VI将得到观测点(X, Y)的最佳拟合ab的值。

    下列等式用于描述由线性拟合算法得到的线性曲线:

    y[i] = ax[i] + b

    Y的噪声为高斯分布,可使用最小二乘法。下图为使用该方法的线性拟合结果。

    如使用最小二乘法,该VI可依据下列等式最小化残差,得到对线性模型的斜率截距

    NY的长度,wi权重的第i个元素,fi是最佳线性拟合的第i个元素,yiY的第i个元素。

    最小绝对残差和Bisquare拟合方法是健壮的拟合方法。如存在超出区间的数,可使用上述方法。下图为对最小二乘法、最小绝对残差和Bisquare拟合方法的比较结果。在大多数情况下,Bisquare方法对于超出区间的数不如最小绝对残差方法敏感。

    如使用最小绝对残差法,该VI可依据下列等式最小化残差,得到对线性模型的斜率截距

    如拟合方法为Bisquare方法,该VI可采用迭代过程得到斜率截距,然后使用最小二乘法中的公式计算残差。如下图所示。

    范例

    请参考LabVIEW附带的下列范例文件。

    • labview\examples\Mathematics\Fitting\Regression Solver.vi
    • labview\examples\Mathematics\Fitting\Linear, Exp, and Power Fit.vi
    • labview\examples\Mathematics\Fitting\Robust linear fit.vi