[ICML 2018] GAIN: Missing Data Imputation using Generative Adversarial Nets

Paper url : https://arxiv.org/abs/1806.02920

Author and affiliation

Figure 01: paper snapshot

Background

Three assumptions of missing values

์šฐ๋ฆฌ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹์„ ํ™œ์šฉํ•œ ๋ถ„์„ ๋ฐ ์˜ˆ์ธก์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘ํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ ์ค‘ ๊ฒฐ์ธก์น˜๊ฐ€ ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ์ผ์€ ํ”ํ•œ ์ผ์ผ ๊ฒƒ์ด๋‹ค. ๊ฒฐ์ธก์น˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด 3๊ฐ€์ง€ ์œ ํ˜•์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค [1].
  1. 1.
    MCAR (Missing Completely at Random) : ์™„์ „ ๋ฌด์ž‘์œ„ ๊ฒฐ์ธก
  2. 2.
    MNAR (Missing Not at Random) : ๊ฒฐ์ธก์น˜๊ฐ€ ํŠน์ • ์˜๋ฏธ๋ฅผ ๋‚ดํฌํ•˜๋ฉฐ ๊ทธ ์˜๋ฏธ๊ฐ€ ๊ฒฐ์ธก๋œ ๋ณ€์ˆ˜๋ฅผ ์ง€์นญ
  3. 3.
    MAR (Missing at Random) : ๊ฒฐ์ธก์น˜๊ฐ€ ํŠน์ • ์˜๋ฏธ๋ฅผ ๋‚ดํฌํ•˜๋ฉฐ ๊ทธ ์˜๋ฏธ๊ฐ€ ๋ฐ์ดํ„ฐ ๋‚ด ๋‹ค๋ฅธ ๋ณ€์ˆ˜๋ฅผ ์ง€์นญ
์˜ˆ๋ฅผ ๋“ค์–ด ํŠน์ • ํšŒ์‚ฌ์—์„œ ์ฝ”๋กœ๋‚˜ ๊ฐ์—ผ ์—ฌ๋ถ€๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด ์ฒด์˜จ ์ธก์ •, ์ผ์ฃผ์ผ ๋‚ด ํšŒ์‹ ์ฐธ์„ ์—ฌ๋ถ€๋ฅผ ์กฐ์‚ฌํ•˜์˜€๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ๋…๋ฆฝ๋ณ€์ˆ˜๋Š” ์ฒด์˜จ, ํšŒ์‹ ์ฐธ์„ ์—ฌ๋ถ€์ด๋ฉฐ ์ข…์†๋ณ€์ˆ˜๋Š” ์ฝ”๋กœ๋‚˜ ๊ฐ์—ผ ์—ฌ๋ถ€์ด๋‹ค. ์ด ๋•Œ ์ฒด์˜จ ๋ณ€์ˆ˜์— ๊ฒฐ์ธก์ด ๋ฐœ์ƒํ•˜์˜€๋‹ค๋ฉด ์œ„ 3๊ฐ€์ง€ ๊ฐ€์ •์€ ๊ฐ๊ฐ ๋‹ค์Œ์— ํ•ด๋‹นํ•œ๋‹ค.
๊ฐ ๋ถ€์„œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ข…ํ•ฉํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ์™€์ค‘, ๋‹ด๋‹น์ž๊ฐ€ ์‹ค์ˆ˜๋กœ ํŠน์ • ๋‚ ์งœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ˆ„๋ฝํ•˜์˜€๋‹ค๋ฉด ์ด ๊ฒฝ์šฐ MCAR์— ํ•ด๋‹นํ•œ๋‹ค. MCAR ๊ฐ€์ •์€ ๊ฒฐ์ธก์น˜๊ฐ€ ์–ด๋– ํ•œ ์˜๋ฏธ๋ฅผ ์ง€๋‹ˆ์ง€ ์•Š๊ณ  ์™„์ „ ๋ฌด์ž‘์œ„๋กœ ๊ฒฐ์ธก์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋ฉฐ ๊ณ ์ „์ ์ธ ๊ฒฝ์šฐ์˜ ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋ฐ์ดํ„ฐ sheet์— ์ปคํ”ผ๋ฅผ ์Ÿ์•„ ์ž„์˜๋กœ ๊ฐ’์ด ์ง€์›Œ์ง„ ๊ฒฝ์šฐ๊ฐ€ ํ•ด๋‹นํ•œ๋‹ค.
๋ฐ˜๋ฉด ์ฝ”๋กœ๋‚˜์— ๊ฑธ๋ฆฌ๊ฑฐ๋‚˜, ๊ฐ๊ธฐ์— ๊ฑธ๋ ค ๊ณ ์—ด์ด ๋ฐœ์ƒํ•œ ํšŒ์‚ฌ์›๋“ค์ด ์˜๋„์ ์œผ๋กœ ์ฒด์˜จ ์ธก์ •์„ ๊ธฐํ”ผํ•˜์˜€๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ์ด ๊ฒฝ์šฐ ์ฒด์˜จ ๋ณ€์ˆ˜์— ๊ฒฐ์ธก์ด ๋ฐœ์ƒํ•œ ์ƒ˜ํ”Œ์€ ์ฒด์˜จ ์ธก์ • ๋‹น์‹œ ๊ณ ์—ด์ด์˜€์„ ๊ฒƒ์ด๋ผ๊ณ  ์ถ”์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๊ฒฐ์ธก์น˜๊ฐ€ ํŠน์ • ์˜๋ฏธ๋ฅผ ๋‚ดํฌํ•˜๋ฉฐ(์ฒด์˜จ ๋ณ€์ˆ˜์˜ ๊ฒฐ์ธก = ๊ณ ์—ด) ๊ทธ ์˜๋ฏธ๊ฐ€ ๊ฒฐ์ธก์ด ๋ฐœ์ƒํ•œ ๋ณ€์ˆ˜(์ฒด์˜จ)์„ ์ง€์นญํ•˜๊ธฐ์— MNAR ๊ฐ€์ •์— ํ•ด๋‹นํ•œ๋‹ค.
๋งˆ์ง€๋ง‰์œผ๋กœ ์ฒด์˜จ ์ธก์ •์„ ํ•  ๋‹น์‹œ์— ํšŒ์‹์— ์ฐธ์„ํ•œ ๋ถ€์„œ๊ฐ€ ์กด์žฌํ•˜์—ฌ ์ฒด์˜จ ์ธก์ •์„ ์‹ค์‹œํ•˜์ง€ ๋ชปํ•ด ๊ฒฐ์ธก์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ๋ผ๋ฉด MAR ๊ฐ€์ •์— ํ•ด๋‹นํ•œ๋‹ค. ์ด ๊ฒฝ์šฐ ๊ฒฐ์ธก์น˜๊ฐ€ ํŠน์ • ์˜๋ฏธ๋ฅผ ๋‚ดํฌํ•˜๋ฉฐ(์ฒด์˜จ ๋ณ€์ˆ˜์˜ ๊ฒฐ์ธก = ํšŒ์‹ ์ฐธ์„) ๊ทธ ์˜๋ฏธ๊ฐ€ ๋ฐ์ดํ„ฐ ๋‚ด ๋‹ค๋ฅธ ๋ณ€์ˆ˜(ํšŒ์‹ ์ฐธ์„ ์—ฌ๋ถ€)๋ฅผ ์ง€์นญํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ด์™€ ๊ฐ™์ด ๊ฒฐ์ธก์น˜ ๊ฐ€์ •์„ ๋ถ„๋ฅ˜ํ•œ ์ด์œ ๋Š” ๋ฐ”๋กœ ๊ฒฐ์ธก์น˜์˜ ๊ฐ€์ •์— ๋”ฐ๋ผ ์šฐ๋ฆฌ๊ฐ€ ๋Œ€์ฒ˜ํ•ด์•ผํ•  ๋ฐฉ๋ฒ•์ด ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒฐ์ธก์น˜์— ์•„๋ฌด๋Ÿฐ ์˜๋ฏธ๊ฐ€ ์—†๋Š” MCAR ๊ฐ€์ •์— ์˜ํ•ด ๊ฒฐ์ธก์น˜๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด, ์ด ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•ด๋„ ๋ถ„์„์ด๋‚˜ ์˜ˆ์ธก์— ์–ด๋– ํ•œ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค(๋ฐ์ดํ„ฐ๊ฐ€ ์ถฉ๋ถ„ํ•˜๋‹ค๋Š” ๊ฐ€์ • ํ•˜์—). ๋ฐ˜๋ฉด ๊ฒฐ์ธก์น˜์— ํŠน์ • ์˜๋ฏธ๊ฐ€ ์กด์žฌํ•˜๋Š” MNAR, MAR ๊ฐ€์ •์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•œ๋‹ค๋ฉด ์™œ๊ณก๋œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ์˜ ๋„๋ฉ”์ธ ์ง€์‹์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๊ฒฐ์ธก์น˜๊ฐ€ ์–ด๋–ค ํŠน์„ฑ์„ ํ™•์ธํ•˜๋Š”์ง€๋Š” ๋งค์šฐ ์ค‘์š”ํ•˜๋ฉฐ, ๋งŒ์•ฝ ๋„๋ฉ”์ธ ์ง€์‹์ด ์—†๋‹ค๊ณ  ํ•œ๋‹ค๋ฉด ๊ฒฐ์ธก์ด ๋ฐœ์ƒํ•œ sample๋“ค๊ณผ ๊ทธ๋ ‡์ง€ ์•Š์€ sample๋“ค์˜ target variable์˜ ๋ถ„ํฌ ํ™•์ธ์„ ํ†ตํ•ด ๊ฒฐ์ธก์น˜๊ฐ€ target variable์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ผ์น˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.
โ€‹

