연구 로드맵

통계분석 2단계. 데이터 정제와 결측값 처리: 추론 통계를 위해 완료해야 하는 5단계 분석 절차

작성자
프라임
등록일

추론 통계를 적용하기에 앞서 원시자료의 무결성을 검증하는 정제(purification) 과정은 통계 모형의 적합도와 가설 검정의 타당도를 방어하는 본질적인 연구 절차입니다. 정제되지 않은 데이터에 기반한 모형 추정은 통계적 왜곡과 계수 편향(garbage in, garbage out)을 초래하므로, 연구자는 정밀한 정제 절차를 엄격히 준수하여 자료의 신뢰성을 확보해야 합니다.

통계분석 2단계. 데이터 정제와 결측치 처리
이 글의 순서 7개 항목
  1. 데이터 정제를 위한 5단계 수행 지침
  2. 불성실한 응답을 객관적으로 선별하는 기준
  3. 역코딩(reversed-coding) 문항 값의 변환이 가장 우선되어야 하는 이유
  4. 결측치(Missing Data) 처리의 3대 기법과 선택 기준
  5. 이상치(Outlier)를 무조건 제거해야 하는가?
  6. 자주 묻는 질문 (FAQ)
  7. 결론

SPSS, R, SAS 등의 주요 통계 분석 소프트웨어는 입력된 원시자료(raw data)의 질적인 타당도나 오류를 자체적으로 판별하여 연산을 중단하거나 거부하는 자율적인 검증 메커니즘을 기반으로 작동하지 않습니다. 전 문항에 걸쳐 똑같은 값만을 선택해 불성실한 응답이 혼입되어 있거나, 역코딩 문항의 방향성이 변환되지 않은 채 방치되어 있거나, 또는 척도의 유효 범위를 일탈한 이상치(예., 연령 항목의 ‘999’ 등)가 포함되어 있더라도, 프로그램은 어떠한 경고 메시지를 출력하지 않고 입력된 자료 그대로 산술적인 연산을 수행하여 정제된 모습을 가진 통계분석 결과를 출력합니다.

따라서 데이터 정제 과정을 누락한 대가는 시스템상의 실행 오류가 아니라, 통계분석 모형 전반에 잠재되는 ‘무경고 상태의 통계적인 왜곡(silent statistical distortion)’으로 나타납니다.

연구자가 산술적인 왜곡을 사전에 인지하지 못한 채 분석결과를 논문에 수록한다면, 학위청구논문 본심사나 학술지 동료 심사(peer review) 과정에서 방법론적인 결격 사유로 판정되어 전면 수정(major revision) 또는 게재 불가 판정(reject)을 받게 됩니다. 특히 사후적으로도 원시자료의 결함을 역추적하는 작업은 막대한 일정 지연을 초래합니다. 데이터 정제는 주 통계분석을 위한 부수적인 계산 과정이 아니라, 분석의 과학적인 무결성을 담보하는 독립적이고 필수적인 과정으로 이해되어야 합니다.

데이터 정제를 위한 5단계 수행 지침

