软件工程中的曲线拟合模型
曲线拟合是构造一条曲线或数学函数的过程,该曲线或数学函数最适合一组数据点,受约束。曲线拟合可以包括需要精确拟合数据的插值或平滑,这涉及创建近似拟合数据的“平滑”函数。
回归分析是一个类似的主题,侧重于统计推断问题,例如曲线中存在多少不确定性,该曲线适合随机误差的数据。
拟合曲线可用于帮助数据可视化,在没有提供数据时预测函数值,以及描述两个或多个变量之间的联系。外推法是在观察数据范围之外使用拟合曲线,并且容易产生误解,因为它可能与实际数据一样多地代表用于构建曲线的方法。
曲线拟合组模型使用统计回归分析研究软件复杂性与程序中的缺陷数量、修改数量或故障率之间的联系。此类模型使用线性回归、非线性回归或时间序列分析来确定输入和输出变量之间的联系。例如,程序中的错误数量就是因变量之一。自变量是维护期间修改的模块数量、故障之间的持续时间、程序员的专业知识、软件的大小等。
此类别包括以下型号 -
误差估计,
复杂度估计,和
失效率估计。
这些将在下面讨论。
下图比较了实际值和估计值。
误差估计模型
线性或非线性回归模型可用于估计程序中的错误数量。以下是用于估计程序中初始错误总数的基本非线性回归模型,N -
$$\mathrm{N = ∑a_{i}x_{i}+∑b_{i}{x^{2}_{i}}+ ∑x{x^{3}_{i}} + ε} $$
在哪里,
x i是第 i个误差因子,
a i , b i , 是 c i模型系数,并且
ε 是一个误差项。
软件复杂性度量和环境变量是典型错误原因的示例。大多数曲线拟合模型只有一个误差分量。
复杂性模型估计
使用时间序列方法,该模型用于估计软件复杂度 CR。以下是软件复杂性模型的摘要 -
$$\mathrm{CR = a_{0} + {a_{1}}^R + {a_{2}}^{ER} + {a_{3}}^{MR} + {a_{4}}^ {IR} + {a_{5}}^{D} + ε}$$
在哪里
R 表示发布序列号。
ER =factor(s)发布时的环境 R
MR 表示版本 R 的模块数。
IR 是 inter-release interval R 的缩写。
D = 第一个错误发生与第二个错误发生之间的天数。
ε = 误差
当整个时间评估程序时使用此模型,这意味着何时发布模型的新版本。
失效率模型估计
这种方法用于估计软件故障率。给定 t1, t2,..., tn 故障间隔,第 i 个故障间隔的故障率的近似估计为,
$$\mathrm{λ_{i} =\frac{1}{t(i - 1) - t_{i}}}$$
假设故障率单调不增加,最小二乘法可用于生成此函数 lambda, i = 1, 2,..., n的估计值。
各种曲线拟合
直线和多项式曲线用于拟合数据点。从一阶多项式方程开始 -
$$\mathrm{y = ax + b}$$
这是一条斜线。我们已经知道一条线可以连接任何两个位置。因此,一阶多项式方程是任意两个位置之间的完美匹配。
当方程的阶增加到二次多项式时,我们得到 -
$$\mathrm{y = {a_{x}}^{2} + bx + c}$$
这将使基本曲线精确地拟合到三个点。
当方程的阶增加到三次多项式时,我们得到 -
$$\mathrm{y = {a_{x}}^3 + {b_{x}}^2 + cx + d}$$
这将精确地适合四个点。
更广泛的说法是,它恰好符合四个限制。每个限制可以采用点、角度或曲线(这是密切圆半径的倒数)的形式。角度和曲率限制最常添加到曲线的端点,在这种情况下称为末端条件。
为了提供包含在单个样条内的多项式曲线之间的无缝过渡,通常使用相同的终止条件。也可能会施加更高阶的限制,例如“曲率变化率”。例如,这在高速公路三叶草设计中很重要,以了解汽车跟随三叶草时施加的压力,从而确定适当的速度限制。
假设这一点,一次多项式方程可以完美匹配单点和角度,而三次多项式方程可以完美匹配两点、角度约束和曲率约束。对于这些和更高阶的多项式方程,可以添加更多的约束组合。
将其他曲线拟合到数据点
其他类型的曲线,例如圆锥曲线(圆弧、椭圆弧、抛物线和双曲线弧)或三角函数(例如正弦和余弦),可以在特定情况下使用。当不考虑空气阻力时,物体在重力作用下的轨迹,例如,遵循抛物线路线。因此,将轨迹数据点与抛物线相匹配是有意义的。潮汐观察正弦模式,因此潮汐数据点应匹配到正弦波,或者如果还考虑了月球和太阳的影响,则应匹配两个不同周期的正弦波的总和。
曲线的代数拟合与几何拟合
在代数数据分析中,“拟合”通常是指尝试识别使点与曲线的垂直(即y轴)位移(例如普通最小二乘法)最小化的曲线。另一方面,几何拟合试图为图形和图片应用程序提供最大的视觉拟合,这通常涉及尝试最小化与曲线的正交距离(例如总最小二乘法),或者可选地合并一个位移的两个轴从曲线点。几何拟合并不常见,因为它们通常需要非线性和/或重复计算,尽管它们会产生更美观和几何精确的结果。
通过几何拟合拟合圆
Coope 接受了确定圆形与一组 2D 数据点的最佳视觉拟合的挑战。该方法巧妙地将通常的非线性问题转变为无需使用迭代数值方法即可解决的线性问题,因此比先前的策略快几个数量级。
通过几何拟合拟合椭圆
上述方法通过包括非线性步骤扩展到通用椭圆[2],从而产生一种快速的方法,同时还可以找到具有可变方向和位移的视觉吸引力椭圆。
应用于表面
虽然这个解释集中在 2D 曲线上,但大部分推理也适用于 3D 曲面,每个面片由两个参数方向(通常称为 u 和 v)的曲线网络描述。在每个方向上,都可以制作一个曲面一个或多个表面补丁。
以上是 软件工程中的曲线拟合模型 的全部内容, 来源链接: utcz.com/z/363366.html