Single imputation & Multiple imputation

๊ฒฐ์ธก์น˜๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์‚ญ์ œ(deletion)์™€ ๋Œ€์น˜(imputation)์ด ์กด์žฌํ•œ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ฒฐ์ธก์น˜๋ฅผ ๋ณด์™„ํ•œ๋‹ค์˜ ์˜๋ฏธ๋Š” ๋Œ€์น˜(=๊ฒฐ์ธก์น˜๋ฅผ ์ž„์˜์˜ ๊ฐ’์œผ๋กœ ๋Œ€์ฒดํ•จ)๋ฅผ ๋œปํ•˜๊ธฐ์— ์‚ญ์ œ๋Š” ํ•ต์‹ฌ์ ์ธ ๋‚ด์šฉ๋งŒ ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ๋‹ค.
์‚ญ์ œ๋ž€ ๊ฒฐ์ธก์น˜๋ฅผ ํฌํ•จํ•˜๋Š” ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค. ๊ฒฐ์ธก์น˜๊ฐ€ ํŠน์ • ์˜๋ฏธ๋ฅผ ๋‚ดํฌํ•˜์ง€ ์•Š๋Š” MCAR์— ํ•ด๋‹นํ•˜๊ฑฐ๋‚˜ ๊ทธ ๋น„์œจ์ด ๋งŽ์ง€ ์•Š์„ ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฒฐ์ธก ๋น„์œจ์ด 10%๊ฐ€ ๋„˜์–ด๊ฐ€๋ฉด ์‚ญ์ œ๋Š” ์ข‹์€ ์„ ํƒ์ด ์•„๋‹ˆ๋‹ค [2]. ๋น„๊ต์  ๊ฐ„๋‹จํ•˜๋ฉฐ computational cost์— ์ด์ ์ด ์žˆ์œผ๋‚˜, ๊ฒฐ์ธก ๋ฐœ์ƒ ์›์ธ์ด MNAR, MAR ๊ฐ€์ •์— ํ•ด๋‹นํ•œ๋‹ค๋ฉด ์›๋ž˜ ๋ถ„ํฌ๋ฅผ ์™œ๊ณกํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค.
๋Œ€์น˜(์ดํ•˜ imputation)๋Š” ๋‹จ์ˆœ ๋Œ€์น˜(single imputation)์™€ ๋‹ค์ค‘ ๋Œ€์น˜(multiple imputation)์œผ๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. Single imputation๊ณผ multiple imputation์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ธฐ์ค€์€ ๊ฒฐ์ธก์น˜์˜ ํ›„๋ณด๊ตฐ ๊ฐœ์ˆ˜์ด๋‹ค. ๋งŒ์•ฝ ๊ฒฐ์ธก์น˜๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ํ›„๋ณด๊ตฐ์ด ๋‹จ์ผ ๊ฐ’์ด๋ผ๋ฉด single imputation, ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด multiple imputation์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋‹ค์Œ ๊ทธ๋ฆผ์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.
Figure 02: single imputation & multiple imputation
์ผ๋ฐ˜์ ์œผ๋กœ single imputation์˜ ๊ฒฝ์šฐ multiple imputation์— ๋น„ํ•ด ํ‘œ์ค€ ์˜ค์ฐจ ๊ณผ์†Œ์˜ ๋ฌธ์ œ๋ฅผ ์ง€๋‹Œ๋‹ค๊ณ  ๋งํ•œ๋‹ค. ์ด๋Š” ๋ถˆํ™•์‹คํ•œ ๊ฒฐ์ธก์น˜๋ฅผ ๋‹จ์ผ๊ฐ’์œผ๋กœ ๋Œ€์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•์˜ ํŠน์„ฑ์ƒ, ์ถ”์ •๊ฐ’์— ๋Œ€ํ•œ ๊ณผ๋„ํ•œ ์‹ ๋ขฐ๋„๋ฅผ ์ง€๋‹Œ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์ด์— ๋ฐ˜ํ•ด multiple imputation์˜ ๊ฒฝ์šฐ ๊ฒฐ์ธก์น˜์— ๋Œ€ํ•œ ํ›„๋ณด๊ตฐ์„ ์—ฌ๋Ÿฌ๊ฐœ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๋‹ค ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์ถ”๋ก ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ฒฐ์ธก์น˜์˜ ์‹ ๋ขฐ ๊ตฌ๊ฐ„ ๋˜ํ•œ ์ถ”์ •ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์กด์žฌํ•œ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์˜ ๋ฐฉ๋ฒ•์ธ GAIN์€ multiple imputation์— ํ•ด๋‹นํ•œ๋‹ค.
โ€‹
Single/multiple imputation์˜ ๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์„ ์‚ดํŽด๋ณด์ž. ๋จผ์ € single imputation์—์„œ๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœMissForest ์•Œ๊ณ ๋ฆฌ์ฆ˜ [3]์„ ๋“ค ์ˆ˜ ์žˆ๋‹ค.