데이터 정제는 선행 단계의 처리 결과가 후속 단계 분석의 논리적인 전제 조건으로 작용합니다. 따라서 사전에 설정한 단계를 위계적인 순서에 따라 실행해야 합니다. 만약 단계의 순서가 바뀌거나 특정한 단계가 누락된다면, 정제 과정 자체가 데이터 왜곡을 유발하는 결과를 낳게 됩니다.

  • 1단계: 입력 오류의 점검 (data entry check) 원시자료를 입력하는 과정에서 발생하는 물리적인 타건 오류와 부호 누락을 식별하는 작업입니다. 5점 리커트 척도 문항에 ‘7’이나 ’33’과 같이 허용 범위를 일탈한 값이 존재하는지를 빈도분석 테이블을 통해 체크합니다.
  • 2단계: 불성실한 응답의 제거 (screening insincere responses) 분석 가치가 결여된 응답 자료를 표본에서 배제하는 작업입니다. 동일한 번호의 반복 표기(straight-lining), 극단적으로 짧은 응답소요 시간, 주의 문항의 응답 실패 등을 포함하는 불성실 응답을 제거함으로써 표본 자료의 순도를 확보합니다.
  • 3단계: 역코딩 문항의 변환 (reversed-coding) 응답의 편향을 통제하기 위해 다른 문항들과 반대 방향으로 서술된 부정적 문항의 값을 정방향으로 일치시키는 과정입니다. 역문항 변환이 선행되지 않으면 후속 신뢰도 분석(예., Cronbach’s alpha)에서 계수 값이 훼손되고 요인분석의 수행 결과에서 요인 적재량의 부호가 왜곡될 수 있습니다.
  • 4단계: 결측치의 처리 (handling missing data) 무응답에 의한 결측값(missing values)의 분포 양상을 진단하여 통계적 처리 방식을 결정하는 과정입니다. 결측 비율에 따른 삭제(listwise/pairwise) 또는 통계적 대체 기법(예., 평균 대체, 회귀 대체, 다중대체 등)을 실행합니다.
  • 5단계: 이상치의 확인 및 처리 (detecting outliers) 수집된 데이터의 분포에서 극단적으로 벗어난 관측치를 식별하는 과정입니다. 해당하는 이상값의 발생 원인이 단순한 오타인지, 또는 표본의 독특한 특성에서 비롯된 응답값인지를 판별하여 제거, 윈저화(winsorizing), 또는 보존 여부를 결정하는 과정입니다.

이들의 순서를 준수해야 하는 이유는 각 단계가 서로 인과관계에 놓여있기 때문입니다. 예를 들어서, 불성실한 자료를 먼저 제거하지 않으면, 그 응답자가 남긴 무응답으로 인해 결측치의 비율이 실제보다 과대 추정됩니다. 또한 역코딩 문항의 방향을 변환하지 않고 이상치의 여부를 탐색한다면, 일관되게 응답한 정상적인 데이터가 오히려 이상값으로 잘못 분류되는 오류가 발생합니다.

아울러, 5단계 정제 과정을 모두 완료한 후에는 최종 버전과 수정 전의 원시 데이터 파일을 반드시 분리해서 보존해야 합니다. 이는 정제 과정에서 오류가 발생했을 때 언제든지 원점으로 복구할 수 있는 확실한 안전장치가 되며, 심사 과정에서 데이터 처리의 무결성을 소명하기 위한 증빙 자료로도 활용되기 때문입니다.

불성실한 응답을 객관적으로 선별하는 기준

불성실한 응답을 판별할 때 연구자가 준수해야 할 가장 중요한 원칙은 “제외 기준은 데이터를 열람하기 전에 연구의 설계 단계에서 미리 확정해야 하며, 확정된 기준은 일관되게 적용되어야 한다”는 점입니다. 데이터를 육안으로 확인하면서 자신의 연구가설에 유리하지 않거나 직관적으로 부합하지 않는 응답을 임의로 제거하는 행위는 연구부정행위(p-hacking)에 해당합니다. 학계에서 널리 활용되는 불성실한 응답 여부의 판별 기준은 다음의 세 가지입니다.

표 1.   설문조사 불성실 응답 판별 기준 및 확인 방법

판별 기준 객관적인 진단과 확인 방법 불성실한 응답 판단의 근거
일자형/지그재그형 응답 패턴 특정한 응답자가 평가한 모든 문항의 값에 대해서 표준편차를 계산하고, 이것이 0에 근접하는지를 확인 문항의 내용을 전혀 읽지 않고 기계적으로 동일 번호를 마킹했을 가능성이 큽니다.
역문항과의 모순적인 응답 순코딩 문항과 역코딩 문항의 응답 방향이 동일하거나 유사한지의 여부를 확인 의미적으로 상호 모순되는 두 문항에 모두 높은 점수를 (또는 낮은 점수를) 기입하였다면 문항을 읽지 않은 것입니다.
응답 소요 시간 온라인 서베이 시스템(예., Google Doc)에 기록된 응답 소요 시간을 체크 모든 설문문항을 정상적으로 읽고 이해하는 데 소요되는 최소한의 물리적인 시간(예비조사 기준)에 미달하였을 때 불성실한 응답이라고 판단합니다.

