软件度量中的主成分分析及新变异源探索
在软件度量领域,准确理解和运用各种度量指标对于评估软件质量至关重要。本文将深入探讨软件度量中的主成分分析(PCA)技术,以及如何利用该技术发现新的变异源,从而提升对软件质量的预测能力。
1. 软件度量的相关性与主成分分析的引入
在大多数线性建模应用中,如回归分析和判别分析,通常假设每个独立变量(即度量指标)代表软件的一个独特方面,彼此之间不存在明显的相关性。然而,实际情况并非如此。以LOC(代码行数)和Exec(可执行语句数)这两个度量指标为例,它们高度相关,几乎衡量的是同一事物。
在软件开发中收集的度量指标往往具有高度的相关性,这种线性关系被称为多重共线性。多重共线性会导致难以确定每个度量指标对模型的独特贡献,并且使用具有高度多重共线性的自变量开发的回归模型,其回归系数会非常不稳定。
为了解决这个问题,我们引入主成分分析(PCA)技术。PCA的原理是将高度相关的度量指标映射到正交属性域。假设我们有一组n个度量指标M = (m1, …, mn),其具有多元分布,均值为µ = (µ1, …, µn),协方差矩阵为Σ。根据谱分解定理,样本的协方差矩阵S可以分解为:
S = PLP’
其中P是一个矩阵,其列是特征向量,L是S的特征值或潜在根的对角矩阵。也可以将其重写为:
P’SP = L
PCA技术通过提取特征值从大到小的顺序,每个特征值代表其相关成分解释的方差比例。每个主成分代表一个潜在的度量域,原始的度量指标将被映射到这个域上。
我们使用PCA有两个目标:一是将n个高度相关的度量指标M转换为一组新的不相关的域度量指标D;二是降低问题的维度。因为实际上,原始
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