Single imputation - MissForest

MissForest๋Š” ์ด๋ฆ„์—์„œ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋“ฏ, random forest ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์˜ˆ์ธก๊ฐ’์œผ๋กœ ๊ฒฐ์ธก์น˜๋ฅผ ์ฑ„์›Œ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•œ๋‹ค. ์ด 4 ๋‹จ๊ณ„๋ฅผ ๊ฑฐ์ณ imputation์ด ์ง„ํ–‰๋˜๋Š”๋ฐ ์„ธ๋ถ€ ๋‹จ๊ณ„๋ฅผ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
  • Step1) ์ž„์˜ ๋Œ€์ฒด
๊ฒฐ์ธก์น˜๋ฅผ ์ž„์˜๋กœ ๋Œ€์ฒดํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค. ๋‹จ์ˆœ ํ‰๊ท , ์ตœ๋นˆ๊ฐ’๊ณผ ๊ฐ™์ด ํ†ต๊ณ„๋Ÿ‰์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๊ฐ„๋‹จํ•œ ๋‹ค๋ฅธ ๋Œ€์น˜ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.
Figure 03: ์ž„์˜ ๋Œ€์ฒด์˜ ์˜ˆ
  • Step 2) Random Forest ํ™œ์šฉ ๋ณ€์ˆ˜๋ณ„ ๊ฒฐ์ธก์น˜ ์˜ˆ์ธก
๊ฒฐ์ธก์น˜ ๋น„์œจ์ด ๊ฐ€์žฅ ๋‚ฎ์€ ๋ณ€์ˆ˜๋ถ€ํ„ฐ random forest๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ์ธก์„ ์ง„ํ–‰ํ•œ๋‹ค. ์ด ๋•Œ ํ•™์Šต ๋ฐ์ดํ„ฐ๋Š” ๊ฒฐ์ธก์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์€ sample์ด๋ฉฐ ์ด๋ฅผ ํ† ๋Œ€๋กœ ๊ฒฐ์ธก์น˜ ์˜ˆ์ธก์„ ์ง„ํ–‰ํ•œ๋‹ค. Figure 03์„ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š”
x1,x2x_{1}, x_{2}
๊ฐ€ ๊ฒฐ์ธก์น˜ ๋น„์œจ์ด ๊ฐ€์žฅ ๋‚ฎ์€ ๋ณ€์ˆ˜์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฒฐ์ธก์น˜๋Š” ์˜ˆ์ธก์€ column ์ˆœ์„œ๋Œ€๋กœ ์ง„ํ–‰ํ•˜๋ฉฐ Figure 04์™€ ๊ฐ™๋‹ค.
Figure 04: ๋ณ€์ˆ˜๋ณ„ ๊ฒฐ์ธก์น˜ ์˜ˆ์ธก์˜ ์˜ˆ
  • Step 3) ์œ„ ๊ณผ์ •๊ณผ ๊ฐ™์ด ๊ฒฐ์ธก์น˜๊ฐ€ ๋ณด์™„๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋™์ผํ•œ ๊ณผ์ • ์ง„ํ–‰
๊ฒฐ์ธก์ด ์ฑ„์›Œ์ง„ ๋ฐ์ดํ„ฐ(step 2 ์ดํ›„)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜๋ณ„ ๊ฒฐ์ธก์น˜ ์˜ˆ์ธก์„ ๋‹ค์‹œ ์ง„ํ–‰ํ•œ๋‹ค. Step 3์—์„œ์˜ random forest ์˜ˆ์ธก๊ฐ’์€ step 2์™€๋Š” ๋‹ค๋ฅธ ๊ฐ’์ด ๋  ๊ฒƒ์ด๋‹ค. ํ•™์Šต์— ์‚ฌ์šฉ๋œ ๋ฐ์ดํ„ฐ ์ค‘ ๊ฒฐ์ธก์น˜์˜ ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค(step 1 - ํ‰๊ท , step 2 - ํ‰๊ท ์„ ๋ฐ”ํƒ•์œผ๋กœํ•œ random forest ์˜ˆ์ธก๊ฐ’). ๊ทธ๋ฆผ์œผ๋กœ ํ‘œ๊ธฐํ•˜๋ฉด Figure 05์™€ ๊ฐ™์œผ๋ฉฐ ๊ฒฐ์ธก์น˜์˜ ๊ฐ’์ด step 2์™€๋Š” ๋‹ค๋ฅธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
Figure 05: Step 2 ๋ฐ˜๋ณต
  • Step 4) ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ step 3 ๋ฐ˜๋ณต
Step 3์˜ ๊ณผ์ •์€ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ข…๋ฃŒ ์กฐ๊ฑด์ด๋ผ ํ•จ์€ 1. ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ๋ฐ˜๋ณต ํšŸ์ˆ˜ ๋„๋‹ฌ๊ณผ 2. ๊ฒฐ์ธก ๋Œ€์ฒด ๊ฐ’์˜ ๋ณ€ํ™”๋Ÿ‰์ด ์ผ์ • ๊ธฐ์ค€์  ์ดํ•˜๋กœ ์ˆ˜๋ ดํ•  ๋•Œ๋ฅผ ๋งํ•œ๋‹ค. Figure 06์€ ํ›„์ž์˜ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
Figure 06: ์ข…๋ฃŒ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ imputed data
์ข…๋ฃŒ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์—ฌ ๋Œ€์น˜๊ฐ€ ์™„๋ฃŒ๋œ ๋ฐ์ดํ„ฐ(imputed data)๊ฐ€ MissForest์˜ ์ตœ์ข… ๊ฒฐ๊ณผ์ด๋‹ค. ๊ฐ ๊ฒฐ์ธก์น˜์— ๋Œ€ํ•ด์„œ ๋Œ€์ฒด ํ›„๋ณด๊ตฐ์ด 1๊ฐœ์”ฉ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— single imputation์— ํ•ด๋‹นํ•œ๋‹ค.
โ€‹