가장 대표적인 유형인 ‘일자형 응답’은 SPSS에서 응답자별 ‘표준편차(standard deviation)’를 계산하여여 효율적으로 검출할 수 있습니다. 수십 개의 문항에 모두 동일한 번호만으로 체크하였다면 해당 응답자의 문항 간 표준편차는 ‘0’ 값으로 계산됩니다. (※ 응답자별 통계량을 구하기 위해서는 엑셀의 ‘stdev’ 함수를 활용하는 것이 실무적으로 더욱 수월합니다.)

이와 같이 표본의 자료로부터 제외한 불성실한 응답 자료의 규모와 제외 기준은 논문의 연구방법 챕터에 반드시 명시되어야 합니다.

“온라인 설문을 통해 총 285명으로부터 자료를 수집하였다. 이 중에서 주의력 점검 문항에 오답을 표기하였거나 불성실하게 응답한 자료라고 판단되는 14부의 자료를 제외한 최종 271명의 자료를 최종분석에 투입하였다”

불성실한 응답이 통계분석 결과를 어떻게 왜곡하는지에 관한 구체적인 내용은 아래의 게시글을 통해 확인하시기 바랍니다.

불성실한 응답의 해부: 온라인 설문조사의 데이터를 오염시키는 응답자들

역코딩(reversed-coding) 문항 값의 변환이 가장 우선되어야 하는 이유

역코딩 문항의 변환은 데이터 정제의 5단계 중에서 경험이 많지 않은 연구자들이 가장 흔하게 누락하는 과정입니다. 하지만 이 과정을 누락한다면 가장 치명적인 통계적인 붕괴를 발생시키는 절차이기도 합니다. 역코딩 문항(reverse-worded item)이란 동일한 구성개념(construct)의 의미를 의도적으로 반대 방향으로 묻는 문항입니다. 예를 들어서, ‘직무만족의 수준’을 측정하는 측정도구는 “나는 내 일에 만족한다”라는 순방향 코딩과 “나는 이 직장을 그만두고 싶다”라는 역코딩 문항으로 함께 구성될 수 있습니다. 그리고 만약 응답자가 성실하게 문항을 평가한다면, 순코딩 문항에 ‘5점(=’매우 그렇다’)’을, 그리고 역코딩 문항에는 ‘1점(‘전혀 그렇지 않다’)’을 부여합니다.

만약 역코딩 문항의 방향을 변환하지 않는다면 5점과 1점이라는 값이 하나의 변수군 내에서 무작위로 상쇄됩니다. 그 결과 내적 일관성을 측정하는 크론바흐 알파(Cronbach’s alpha) 계수 값이 훼손됩니다. 그리고 변수의 평균 값이 집단의 수준을 반영하지 못하게 됩니다.

역코딩 문항의 변환이 성공적으로 이루어졌는지를 확인하기 위해서는, 변환된 역문항의 값과 순코딩 문항 값 간의 상관관계 분석(Pearson’s correlation)을 수행하는 것이 좋습니다. 만약 두 문항 간의 상관계수가 정(+)으로 계산되면 방향성이 일치한다고 판단합니다. 하지만 부(-)로 나타난다면 변환 작업이 누락되었거나 실수로 순코딩 문항을 역변환한 것으로 예측할 수 있습니다.

결측치(Missing Data) 처리의 3대 기법과 선택 기준

결측치 처리를 위한 첫 단계는 데이터의 ‘결측 패턴’을 진단하는 것입니다. 이는 전체 응답 데이터 가운데 무응답 비율이 어느 정도인지, 혹은 특정한 민감한 문항(예., 소득 수준)에만 결측이 편중되어 있는지를 확인하는 과정입니다. 만약 특정한 문항에 결측이 집중되어 있다면 설문 문항의 모호성이나 응답의 부담이 원인일 수 있습니다.

결측치를 통계적으로 처리하는 방법은 표본의 크기와 결측 비율에 따라 다음 세 가지 가운데 하나를 선택하는 것입니다.

표 2.   결측치 처리 기법에 따른 통계적 처리 방법 및 적합 기준의 비교

