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