為了提升本部落格的專業水準,即日起不定期刊登一些專業的統計知識。

(小聲講)好吧~我承認。。。這其實是要放在proposal裡面,只是先寫出來,等有空再翻譯成英文 >_<

上面的字看不清楚嗎?沒關係,不重要,跳過吧!

今天來講一個好玩的資料插補方法,叫做 Nearest neighbor imputation。中文翻譯,嗯,最靠近鄰居插補法。。。。


誰會用這麼鳥的名字啊!!!!(掀桌)

好,讓我們平心靜氣,先進一段廣告,不對!是先切入本文重點。姑且簡稱這個方法是 NNI 好了。這種資料插補方法,已經流行了很長一段時間,可能比時下最常用的多重插補法(multiple imputation)還久遠。方法是大家都一直在用,可是從來沒有來針對這種方法進行統計推論,直到這個世紀初,兩位華人學者 Chen & Shao 才針對 NNI 做出完整的統計推論。與其他插補法不同的是,NNI 是一種非參數的資料插補方法。整個方法論中完全沒有用到任何統計模式或機率分配。這種方法的好處是可以避免插補法所內含可能的統計模式和實際資料不符所導致無法預期的誤差。但壞處是無法應付大量 missing data 的情況。一般建議要使用這種方法,5% 以內的 missing rate 是可以接受的。


假設一組資料裡面有成對的兩個變數((X1,Y1), (X2,Y2),...,(Xn,Yn))。兩個變數之間可能存在某種不可告人的關係,只有上帝才知道真相。其中 Y 是沒有 missing data,而 X 有一些 missing data。稍微排列一下:

X1,.....,X(n-m),  X(n-m+1),...,Xn
﹌﹌﹌﹌﹌﹌   ﹌﹌﹌﹌﹌﹌﹌
observed            missing

Y1,...,Y(n-m),   Y(n-m+1),...,Yn
﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌
                 observed

NNI 的概念就是,既然 X(n-m+1),..., Xn 都觀察不到,但至少 Y(n-m+1),..., Yn 的訊息都還在。因此我們可以從 Y1,...,Y(n-m) 中去找最靠近 Y(n-m+1),..., Yn 的 Yi 出來,再巴股回去看相對應的 X1,...,X(n-m),然後把相對應的 X1,...,X(n-m) 填補回 X(n-m+1),...,Xn 去。這過程完全依靠下面這條公式來進行找尋「最接近的鄰居」:

|Yi-Yj| =       min       |Yk-Yj|
             1≦k≦n-m


如果找到的鄰居不只一個,就把他們相對應的 Xk 給平均起來。

這就是 NNI 的精髓。看起來很簡單,不過程式很難寫。我去找過網路上的資源,但是沒有任何頭緒,所以我就自己用 SAS macro 寫了一個適合自己論文的模擬資料所能用的 NNI macro。其實 NNI 有 Version 1 和 Version 2 兩個版本。這篇所講的是比較簡單的 Version 1。你可以視為一維度的資料插補法。Version 2 把 NNI 的方法論擴展到二維,整個理論也變得相當複雜。NNI Version 2 的原創 paper 我到現在還沒找到,使用這個方法的論文也不多。有空我再另外寫一篇。
arrow
arrow
    全站熱搜

    cchien 發表在 痞客邦 留言(1) 人氣()