처리 기법 통계적 처리 방법 적합 기준
목록별 제외 (Listwise Deletion) 단 하나의 문항에도 응답을 누락한 연구 대상자(행) 전체를 분석 대상에서 완전히 제외합니다. 결측 비율이 전체 표본의 5% 미만이고 표본 크기가 충분할 때 적용할 수 있는 논리적이고 명료한 방법입니다.
대응별 제외 (Pairwise Deletion) 개별 통계 분석(예., 상관분석)에 투입되는 두 변수 모두에 정상적으로 응답한 데이터만을 분석에 활용합니다. 데이터 손실을 최소화할 수 있으나, 분석에 따라 투입되는 표본 수(n)가 달라지게 됩니다.
평균 대체법 (Mean Imputation) 결측이 발생한 칸에 문항의 전체 평균값(또는 응답자의 다른 문항 평균값)을 대입하여 데이터를 보존합니다. 표본 수가 부족하고 결측이 무작위로 분포할 때 고려할 수 있으나, 분산을 인위적으로 축소시킨다는 단점을 가집니다.

가장 주의해야 할 금기 사항은 무응답 칸에 ‘3(=’보통이다’)’이라는 척도의 중간값을 연구자가 임의로 기입하는 행위입니다. ‘응답을 거부한 것’과 ‘중립적인 의견(보통)으로 응답한 것’은 각각 전혀 다른 정보를 제공하는 것입니다.

이상치(Outlier)를 무조건 제거해야 하는가?

학계에서 ‘이상치 제거’라는 용어가 관행적으로 사용되지만, 그 값을 발견했을 때 연구자가 취해야 하는 조치는 ‘제거’가 아니라 ‘데이터 생성 원인의 확인’입니다. 이상치란 데이터의 정상적인 분포 범위에서 극단적으로 벗어난 값을 의미하는데, 그 발생 원인은 크게 세 가지로 분류됩니다.

첫째, 명백한 입력 오류(data entry error)입니다. 근무연수 문항에 ‘300년’이 기재되어 있다면 이는 ’30년’을 잘못 입력한 것임이 틀림없습니다. 이 경우에는 설문지의 원본과 대조하여 정확한 수치로 교정해야 합니다. 반면에, 원본을 확인하기가 어렵다면 해당 값을 결측치로 처리하여 분석에서 배제합니다.

둘째, 응답자의 단순한 실수 때문입니다. 그러나 사후에 일어난 실수 때문인지의 여부를 확인하기 어려우며, 원칙적으로는 통제하기 불가능합니다.

셋째, 실제로 존재하는 극단적인 사례입니다. 월평균 소득 문항에 다른 응답자 평균의 10배에 달하는 값이 기재되어 있다면, 이는 오류가 아니라 표본의 집단에서 초고소득자 표본이 등장하여 나타난 꼬리 분포(fat-tail)에서 비롯되었을 수도 있습니다. 이와 같이 현실적으로 존재하는 유효한 관측값을 단지 ‘평균에서 벗어났다’는 이유만으로 임의로 제거하는 것은 모집단의 고유한 특성을 연구자가 자의적으로 조작(p-hacking)하는 연구부정행위에 해당합니다. 따라서 명백한 입력 오류로 입증되지 않은 값은 그대로 보존하는 것이 원칙입니다. 다만, 이 극단값이 모수 통계분석의 결과에 미치는 영향을 논문의 논의 및 결론 챕터에서 방법론적인 한계로 다루는 것이 타당합니다.

이상치를 식별하는 통계적인 방법은 크게 두 가지입니다. 하나는 상자도표(box-plot)를 출력하여 정상 수염(whisker)의 범위를 벗어난 데이터를 시각적으로 체크하는 방식입니다. 다른 하나는 SPSS의 [분석 -> 기술통계량 -> 기술통계] 메뉴에서 ‘표준화 값을 변수로 저장’ 옵션을 선택하여 z-점수로 계산한 후에, 그 절대값이 3을 초과하는(|z| > 3) 사례를 식별하는 방법입니다.

가상 사례: 보건행정학 석사과정 학생의 데이터 정제 과정