Multiple imputation - multiple imputation using denoising autoencoders (MIDA) [4]

Multiple imputation ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ multiple imputation by chained equations (MICE) [5], Amelia [6] ๋“ฑ์ด ์กด์žฌํ•œ๋‹ค. ์ด๋“ค์€ Python, R์„ ์ด์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด ์ ‘๊ทผ์„ฑ์ด ๋†’๋‹ค. ํ•ด๋‹น ๋ฐฉ๋ฒ•๋“ค์€ ํƒ€ ๋ธ”๋กœ๊ทธ์— ์ž์„ธํ•œ ์„ค๋ช…์ด ๋˜์–ด์žˆ์œผ๋‹ˆ ์„ค๋ช…์€ ์ƒ๋žตํ•˜์˜€๋‹ค.
Multiple imputation ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ ์†Œ๊ฐœํ•  MIDA๋Š” MICE, Amelia์™€๋Š” ๋‹ฌ๋ฆฌ deep learning ๊ธฐ๋ฐ˜ imputation method์ด๋‹ค. ๋ณธ review ๋…ผ๋ฌธ์ธ GAIN ๋˜ํ•œ deep learning ๊ธฐ๋ฐ˜์˜ ๋ฐฉ๋ฒ•์ด๊ธฐ์— ์„ฑ๋Šฅ์„ ์ง์ ‘์ ์œผ๋กœ ๋น„๊ตํ•˜๊ณ ์žˆ๋‹ค. MIDA๋Š” ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ denoising autoencoders (DAE)๋ฅผ ํ™œ์šฉํ•œ multiple imputation ๋ฐฉ๋ฒ•์ด๋‹ค. ๋จผ์ € DAE๋ฅผ ์‚ดํŽด๋ณด์ž.
DAE๋Š” autoencoder์˜ ํŒŒ์ƒ ๋ชจ๋ธ๋กœ noise๊ฐ€ ์„ž์ธ input data๋กœ๋ถ€ํ„ฐ noise๊ฐ€ ์ œ๊ฑฐ๋œ ์›๋ž˜์˜ input์„ ๋ณต์›ํ•˜๋Š” ๋ชจ๋ธ์„ ๋งํ•œ๋‹ค. ๋งŒ์•ฝ ์ •ํ˜• ๋ฐ์ดํ„ฐ์— ์ ์šฉ์ด ๋˜์—ˆ๋‹ค๋ฉด Figure 07๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋ฅผ ๋ณด์ธ๋‹ค.
Figure 07: DAE on structured data
MIDA๋Š” ์ž ์žฌ ๋ณ€์ˆ˜(latent vector)์˜ dimension์ด input์˜ dimension๋ณด๋‹ค ๋†’์€ overcomplete autoencoder ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. Overcomplete autoencoder ๊ตฌ์กฐ๋Š” input data๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ •๋ณด๋ณด๋‹ค ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ฐพ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. MIDA์˜ ๋ชฉ์ ์ด ๊ฒฐ์ธก์น˜๋ฅผ ์ฑ„์šฐ๋Š” ๊ฒƒ์ด๊ธฐ์— input data๋ฅผ high-dimension์œผ๋กœ mappingํ•˜์—ฌ ๊ฒฐ์ธก์น˜์˜ ๋‚ด์žฌ๋œ ์ •๋ณด๋ฅผ ํƒ์ƒ‰ ํ›„ ๋‹ค์‹œ ์••์ถ•ํ•˜๋Š” ๊ณผ์ •์„ ํ†ตํ•ด ๋Œ€์น˜ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ๊ฒƒ์ด๋‹ค. MIDA์˜ ๊ตฌ์กฐ๋Š” Figure 08๊ณผ ๊ฐ™๊ณ  encoder์˜ ๊ฒฝ์šฐ hidden node์˜ ๊ฐœ์ˆ˜๋Š” layer ๋‹น
ฮธ\theta
(default = 7)๋งŒํผ ์ฆ๊ฐ€ํ•˜๋ฉฐ decoder์˜ ๊ฒฝ์šฐ ๋ฐ˜๋Œ€๋กœ layer ๋‹น
ฮธ\theta
๋งŒํผ ๊ฐ์†Œํ•œ๋‹ค.
Figure 08: MIDA architecture
MIDA์˜ ๋™์ž‘์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ๋จผ์ € MissForest์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์ž„์˜ ๋Œ€์ฒด ๊ณผ์ •์„ ๊ฑฐ์น˜๋Š”๋ฐ ์ˆ˜์น˜ํ˜• ๋ณ€์ˆ˜์˜ ๊ฒฝ์šฐ ํ‰๊ท , ๋ฒ”์ฃผํ˜• ๋ณ€์ˆ˜์˜ ๊ฒฝ์šฐ ์ตœ๋นˆ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž„์‹œ ๋Œ€์น˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ์ดํ›„ DAE๋ฅผ ํ™œ์šฉํ•œ ๋Œ€์น˜๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ n๊ฐœ์˜ data์— ๋Œ€ํ•ด์„œ DAE์˜ ์ดˆ๊ธฐ ๊ฐ€์ค‘์น˜๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๊ฒฐ์ธก ๋Œ€์ฒด๊ฐ’์„ ๋„์ถœํ•œ๋‹ค.
์•ž์—์„œ ์„ค๋ช…์„ ์ƒ๋žตํ•˜์˜€์œผ๋‚˜ multiple imputation์˜ ํ•ต์‹ฌ์€ n๊ฐœ์˜ imputed data์˜ ๋‹ค์–‘์„ฑ์ด๋‹ค. Multiple imputation์˜ ๋ณธ์งˆ์ด ๋‹ค์–‘ํ•œ ๊ฒฐ์ธก ํ›„๋ณด๊ตฐ์„ ์ œ์‹œํ•˜์—ฌ ์‹ ๋ขฐ๋„๋ฅผ ๋†’ํžˆ๊ณ  ์ถ”์ • ๊ตฌ๊ฐ„์„ ์ œ์‹œํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. MIDA์˜ ๊ฒฝ์šฐ DAE์˜ ์ดˆ๊ธฐ ๊ฐ€์ค‘์น˜๋กœ์จ ์ด๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ดˆ๊ธฐ ๊ฐ€์ค‘์น˜ ๋ฟ ์•„๋‹ˆ๋ผ noise ๋˜ํ•œ n๊ฐœ ๋ฐ์ดํ„ฐ ๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ฐ’์ด ๋ถ€์—ฌ๋˜์ง€๋งŒ DAE๋Š” ์ด๋ฅผ ์ œ๊ฑฐํ•˜๋„๋ก ๋ณต์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘์„ฑ์— ๊ธฐ์—ฌํ•˜์ง€๋Š” ๋ชปํ•œ๋‹ค. MIDA์˜ ์ „์ฒด ๊ณผ์ •์„ ๋„์‹ํ™” ํ•˜๋ฉด Figure 09์™€ ๊ฐ™๋‹ค.
Figure 09: MIDA workflow
MIDA์˜ ๊ฒฝ์šฐ deep learning์„ ํ™œ์šฉํ•œ imputation ๋ฐฉ๋ฒ•์˜ ์‹œ์ดˆ๊ฒฉ ๋ชจ๋ธ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๋…ผ๋ฌธ์˜ ๊ฒฝ์šฐ MICE์™€ ๋น„๊ตํ•˜์—ฌ ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ ๋ฐ ์ƒํ™ฉ(๊ฒฐ์ธก์น˜์˜ ๊ฐ€์ •)์—์„œ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค๊ณ  ํ•˜๋‚˜ ๋…ผ๋ฌธ์—์„œ ์ œ์‹œ๋œ data ์™ธ์— ์‹ค ์ ์šฉ ์‹œ์—๋„ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ผ์ง€ ์˜๋ฌธ์ด๋‹ค. ํ•„์ž๊ฐ€ ๋…ผ๋ฌธ์˜ ์„ฑ๋Šฅ์„ ๋ฏฟ์ง€ ๋ชปํ•˜๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
๋…ผ๋ฌธ์˜ ์ฃผ์žฅ์— ๋”ฐ๋ฅด๋ฉด MICE์˜ ๊ฒฝ์šฐ ํŠน์ • ๋ณ€์ˆ˜์—์„œ ๊ฒฐ์ธก์น˜๊ฐ€ ์ž„๊ณ„์น˜ ์ด์ƒ์œผ๋กœ ๋ฐœ์ƒํ•  ๋•Œ ์ด๋ฅผ ๋Œ€์น˜ํ•˜์ง€ ๋ชปํ•˜์ง€๋งŒ MIDA๋Š” ๊ฒฐ์ธก์น˜์˜ ์–‘์— ์ƒ๊ด€์—†์ด ๋Œ€์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•œ๋‹ค. ์ด์— ์˜๊ตฌ์‹ฌ์„ ๊ฐ€์ ธ R์—์„œ ์ง์ ‘ ์‹คํ—˜ํ•œ ๊ฒฐ๊ณผ(Python์€ MICE๊ฐ€ ์ œ๋Œ€๋กœ ๊ตฌํ˜„๋˜์–ด์žˆ์ง€ ์•Š์€๋“ฏ ํ•˜๋‹ค) MICE๊ฐ€ ๊ฒฐ์ธก์น˜๋ฅผ ๋Œ€์น˜ํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์˜ค์ง ํŠน์ • ๋ณ€์ˆ˜๊ฐ€ ๋ชจ๋‘ ๊ฒฐ์ธก์น˜๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์„ ๋•Œ ๋ฟ์ด์˜€๋‹ค.
๋™์ผํ•œ ํ™˜๊ฒฝ์—์„œ MIDA๋Š” ๊ฒฐ์ธก์น˜ ๋Œ€์น˜๊ฐ€ ๊ฐ€๋Šฅํ• ๊นŒ? ๋…ผ๋ฌธ์—์„œ ์ฃผ์žฅํ•œ ๋ฐ”์™€ ๋‹ฌ๋ฆฌ MIDA ๋˜ํ•œ ํ‰๊ท  ๋ฐ ์ตœ๋นˆ๊ฐ’์œผ๋กœ ์ž„์˜ ๋Œ€์ฒดํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์น˜๊ธฐ์— NaN์œผ๋กœ๋งŒ ๊ตฌ์„ฑ๋œ ๋ณ€์ˆ˜๋Š” ๋Œ€์น˜๋ฅผ ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๋…ผ๋ฌธ์—์„œ ๊ตฌ์ฒด์ ์ธ ์‹คํ—˜ setting ๋ฐ ์‚ฌ์šฉ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ฐํžˆ์ง€ ์•Š์•„ ๋™์ผํ•œ ์ƒํ™ฉ์—์„œ ๊ฒ€์ฆํ•  ์ˆ˜๋Š” ์—†์œผ๋‚˜ ์ด์™€ ๊ฐ™์€ ์ด์œ ๋กœ ์ธํ•ด ์‹คํ—˜ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์˜๋ฌธ์ด ๋‚จ์•„์žˆ๋‹ค. ๋‹ค๋งŒ ๊ตฌํ˜„์€ ์‰ฌ์šฐ๋‹ˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ์ผ์ด ์žˆ๋‹ค๋ฉด MIDA๋ฅผ ์ ์šฉ ํ›„ MICE, KNN imputation ๋“ฑ์˜ ๋‹ค๋ฅธ ๊ธฐ๋ฒ•์ด ๋” ์šฐ์ˆ˜ํ•˜์˜€๋‹ค๊ณ  ๋‚ด์šฉ ์ฑ„์šฐ๊ธฐ์—๋Š” ์ข‹๋‹ค.
โ€‹

