线性拟合
- 更新时间2025-07-30
- 阅读时长6分钟
通过最小二乘法、最小绝对残差或Bisquare方法返回数据集(X, Y)的线性拟合。

输入/输出
Y
—
Y是由因变值组成的数组。Y的长度必须大于等于未知参数的元素个数。
X
—
X是由自变量组成的数组。X的元素数必须等于Y的元素数。
权重
—
权重是观测点(X, Y)的权重数组。权重必须与Y的大小相同。权重必须包含非零元素。如权重中的某个元素小于0,VI将使用元素的绝对值。 如权重未连线,VI将把权重的所有元素设置为1。
容差
—
容差确定使用最小绝对残差或Bisquare方法时,何时停止斜率和截距的迭代调整。对于最小绝对残差方法,如两次连续的交互之间残差的相对差小于容差,该VI将返回结果残差。对于Bisquare方法,如两次连续的交互之间斜率和截距的相对差小于容差,该VI将返回斜率和截距。 如容差小于等于0,VI将把容差设置为0.0001。
方法
—
方法指定拟合方法。
参数界限
—
参数界限包含斜率和截距的上下限。如知道特定参数的值,可设置参数的上下限为该值。
最佳线性拟合
—
最佳线性拟合返回拟合模型的Y值。
斜率
—
斜率返回拟合模型的斜率。
截距
—
截距返回拟合模型的截距。
错误
—
错误返回VI的任何错误或警告。将错误连接至错误代码至错误簇转换VI,可将错误代码或警告转换为错误簇。
残差
—
残差返回拟合模型的加权平均误差。如方法设为最小绝对残差法,则残差为加权平均绝对误差。否则残差为加权均方误差。 |
该VI通过循环调用广义最小二乘方法和Levenberg-Marquardt方法使实验数据拟合为下列等式代表的直线方程一般式:
f = ax + bx是输入序列X,a是斜率,b是截距。该VI将得到观测点(X, Y)的最佳拟合a和b的值。
下列等式用于描述由线性拟合算法得到的线性曲线:
y[i] = ax[i] + b如Y的噪声为高斯分布,可使用最小二乘法。下图为使用该方法的线性拟合结果。

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

N是Y的长度,wi是权重的第i个元素,fi是最佳线性拟合的第i个元素,yi是Y的第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
Y
—
容差
—
方法
—
参数界限
—
最佳线性拟合
—
斜率
—
错误
—