보건행정학을 전공하는 석사과정 학생인 B씨는 회수한 312부의 설문자료를 바탕으로 SPSS에 데이터를 입력하고 분석에 착수하였습니다. 하지만 첫 관문인 신뢰도 분석에서 예상하지 못한 어려움에 봉착했습니다. 종속변수인 ‘조직몰입’의 문항에 관해 계산한 Cronbach’s alpha 계수 값이 0.42로 나타났기 때문입니다. 이에 따라 B씨는 측정도구의 타당성과 신뢰도를 의심하기 시작하였습니다.

그러나 지도교수와의 면담을 통해 문제의 본질은 측정도구가 아니라 데이터 정제 과정을 수행하지 않았다는 사실에서 비롯되었다는 점입니다. 척도를 구성하는 15개의 설문문항 중에서 역코딩으로 설계한 4개의 문항 값을 순코딩으로 변환하지 않고 분석에 투입하였던 것입니다.

B씨는 데이터 정제를 위한 매뉴얼에 따라 정제 작업을 수행하였습니다. 구체적으로, 모든 문항에 같은 번호를 연속적으로 기입한 일자형 형태의 불성실한 응답 19부를 분석에서 제외하였습니다. 그리고 조직몰입의 수준을 측정하는 4개의 역코딩 문항을 순코딩으로 변환하였습니다. 이와 함께, 결측 값의 비율이 전체 중에서 2% 미만인 것으로 나타나 ‘목록별 제외(listwise deletion)’ 원칙을 적용하여 무응답 데이터를 최종분석에서 제거하였습니다.

(가상 사례는 논문통계 컨설팅 과정에서 실제로 체험한 경험을 바탕으로 다시 구성한 가상 시나리오입니다.)

자주 묻는 질문 (FAQ)

Q. 전체 데이터 중에서 불성실한 응답을 어느 정도의 비율(부수)까지 제외하는 것이 통계적으로 안전합니까?

A. 학계에서 통용되는 일률적인 상한선은 존재하지 않습니다. 그런데 핵심은 ‘제외된 표본의 절대적인 크기’가 아니라 ‘선별 기준의 객관성과 일관성’입니다. 연구 설계의 단계에서 확립한 기준(예., 표준편차 0, 응답 소요 시간 1분 미만)을 엄격하게 적용하였다면, 제외된 표본 수가 다소 많더라도 분석의 정당성을 확보할 수 있습니다. 단, 제외되는 표본의 비율이 전체 회수량의 10-15%를 초과한다면, 설문문항의 분량이 과다해서 응답자에게 피로도가 유발되었을 가능성을 시사할 수 있습니다.

Q. 특정한 문항이 역코딩 문항인지, 또는 순코딩 문항인지의 여부를 모를 때에는 어떻게 판단해야 합니까?

A. 측정도구를 최초로 설계하고 타당화한 원문(original source)의 본몬이나 부록을 확인해야 합니다. 그리고 원저자가 역코딩 문항으로 명시한 문항을 교차 검증하는 것입니다. 만약 2차, 혹은 3차로 인용된 문헌이어서 원출처의 확인이 어렵다면, 다른 문항들의 값에 대하여 상관관계 분석을 수행해야 합니다. 특정한 문항들의 값만이 다른 문항들의 값과 뚜렷한 부(-)의 상관관계를 보인다면, 해당 문항이 역코딩 문항이라는 점을 확인한 것입니다.

Q. 결측치가 비정상적으로 많이 발생한 응답자가 있다면, 평균 대체를 해야 할까요, 아니면 응답자의 데이터 전체를 삭제해야 할까요?

A. 한 응답자가 전체 문항의 50% 이상에 응답하지 않았다면, 그 응답자의 데이터는 평균으로 대체할 수 있는 임계를 벗어난 것으로 간주하여 데이터의 행(row) 자체를 완전히 제외(listwise deletion)하는 것이 방법론적인 원칙입니다. 반면에 1-2개의 문항만이 누락되었다면, 표본 크기의 여유에 따라 목록별 제외를 하거나 다른 문항의 평균값으로 대체할 수 있습니다. 단, 어느 방식을 사용하더라도 처리 기준을 논문에 투명하게 서술해야 합니다.