Proposed method

Generative adversarial imputation nets (GAIN)์€ 2018๋…„ ๊ตญ์ œ๋จธ์‹ ๋Ÿฌ๋‹ํ•™ํšŒ(ICML)์— ๋“ฑ์žฌ๋œ ๋…ผ๋ฌธ์ด๋‹ค. ์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด GANs์˜ ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•˜์—ฌ ๊ฒฐ์ธก์น˜๋ฅผ ๋ณด์™„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ณธ ํฌ์ŠคํŒ…์€ GANs์— ๋Œ€ํ•œ ์‚ฌ์ „์ง€์‹์ด ์žˆ๋Š” ๋…์ž๋“ค์ด ๋ณธ๋‹ค๋Š” ๊ฐ€์ •ํ•˜์— ์ž‘์„ฑํ•˜์˜€๋‹ค. GAIN์˜ ๊ตฌ์กฐ๋Š” Figure 10๊ณผ ๊ฐ™๋‹ค.
Figure 10: GAIN architecture
GAIN์€ ์ƒ์„ฑ์ž(generator)์™€ ํŒ๋ณ„์ž(discriminator) ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ์ƒ์„ฑ์ž๋Š” ์ด 3๊ฐ€์ง€ input์„ ๋ฐ›๋Š”๋ฐ ๊ฐ๊ฐ์€ data matrix (
X~\tilde{X}
), random matrix (
(1โˆ’M)โŠ™Z( \textbf{1}-M)\odot Z
), mask matrix (
MM
)์ด๋ฉฐ ๋Œ€์น˜๊ฐ€ ์™„๋ฃŒ๋œ imputed matrix๋ฅผ output์œผ๋กœ ์‚ผ๋Š”๋‹ค.
Data matrix๋Š” ๊ฒฐ์ธก์น˜๋Š” 0์œผ๋กœ ์ž„์˜ ๋Œ€์น˜ํ•œ ํ–‰๋ ฌ์„ ๋œปํ•œ๋‹ค. ์ด๋Š” ์ƒ์„ฑ์ž๊ฐ€ ๋งŒ๋“ค๊ณ ์žํ•˜๋Š” ๋ชฉํ‘œ ๋ถ„ํฌ์— ํ•ด๋‹นํ•˜๋ฉฐ ์ •๋‹ต ์—ญํ• ์„ ํ•œ๋‹ค. Random matrix๋Š” ์ƒ์„ฑ์ž๊ฐ€ ๊ฐ€์ƒ์˜ ๋ฐ์ดํ„ฐ(๊ฒฐ์ธก์น˜ ๋Œ€์ฒด ๊ฐ’)๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ํ•„์š”ํ•œ input์— ํ•ด๋‹นํ•œ๋‹ค. ์ผ๋ฐ˜์ ์ธ GANs์—์„œ์˜ white noise์— ํ•ด๋‹นํ•˜๋ฉฐ noise๋Š” feature๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ„ํฌ๋ฅผ ๋ˆ๋‹ค. Mask matrix๋Š” ๊ฒฐ์ธก์น˜๋Š” 0, ๊ฒฐ์ธก์น˜๊ฐ€ ์•„๋‹Œ ๊ฐ’์€ 1๋กœ ํ• ๋‹นํ•œ matrix์ด๋‹ค. ์ด๋Š” ์ƒ์„ฑ์ž์™€ ํŒ๋ณ„์ž ๋ชจ๋‘ ์‚ฌ์šฉ๋˜๋ฉฐ ์ฃผ๋œ ๋ชฉ์ ์€ ํŒ๋ณ„์ž์˜ ์ •๋‹ต์ง€ ์—ญํ• ์„ ํ•œ๋‹ค. ์ƒ์„ฑ์ž์—์„œ์˜ ์—ญํ• ์€ feature noise
ZZ
์™€ pairwise product๋ฅผ ํ†ตํ•ด ์ฐจ์›์„ ์ผ์น˜์‹œํ‚ค๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. Feature noise์˜ ๊ฒฝ์šฐ feature ๊ฐœ์ˆ˜ * sample ์ˆ˜ ์ฐจ์›์„ ์ง€๋‹ˆ๋Š”๋ฐ ์ด๋ฅผ 1-mask matrix์™€์˜ ๊ณฑ์„ ํ†ตํ•ด ๊ฒฐ์ธก์น˜ ๋ถ€๋ถ„์—๋งŒ noise๊ฐ€ ์ง€๋‹Œ ํ–‰๋ ฌ์„ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. Figure 11์„ ํ†ตํ•ด์„œ ์ƒ์„ฑ์ž์˜ input๊ณผ ๊ทธ์˜ ์—ญํ• ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
Figure 11: ์ƒ์„ฑ์ž์˜ inputs ๋ฐ ๊ทธ ์—ญํ• 
์ƒ์„ฑ์ž๋Š” ์•ž์—์„œ ์ •์˜ํ•œ 3๊ฐ€์ง€ input์„ ๋ฐ›์•„ ๊ฒฐ์ธก์น˜๋ฅผ ๋ณด์™„ํ•œ ํ–‰๋ ฌ(
Xห‰\bar{X}
)์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋‹จ ์ƒ์„ฑ์ž์˜ ์ˆœ์ˆ˜ output์ธ
Xห‰\bar{X}
๋Š” imputed matrix๊ฐ€ ๋  ์ˆ˜ ์—†๋Š”๋ฐ, ๊ทธ ์ด์œ ๋Š” ์ƒ์„ฑ์ž๋ฅผ ๊ฑฐ์น˜๋ฉด์„œ ์‹ ๊ฒฝ๋ง ์—ฐ์‚ฐ์— ์˜ํ•ด ๊ฒฐ์ธก์น˜๊ฐ€ ์•„๋‹Œ ๊ธฐ์กด๊ฐ’(
xij^\hat{x_{ij}}
)๋“ค ๋˜ํ•œ ๋ณ€ํ˜•์ด ์˜ค๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ณธ๋ž˜ ๊ฒฐ์ธก์น˜๊ฐ€ ์•„๋‹ˆ์—ˆ๋˜ ๊ฐ’์€ data matrix์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๊ณ , ๊ฒฐ์ธก์น˜ ์ž๋ฆฌ๋งŒ ์ƒ์„ฑ๊ฐ’์œผ๋กœ ๋Œ€์ฒดํ•œ ํ–‰๋ ฌ์„ ์‚ฌ์šฉํ•œ๋‹ค. Imputed matrix (
X^\hat{X}
)์˜ ์ˆ˜์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
๋‹ค์Œ์œผ๋กœ ํŒ๋ณ„์ž์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ํŒ๋ณ„์ž์˜ input์€ ๋‘ ๊ฐ€์ง€๋กœ, ์ƒ์„ฑ์ž๋ฅผ ๊ฑฐ์นœ imputed matrix์™€ mask matrix๋ฅผ ํ† ๋Œ€๋กœ ์ƒ์„ฑ๋œ hint matrix (
HH
)์ด๋‹ค. Hint matrix๋Š” ํŒ๋ณ„์ž์˜ ์›ํ™œํ•œ ํ•™์Šต์„ ์œ ๋„ํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • eleme-nt์— ๋Œ€ํ•œ ์ •๋‹ต์„ ์ œ๊ณตํ•˜๋ฉฐ epoch ๋งˆ๋‹ค ์ž„์˜๋กœ ๋…ธ์ถœ๋˜๋Š” ๊ฐ’์ด ๋‹ฌ๋ผ์ง„๋‹ค. Figure 12๋ฅผ ์‚ดํŽด๋ณด์ž.
Figure 12: ํŒ๋ณ„์ž์˜ inputs ๋ฐ ๊ทธ ์—ญํ• 
Hint matrix๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŒ๋ณ„์ž์˜ ์—ญํ• ์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผํ•œ๋‹ค. ํŒ๋ณ„์ž๋Š” ์ƒ์„ฑ์ž๊ฐ€ ๋งŒ๋“ค์–ด๋‚ธ ๊ฐ’(๊ฒฐ์ธก ๋Œ€์ฒด ํ›„๋ณด๊ฐ’)๊ณผ ๊ฒฐ์ธก์น˜๊ฐ€ ์•„๋‹Œ ์‹ค์ œ๊ฐ’์„ ๊ตฌ๋ถ„ํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์ธ GANs์—์„œ์˜ ํŒ๋ณ„์ž๋Š” image ํ•œ ์žฅ์— ๋Œ€ํ•œ real, fake๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด๊ธฐ์— output layer๋Š” 1๊ฐœ(with sigmoid activation function), ํ˜น์€ 2๊ฐœ(softmax activation function)์˜ hidden nodes๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
์ด์™€ ๋‹ฌ๋ฆฌ GAIN์€ ์ •ํ˜• ๋ฐ์ดํ„ฐ์˜ ๋ชจ๋“  elements์— ๋Œ€ํ•œ classification์„ ์ง„ํ–‰ํ•˜๊ธฐ์— sample์˜ ๊ฐœ์ˆ˜(n) * feature์˜ ๊ฐœ์ˆ˜(p)์˜ nodes๋ฅผ ๊ฐ€์ ธ์•ผํ•œ๋‹ค. Softmax activation์„ ์‚ฌ์šฉํ•˜๊ธฐ์—๋Š” ํ„ฑ์—†์ด ๋งŽ์€ ์ˆซ์ž์ด๊ธฐ์— multi label classification์œผ๋กœ ์ ‘๊ทผํ•˜์—ฌ n*p๊ฐœ์˜ output nodes ๊ฐ๊ฐ์— sigmoid activate function์„ ์‚ฌ์šฉํ•˜๊ฒ ์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ ์ •ํ˜•๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ n*p์˜ ๊ฐœ์ˆ˜๋Š” ์ƒ๋‹นํ•œ ์ˆ˜์ค€์ด๋ผ ํ•™์Šต์— ์–ด๋ ค์›€์ด ์กด์žฌํ•  ๊ฒƒ์ด๋‹ค.
Hint matrix๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์‹ค์ œ๊ฐ’์€ 1, ๊ฒฐ์ธก์น˜๋Š” 0, hint element๋Š” 0.5์˜ ๊ฐ’์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ํŒ๋ณ„์ž์˜ ์ž…์žฅ์—์„œ ์ด์™€ ๊ฐ™์€ ์ •๋‹ต์˜ ์ผ๋ถ€๊ฐ€ ๋“ค์–ด์˜จ ๊ฒƒ์ด๊ธฐ์— ํ•™์Šต์„ ์ง„ํ–‰ํ•  ๋•Œ๋Š” 0.5์˜ hint element์— ๋Œ€ํ•ด์„œ๋งŒ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค๊ณ  ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค. ์ฆ‰ ๋ชจ๋“  element๋ฅผ ์˜ˆ์ธก, ํ•™์Šตํ•  ํ•„์š” ์—†์ด epoch๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋ฐฐ์ •๋˜๋Š” ์ผ๋ถ€ element์— ๋Œ€ํ•œ loss๋ฅผ ๋ฐ˜์˜ํ•œ๋‹ค. ํ•ด๋‹น ๊ทธ๋ฆผ์—์„œ hint generator๋ผ๋Š” ๋ณ„๋„์˜ network๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ epoch ๋งˆ๋‹ค element ์ž๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด hint generator๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
โ€‹

