Processing math: 100%

软件工程中的曲线拟合模型


曲线拟合是构建最佳拟合一组数据点的曲线或数学函数的过程,受约束条件的限制。曲线拟合可以包括插值,这需要精确拟合数据,或者平滑,这涉及创建近似拟合数据的“平滑”函数。

回归分析是一个类似的主题,它关注统计推断问题,例如拟合到带有随机误差的数据的曲线的多少不确定性。

拟合曲线可用于帮助数据可视化、在没有提供数据的情况下预测函数值以及描述两个或多个变量之间的关系。外推法是在观测数据范围之外使用拟合曲线,它容易被误解,因为它可能代表用于构建曲线的方法以及实际数据。

曲线拟合组模型使用统计回归分析研究软件复杂度与程序中的缺陷数量、修改数量或故障率之间的关系。这类模型使用线性回归、非线性回归或时间序列分析来确定输入和输出变量之间的关系。例如,程序中的错误数量是一个因变量。自变量是维护期间修改的模块数量、故障之间的时间间隔、程序员的经验、软件的大小等等。

此类别包括以下模型:

  • 误差估计;
  • 复杂度估计;以及
  • 故障率估计。

这些将在下面讨论。

下图比较了实际值和估计值。

  • 误差估计模型

可以使用线性或非线性回归模型来估计程序中的错误数量。以下是估计程序中初始错误总数 N 的基本非线性回归模型:

N=aixi+bix2i+cix3i+ε

其中:

  • xi 是第 i 个误差因子;
  • ai、bi、ci 是模型系数;以及
  • ε 是误差项。

软件复杂度度量和环境变量是典型错误原因的示例。大多数曲线拟合模型只有一个误差分量。

  • 复杂度模型估计

使用时间序列方法,此模型用于估计软件复杂度 CR。以下是软件复杂度模型的总结:

CR=a0+a1R+a2ER+a3MR+a4IR+a5D+ε

其中

  • R 表示发布序列号。
  • ER = 发布 R 时期的环境因素。
  • MR 表示发布 R 时的模块数量。
  • IR 是发布间隔 R 的缩写。
  • D = 第一个错误发生与第二个错误发生之间的时间(天)。
  • ε = 误差

当程序随时间推移进行评估时,即发布模型的新版本时,使用此模型。

  • 故障率模型估计

此方法用于估计软件故障率。给定 t1、t2、…、tn 故障间隔,第 i 个故障间隔的故障率的近似估计为:

λi=1titi1

假设故障率单调非递增,则可以使用最小二乘法生成此函数 lambda (i = 1, 2,…, n) 的估计值。

各种曲线拟合

使用直线和多项式曲线拟合数据点。从一阶多项式方程开始:

y=ax+b

这是一条斜线。我们已经知道一条线可以连接任意两个位置。因此,一阶多项式方程是任意两个位置之间的完美匹配。

当方程的阶数增加到二阶多项式时,我们得到:

y=ax2+bx+c

这将精确地拟合三个点的一条基本曲线。

当方程的阶数增加到三阶多项式时,我们得到:

y=ax3+bx2+cx+d

这将精确拟合四个点。

更广泛的说法是它将精确拟合四个约束。每个约束可以采用点的形式、角度或曲线(这是密切圆半径的倒数)。角度和曲率约束最常添加到曲线的端点,在这种情况下称为端部条件。

为了在包含在单个样条线中的多项式曲线之间提供无缝过渡,通常使用相同的端部条件。还可以施加更高阶的约束,例如“曲率变化率”。例如,这在高速公路立交桥设计中很重要,以便了解汽车沿着立交桥行驶时施加的压力,并因此确定适当的速度限制。

鉴于此,一阶多项式方程可以完美匹配一个点和一个角度,而三阶多项式方程可以完美拟合 2 个点、一个角度约束和一个曲率约束。对于这些和更高阶的多项式方程,还有许多其他附加约束组合是可能的。

将其他曲线拟合到数据点

在特定情况下,可以使用其他类型的曲线,例如圆锥曲线(圆形、椭圆形、抛物线形和双曲线弧)或三角函数(例如正弦和余弦)。例如,当忽略空气阻力时,物体在重力作用下的轨迹遵循抛物线路径。因此,将轨迹数据点与抛物线曲线匹配是有意义的。潮汐遵循正弦模式,因此潮汐数据点应与正弦波匹配,如果还考虑了月球和太阳的影响,则应与两个不同周期的正弦波之和匹配。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

曲线的代数拟合与几何拟合

在代数数据分析中,“拟合”通常是指尝试识别使点与曲线的垂直(即 y 轴)位移最小化的曲线(例如普通最小二乘法)。另一方面,几何拟合尝试为图形和图像应用程序提供最佳视觉拟合,这通常涉及尝试最小化到曲线的正交距离(例如总最小二乘法),或者选择性地合并点与曲线的两个轴位移。几何拟合很少见,因为它们通常需要非线性和平铺计算,尽管它们会产生更美观和几何上更精确的结果。

通过几何拟合拟合圆

Coope 解决了确定圆到一组 2D 数据点的最佳视觉拟合的挑战。该方法巧妙地将通常的非线性问题转化为线性问题,无需使用迭代数值方法即可求解,因此比以前的方法快几个数量级。

通过几何拟合拟合椭圆

通过添加非线性步骤,将上述方法扩展到通用椭圆[2],从而产生一种快速且还能找到具有可变方向和位移的视觉上吸引人的椭圆的方法。

应用于曲面

虽然此解释侧重于二维曲线,但大多数推理也适用于三维曲面,每个面片由两个参数方向(通常称为 u 和 v)中的曲线网络描述。在每个方向上,曲面可以由一个或多个曲面面片构成。

更新于:2021年11月1日

655 次浏览

启动你的职业生涯

完成课程获得认证

开始
广告