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