Loss function of GAIN

๋‹ค์Œ์œผ๋กœ GAIN์˜ loss function์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž. ์ƒ์„ฑ์ž์˜ loss function์€ ๋‘ ๊ฐ€์ง€๋กœ ๊ตฌ์„ฑ์ด ๋˜๋Š”๋ฐ, ์ฒซ ๋ฒˆ์งธ loss๋Š” ๊ฒฐ์ธก์น˜๊ฐ€ ์•„๋‹Œ ๊ธฐ์กด๊ฐ’(
xij^\hat{x_{ij}}
)๊ณผ ์ƒ์„ฑ์ž๋ฅผ ๊ฑฐ์ณ ๋ณ€ํ˜•์ด ๋œ ๊ธฐ์กด๊ฐ’(
xijห‰\bar{x_{ij}}
)์˜ mean squared error (MSE)์ด๋‹ค. ์•ž์—์„œ ์ƒ์„ฑ์ž์˜ 3๊ฐ€์ง€ input์„ ์†Œ๊ฐœํ•˜๋ฉฐ data matrix์˜ ์—ญํ• ์„ ์ƒ์„ฑ์ž๊ฐ€ ์ถ”๊ตฌํ•˜๋Š” ๋ชฉํ‘œ ๋ถ„ํฌ๋ผ๊ณ  ์„ค๋ช…ํ•˜์˜€๋Š”๋ฐ MSE term์„ ํ†ตํ•ด ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๋“ฏ ๊ฒฐ์ธก์น˜๊ฐ€ ์•„๋‹Œ ๊ฐ’๋งŒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฐ์ธก์น˜๋ฅผ ์ฑ„์šฐ๋Š” ์ธก๋ฉด์—์„œ ์ถ”์ฒœ ์‹œ์Šคํ…œ(recommender system)์—์„œ ์‚ฌ์šฉ๋˜๋Š” matrix factorization (MF)๊ณผ ์œ ์‚ฌํ•˜๋‹ค. ์‹คํ—˜์—์„œ ๋น„๊ต ๋Œ€์ƒ์œผ๋กœ MF๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ์ด์œ ์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค.
LG1=MSE(X~,MโŠ™Xห‰)L_{G1}=MSE(\tilde{X},M\odot\bar{X})
์ƒ์„ฑ์ž์˜ ๋‘ ๋ฒˆ์งธ loss์ด์ž ํŒ๋ณ„์ž์˜ loss๋Š” ๊ฐ element๋“ค์˜ real, fake์— ๋Œ€ํ•œ ์˜ˆ์ธก ํ™•๋ฅ ๊ณผ mask matrix ์‚ฌ์ด์˜ cross entropy์ด๋‹ค. ์ด ๋‘ ๊ฐ€์ง€ loss๊ฐ€ ์ ์šฉ๋œ ๊ทธ๋ฆผ์€ Figure 13๊ณผ ๊ฐ™๋‹ค.
Figure 13: Loss function of GAIN
์‹ค์ œ GAIN ๋…ผ๋ฌธ์„ ์‚ดํŽด๋ณด๋ฉด pseudo code๋ฅผ ๋น„๋กฏํ•œ ์ˆ˜์‹์  ์ฆ๋ช… ๋“ฑ ์ž์„ธํ•œ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ๊ด€์‹ฌ์ด ์žˆ๋Š” ๋…์ž๋Š” ์ฐธ๊ณ ํ•˜๋ฉด ์ข‹์„ ๋“ฏ ํ•˜๋‹ค.
โ€‹

Results

์‹คํ—˜ ๊ฒฐ๊ณผ๋Š” ์ด 5๊ฐ€์ง€ datasets์„ ์‚ฌ์šฉํ•˜์˜€์œผ๋ฉฐ ๋น„๊ต ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์œ„์—์„œ ์„ค๋ช…ํ•œ MICE, MIDA (Auto-encoder), MissForest, Matrix (matrix factorization), expectation maximization (EM)์ด๋‹ค. Data imputation์˜ ์„ฑ๋Šฅ์€ ์ž„์˜๋กœ ๊ฒฐ์ธก์น˜๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ ์ด๋ฅผ ์–ผ๋งˆ๋‚˜ ์ž˜ ๋ณต์›ํ•˜๋Š”์ง€, root mean squared error (RMSE)๋ฅผ ์ธก์ •ํ•˜์—ฌ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋‹ค. ์•„๋ž˜ ํ‘œ๋Š” ๊ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ n๋ฒˆ ์ˆ˜ํ–‰ ํ›„ ํ‰๊ท 
ยฑ\pm
ํŽธ์ฐจ๋ฅผ ๋‚˜ํƒ€๋‚ธ ํ‘œ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ €์ž๋“ค์ด GANs๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ณ ์งˆ์ ์ธ ๋ฌธ์ œ(์˜ˆ: ํ•™์Šต ๋ฐ ์ˆ˜๋ ด์˜ ์–ด๋ ค์›€, ์žฌํ˜„์„ฑ์˜ issue)์—์„œ ์ž์œ ๋กญ๋‹ค๋Š” ์ ์„ ๊ฐ•์กฐํ•œ ๋ชจ์Šต์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
5๊ฐ€์ง€ datasets์— ๋Œ€ํ•ด์„œ GAIN์ด ๊ฐ€์žฅ ๋†’์€ ์„ฑ๋Šฅ์ž„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‹ค์Œ์œผ๋กœ ๋ฐ์ดํ„ฐ์— ๊ฒฐ์ธก์น˜ ๋‚ดํฌ ๋น„์œจ์— ๋”ฐ๋ฅธ imputation ์„ฑ๋Šฅ(a)๊ณผ sample ์ˆซ์ž์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ(b), feature dimension์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ(c)์„ MissForest, MICE์™€ ๋น„๊ตํ•œ ๊ทธ๋ž˜ํ”„๋Š” ํ•˜๊ธฐ์™€ ๊ฐ™๋‹ค.
๊ฒฐ์ธก์น˜ ๋น„์œจ์— ๋”ฐ๋ฅธ imputation ์„ฑ๋Šฅ์„ ํ™•์ธํ•˜๋ฉด ๋ชจ๋“  missing rate์—์„œ GAIN์˜ ์„ฑ๋Šฅ์ด ์šฐ์ˆ˜ํ•จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค(y-axis: RMSE). Sample ์ˆซ์ž์— ๋”ฐ๋ฅธ ์„ฑ๋Šฅ์„ ํ™•์ธํ•  ์‹œ ํ™•์‹คํžˆ deep learning method์ธ GAIN๊ณผ MIDA๋Š” 100๊ฐœ ๋ฏธ๋งŒ์˜ samle์ผ ๋•Œ ์„ฑ๋Šฅ์ด MissForest์™€ ๋น„๊ตํ•˜์—ฌ ์ข‹์ง€ ์•Š๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ GAIN์€ MIDA์™€ ๋‹ฌ๋ฆฌ ๊ทธ ์ด์ƒ์˜ sample ์ˆ˜๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ์œผ๋ฉด ๊ฐ€์žฅ ์ข‹์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ feature dimension์— ๋”ฐ๋ฅธ imputation ์„ฑ๋Šฅ์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ์ธก๋ฉด์—์„œ GAIN์ด ์šฐ์›”ํ•˜๋‹ค.
๋‹ค์–‘ํ•œ ์‹คํ—˜ ๊ฒฐ๊ณผ์—์„œ GAIN์˜ ์šฐ์ˆ˜์„ฑ์„ ์ž…์ฆํ•˜์˜€๊ณ  ํƒ‘ ํ‹ฐ์–ด ์ปจํผ๋Ÿฐ์Šค ICML์— ์‹ค๋ฆฐ๋งŒํผ ์ˆ˜๋ฆฌ์  ์ฆ๋ช… ๋˜ํ•œ ํƒ„ํƒ„ํ•œ ๋…ผ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋‹ค๋งŒ ํ˜„์—…์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•  ์ •๋„๋กœ ๊ตฌํ˜„์ด ์šฉ์ดํ•œ์ง€, ๋˜ํ•œ ๊ตฌํ˜„๋œ ๋ชจ๋ธ์ด ๋…ผ๋ฌธ์—์„œ ์ž…์ฆ๋œ ๊ฒƒ ์ฒ˜๋Ÿผ ํ•™์Šต ๋ฐ ์ˆ˜๋ ด์˜ ์–ด๋ ค์›€, ์žฌํ˜„์„ฑ issue๋ฅผ ๊ทน๋ณตํ•  ๋งŒํผ ์•ˆ์ •๋œ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋Š” ํ•ด๋ด์•ผ ์•Œ ๊ฒƒ ๊ฐ™๋‹ค. ์ด์ƒ์œผ๋กœ ํฌ์ŠคํŒ…์„ ๋งˆ๋ฌด๋ฆฌ ์ง“๋Š”๋‹ค.
โ€‹

