當前位置:首頁 » 操作系統 » 缺失數據em演算法

缺失數據em演算法

發布時間: 2022-06-13 21:10:05

① 數據缺失想要補齊有什麼方法,用spss的替換缺失值和缺失值分析完全不會用

1、均值插補。數據的屬性分為定距型和非定距型。如果缺失值是定距型的,就以該屬性存在值的平均值來插補缺失的值;如果缺失值是非定距型的,就根據統計學中的眾數原理,用該屬性的眾數(即出現頻率最高的值)來補齊缺失的值。

2、利用同類均值插補。同均值插補的方法都屬於單值插補,不同的是,它用層次聚類模型預測缺失變數的類型,再以該類型的均值插補。假設X=(X1,X2...Xp)為信息完全的變數,Y為存在缺失值的變數。

那麼首先對X或其子集行聚類,然後按缺失個案所屬類來插補不同類的均值。如果在以後統計分析中還需以引入的解釋變數和Y做分析,那麼這種插補方法將在模型中引入自相關,給分析造成障礙。

3、極大似然估計(Max Likelihood ,ML)。在缺失類型為隨機缺失的條件下,假設模型對於完整的樣本是正確的,那麼通過觀測數據的邊際分布可以對未知參數進行極大似然估計(Little and Rubin)。

這種方法也被稱為忽略缺失值的極大似然估計,對於極大似然的參數估計實際中常採用的計算方法是期望值最大化(Expectation Maximization,EM)。

4、多重插補(Multiple Imputation,MI)。多值插補的思想來源於貝葉斯估計,認為待插補的值是隨機的,它的值來自於已觀測到的值。具體實踐上通常是估計出待插補的值,然後再加上不同的雜訊,形成多組可選插補值。根據某種選擇依據,選取最合適的插補值。



(1)缺失數據em演算法擴展閱讀

缺失值產生的原因很多,裝備故障、無法獲取信息、與其他欄位不一致、歷史原因等都可能產生缺失值。一種典型的處理方法是插值,插值之後的數據可看作服從特定概率分布。另外,也可以刪除所有含缺失值的記錄,但這個操作也從側面變動了原始數據的分布特徵。

對於缺失值的處理,從總體上來說分為刪除存在缺失值的個案和缺失值插補。對於主觀數據,人將影響數據的真實性,存在缺失值的樣本的其他屬性的真實值不能保證,那麼依賴於這些屬性值的插補也是不可靠的,所以對於主觀數據一般不推薦插補的方法。插補主要是針對客觀數據,它的可靠性有保證。

② em演算法的EM演算法簡述

迭代使用EM步驟,直至收斂。
可以有一些比較形象的比喻說法把這個演算法講清楚。比如說食堂的大師傅炒了一份菜,要等分成兩份給兩個人吃,顯然沒有必要拿來天平一點一點的精確的去稱分量,最簡單的辦法是先隨意的把菜分到兩個碗中,然後觀察是否一樣多,把比較多的那一份取出一點放到另一個碗中,這個過程一直迭代地執行下去,直到大家看不出兩個碗所容納的菜有什麼分量上的不同為止。EM演算法就是這樣,假設我們估計知道A和B兩個參數,在開始狀態下二者都是未知的,並且知道了A的信息就可以得到B的信息,反過來知道了B也就得到了A。可以考慮首先賦予A某種初值,以此得到B的估計值,然後從B的當前值出發,重新估計A的取值,這個過程一直持續到收斂為止。
EM 演算法是 Dempster,Laind,Rubin 於 1977 年提出的求參數極大似然估計的一種方法,它可以從非完整數據集中對參數進行 MLE 估計,是一種非常簡單實用的學習演算法。這種方法可以廣泛地應用於處理缺損數據,截尾數據,帶有雜訊等所謂的不完全數據(incomplete data)。
假定集合Z = (X,Y)由觀測數據 X 和未觀測數據Y 組成,X 和Z = (X,Y)分別稱為不完整數據和完整數據。假設Z的聯合概率密度被參數化地定義為P(X,Y|Θ),其中Θ表示要被估計的參數。Θ的最大似然估計是求不完整數據的對數似然函數L(X;Θ)的最大值而得到的:
L(Θ;X)= log p(X|Θ) = ∫log p(X,Y|Θ)dY ;
EM演算法包括兩個步驟:由E步和M步組成,它是通過迭代地最大化完整數據的對數似然函數Lc(X;Θ)的期望來最大化不完整數據的對數似然函數,其中:
Lc(X;Θ) =log p(X,Y |Θ) ;
假設在演算法第t次迭代後Θ獲得的估計記為Θ(t) ,則在(t+1)次迭代時,
E-步:計算完整數據的對數似然函數的期望,記為:
Q(Θ|Θ (t)) = E{Lc(Θ;Z)|X;Θ(t)};
M-步:通過最大化Q(Θ|Θ(t) ) 來獲得新的Θ 。
通過交替使用這兩個步驟,EM演算法逐步改進模型的參數,使參數和訓練樣本的似然概率逐漸增大,最後終止於一個極大點。直觀地理解EM演算法,它也可被看作為一個逐次逼近演算法:事先並不知道模型的參數,可以隨機的選擇一套參數或者事先粗略地給定某個初始參數λ0 ,確定出對應於這組參數的最可能的狀態,計算每個訓練樣本的可能結果的概率,在當前的狀態下再由樣本對參數修正,重新估計參數λ,並在新的參數下重新確定模型的狀態,這樣,通過多次的迭代,循環直至某個收斂條件滿足為止,就可以使得模型的參數逐漸逼近真實參數。
EM演算法的主要目的是提供一個簡單的迭代演算法計算後驗密度函數,它的最大優點是簡單和穩定,但容易陷入局部最優。

