蛋白質組學數據的缺失值填充


缺失值填充在數據分析領域的預處理過程繞不過去的一個坎,蛋白質組學也不例外,簡單記錄下,可能有些地方有其特殊之處。

  • 分析缺失值來源:完全隨機缺失(MCAR,如質譜儀抖動,對數據影響無偏好性,均一分布),隨機缺失(MAR,依賴於其他觀測變量,如時間梯度越長采集越可能出現缺失值),非隨機缺失(MNAR,依賴觀測變量自身,如某些蛋白含量在儀器檢測限以下)。一般我們默認缺失值屬於MCAR或MAR機制類。

  • 缺失值在蛋白質組數據中的表現形式:0,NA,NaN,Filtered等。

  • 如果數據量多,缺失值比例少,認為刪除所有缺失值對結果不會有影響,則可簡單刪掉。但數據中缺失值比例比較大時(如大於30%),不建議直接刪除。

  • DDA labelfree一般較多,10%-50% 的缺失值。過濾標准不定,如一個蛋白中三個重復,2個有值,建議保留,1個有值,嚴格一點考慮過濾掉。

  • 不建議用均值、中位值或最小值來進行填充。

  • 常用方法:KNN,Sequential KNN,MI,RandomForest等,所有方法都是基於現有的數據來進行填充的。

  • KNN(K近鄰):常用於分類的監督學習方法,首先計算測試數據與各個訓練數據之間的距離;然后按照距離遞增關系進行排序;選取距離最小的K個點;確定前K個點所在類別的出現頻率;最后返回前K個點中出現頻率最高的類別作為測試數據的預測分類。
    缺失值填充過程:先計算目標對象(含缺失值的肽段或蛋白)與其他對象之間的距離(一般默認為歐氏距離,其他對象是無缺失值的),再選擇K個(預先設定)距離最近的對象,然后將對應位置的數值進行平均或加權,最后得到的數值用來表征該缺失值的大小。

impute::impute.knn(data, #矩陣
  k=10,  #預設近鄰數,默認10
  rowmax=0.5, #當某行的缺失值占比超過50%,則用整個樣本的均值填充
  colmax=0.8) #當任何一列中缺失值占比80%,計算終止並報錯
  • Sequential KNN(有序K近鄰):KNN方法的升級,一般用於處理缺失值比例高的數據。但缺失值如果太多了,不建議保留。
    填充過程:首先根據數據中每個對象缺失值的比例進行排序(sequential),從比例最小的那個對象開始計算,對K個近鄰的值進行平均或加權計算填充,這個填充后的對象也會加入后續其他對象缺失值填充的計算當中。
SeqKnn::SeqKNN(data, k=10)
  • MI(多重插補):細分的方法有很多,主要有三部分:一是mice,將包含缺失值的原始數據集生成幾個完整的數據集(3-10個無缺失值的數據集),再把所有填充值的平均值作為最終的填充結果;第二with,使用標准方法,如線性回歸模型/廣義線性模型等,對這幾個完整的數據集進行統計分析(不是評價好壞);第三pool,整合模型分析的結果,輸出最終結果。
data(sleep,package="VIM")
# 1st
imp=mice::mice(sleep,
    m=5, #生成完整數據集個數
    defaultMethod="pmm", #填充方法
    seed=1234) #保證重復性
# 2nd
fit=with(imp,lm(dream~span+Gest)) #選擇線性模型對填充數據集分析
# 3rd
pooled=pool(fit) #整合最終結果
summary(pooled)
  • RF(隨機森林):將含有缺失值的數據按列分開,先用該列的均值進行填充,然后利用完整數據(相當於訓練集)構建隨機森林模型,最后利用該模型對含有缺失值的數據(相當於測試集)進行預測,並可對預測的結果進行評價。

  • 沒有哪種方法一定最好,具體問題具體分析。可以用幾種方法填充后比較。也可用一些現有的工具評價,如NAguideR可比較評估23種缺失值填充方法,幫助我們從中選擇最好的一種。

Ref:https://mp.weixin.qq.com/s?__biz=MzI3MTM3OTExNQ==&mid=2247484057&idx=1&sn=0a3fa0da1dde77f0e977cb3fcb573a66&chksm=eac3fd5dddb4744b440845fb75d994cbd0c773e8280cd907c2f72da77515c39fdeae544ce312&mpshare=1&scene=1&srcid=1209Hxtx8mNCCaedk40oGF3j&pass_ticket=8fOmiD4N2xGG%2Fiu8B8fMK8DktTDRegr9wAx9HJzsHskRUH2qZsWItq9%2FfUMxDKlS#rd#userconsent#


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM