㈠ spss分析方法-缺失值分析
spss 分析方法 - 缺失值分析
缺失值可能會導致嚴重的問題。如果帶有缺失值的個案與不帶缺失值的個案有著根本的不同,則結果將被誤導。此外,缺失的數據還可能降低所計算的統計量的精度,因為計算時的信息比原計劃的信息要少。
另一個問題是, 很多統計過程背後的假設都基於完整的個案,而缺失值可能使所需的理論復雜化。
下面我們主要從下面四個方面來解說:
[if !supportLineBreakNewLine]
[endif]
實際應用
理論思想
建立模型
[if !supportLineBreakNewLine]
[endif]
分析結果
[if !supportLineBreakNewLine]
[endif]
一、實際應用
[if !supportLineBreakNewLine]
[endif]
眾所周知,在諸如收入、交通事故等問題的研究中,因為被調查者拒絕回答或者由於調查研究中的損耗,會存在一些未回答的問題。
例如在一次人口調查中,15%的人沒有回答收入情況,高收入者的回答率比中等收入者要低,或者在嚴重交通事故報告中,諸如是否使用安全帶和酒精濃度等關鍵問題在很多個案中都沒有記錄,這些缺失的個案值便是缺失值。缺失值主要表現為以下3種: (1)完全隨機缺失(Missing Completely At Random,MCAR),表示缺失和變數的取值無關。 例如,假設在研究年齡和收入的關系,如果缺失的數據和年齡或收入數值無關,則缺失值方式為MCAR。要評估MCAR是否為站得住腳的假設,可以通過比較回答者和未回答者的分布來評估觀察數據。也可以使用單變數t-檢驗或Little's MCAR多變數檢驗來進行更正規的評估。如果MCAR假設為真,可以使用列表刪除(listwise deletion)(完整個案分析),無須擔心估計偏差,盡管可能會喪失一些有效性。如果MCAR不成立,列表刪除、均值置換等逼近方法就可能不是好的選擇。 (2)隨機缺失(Missing At Random,MAR) , 缺失分布中調查變數只依賴於數據組中有記錄的變數。 繼續上面的例子,考慮年齡全部被觀察,而收入有時有缺失,如果收入缺失值僅依賴於年齡,缺失值就為MAR。 (3)非隨機缺失。 這是研究者最不願意看到的情形,數據的缺失不僅和其他變數的取值有關,也和自身有關。如果收入缺失值依賴於收入值,則既不是MCAR,也不是MAR。
[if !supportLineBreakNewLine]
[endif]
二、理論思想
SPSS主要對MCAR和MAR兩種缺失值情況進行分析。
區別MCAR和MAR的含義在於:由於MCAR實際上很難遇到,應該在進行調查之前就考慮哪些重要變數可能會有非無效的未回答,還要盡量在調查中包括共變數,以便用這些變數來估算缺失值。
[if !supportLineBreakNewLine]
[endif]
針對不同情況的缺失值,SPSS操作給出了以下3種處理方法:
( 1 )刪除缺失值, 這種方法適用於缺失值非常少的時候,它不需要專門的步驟,通常在相應的分析對話框的「選項」子對話框中進行設置。
( 2 )替換缺失值 ,利用「轉換」菜單中的「替換缺失值」命令將所有的記錄看成一個序列,然後採用某種指標對缺失值進行填充。
( 3 )缺失值分析過程 ,缺失值分析過程是SPSS專門針對缺失值分析而提供的模塊。
缺失值分析過程有以下3個主要功能: ( 1 )描述缺失值的模式。 通過缺失值分析的診斷報告,用戶可以明確地知道缺失值所在位置及其出現的比例是多少,還可以推斷缺失值是否為隨機缺失等。 ( 2 )利用列表法、成對法、回歸法或 EM (期望最大化)法等為含缺失值的數據估算平均值、標准誤差、協方差和相關性,成對法還可顯示成對完整個案的計數。( 3 )使用回歸法或 EM 法用估算值填充(插補)缺失值,以此提高統計結果的可信度。 缺失數據可以是分類數據或定量數據(刻度或連續),盡管如此,SPSS只能為定量變數估計統計數據並插補缺失數據。對於每個變數,必須將未編碼為系統缺失值的缺失值定義為用戶缺失值。舍爾判別法利用投影的方法使多維問題簡化為一維問題來處理。其通過建立線性判別函數計算出各個觀測量在各典型變數維度上的坐標並得出樣本距離各個類中心的距離,以此作為分類依據。
[if !supportLineBreakNewLine]
[endif]
[if !supportLineBreakNewLine]
[endif]
三、建立模型
缺失值分析案例:
[if !supportLineBreakNewLine]
[endif]
題目:下表的某些人口統計數據值已被缺失值替換。該假設數據文件涉及某電信公司在減少客戶群中的客戶流失方面的舉措,每個個案對應一個單獨的客戶,並記錄各類人口統計和服務用途信息。下面將結合本數據文件詳細說明如何得到數據文件的缺失值,從而認識SPSS的缺失值分析過程。
一、數據輸入
二、操作步驟 1、進入SPSS,打開相關數據文件,「分析」|「缺失值分析」命令2、選擇「婚姻狀況[marital]」「受教育水平[ed]」「退休[retire]」及「性別[gender]」4個變數進入「分類變數」列表框;選擇「服務月數[tenure]」「年齡[age]」「在現住址居住年數[address]」「家庭收入(千)[income]」「現職位工作年數[employ]」及「家庭人數[reside]」6個變數進入「定量變數」列表框。
3、在「缺失值分析」對話框中單擊「模式」按鈕,彈出「缺失值分析:模式」對話框,選中「顯示」選項組中的「個案表(按缺失值模式分組)」復選框,從「以下對象的缺失模式」列表框中選中income、ed、retire和gender 4個變數進入「以下對象的附加信息」列表框中。
其他採用默認設置。設置完畢後,單擊「繼續」按鈕,回到「缺失值分析」對話框。
4、單擊「描述」按鈕,彈出「缺失值分析:描述」對話框。選中「單變數統計」復選框及「指示符變數統計」選項組中的「使用由指示符變數構成的組執行t檢驗」和「生成分類變數和指示符變數的交叉表」復選框,其他採用默認設置。
5、勾選EM,其餘設置採用系統默認值即可。單擊「確定」按鈕,等待輸出結果。
[if !supportLineBreakNewLine]
[endif]
四、結果分析
1、單變數統計表下表給出了所有分析變數未缺失數據的頻數、平均值和標准差,同時給出了缺失值的個數和百分比以及極值的統計信息。通過這些信息,我們可以初步了解數據的概貌特徵,以employ一欄為例,employ變數的有效數據有904個,它們的平均值為11,標准差為10.113,缺失數據有96個,占數據總數的比例為9.6%,有15個極大值。
2、估算表下兩個表使用EM法進行缺失值的估算後,總體數據的均值和標准差的變化情況,其中「所有值」為原始數據的統計特徵,EM為使用EM法後總體數據的統計特徵。
3
、獨立方差t檢驗表獨立方差t測試結果,用戶可以從中找出影響其他定量變數的變數的缺失值模式, 即通過單個方差 t 統計量結果,檢驗缺失值是否為完全隨機缺失。 可以看出,年齡大的人傾向於不報告收入水平,當收入值缺失時,age的均值是49.73,當收入值完整時,age的均值為40.01。通過income一欄的t統計量可以看出,income的缺失將明顯影響其他定量變數,這就說明income的缺失不是完全隨機缺失。
4、分類變數和定量變數交叉表以marital為例給出了分類變數與其他定量變數間的交叉表。該表給出了在不同婚姻情況下,各分類變數非缺失的個數和百分比,以及各種缺失值的個數和百分比,圖中標識了系統缺失值的取值,以及各變數在不同婚姻情況中的分布情況。
5、表格模式輸出結果下表給出了表格模式輸出結果(缺失值樣式表),它給出了缺失值分布的詳細信息,X為使用該模式下缺失的變數。由圖可以看出,所有顯示的950個個案中,9個變數值都完整的個案數有475個,缺失income值的個案有109個,同時缺失address和income值的個案有16個,其他數據的解釋類似。
6、EM估算統計表下面三個表給出了EM演算法的相關統計量,包括EM平均值、協方差和相關性。從EM平均值輸出結果中可知,age變數的平均值為41.91,從EM協方差輸出結果中可知,age和tenture間的協方差值為135.326,從EM相關性輸出結果中可知,age與tenture的相關系數為0.496。另外,從三個表格下方的 利特爾的MCAR檢驗可知,卡方檢驗的顯著性值明顯小於0.05,因此,我們拒絕了缺失值為完全隨機缺失(MCAR)的假設 ,這也驗證了3、獨立方差t檢驗表所得到的結論。
[if !supportLineBreakNewLine]
[endif]
參考案例數據:
[if !supportLineBreakNewLine]
[endif]
[if !supportLists]【1】 [endif]spss統計分析從入門到精通 (第四版) 楊維忠,陳勝可,劉榮 清華大學出版社
(獲取更多知識,前往gz號程式解說)
原文來自https://mp.weixin.qq.com/s/CsMIoA_vu8HJoPvW16oNFg
㈡ 缺失值在回歸前一般是要處理的,有多種處理方式.1均值替代;2多重補漏分析
(一)個案剔除法(Listwise Deletion)
最常見、最簡單的處理缺失數據的方法是用個案剔除法(listwise
deletion),也是很多統計(如SPSS和SAS)默認的缺失值處理方法。在這種方法中如果任何一個變數含有缺失數據的話,就把相對應的個案從分析中剔除。如果缺失值所佔比例比較小的話,這一方法十分有效。至於具體多大的缺失比例算是「小」比例,專家們意見也存在較大的差距。有學者認為應在5%以下,也有學者認為20%以下即可。然而,這種方法卻有很大的局限性。它是以減少樣本量來換取信息的完備,會造成資源的大量浪費,丟棄了大量隱藏在這些對象中的信息。在樣本量較小的情況下,刪除少量對象就足以嚴重影響到數據的客觀性和結果的正確性。因此,當缺失數據所佔比例較大,特別是當缺數據非隨機分布時,這種方法可能導致數據發生偏離,從而得出錯誤的結論。
(二)均值替換法(Mean Imputation)
在變數十分重要而所缺失的數據量又較為龐大的時候,個案剔除法就遇到了困難,因為許多有用的數據也同時被剔除。圍繞著這一問題,研究者嘗試了各種各樣的辦法。其中的一個方法是均值替換法(mean
imputation)。我們將變數的屬性分為數值型和非數值型來分別進行處理。如果缺失值是數值型的,就根據該變數在其他所有對象的取值的平均值來填充該缺失的變數值;如果缺失值是非數值型的,就根據統計學中的眾數原理,用該變數在其他所有對象的取值次數最多的值來補齊該缺失的變數值。但這種方法會產生有偏估計,所以並不被推崇。均值替換法也是一種簡便、快速的缺失數據處理方法。使用均值替換法插補缺失數據,對該變數的均值估計不會產生影響。但這種方法是建立在完全隨機缺失(MCAR)的假設之上的,而且會造成變數的方差和標准差變小。
(三)熱卡填充法(Hotdecking)
對於一個包含缺失值的變數,熱卡填充法在資料庫中找到一個與它最相似的對象,然後用這個相似對象的值來進行填充。不同的問題可能會選用不同的標准來對相似進行判定。最常見的是使用相關系數矩陣來確定哪個變數(如變數Y)與缺失值所在變數(如變數X)最相關。然後把所有個案按Y的取值大小進行排序。那麼變數X的缺失值就可以用排在缺失值前的那個個案的數據來代替了。與均值替換法相比,利用熱卡填充法插補數據後,其變數的標准差與插補前比較接近。但在回歸方程中,使用熱卡填充法容易使得回歸方程的誤差增大,參數估計變得不穩定,而且這種方法使用不便,比較耗時。
(四)回歸替換法(Regression Imputation)
回歸替換法首先需要選擇若干個預測缺失值的自變數,然後建立回歸方程估計缺失值,即用缺失數據的條件期望值對缺失值進行替換。與前述幾種插補方法比較,該方法利用了資料庫中盡量多的信息,而且一些統計(如Stata)也已經能夠直接執行該功能。但該方法也有諸多弊端,第一,這雖然是一個無偏估計,但是卻容易忽視隨機誤差,低估標准差和其他未知性質的測量值,而且這一問題會隨著缺失信息的增多而變得更加嚴重。第二,研究者必須假設存在缺失值所在的變數與其他變數存在線性關系,很多時候這種關系是不存在的。
(五)多重替代法(Multiple Imputation)
多重估算是由Rubin等人於1987年建立起來的一種數據擴充和統計分析方法,作為簡單估算的改進產物。首先,多重估算技術用一系列可能的值來替換每一個缺失值,以反映被替換的缺失數據的不確定性。然後,用標準的統計分析過程對多次替換後產生的若干個數據集進行分析。最後,把來自於各個數據集的統計結果進行綜合,得到總體參數的估計值。由於多重估算技術並不是用單一的值來替換缺失值,而是試圖產生缺失值的一個隨機樣本,這種方法反映出了由於數據缺失而導致的不確定性,能夠產生更加有效的統計推斷。結合這種方法,研究者可以比較容易地,在不舍棄任何數據的情況下對缺失數據的未知性質進行推斷。NORM統計可以較為簡便地操作該方法
㈢ 數據清理中,處理缺失值的方法有哪些
1.
刪除含有缺失值的個案
2.
可能值插補缺失值
(1)均值插補
(2)利用同類均值插補。
(3)極大似然估計(Max
Likelihood
,ML)
(4)多重插補(Multiple
Imputation,MI)
㈣ 數據分析中缺失值的處理
數據缺失在許多研究領域都是一個復雜的問題,對數據挖掘來說,缺失值的存在,造成了以下影響:
1.系統丟失了大量的有用信息
2.系統中所表現出的不確定性更加顯著,系統中蘊涵的確定性成分更難把握
3.包含空值的數據會使挖掘過程陷入混亂,導致不可靠的輸出
數據挖掘演算法本身更致力於避免數據過分擬合所建的模型,這一特性使得它難以通過自身的演算法去很好地處理不完整數據。因此,缺失值需要通過專門的方法進行推導、填充等,以減少數據挖掘演算法與實際應用之間的差距。
1.列表顯示缺失值 mice包 md.pattern( )
2.圖形探究缺失值 VIM包
3.用相關性探索缺失值
1.人工填寫
由於最了解數據的還是用戶自己,因此這個方法產生數據偏離最小,可能是填充效果最好的一種。然而一般來說,該方法很費時,當數據規模很大、空值很多的時候,該方法是不可行的。
2.特殊值填充
將空值作為一種特殊的屬性值來處理,它不同於其他的任何屬性值。如所有的空值都用「unknown」填充。這樣將形成另一個有趣的概念,可能導致嚴重的數據偏離,一般不推薦使用。
3.平均值填充
將信息表中的屬性分為數值屬性和非數值屬性來分別進行處理。如果空值是數值型的,就根據該屬性在其他所有對象的取值的平均值來填充該缺失的屬性值;如果空值是非數值型的,就根據統計學中的眾數原理,用該屬性在其他所有對象的取值次數最多的值(即出現頻率最高的值)來補齊該缺失的屬性值。另外有一種與其相似的方法叫條件平均值填充法(Conditional Mean Completer)。在該方法中,缺失屬性值的補齊同樣是靠該屬性在其他對象中的取值求平均得到,但不同的是用於求平均的值並不是從信息表所有對象中取,而是從與該對象具有相同決策屬性值的對象中取得。這兩種數據的補齊方法,其基本的出發點都是一樣的,以最大概率可能的取值來補充缺失的屬性值,只是在具體方法上有一點不同。與其他方法相比,它是用現存數據的多數信息來推測缺失值。
4.熱卡填充
對於一個包含空值的對象,熱卡填充法在完整數據中找到一個與它最相似的對象,然後用這個相似對象的值來進行填充。不同的問題可能會選用不同的標准來對相似進行判定。該方法概念上很簡單,且利用了數據間的關系來進行空值估計。這個方法的缺點在於難以定義相似標准,主觀因素較多。
5.K最近距離鄰法
先根據歐式距離或相關分析來確定距離具有缺失數據樣本最近的K個樣本,將這K個值加權平均來估計該樣本的缺失數據。
同均值插補的方法都屬於單值插補,不同的是,它用層次聚類模型預測缺失變數的類型,再以該類型的均值插補。假設X=(X1,X2…Xp)為信息完全的變數,Y為存在缺失值的變數,那麼首先對X或其子集行聚類,然後按缺失個案所屬類來插補不同類的均值。如果在以後統計分析中還需以引入的解釋變數和Y做分析,那麼這種插補方法將在模型中引入自相關,給分析造成障礙。
6.使用所有可能的值填充
用空缺屬性值的所有可能的屬性取值來填充,能夠得到較好的補齊效果。但是,當數據量很大或者遺漏的屬性值較多時,其計算的代價很大,可能的測試方案很多。
7.組合完整化方法
用空缺屬性值的所有可能的屬性取值來試,並從最終屬性的約簡結果中選擇最好的一個作為填補的屬性值。這是以約簡為目的的數據補齊方法,能夠得到好的約簡結果;但是,當數據量很大或者遺漏的屬性值較多時,其計算的代價很大。
8.回歸
基於完整的數據集,建立回歸方程(模型)。對於包含空值的對象,將已知屬性值代入方程來估計未知屬性值,以此估計值來進行填充,當變數不是線性相關或預測變數高度相關時會導致有偏差的估計(SPSS菜單里有這種方法)
9.期望值最大化方法
EM演算法是一種在不完全數據情況下計算極大似然估計或者後驗分布的迭代演算法。在每一迭代循環過程中交替執行兩個步驟:E步(Excepctaion step,期望步),在給定完全數據和前一次迭代所得到的參數估計的情況下計算完全數據對應的對數似然函數的條件期望;M步(Maximzation step,極大化步),用極大化對數似然函數以確定參數的值,並用於下步的迭代。演算法在E步和M步之間不斷迭代直至收斂,即兩次迭代之間的參數變化小於一個預先給定的閾值時結束。該方法可能會陷入局部極值,收斂速度也不是很快,並且計算很復雜。(SPSS菜單里有這種方法)
10.1多重插補原理
多值插補的思想來源於貝葉斯估計,認為待插補的值是隨機的,它的值來自於已觀測到的值。具體實踐上通常是估計出待插補的值,然後再加上不同的雜訊,形成多組可選插補值。根據某種選擇依據,選取最合適的插補值。
10.2多重填補在SPSS中的實現
10.2.1缺失模式分析
分析>多重歸因>分析模式
10.2.2缺失值的多重填充
分析>多重歸因>歸因缺失數據值
10.2.3採用填充後的數據建模
10.3多重填補在R中的實現(基於mice包)
實例:
11.C4.5方法
通過尋找屬性間的關系來對遺失值填充。它尋找之間具有最大相關性的兩個屬性,其中沒有遺失值的一個稱為代理屬性,另一個稱為原始屬性,用代理屬性決定原始屬性中的遺失值。這種基於規則歸納的方法只能處理基數較小的名詞型屬性。
就幾種基於統計的方法而言,刪除元組法和平均值填充法差於熱卡填充法、期望值最大化方法和多重填充法;回歸是比較好的一種方法,但仍比不上熱卡填充和期望值最大化方法;期望值最大化方法缺少多重填補包含的不確定成分。值得注意的是,這些方法直接處理的是模型參數的估計而不是空缺值預測本身。它們合適於處理無監督學習的問題,而對有監督學習來說,情況就不盡相同了。譬如,你可以刪除包含空值的對象用完整的數據集來進行訓練,但預測時你卻不能忽略包含空值的對象。另外,C4.5和使用所有可能的值填充方法也有較好的補齊效果,人工填寫和特殊值填充則是一般不推薦使用的。
補齊處理只是將未知值補以我們的主觀估計值,不一定完全符合客觀事實,在對不完備信息進行補齊處理的同時,我們或多或少地改變了原始的信息系統。而且,對空值不正確的填充往往將新的雜訊引入數據中,使挖掘任務產生錯誤的結果。因此,在許多情況下,我們還是希望在保持原始信息不發生變化的前提下對信息系統進行處理。
直接在包含空值的數據上進行數據挖掘,這類方法包括貝葉斯網路和人工神經網路等。
貝葉斯網路是用來表示變數間連接概率的圖形模式,它提供了一種自然的表示因果信息的方法,用來發現數據間的潛在關系。在這個網路中,用節點表示變數,有向邊表示變數間的依賴關系。貝葉斯網路僅適合於對領域知識具有一定了解的情況,至少對變數間的依賴關系較清楚的情況。否則直接從數據中學習貝葉斯網的結構不但復雜性較高(隨著變數的增加,指數級增加),網路維護代價昂貴,而且它的估計參數較多,為系統帶來了高方差,影響了它的預測精度。當在任何一個對象中的缺失值數量很大時,存在指數爆炸的危險。人工神經網路可以有效的對付空值,但人工神經網路在這方面的研究還有待進一步深入展開。人工神經網路方法在數據挖掘應用中的局限性。
多數統計方法都假設輸入數據是完整的且不包含缺失值,但現實生活中大多數數據集都包含了缺失值。因此,在進行下一步分析前,你要麼刪除,要麼用合理的數值代理它們,SPSS、R、Python、SAS等統計軟體都會提供一些默認的處理缺失值方法,但這些方法可能不是最優的,因此,學習各種各樣的方法和他們的分支就顯得非常重要。Little和Rubin的《Sstatistical Analysis With Missing Data 》是缺失值領域里經典的讀本,值得一看。
㈤ 對於缺失值的處理
建議:不同場景基鉛下的數據缺失機制不同,這需要工程師基於對業務選擇合適的填充方法。
如何判斷缺失值類型?
缺失值的分類按照數據缺失機制可分為:
可忽略的缺失
不可忽略的缺失
平常工作中遇到的缺失值大部分情況下是隨機的(缺失變數和其他變數有關)
這個就可以用estimator來做了,選其中一個變數(y),然後用其他變數作為X,隨便選個值填充X的缺失部分,用X train一個estimator,再預測y的缺失部分(大致思路)
此外有些數據是符合某種分布的,利用這個分布呢也可以填充缺失的數據,如(EM演算法)
處理缺失數據的三個標准:
1. 非偏置的參數估計
不管你估計means, regressions或者是odds ratios,都希望參數估計可以准確代表真實的總體參數。在統計項中,這意味著估計需要是無偏的。有缺失值可能會影響無偏估計,所以需要處理。
2. 有效的能力:
刪除缺失數據會降低采樣的大小,因此會降低power。如果說問題是無偏的,那麼得到的結果會是顯著的,那麼會有足夠的能力來檢驗這個效力(have adequate power to detect your effects)。反之,整個檢測可能失效。
3. 准確的標准差(影響p值和置信區間):
不僅需要參數估計無偏,還需要標准差估計准確,在統計推斷中才會有效。
缺失值處理的方法大致分為這幾類:1、刪除法;2、基於插補的方法;3、基於模型的方法; 4、不處理; 5、映射高維
有些處理方法是基於完全隨機缺失假設(MCAR),一般來說,當數據不是 MCAR 而 是隨機缺失(MAR)時,這些方法是不適用的;而有些方法(如似然估計法)在 MAR 的假設下是適用的,因此,在進行缺失數據處理時,首先需要認真分析缺失數 據產生的原因,然後採取有針對性的補救措施,這樣才能夠獲得無偏或弱偏估計。
此處關於使用多重插補來處理非隨機缺失(MNAR)的問題,它其實效果不一定,也可能出現效果倒退的情況,總的說多重更適合MAR
註:此處一元與多元指的是僅有一個特徵有缺失值與多個特徵有缺失值
對於不同類別的缺失值的處理方法如上圖。
以下展開介紹各個方法:
註: k-means插補 與KNN插補很相似,區別在於k-means是利用無缺失值的特徵來尋找最近的N個點,然後用這N個點的我們所需的缺失的特徵平均值來填充,而KNN則是先用均值填充缺失值再找最近搏迅好的N個點。
類似的還有 隨機回歸插補 :也優於純回歸插補
其他單一插補法:
與單一插補方法相比較,多重插補方法充分地考慮了數據的不確定性。多重插補的主要分為三個步驟,綜合起來即為:插補、分析、合並。插補步是為每個缺失值都構造出 m 個可能的插補值,缺失模型具有不確定性,這些插補值能體現出模型的這個性質,利用這些可能插補值對缺失值進行插補就得到了 m 個完整數據集。分析步是對插補後的 m 個完整數據集使用一樣的統計數據分析方法進行分析,同時得到 m 個統計結果。綜合步就是把得到的這 m 個統計結果綜合起來得到的分析結果,把這個分析結果作為缺失值的替代值。多重插補構造多個插補值主要是通過模擬的方式對估計量的分布進行推測,然後採用不同的模型對缺失值進行插補,這種插補是隨機抽取的方式,這樣以來能提高估計的有效性和可靠性。
多重插補-python手冊
多重插補法主要有以下幾種:
(使用回歸、貝葉斯、隨機森林、決策樹等模型對缺失數據進行預測。)
基於已有的其他欄位,將缺失欄位作為目標變數進行預測,從而得到較昌喊為可能的補全值。如果帶有缺失值的列是數值變數,採用回歸模型補全;如果是分類變數,則採用分類模型補全。
常見能夠自動處理缺失值模型包括:KNN、決策樹和隨機森林、神經網路和樸素貝葉斯、DBSCAN(基於密度的帶有雜訊的空間聚類)等。
處理思路:
自動插補 :例如XGBoost會通過training loss rection來學習並找到最佳插補值。
忽略 :缺失值不參與距離計算,例如:KNN,LightGBM
將缺失值作為分布的一種狀態 :並參與到建模過程,例如:決策樹以及變體。
不基於距離做計算 :因此基於值得距離計算本身的影響就消除了,例如:DBSCAN。
ID3、c4.5、cart、rf到底是如何處理缺失值的?
最精確的做法,把變數映射到高維空間。
比如性別,有男、女缺失三種情況,則映射成3個變數:是否男、否女、是否缺失。連續型變數也可以這樣處理。比如Google、 網路的CTR預估模型,預處理時會把所有變數都這樣處理,達到幾億維。又或者可根據每個值的頻數,將頻數較小的值歸為一類'other',降低維度。此做法可最大化保留變數的信息。
前推法 (LOCF,Last Observation Carried Forward,將每個缺失值替換為缺失之前的最後一次觀測值)與 後推法 (NOCB,Next Observation Carried Backward,與LOCF方向相反——使用缺失值後面的觀測值進行填補)
這是分析可能缺少後續觀測值的縱向重復測量數據的常用方法。縱向數據在不同時間點跟蹤同一樣本。當數據具有明顯的趨勢時,這兩種方法都可能在分析中引入偏差,表現不佳。
線性插值 。此方法適用於具有某些趨勢但並非季節性數據的時間序列。
季節性調整+線性插值 。此方法適用於具有趨勢與季節性的數據。
總而言之,大部分數據挖掘的預處理都會使用比較方便的方法來處理缺失值,比如均值法,但是效果上並不一定好,因此還是需要根據不同的需要選擇合適的方法,並沒有一個解決所有問題的萬能方法。
具體的方法採用還需要考慮多個方面的:
在做數據預處理時,要多嘗試幾種填充方法,選擇表現最佳的即可。
總結來說,沒有一個最完美的策略,每個策略都會更適用於某些數據集和數據類型,但再另一些數據集上表現很差。雖然有一些規則能幫助你決定選用哪一種策略,但除此之外,你還應該嘗試不同的方法,來找到最適用於你的數據集的插補策略。
當前最流行的方法應該是 刪除法、KNN、多重插補法 。
參考文獻: 龐新生. 缺失數據處理方法的比較[J]. 統計與決策, 2010(24):152-155.
㈥ 數據清理中,處理缺失值的方法有哪些
由於調查、編碼和錄入誤差,數據中可能存在一些無效值和缺失值,需要給予適當的處理。常用的處理方法有:估算,整例刪除,變數刪除和成對刪除。
計算機俗稱電腦,是一種用於高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數據的現代化智能電子設備。由硬體系統和軟體系統所組成,沒有安裝任何軟體的計算機稱為裸機。
可分為超級計算機、工業控制計算機、網路計算機、個人計算機、嵌入式計算機五類,較先進的計算機有生物計算機、光子計算機、量子計算機、神經網路計算機。蛋白質計算機等。
當今計算機系統的運算速度已達到每秒萬億次,微機也可達每秒幾億次以上,使大量復雜的科學計算問題得以解決。例如:衛星軌道的計算、大型水壩的計算、24小時天氣預報的計算等,過去人工計算需要幾年、幾十年,而現在用計算機只需幾天甚至幾分鍾就可完成。
科學技術的發展特別是尖端科學技術的發展,需要高度精確的計算。計算機控制的導彈之所以能准確地擊中預定的目標,是與計算機的精確計算分不開的。一般計算機可以有十幾位甚至幾十位(二進制)有效數字,計算精度可由千分之幾到百萬分之幾,是任何計算工具所望塵莫及的。
隨著計算機存儲容量的不斷增大,可存儲記憶的信息越來越多。計算機不僅能進行計算,而且能把參加運算的數據、程序以及中間結果和最後結果保存起來,以供用戶隨時調用;還可以對各種信息(如視頻、語言、文字、圖形、圖像、音樂等)通過編碼技術進行算術運算和邏輯運算,甚至進行推理和證明。
計算機內部操作是根據人們事先編好的程序自動控制進行的。用戶根據解題需要,事先設計好運行步驟與程序,計算機十分嚴格地按程序規定的步驟操作,整個過程不需人工干預,自動執行,已達到用戶的預期結果。
超級計算機(supercomputers)通常是指由數百數千甚至更多的處理器(機)組成的、能計算普通PC機和伺服器不能完成的大型復雜課題的計算機。超級計算機是計算機中功能最強、運算速度最快、存儲容量最大的一類計算機,是國家科技發展水平和綜合國力的重要標志。
超級計算機擁有最強的並行計算能力,主要用於科學計算。在氣象、軍事、能源、航天、探礦等領域承擔大規模、高速度的計算任務。
在結構上,雖然超級計算機和伺服器都可能是多處理器系統,二者並無實質區別,但是現代超級計算機較多採用集群系統,更注重浮點運算的性能,可看著是一種專注於科學計算的高性能伺服器,而且價格非常昂貴。
一般的超級計算器耗電量相當大,一秒鍾電費就要上千,超級計算器的CPU至少50核也就是說是家用電腦的10倍左右,處理速度也是相當的快,但是這種CPU是無法購買的,而且價格要上千萬。