久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

R語言︱缺失值處理之多重插補

 宋娃娃姓宋 2018-01-11

筆者寄語:缺失值是數(shù)據(jù)清洗過程中非常重要的問題(其他方法可見:R語言︱異常值檢驗、離群點分析、異常值處理),,筆者在進行mice包的多重插補過程中遇到相當多的問題。

大致的步驟簡介如下:

缺失數(shù)據(jù)集——MCMC估計插補成幾個數(shù)據(jù)集——每個數(shù)據(jù)集進行插補建模(glm,、lm模型)——將這些模型整合到一起(pool)——評價插補模型優(yōu)劣(模型系數(shù)的t統(tǒng)計量)——輸出完整數(shù)據(jù)集(compute)


步驟詳細介紹:

函數(shù)mice()首先從一個包含缺失數(shù)據(jù)的數(shù)據(jù)框開始,,然后返回一個包含多個(默認為5個)完整數(shù)據(jù)集的對象。

每個完整數(shù)據(jù)集都是通過對原始數(shù)據(jù)框中的缺失數(shù)據(jù)進行插補而生成的,。 由于插補有隨機的成分,,因此每個完整數(shù)據(jù)集都略有不同。

然后,, with()函數(shù)可依次對每個完整數(shù)據(jù)集應用統(tǒng)計模型(如線性模型或廣義線性模型) ,,

最后, pool()函數(shù)將這些單獨的分析結果整合為一組結果,。最終模型的標準誤和p值都將準確地反映出由于缺失值和多重插補而產生的不確定性,。


  1. #多重插補法處理缺失,結果轉存  
  2. library(lattice) #調入函數(shù)包  
  3. library(MASS)  
  4. library(nnet)  
  5. library(mice) #前三個包是mice的基礎  
  6. imp=mice(inputfile,m=4) #4重插補,,即生成4個無缺失數(shù)據(jù)集  
  7. fit=with(imp,lm(sales~date,data=inputfile))#選擇插補模型  
  8. pooled=pool(fit)  
  9. summary(pooled)  
  10. result4=complete(imp,action=3)#選擇第三個插補數(shù)據(jù)集作為結果  

結果解讀:

(1)imp對象中,,包含了:每個變量缺失值個數(shù)信息、每個變量插補方式(PMM,,預測均值法常見),、插補的變量有哪些、預測變量矩陣(在矩陣中,,行代表插補變量,,列代表為插補提供信息的變量, 1和0分別表示使用和未使用),;

同時  利用這個代碼imp$imp$sales  可以找到,,每個插補數(shù)據(jù)集缺失值位置的數(shù)據(jù)補齊具體數(shù)值是啥。

  1. > imp$imp$sales  
  2.         1      2      3      4  
  3. 9  3614.7 3393.1 4060.3 3393.1  
  4. 15 2332.1 3614.7 3295.5 3614.7  

(2)with對象,。插補模型可以多樣化,,比如lm,,glm都是可以直接應用進去,詳情可見《R語言實戰(zhàn)》第十五章,;

(3)pool對象,。summary之后,會出現(xiàn)lm模型系數(shù),,可以如果出現(xiàn)系數(shù)不顯著,,那么則需要考慮換插補模型;

(4)complete對象,。m個完整插補數(shù)據(jù)集,,同時可以利用此函數(shù)輸出。


————————————————————————————————————————————————————


1,、缺失值模式——可視化(md.pattern())


mice包提供了一個很好的函數(shù)md.pattern(),,用它可以對缺失數(shù)據(jù)的模式有個更好的理解。還有一些可視化的界面,,通過VIM,、箱型圖、lattice來展示缺失值情況,??梢姴┛停?/span>在R中填充缺失數(shù)據(jù)—mice包


————————————————————————————————————————————————————


2、mice函數(shù)詳解


mice函數(shù)主要參數(shù)有mice(數(shù)據(jù)集,,m=5,,meth=”PMM“)

m為默認插補數(shù)據(jù)集數(shù)量,5為默認值,;meth為默認插補方式,,PMM為默認方式預測均值匹配。


還有一些其他methods插補方法,,比如貝葉斯線性回歸(norm),、基于bootstrap的線性回歸(norm.boot)、線性回歸預測值(norm.predict),、分類回歸樹(cart),、隨機森林(rf)等等。(詳情可help(mice)獲取信息)


使用這些插補方法對數(shù)據(jù)有嚴格的要求,,比如貝葉斯線性回歸等前三個模型都需要數(shù)據(jù)符合numeric格式,,而PMM、cart,、rf任意格式都行,。


使用以上模型遇見的問題有:

1、PMM相當于某一指標的平均值作為插補,,會出現(xiàn)插補值重復的問題,;

2,、cart以及rf是挑選某指標中最大分類的那個數(shù)字,是指標中的某一個數(shù)字,,未按照規(guī)律,;

3、要使用norm.predict,,必須先對數(shù)據(jù)進行格式轉換,,這個過程中會出現(xiàn)一些錯誤,比如以下錯誤警告:

Error in solve.default(xtx + diag(pen)) : 

Imputation method norm.boot is not for factors with three or more levels. 


————————————————————————————————————————————————————


3,、with-pool函數(shù)的作用


在使用Mice包的過程中會出現(xiàn)以下的疑惑

已經(jīng)有mice函數(shù)補齊了缺失值,,可以直接用compete直接調出,為啥還要用with,,pool,?

mice函數(shù)中默認插補5個數(shù)據(jù)集,,那么哪個數(shù)據(jù)集最好,,值得選出?


筆者認為with-pool的作用是用來選擇數(shù)據(jù)集的,。

with函數(shù)中有5個插補數(shù)據(jù)集的回歸模型~數(shù)據(jù)集T檢驗~某數(shù)據(jù)集是否合格,;

pool函數(shù)把5個回歸模型匯總~數(shù)據(jù)集F檢驗~整個方法是否合格。





當然,,一個未解決的問題是,,小數(shù)據(jù)集可以每個數(shù)據(jù)集進行觀察,如果要插補很多,,該怎么辦呢,?


其中,批量導入,、寫出數(shù)據(jù)的方法可見: 

R語言︱文件讀入,、讀出一些方法羅列(批量xlsx文件、數(shù)據(jù)庫,、文本txt,、文件夾)




每每以為攀得眾山小,可,、每每又切實來到起點,,大牛們,緩緩腳步來俺筆記葩分享一下吧,,please~

———————————————————————————

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多