Q. 이상치를 제거하고 분석을 수행했더니 p-value가 유의하게 산출되어 연구가설이 채택되었습니다. 이 경우에는 이상치를 영구적으로 삭제해도 될까요?

A. 결코 허용되지 않습니다. 이는 ‘p-해킹(p-hacking)’이며 데이터 조작(data manipulation) 행위입니다. 이상치 제거는 가설의 유의성을 확보하기 위한 수단이 될 수 없으며, 입력 오류나 측정 장비의 결함에서 비롯된 오류라는 사실이 확인되었을 때에만 예외적으로 허용됩니다. 정상적인 분포 내에 존재하는 극단값을 임의로 제거하는 행위는 연구윤리를 훼손합니다.

Q. 데이터 정제 과정과 처리 기준을 논문의 본문에서 상세히 서술해야 하나요?

A. 반드시 서술해야 합니다. 설문지의 총 배포 부수, 회수율(yield rate), 불성실한 응답의 선별 기준 및 제외 부수, 최종 유효 분석 표본 수, 그리고 결측값의 처리 방식이 빠짐없이 기술되어야 합니다.

Q. SPSS 사용이 불편해서 엑셀(EXCEL)에서 정제 과정을 모두 완료한 후에 데이터를 불러오려고 하는데 문제가 없을까요?

A. 정제 과정을 엑셀에서 수행해도 무방하며, 특히 다수 응답자의 일자형 응답(표준편차 0)을 시각적으로 식별하거나 필터링을 하는 데에는 엑셀의 구조가 직관적이고 효율적입니다. 그러나 엑셀에서 정제한 .xlsx 확장자 파일을 SPSS로 불러오는(import) 과정에서 예상하지 못하는 데이터 변환 오류가 간혹 발생합니다. 예를 들어서, 문자형 변수와 숫자형 변수가 혼재되거나, 또는 의도적으로 비워 둔 결측치(blank)가 ‘0’이라는 유효값으로 자동 치환되는 오류가 나타날 수 있습니다. 따라서 데이터를 불러온 직후에는 반드시 SPSS에서 [데이터 보기] 창과 [변수 보기] 창을 대조하여 데이터의 무결성을 체크해야 합니다.

결론

데이터 정제는 연구자가 반드시 거쳐야 할 절차입니다. 정제 과정은 크게 다섯 단계로 이루어지며 반드시 그 순서를 지켜야 합니다. 입력 오류를 점검하고, 사전에 마련한 기준으로 불성실한 응답을 제외하며, 역코딩 문항 값을 변환하고, 결측치 처리 방식을 선택하여 적용한 후에 이상치의 여부를 확인해야 합니다.

불성실한 응답의 판단 기준은 자료를 확인하기 전에 미리 수립해야 합니다. 학계에서 널리 통용되는 기준으로는 모든 문항 값에 동일한 번호로 응답이 되어 있는 경우, 역코딩 문항과 순코딩 문항 사이에 응답 논리가 서로 모순되는 경우, 응답에 소요된 시간이 비정상적으로 짧은 경우입니다.

역코딩 문항 값의 변환은 다섯 단계 중에서 가장 빈번하게 누락되면서도 가장 치명적인 통계적 왜곡을 발생시킵니다. 결측치는 전체 데이터에서의 발생 비율을 먼저 확인한 후, 목록별 제외, 대응별(쌍별) 제외, 평균 대체 가운데 자료의 상태에 가장 적합한 방법을 선택합니다. 결측치가 관찰되는 빈칸에 ‘3’이라는 5점 척도의 중간값을 연구자가 임의로 기입하는 방식을 지양해야 합니다. 만약 이상치를 발견한다면 무조건적으로 제거해서는 안되고 발생 원인을 규명해야 합니다. 만약 그 원인이 입력 오류에서 비롯되었다면 원시 데이터를 확인하고 교정해야 합니다. 통계분석 결과의 패턴이 데이터를 삭제하기 이전보다 이후에 개선이 된다는 이유만으로 값을 임의로 삭제하는 것은 허용되지 않습니다.

함께 읽으면 좋은 글

빠른상담 TOP

빠른상담 신청

논문 컨설팅의 모든 곳, 프라임과 함께 하세요!

02-568-5964 카카오톡