本文對應《r語言實戰》第15章:處理缺失資料的高階方法
處理缺失值的一般步驟:
識別缺失資料;
檢查導致資料缺失的原因;
刪除包含缺失值的例項或用合理的數值代替(插補)缺失值。
缺失資料的分類:
非隨機缺失(nmar):不屬於mcar或mar的變數。
一般情況下為mcar或mar,nmar處理太過複雜,暫時不考慮。
識別缺失值:
#某變數缺失值數量md.pattern()結果解釋:sum(is.na(sleep$dream))
#某變數上缺失值的比例
mean(is.na(sleep$dream))
#含有缺失值的例項的比例
mean(!complete.cases(sleep))
#生成乙個以矩陣或資料框形式展示缺失值模式的**
library(mice)
md.pattern(sleep)
矩陣中,0表示有缺失值,1表示沒有缺失值。第一行表述了無缺失值的模式,第二行以後表述了除標記變數外無缺失值的模式。。第一列表示各缺失值模式的例項個數,最後一列表示各模式中有缺失值的變數的個數。最後一行給出了每個變數中缺失值的數目。
圖形**缺失資料(package: vim)
三個函式:
aggr()函式不僅繪製每個變數的缺失值數,還繪製每個變數組合的缺失值數;
matrixplot()函式可生成展示每個例項資料的圖形;
marginplot()函式可生成一幅散點圖,在圖形邊界展示兩個變數的缺失值資訊。
影子矩陣:用指示變數替代資料集中的資料(1表示缺失,2表示存在)
求這些指示變數間和它們與初始(可觀測)變數間的相關性,有助於觀察哪些變數常一起缺失,以及分析變數「缺失」與其他變數間的關係。
x相關係數大,表明兩個變數間常常一起缺失。y 0)]
cor(y)
理解缺失資料的來由和影響:
識別缺失資料的數目、分布和模式有兩個目的:1. 分析生成缺失資料的潛在機制;2. 評價缺失資料對回答實質性問題的影響。
用統計方法進行缺失資料的分析:恢復資料的推理方法、涉及刪除缺失值的傳統方法、涉及模擬的現代方法。
所有工作的目的都是相同的:在沒有完整資訊的情況下,盡可能精確地回答收集資料所要解決的實質性問題。
理性處理不完整資料:
採用推理的方法,根據變數間的數學或邏輯關係來填補或恢復缺失值。
常見處理方法:
行刪除:將包含乙個或多個缺失值的任意一行刪除;
#以下兩行**的功能等價處理缺失值的其他方法:newdata
newdata
多重插補(mi):是一種基於重複模擬的處理缺失值的方法,每個模擬資料集中,缺失資料將用蒙特卡洛方法來填補。r中可利用amelia, mice 和mi包實現。
mice包:利用鏈式方程的多元插補。具體過程:首先從乙個包含缺失資料的資料框開始,返回乙個包含多個(預設5個)完整資料集的物件;然後,with()函式可依次對每個完整資料集應用統計模型;最後,pool()函式將這些單獨的分析結果集成為一組結果。最終模型的標準誤和p值都將準確地反映出由於缺失值和多重插補而產生的不確定性。
mice如何插補缺失值:通過gibbs抽樣完成。每個缺失值由資料集中其他**變數**得來,該過程不斷迭代,直到所有**值收斂。
通常過程:
library(mice)
imp
fit
pooled
summary(pooled)
#mydata是待插補的資料框,m預設5,imp裡含有m個插補資料集
#analysis是乙個表示式物件,設定應用於m個插補資料集的統計分析方法
#fit包含了m個單獨統計分析結果
#pooled包含m個統計分析平均結果
hmisc
包含多種函式,支援簡單插補、多重插補和典型變數插補
mvnmle
對多元正態分佈資料中缺失值的最大似然估計
cat對數線性模型中多元類別型變數的多重插補
arrayimpute/arraymisspattern/seqknn
處理微陣列缺失資料的實用函式
longitudinaldata
相關的函式列表,比如對時間序列缺失值進行插補的一系列函式
kmi處理生存分析缺失值的kaplan-meier多重插補
mix一般位置模型中混合類別型和連續型資料的多重插補
pan多元面板資料或聚類資料的多重插補
Flash 平台技術的優化 十 處理畫素
使用 setvector 方法繪製畫素。當繪製畫素時,使用 bitmapdata 類的相應方法即可進行一些簡單優化。快速繪製畫素的一種方式是使用 flash player 10 中引入的 setvector 方法 image dimensions var wdth int 200 var hght ...
資料分析學習筆記4 處理缺失資料
對於數值資料,pandas使用浮點值nan not a number 表示缺失資料。我們稱其為哨兵值。過濾掉缺失資料的辦法有很多種。你可以通過pandas.isnull或布林索引的手工方法,但dropna可能會更實用一些。對於乙個series,dropna返回乙個僅含非空資料和索引值的series ...
R語言實戰之高階資料管理
數學函式 data read.csv sample.csv high data high c 1 20 abs high sqrt high 不小於high的最小整數 ceiling high 不大於high 的最小整數 floor high 向0方向擷取的high整數部分 trunc high 將...