本方法能對隨時間變化的空氣參數(shù)(溫度,濕度,甲醛濃度,PM2.5濃度,二氧化碳濃度等)可以對數(shù)據(jù)中的異常跳變值進(jìn)行去除,同時保證與人行為變化有關(guān)的數(shù)據(jù)大幅度變動被保留。本方法屬于特定數(shù)據(jù)異常值平滑的領(lǐng)域。具體講,涉及基于快速傅里葉變換的室內(nèi)空氣數(shù)據(jù)異常值平滑方法。
背景技術(shù):
在對數(shù)據(jù)異常值進(jìn)行剔除并平滑的方法中,最常見的是對數(shù)據(jù)直接使用C4.5決策樹進(jìn)行分類判定[2],但是該算法易將因為人行為變化導(dǎo)致的數(shù)據(jù)大幅度變動值和異常跳變值一并被分類成異常值;其次CD(Curve Description)法也被用于對異常值的分類[3],此方法以相鄰的數(shù)值的變化量和變化率為閾值進(jìn)行判定,然而對于本專利要解決的問題而言,它和決策樹法有著相似的缺陷,而且在程序?qū)崿F(xiàn)上也比決策樹法復(fù)雜;國外也使用噪聲數(shù)據(jù)過濾法(Filters)識別并剔除異常值,比較典型的是Ensemble Filter(EF)[4]和Iterative-Partitioning Filter(IPF)[5],這兩種方法都比較有名,但是都比較復(fù)雜,得對其額外設(shè)置多個參數(shù)[1],這對本技術(shù)所面對的問題是沒有必要的。
技術(shù)實現(xiàn)要素:
為克服現(xiàn)有技術(shù)的不足,本發(fā)明旨在本方法旨在將基于快速傅里葉變換的平滑數(shù)據(jù)異常跳變值算法寫成一個通用性的自定義函數(shù),方便其他可能的使用者直接調(diào)用簡單的函數(shù)。本發(fā)明采用的技術(shù)方案是,基于快速傅里葉變換的室內(nèi)空氣數(shù)據(jù)異常值平滑方法,步驟如下:
1)將原數(shù)據(jù)曲線進(jìn)行快速傅里葉變換,將時域數(shù)據(jù)轉(zhuǎn)化到頻域,得到原數(shù)據(jù)的離散頻譜圖。
2)設(shè)置提取頻率的閾值,將所有的大于這個閾值的頻譜曲線保留,對于小于這個閾值的頻譜曲線,將其幅度清零。再將處理結(jié)束的頻譜曲線反快速傅里葉變換變回時域曲線,所得的時域曲線就是想要獲得的殘差曲線。
3)求殘差曲線的平均值和標(biāo)準(zhǔn)差。
4)遍歷所有的殘差數(shù)據(jù),利用拉依達(dá)準(zhǔn)則,挑選出所有超出限制的數(shù)據(jù):
5)獲取4中選中的數(shù)據(jù)的標(biāo)號,并將對應(yīng)標(biāo)號中的原數(shù)據(jù)即跳變數(shù)據(jù)替換成跳變數(shù)據(jù)兩端的正常數(shù)據(jù)之間的插值,達(dá)到平滑的目的。
拉依達(dá)準(zhǔn)則說:所有超出三倍標(biāo)準(zhǔn)差范圍之內(nèi)的數(shù)據(jù)都被剔除,即:去掉所有的x,若x滿足|x-μ|<3σ,其中x是數(shù)據(jù)點,μ是所有數(shù)據(jù)的平均值。
本發(fā)明的特點及有益效果是:
本發(fā)明利用拉依達(dá)準(zhǔn)則,進(jìn)行了數(shù)據(jù)處理,針狀的高頻數(shù)據(jù)跳變都被從原數(shù)據(jù)中分離了出來;將殘差曲線根據(jù)拉依達(dá)準(zhǔn)則判定,去掉了不符合判定的跳變數(shù)據(jù),然后在原始數(shù)據(jù)曲線上用正常數(shù)據(jù)兩端的插值替代已經(jīng)去掉的跳變數(shù)據(jù),即得到了經(jīng)過數(shù)據(jù)異常值平滑的數(shù)據(jù)曲線。
附圖說明:
圖1帶有數(shù)據(jù)跳變的實測甲醛隨時間的變化數(shù)據(jù)曲線。
圖2是對原數(shù)據(jù)曲線進(jìn)行快速傅里葉變換之后的頻率強(qiáng)度曲線。
圖3是對圖2曲線去掉低頻成分的頻率強(qiáng)度曲線,即殘差曲線數(shù)據(jù)的頻域曲線。
圖4是對圖3中的曲線進(jìn)行反快速傅里葉變換得到的時域曲線,即殘差曲線,也稱噪聲曲線。
圖5是對圖4中的殘差曲線根據(jù)拉依達(dá)準(zhǔn)則判定,去掉不符合判定的跳變數(shù)據(jù),然后在原始數(shù)據(jù)曲線上用正常數(shù)據(jù)兩端的插值替代已經(jīng)去掉的跳變數(shù)據(jù),即得到了經(jīng)過數(shù)據(jù)異常值平滑的數(shù)據(jù)曲線。
圖6本發(fā)明流程圖。
具體實施方式
本方法旨在將將基于快速傅里葉變換的平滑數(shù)據(jù)異常跳變值算法寫成一個通用性的自定義函數(shù),方便其他可能的使用者直接調(diào)用簡單的函數(shù)。
使用局部加權(quán)回歸剔除并平滑室內(nèi)空氣數(shù)據(jù)跳變值的流程:
1.將原數(shù)據(jù)曲線進(jìn)行快速傅里葉變換,將時域數(shù)據(jù)轉(zhuǎn)化到頻域,得到原數(shù)據(jù)的離散頻譜圖。
2.設(shè)置提取頻率的閾值,將所有的大于這個閾值的頻譜曲線保留,對于小于這個閾值的頻譜曲線,將其幅度清零。再將處理結(jié)束的頻譜曲線反快速傅里葉變換變回時域曲線,所得的時域曲線就是想要獲得的殘差曲線。
3.求殘差曲線的平均值和標(biāo)準(zhǔn)差。
4.遍歷所有的殘差數(shù)據(jù),利用拉依達(dá)準(zhǔn)則,挑選出所有超出限制的數(shù)據(jù):
拉依達(dá)準(zhǔn)則說:所有超出三倍標(biāo)準(zhǔn)差范圍之內(nèi)的數(shù)據(jù)都被剔除。即:去掉所有的x,若x滿足|x-μ|<3σ,其中x是數(shù)據(jù)點,μ是所有數(shù)據(jù)的平均值。因為一次性處理的數(shù)據(jù)量較大,遠(yuǎn)超過了拉依達(dá)準(zhǔn)則的使用數(shù)據(jù)下限:100個數(shù)據(jù)。所以這里采取較為簡便的拉依達(dá)準(zhǔn)則。
5.獲取4中選中的數(shù)據(jù)的標(biāo)號,并將對應(yīng)標(biāo)號中的原數(shù)據(jù)(跳變數(shù)據(jù))替換成跳變數(shù)據(jù)兩端的正常數(shù)據(jù)之間的插值,達(dá)到平滑的目的。
本算法的實施步驟如下。
1)自定義函數(shù)的命名,輸入變量和輸出變量。
輸入變量有一個:為“原始數(shù)據(jù)”,以列向量的形式存在,原始數(shù)據(jù)的個數(shù)即向量的維數(shù),數(shù)據(jù)個數(shù)必須為2的整數(shù)次冪,比如2048(211),4096(212).
輸出變量有一個:為“經(jīng)過異常數(shù)據(jù)平滑算法之后的結(jié)果數(shù)據(jù)”,結(jié)果數(shù)據(jù)是和原始數(shù)據(jù)的維度相同的列向量,并填回excel表格。
2)將原數(shù)據(jù)進(jìn)行基于快速傅里葉變換的數(shù)據(jù)異常值平滑流程。
下面結(jié)合附圖和具體實施方式,進(jìn)一步詳細(xì)說明本發(fā)明。
這里以實測甲醛隨時間的變化數(shù)據(jù)曲線為實例(見圖1):取含有2048個數(shù)據(jù)的數(shù)據(jù)向量。
圖1帶有數(shù)據(jù)跳變的實測甲醛隨時間的變化數(shù)據(jù)曲線。
圖2是對原數(shù)據(jù)曲線進(jìn)行快速傅里葉變換之后的頻率強(qiáng)度曲線,此曲線比較對稱,曲線兩端的對應(yīng)的橫坐標(biāo)頻率最低,越向曲線中央頻率越高;
圖3是對圖2曲線去掉低頻成分的頻率強(qiáng)度曲線,即殘差曲線數(shù)據(jù)的頻域曲線;
圖4是對圖3中的曲線進(jìn)行反快速傅里葉變換得到的時域曲線,即殘差曲線,也稱噪聲曲線,由此可見,針狀的高頻數(shù)據(jù)跳變都被從原數(shù)據(jù)中分離了出來。
圖5是對圖4中的殘差曲線根據(jù)拉依達(dá)準(zhǔn)則判定,去掉不符合判定的跳變數(shù)據(jù),然后在原始數(shù)據(jù)曲線上用正常數(shù)據(jù)兩端的插值替代已經(jīng)去掉的跳變數(shù)據(jù),即得到了經(jīng)過數(shù)據(jù)異常值平滑的數(shù)據(jù)曲線。
圖6本發(fā)明流程圖。
參考文獻(xiàn):
[1]Salvador García,Julian Luengo,Tutorial on practical tips of the most influential data preprocessing algorithms in data mining.Knowledge-Based Systems,2016;98:1-29..
[2]J.R.Quinlan,C4.5:Programs for Machine Learning,Morgan Kaufmann Pub-lishers Inc.,1993.[3]Hao Zhou;Lifeng Qiao,Ph.D.;Yi Jiang,Ph.D.;Hejiang Sun,Ph.D.;Qingyan Chen,Ph.D.Recognition of air-conditioner operation from indoor air temperature and relative humidity by a data mining approach.Energy and Buildings,2016;111:233-241.
[4]C.E.Brodley,M.A.Friedl,Identifying mislabeled training data,J.Artif.Intell.Res.1999;11:131–167.
[5]T.M.Khoshgoftaar,P.Rebours,Improving software quality prediction by noise filtering techniques,J.Comput.Sci.Technol.2007;22:387–396。