③ 求MATLAB 編寫的支持向量機、神經網路、KNN或EM演算法有關「數據缺失」的源程序滿意最少在加100分。謝謝!!

好像這些演算法在數據缺失的情況下是沒法進行的吧,只能說改進之後在數據缺失情況下做了相應處理,你說的這些演算法都可以在網上找到代碼

④ 怎麼通俗易懂地解釋EM演算法並且舉個例子

在統計計算中,最大期望(EM)演算法是在概率(probabilistic)模型中尋找參數最大似然估計或者最大後驗估計的演算法,其中概率模型依賴於無法觀測的隱藏變數(Latent Variable)。最大期望經常用在機器學習和計算機視覺的數據聚類(Data Clustering)領域。

最大期望演算法經過兩個步驟交替進行計算:

第一步是計算期望(E),利用對隱藏變數的現有估計值,計算其最大似然估計值;

第二步是最大化(M),最大化在 E 步上求得的最大似然值來計算參數的值。

M 步上找到的參數估計值被用於下一個 E 步計算中,這個過程不斷交替進行。

總體來說,EM的演算法流程如下:

  1. 初始化分布參數

  2. 2.重復直到收斂:

  3. E步驟:估計未知參數的期望值,給出當前的參數估計。

  4. M步驟:重新估計分布參數,以使得數據的似然性最大,給出未知變數的期望估計。

⑤ em演算法是什麼

最大期望演算法(Expectation-Maximization algorithm, EM),或Dempster-Laird-Rubin演算法,是一類通過迭代進行極大似然估計(Maximum Likelihood Estimation, MLE)的優化演算法 ,通常作為牛頓迭代法(Newton-Raphson method)的替代用於對包含隱變數(latent variable)或缺失數據(incomplete-data)的概率模型進行參數估計。
EM演算法的標准計算框架由E步(Expectation-step)和M步(Maximization step)交替組成,演算法的收斂性可以確保迭代至少逼近局部極大值 。EM演算法是MM演算法(Minorize-Maximization algorithm)的特例之一,有多個改進版本,包括使用了貝葉斯推斷的EM演算法、EM梯度演算法、廣義EM演算法等 。
由於迭代規則容易實現並可以靈活考慮隱變數,EM演算法被廣泛應用於處理數據的缺測值 ,以及很多機器學習(machine learning)演算法,包括高斯混合模型(Gaussian Mixture Model, GMM) 和隱馬爾可夫模型(Hidden Markov Model, HMM) 的參數估計。

⑥ 如何用EM演算法推斷單倍型頻率(希望給出EM演算法的詳細步驟)

