基于盒式圖的數(shù)據(jù)過濾與回歸分析算法
接下來要對篩選出來的數(shù)據(jù)進行回歸分析,從而得到一個數(shù)據(jù)模型。
void regress(double* m,double* q,int n) //對數(shù)組
//m和數(shù)據(jù)q的數(shù)據(jù)用線性回歸法進行擬合
//并用一條直線表示出它們之間的對應關系
{ double average_m,average_q,total_m,total_q,L_mq,L_mm;
double a,b; //擬合直線y=a+bx的2個待定系數(shù)
for(int i=0;in;i++) .
{
//計算兩組數(shù)據(jù)的和total_m和total_q
}
average_m=total_m/n; //求的第一組數(shù)據(jù)的平均值
average_q=total_q/n; //求的第二組數(shù)據(jù)的平均值
for(int j=0;jn;j++)
{
利用公式(1)計算兩組數(shù)據(jù)m,q它們所有數(shù)據(jù)偏離程度的對應相乘之和L_mq
}
for(int k=0;kn;k++)
{
計算第一組數(shù)據(jù)m,它的所有數(shù)據(jù)偏離
程度的平方和L_mm
}
b=L_mq/L_mm; //計算出擬合直線的待定系數(shù)
//b的擬合值
a=average_q-b*average_m; //利用公式(2)算出參
//數(shù)a
}
從而得到一條線性直線,算法結束。
3 算法在實驗數(shù)據(jù)上的實現(xiàn)
從SSMBSS(上海軟件度量基準體系)中選取了一組數(shù)據(jù)(見表1),首先將其用散點圖列出來(見圖1),然后用盒形圖進行數(shù)據(jù)清洗(見圖2),最后用回歸分析得出擬合直線(見圖3)。本文引用地址:http://www.ex-cimer.com/article/187868.htm
綜上所述,對于軟件度量過程中出現(xiàn)的數(shù)據(jù)冗余和失真的情況,可以通過數(shù)據(jù)過濾和回歸分析進行處理,除去那些離群的數(shù)據(jù),并得出相應的擬合直線,這樣就可以分析出數(shù)據(jù)的規(guī)律,保證軟件的質量,提高效率。
參考文獻
[1] FENTONenton N E, PFLEEGER S L. Softwaremetrics: a rigorouspractical apporach[M](第2版). 北京: 清華大學出版社, 2003.
[2] 郭志懋,周傲英.數(shù)據(jù)質量和數(shù)據(jù)清洗研究綜述.軟件學報[J],2002(11).
[3] 王石,李玉忱,劉乃麗,等.在屬性級別上處理噪聲數(shù)據(jù)的數(shù)據(jù)清洗算法.計算機工程[J],2005(5).
[4] 徐建華.現(xiàn)代地理學中的數(shù)學方法.北京:高等教育出版社,2002.
評論