Reference

[1] Rubin, D. B. (1976). Inference and missing data. Biometrika, 63(3), 581-592.
[2] Hair, J. F., Black, W. C., Babin , B. J., Anderson, R. E., & Tatham, R. L. (2006). Multivariate data analysis (6 th ed.). pp. 49 73. Upper Saddle River, NJ: Pearson Educations, Inc.
[3] Stekhoven, D. J., & Bรผhlmann, P. (2012). MissForestโ€”non-parametric missing value imputation for mixed-type data. Bioinformatics, 28(1), 112-118.
[4] Gondara, L., & Wang, K. (2018, June). Mida: Multiple imputaJใ…‡ใ…” ์žUใ„นtion using denoising autoencoders. In Pacific-Asia conference on knowledge discovery and data mining (pp. 260-272). Springer, Cham.
[5] van Buuren, S. (2014). MICE: Multiple Imputation by Chained Equations. R Package Version 2.21.
[6] Honaker, J., King, G., & Blackwell, M. (2011). Amelia II: A program for missing data. Journal of statistical software, 45(1), 1-47.
โ€‹
โœ“\checkmark
๋…ผ๋ฌธ์˜ concept ๋ฐ idea ์œ„์ฃผ๋กœ ์ •๋ฆฌํ•˜์—ฌ ์ž์„ธํ•œ ์ˆ˜์‹์ด๋‚˜ ๋‚ด์šฉ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€‹