大量SNP標記的出現,使以單個標記為中心的關聯分析方法逐漸轉變成以單倍型為主的關聯分析方法。以單倍型為主的分析方法的首要問題是如何獲取單倍型。通過實驗手段獲取單倍型成本較高,利用基因型數據通過單倍型推斷獲取單倍型是當前首選方法。 針對一般系譜和緊密連鎖的SNP標記,本研究提出了一種快速和准確的單倍型推斷方法。該方法通過三步六條規則,利用親子關系確定有序基因型,逐步剔除多餘的單倍型,最後通過最大似然法確定單倍型組合。利用SIMPED程序模擬數據驗證在不同系譜大小,不同標記數目和不同標記基因型缺失率等參數組合條件下

⑦ em演算法為什麼可以解決隱含數據問題

EM演算法可以看成是特殊情況下計算極大似然的一種演算法。
現實的數據經常有一些比較奇怪的問題,比如缺失數據、含有隱變數等問題。當這些問題出現的時候,計算極大似然函數通常是比較困難的,而EM演算法可以解決這個問題。
EM演算法已經有很多應用,比如最經典的Hidden Markov模型等。

⑧ 三維機器學習EM演算法問題.

學習機器學習十大演算法,相當於電腦的中級水平。
演算法(Algorithm)是指解題方案的准確而完整的描述,是一系列解決問題的清晰指令,演算法代表著用系統的方法描述解決問題的策略機制。也就是說,能夠對一定規范的輸入,在有限時間內獲得所要求的輸出。如果一個演算法有缺陷,或不適合於某個問題,執行這個演算法將不會解決這個問題。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間復雜度與時間復雜度來衡量。
演算法中的指令描述的是一個計算,當其運行時能從一個初始狀態和(可能為空的)初始輸入開始,經過一系列有限而清晰定義的狀態,最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。隨機化演算法在內的一些演算法,包含了一些隨機輸入。
形式化演算法的概念部分源自嘗試解決希爾伯特提出的判定問題,並在其後嘗試定義有效計算性或者有效方法中成形。這些嘗試包括庫爾特·哥德爾、Jacques Herbrand和斯蒂芬·科爾·克萊尼分別於1930年、1934年和1935年提出的遞歸函數,阿隆佐·邱奇於1936年提出的λ演算,1936年Emil Leon Post的Formulation 1和艾倫·圖靈1937年提出的圖靈機。即使在當前,依然常有直覺想法難以定義為形式化演算法的情況。
一,數據對象的運算和操作:計算機可以執行的基本操作是以指令的形式描述的。一個計算機系統能執行的所有指令的集合,成為該計算機系統的指令系統。一個計算機的基本運算和操作有如下四類:[1]
1,算術運算:加減乘除等運算
2,邏輯運算:或、且、非等運算
3,關系運算:大於、小於、等於、不等於等運算
4,數據傳輸:輸入、輸出、賦值等運算[1]
二,演算法的控制結構:一個演算法的功能結構不僅取決於所選用的操作,而且還與各操作之間的執行順序有關。[

⑨ 數據分析中的缺失值處理

數據分析中的缺失值處理
沒有高質量的數據,就沒有高質量的數據挖掘結果,數據值缺失是數據分析中經常遇到的問題之一。當缺失比例很小時,可直接對缺失記錄進行舍棄或進行手工處理。但在實際數據中,往往缺失數據佔有相當的比重。這時如果手工處理非常低效,如果舍棄缺失記錄,則會丟失大量信息,使不完全觀測數據與完全觀測數據間產生系統差異,對這樣的數據進行分析,你很可能會得出錯誤的結論。
造成數據缺失的原因
現實世界中的數據異常雜亂,屬性值缺失的情況經常發全甚至是不可避免的。造成數據缺失的原因是多方面的:
信息暫時無法獲取。例如在醫療資料庫中,並非所有病人的所有臨床檢驗結果都能在給定的時間內得到,就致使一部分屬性值空缺出來。
信息被遺漏。可能是因為輸入時認為不重要、忘記填寫了或對數據理解錯誤而遺漏,也可能是由於數據採集設備的故障、存儲介質的故障、傳輸媒體的故障、一些人為因素等原因而丟失。
有些對象的某個或某些屬性是不可用的。如一個未婚者的配偶姓名、一個兒童的固定收入狀況等。
有些信息(被認為)是不重要的。如一個屬性的取值與給定語境是無關。
獲取這些信息的代價太大。
系統實時性能要求較高。即要求得到這些信息前迅速做出判斷或決策。
對缺失值的處理要具體問題具體分析,為什麼要具體問題具體分析呢?因為屬性缺失有時並不意味著數據缺失,缺失本身是包含信息的,所以需要根據不同應用場景下缺失值可能包含的信息進行合理填充。下面通過一些例子來說明如何具體問題具體分析,仁者見仁智者見智,僅供參考:
「年收入」:商品推薦場景下填充平均值,借貸額度場景下填充最小值;
「行為時間點」:填充眾數;
「價格」:商品推薦場景下填充最小值,商品匹配場景下填充平均值;
「人體壽命」:保險費用估計場景下填充最大值,人口估計場景下填充平均值;
「駕齡」:沒有填寫這一項的用戶可能是沒有車,為它填充為0較為合理;
」本科畢業時間」:沒有填寫這一項的用戶可能是沒有上大學,為它填充正無窮比較合理;
「婚姻狀態」:沒有填寫這一項的用戶可能對自己的隱私比較敏感,應單獨設為一個分類,如已婚1、未婚0、未填-1。
缺失的類型
在對缺失數據進行處理前,了解數據缺失的機制和形式是十分必要的。將數據集中不含缺失值的變數稱為完全變數,數據集中含有缺失值的變數稱為不完全變數。從缺失的分布來將缺失可以分為完全隨機缺失,隨機缺失和完全非隨機缺失。
完全隨機缺失(missing completely at random,MCAR):指的是數據的缺失是完全隨機的,不依賴於任何不完全變數或完全變數,不影響樣本的無偏性。如家庭地址缺失。
隨機缺失(missing at random,MAR):指的是數據的缺失不是完全隨機的,即該類數據的缺失依賴於其他完全變數。例如財務數據缺失情況與企業的大小有關。
非隨機缺失(missing not at random,MNAR):指的是數據的缺失與不完全變數自身的取值有關。如高收入人群的不原意提供家庭收入。
對於隨機缺失和非隨機缺失,刪除記錄是不合適的,隨機缺失可以通過已知變數對缺失值進行估計;而非隨機缺失還沒有很好的解決辦法。
說明:對於分類問題,可以分析缺失的樣本中,類別之間的比例和整體數據集中,類別的比例
缺失值處理的必要性
數據缺失在許多研究領域都是一個復雜的問題。對數據挖掘來說,預設值的存在,造成了以下影響:
系統丟失了大量的有用信息;
系統中所表現出的不確定性更加顯著,系統中蘊涵的確定性成分更難把握;
包含空值的數據會使挖掘過程陷入混亂,導致不可靠的輸出。
數據挖掘演算法本身更致力於避免數據過分擬合所建的模型,這一特性使得它難以通過自身的演算法去很好地處理不完整數據。因此,預設值需要通過專門的方法進行推導、填充等,以減少數據挖掘演算法與實際應用之間的差距。
缺失值處理方法的分析與比較
處理不完整數據集的方法主要有三大類:刪除元組、數據補齊、不處理。
刪除元組
也就是將存在遺漏信息屬性值的對象(元組,記錄)刪除,從而得到一個完備的信息表。這種方法簡單易行,在對象有多個屬性缺失值、被刪除的含缺失值的對象與初始數據集的數據量相比非常小的情況下非常有效,類標號缺失時通常使用該方法。
然而,這種方法卻有很大的局限性。它以減少歷史數據來換取信息的完備,會丟棄大量隱藏在這些對象中的信息。在初始數據集包含的對象很少的情況下,刪除少量對象足以嚴重影響信息的客觀性和結果的正確性;因此,當缺失數據所佔比例較大,特別當遺漏數據非隨機分布時,這種方法可能導致數據發生偏離,從而引出錯誤的結論。
說明:刪除元組,或者直接刪除該列特徵,有時候會導致性能下降。
數據補齊
這類方法是用一定的值去填充空值,從而使信息表完備化。通常基於統計學原理,根據初始數據集中其餘對象取值的分布情況來對一個缺失值進行填充。數據挖掘中常用的有以下幾種補齊方法:
人工填寫(filling manually)
由於最了解數據的還是用戶自己,因此這個方法產生數據偏離最小,可能是填充效果最好的一種。然而一般來說,該方法很費時,當數據規模很大、空值很多的時候,該方法是不可行的。
特殊值填充(Treating Missing Attribute values as Special values)
將空值作為一種特殊的屬性值來處理,它不同於其他的任何屬性值。如所有的空值都用「unknown」填充。這樣將形成另一個有趣的概念,可能導致嚴重的數據偏離,一般不推薦使用。
平均值填充(Mean/Mode Completer)
將初始數據集中的屬性分為數值屬性和非數值屬性來分別進行處理。
如果空值是數值型的,就根據該屬性在其他所有對象的取值的平均值來填充該缺失的屬性值;
如果空值是非數值型的,就根據統計學中的眾數原理,用該屬性在其他所有對象的取值次數最多的值(即出現頻率最高的值)來補齊該缺失的屬性值。與其相似的另一種方法叫條件平均值填充法(Conditional Mean Completer)。在該方法中,用於求平均的值並不是從數據集的所有對象中取,而是從與該對象具有相同決策屬性值的對象中取得。
這兩種數據的補齊方法,其基本的出發點都是一樣的,以最大概率可能的取值來補充缺失的屬性值,只是在具體方法上有一點不同。與其他方法相比,它是用現存數據的多數信息來推測缺失值。
熱卡填充(Hot deck imputation,或就近補齊)
對於一個包含空值的對象,熱卡填充法在完整數據中找到一個與它最相似的對象,然後用這個相似對象的值來進行填充。不同的問題可能會選用不同的標准來對相似進行判定。該方法概念上很簡單,且利用了數據間的關系來進行空值估計。這個方法的缺點在於難以定義相似標准,主觀因素較多。
K最近距離鄰法(K-means clustering)
先根據歐式距離或相關分析來確定距離具有缺失數據樣本最近的K個樣本,將這K個值加權平均來估計該樣本的缺失數據。
使用所有可能的值填充(Assigning All Possible values of the Attribute)
用空缺屬性值的所有可能的屬性取值來填充,能夠得到較好的補齊效果。但是,當數據量很大或者遺漏的屬性值較多時,其計算的代價很大,可能的測試方案很多。
組合完整化方法(Combinatorial Completer)
用空缺屬性值的所有可能的屬性取值來試,並從最終屬性的約簡結果中選擇最好的一個作為填補的屬性值。這是以約簡為目的的數據補齊方法,能夠得到好的約簡結果;但是,當數據量很大或者遺漏的屬性值較多時,其計算的代價很大。
回歸(Regression)
基於完整的數據集,建立回歸方程。對於包含空值的對象,將已知屬性值代入方程來估計未知屬性值,以此估計值來進行填充。當變數不是線性相關時會導致有偏差的估計。
期望值最大化方法(Expectation maximization,EM)
EM演算法是一種在不完全數據情況下計算極大似然估計或者後驗分布的迭代演算法。在每一迭代循環過程中交替執行兩個步驟:E步(Excepctaion step,期望步),在給定完全數據和前一次迭代所得到的參數估計的情況下計算完全數據對應的對數似然函數的條件期望;M步(Maximzation step,極大化步),用極大化對數似然函數以確定參數的值,並用於下步的迭代。演算法在E步和M步之間不斷迭代直至收斂,即兩次迭代之間的參數變化小於一個預先給定的閾值時結束。該方法可能會陷入局部極值,收斂速度也不是很快,並且計算很復雜。
多重填補(Multiple Imputation,MI)
多重填補方法分為三個步驟:
為每個空值產生一套可能的填補值,這些值反映了無響應模型的不確定性;每個值都被用來填補數據集中的缺失值,產生若干個完整數據集合。
每個填補數據集合都用針對完整數據集的統計方法進行統計分析。
對來自各個填補數據集的結果進行綜合,產生最終的統計推斷,這一推斷考慮到了由於數據填補而產生的不確定性。該方法將空缺值視為隨機樣本,這樣計算出來的統計推斷可能受到空缺值的不確定性的影響。該方法的計算也很復雜。
C4.5方法
通過尋找屬性間的關系來對遺失值填充。它尋找之間具有最大相關性的兩個屬性,其中沒有遺失值的一個稱為代理屬性,另一個稱為原始屬性,用代理屬性決定原始屬性中的遺失值。這種基於規則歸納的方法只能處理基數較小的名詞型屬性。
就幾種基於統計的方法而言,刪除元組法和平均值法差於熱卡填充法、期望值最大化方法和多重填充法;回歸是比較好的一種方法,但仍比不上hot deck和EM;EM缺少MI包含的不確定成分。值得注意的是,這些方法直接處理的是模型參數的估計而不是空缺值預測本身。它們合適於處理無監督學習的問題,而對有監督學習來說,情況就不盡相同了。譬如,你可以刪除包含空值的對象用完整的數據集來進行訓練,但預測時你卻不能忽略包含空值的對象。另外,C4.5和使用所有可能的值填充方法也有較好的補齊效果,人工填寫和特殊值填充則是一般不推薦使用的。
不處理
補齊處理只是將未知值補以我們的主觀估計值,不一定完全符合客觀事實,在對不完備信息進行補齊處理的同時,我們或多或少地改變了原始的信息系統。而且,對空值不正確的填充往往將新的雜訊引入數據中,使挖掘任務產生錯誤的結果。因此,在許多情況下,我們還是希望在保持原始信息不發生變化的前提下對信息系統進行處理。
不處理缺失值,直接在包含空值的數據上進行數據挖掘的方法包括貝葉斯網路和人工神經網路等。
貝葉斯網路提供了一種自然的表示變數間因果信息的方法,用來發現數據間的潛在關系。在這個網路中,用節點表示變數,有向邊表示變數間的依賴關系。貝葉斯網路僅適合於對領域知識具有一定了解的情況,至少對變數間的依賴關系較清楚的情況。否則直接從數據中學習貝葉斯網的結構不但復雜性較高(隨著變數的增加,指數級增加),網路維護代價昂貴,而且它的估計參數較多,為系統帶來了高方差,影響了它的預測精度。
人工神經網路可以有效的對付缺失值,但人工神經網路在這方面的研究還有待進一步深入展開。
知乎上的一種方案:
4.把變數映射到高維空間。比如性別,有男、女、缺失三種情況,則映射成3個變數:是否男、是否女、是否缺失。連續型變數也可以這樣處理。比如Google、網路的CTR預估模型,預處理時會把所有變數都這樣處理,達到幾億維。這樣做的好處是完整保留了原始數據的全部信息、不用考慮缺失值、不用考慮線性不可分之類的問題。缺點是計算量大大提升。
而且只有在樣本量非常大的時候效果才好,否則會因為過於稀疏,效果很差。
總結
大多數數據挖掘系統都是在數據挖掘之前的數據預處理階段採用第一、第二類方法來對空缺數據進行處理。並不存在一種處理空值的方法可以適合於任何問題。無論哪種方式填充,都無法避免主觀因素對原系統的影響,並且在空值過多的情形下將系統完備化是不可行的。從理論上來說,貝葉斯考慮了一切,但是只有當數據集較小或滿足某些條件(如多元正態分布)時完全貝葉斯分析才是可行的。而現階段人工神經網路方法在數據挖掘中的應用仍很有限。值得一提的是,採用不精確信息處理數據的不完備性已得到了廣泛的研究。不完備數據的表達方法所依據的理論主要有可信度理論、概率論、模糊集合論、可能性理論,D-S的證據理論等。

⑩ 如何處理統計過程中的數據缺失

處理不完備數據集的方法主要有以下三大類: (一)刪除元組
也就是將存在遺漏信息屬性值的對象(元組,記錄)刪除,從而得到一個完備的信息表。這種方法簡單易行,在對象有多個
屬性缺失值、被刪除的含缺失值的對象與信息表中的數據量相比非常小的情況下是非常有效的,類標號(假設是分類任務)缺少時
通常使用。然而,這種方法卻有很大的局限性。它是以減少歷史數據來換取信息的完備,會造成資源的大量浪費,丟棄了大量隱藏
在這些對象中的信息。在信息表中本來包含的對象很少的情況下,刪除少量對象就足以嚴重影響到信息表信息的客觀性和結果的正
確性;當每個屬性空值的百分比變化很大時,它的性能非常差。因此,當遺漏數據所佔比例較大,特別當遺漏數據非隨機分布時, 這種方法可能導致數據發生偏離,從而引出錯誤的結論。 (二)數據補齊
這類方法是用一定的值去填充空值,從而使信息表完備化。通常基於統計學原理,根據決策表中其餘對象取值的分布情況來
對一個空值進行填充,譬如用其餘屬性的平均值來進行補充等。數據挖掘中常用的有以下幾種補齊方法:
(1)人工填寫(filling manually)
由於最了解數據的還是用戶自己,因此這個方法產生數據偏離最小,可能是填充效果最好的一種。然而一般來說,該方法很費時, 當數據規模很大、空值很多的時候,該方法是不可行的。
(2)特殊值填充(Treating Missing Attribute values as Special values) 將空值作為一種特殊的屬性值來處理,它不同於其他的任何屬性值。如所有的空值都用「unknown」填充。這樣將形成另一個有趣的

概念,可能導致嚴重的數據偏離,一般不推薦使用。 (3)平均值填充(Mean/Mode Completer)
將信息表中的屬性分為數值屬性和非數值屬性來分別進行處理。如果空值是數值型的,就根據該屬性在其他所有對象的取值
的平均值來填充該缺失的屬性值;如果空值是非數值型的,就根據統計學中的眾數原理,用該屬性在其他所有對象的取值次數最多
的值(即出現頻率最高的值)來補齊該缺失的屬性值。另外有一種與其相似的方法叫條件平均值填充法(Conditional Mean
Completer)。在該方法中,缺失屬性值的補齊同樣是靠該屬性在其他對象中的取值求平均得到,但不同的是用於求平均的值並不是
從信息表所有對象中取,而是從與該對象具有相同決策屬性值的對象中取得。這兩種數據的補齊方法,其基本的出發點都是一樣的
,以最大概率可能的取值來補充缺失的屬性值,只是在具體方法上有一點不同。與其他方法相比,它是用現存數據的多數信息來推 測缺失值。
(4)熱卡填充(Hot deck imputation,或就近補齊)
對於一個包含空值的對象,熱卡填充法在完整數據中找到一個與它最相似的對象,然後用這個相似對象的值來進行填充。不
同的問題可能會選用不同的標准來對相似進行判定。該方法概念上很簡單,且利用了數據間的關系來進行空值估計。這個方法的缺 點在於難以定義相似標准,主觀因素較多。 (5)K最近距離鄰法(K-means clustering)
先根據歐式距離或相關分析來確定距離具有缺失數據樣本最近的K個樣本,將這K個值加權平均來估計該樣本的缺失數據。
(6)使用所有可能的值填充(Assigning All Possible values of the Attribute) 這種方法是用空缺屬性值的所有可能的屬性取值來填充,能夠得到較好的補齊效果。但是,當數據量很大或者遺漏的屬性值
較多時,其計算的代價很大,可能的測試方案很多。另有一種方法,填補遺漏屬性值的原則是一樣的,不同的只是從決策相同的對

象中嘗試所有的屬性值的可能情況,而不是根據信息表中所有對象進行嘗試,這樣能夠在一定程度上減小原方法的代價。 (7)組合完整化方法(Combinatorial Completer)
這種方法是用空缺屬性值的所有可能的屬性取值來試,並從最終屬性的約簡結果中選擇最好的一個作為填補的屬性值。這是
以約簡為目的的數據補齊方法,能夠得到好的約簡結果;但是,當數據量很大或者遺漏的屬性值較多時,其計算的代價很大。另一
種稱為條件組合完整化方法(Conditional Combinatorial Complete),填補遺漏屬性值的原則是一樣的,不同的只是從決策相同
的對象中嘗試所有的屬性值的可能情況,而不是根據信息表中所有對象進行嘗試。條件組合完整化方法能夠在一定程度上減小組合
完整化方法的代價。在信息表包含不完整數據較多的情況下,可能的測試方案將巨增。
(8)回歸(Regression)
基於完整的數據集,建立回歸方程(模型)。對於包含空值的對象,將已知屬性值代入方程來估計未知屬性值,以此估計值
來進行填充。當變數不是線性相關或預測變數高度相關時會導致有偏差的估計。 (9)期望值最大化方法(Expectation maximization,EM)
EM演算法是一種在不完全數據情況下計算極大似然估計或者後驗分布的迭代演算法[43]。在每一迭代循環過程中交替執行兩個步
驟:E步(Excepctaion step,期望步),在給定完全數據和前一次迭代所得到的參數估計的情況下計算完全數據對應的對數似然函
數的條件期望;M步(Maximzation step,極大化步),用極大化對數似然函數以確定參數的值,並用於下步的迭代。演算法在E步和M
步之間不斷迭代直至收斂,即兩次迭代之間的參數變化小於一個預先給定的閾值時結束。該方法可能會陷入局部極值,收斂速度也 不是很快,並且計算很復雜。
(10)多重填補(Multiple Imputation,MI)

多重填補方法分為三個步驟:①為每個空值產生一套可能的填補值,這些值反映了無響應模型的不確定性;每個值都被用來
填補數據集中的缺失值,產生若干個完整數據集合。②每個填補數據集合都用針對完整數據集的統計方法進行統計分析。③對來自
各個填補數據集的結果進行綜合,產生最終的統計推斷,這一推斷考慮到了由於數據填補而產生的不確定性。該方法將空缺值視為
隨機樣本,這樣計算出來的統計推斷可能受到空缺值的不確定性的影響。該方法的計算也很復雜。 (11)C4.5方法
通過尋找屬性間的關系來對遺失值填充。它尋找之間具有最大相關性的兩個屬性,其中沒有遺失值的一個稱為代理屬性,另
一個稱為原始屬性,用代理屬性決定原始屬性中的遺失值。這種基於規則歸納的方法只能處理基數較小的名詞型屬性。
就幾種基於統計的方法而言,刪除元組法和平均值法差於hot deck、EM和MI;回歸是比較好的一種方法,但仍比不上hot
deck和EM;EM缺少MI包含的不確定成分。值得注意的是,這些方法直接處理的是模型參數的估計而不是空缺值預測本身。它們合適
於處理無監督學習的問題,而對有監督學習來說,情況就不盡相同了。譬如,你可以刪除包含空值的對象用完整的數據集來進行訓
練,但預測時你卻不能忽略包含空值的對象。另外,C4.5和使用所有可能的值填充方法也有較好的補齊效果,人工填寫和特殊值填 充則是一般不推薦使用的。
補齊處理只是將未知值補以我們的主觀估計值,不一定完全符合客觀事實,在對不完備信息進行補齊處理的同時,我們或多
或少地改變了原始的信息系統。而且,對空值不正確的填充往往將新的雜訊引入數據中,使挖掘任務產生錯誤的結果。因此,在許
多情況下,我們還是希望在保持原始信息不發生變化的前提下對信息系統進行處理。這就是第三種方法:
混 沌 論 壇 希望可以幫助到你~望採納哦~謝謝~

熱點內容
商城前端源碼 發布:2025-01-13 14:08:43 瀏覽:48
每個人身上都有密碼是什麼 發布:2025-01-13 14:08:40 瀏覽:472
怎麼看java 發布:2025-01-13 13:54:18 瀏覽:10
沒腳本導演 發布:2025-01-13 13:52:22 瀏覽:339
獲取android簽名 發布:2025-01-13 13:40:21 瀏覽:595
單片機編譯器和驅動 發布:2025-01-13 13:31:33 瀏覽:440
tis伺服器怎麼進pe 發布:2025-01-13 13:31:02 瀏覽:277
android線程與線程通信 發布:2025-01-13 13:30:27 瀏覽:39
FTP伺服器本地策略 發布:2025-01-13 13:20:47 瀏覽:486
地下城堡2掛機腳本 發布:2025-01-13 13:20:44 瀏覽:206