cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
특정 단어(주소 / 질병 이름 등)가 잘 못 표기되었을 때 어떻게 데이터 전처리를 할 수 있을까요?

제목의 표현처럼, 일반적으로 우린 완벽하지 않은 데이터를 다루게 됩니다. 

 

예를 들어 고객이 입력한 개인정보 중 직장명, 직위, 부서명, 주소 등이 정확하게 입력되는 경우가 얼마나 될까요? 1%? 100만명의 데이터가 있다면, 만 명의 자료가 잘 못 입력되어 있다고 얘기할 수 있습니다. 

 

예를 좀 더 세분화해서 위 예시 중 직위로 얘기해 보겠습니다. 가장 손쉽게(? 손쉽긴 하지만 꽤나 많은 수작업이 필요할 겁니다) 접근할 수 있는 방법은 다음과 같습니다.

 

1. 100만개의 data에서 직위에 대한 분포를 출력

2. 일일이 하나 씩 확인 >> 예를 들어 "사원"이 "시원"으로 잘못 표기되진 않았는지, "과장"이 "고장"으로 표기되진 않았는 지 등...

3. 다 확인한 후엔 간단(?)한 프로그램을 짠다. SAS를 program이라면 다음과 같을 겁니다.

 

    if 직위 = "시원" then 직위_1="사원";

    else if 직위="고장" then 직위_1="과장";

    else if .....; /*여러번 반복해야겠죠?*/

    else 직위_1=직위;

 

    위 프로그램 수행 후 직위 / 직위_1의 데이터(분포)를 확인하고 이상이 없을 시, 직위_1을 사용하게 됩니다.

 

4. 하지만... 만약 또 다른 데이터가 생성/추가 되면 위 과정을 반복해야 합니다.

 

주소라면 어떨까요? "강남구"가 아닌 "강낭구", "동대문구"가 아닌 "동다문구"... 등 상상할 수 없는 여러 오타가 생길 수 있습니다.

이러한 사례는 의약학 분야에서도 많이 나타날 수 있습니다. eCRF를 등록할 때 다행이 질병명을 drop-down  방식으로 입력(사실 그 수 많은 질병을 일일이 클릭해서 drop-down하고, 찾아서 클릭하는 것도 엄청난 수고일 겁니다)하지 않는 한 어쩔 수 없이 오탈자가 생길 수 밖에 없습니다.

 

Data 분석의 70~80%는 데이터 준비(전처리 단계 포함)라고 할 수 있습니다. 이러한 준비 단계를 얼마나 빠르고 정확하게 할 수 있느냐가 여러분들의 분석업무의 질을 결정지을 수 있다고 감히 말씀드릴 수 있습니다. 여러분들은 JMP의 Recode 기능 중 Fixing Misspelled Words를 통해 말씀드린 목적을 이루실 수 있습니다.

 

서울특별시 주소 DB를 활용한 오탈자 수정 사례

 

우선 DB에 아래와 같은 데이터가 있다고 가정합니다. 보시다시피 첫 4개의 데이터는 오류 입력된 데이터이고, 나머지 4개의 데이터는 오탈자가 없습니다.

DaeYun_Kim_2-1604374593721.png

만약 JMP의 Recode 기능이 없다면... 위 사례에서 첫 4개의 오탈자를 바꾸기 위해 각 오탈자 별로 수정해 주는 프로그래밍이 필요합니다. 하지만, JMP를 사용한다면? 이를 손쉽게 하기 위해 서울특별시 주소 DB를 받아 JMP data table로 미리 만들어 놓습니다(아래 스크린샷 참조, 첨부파일로도 제공드립니다).

 

DaeYun_Kim_3-1604374734516.png

 

모든 준비는 끝났습니다. 아래와 같이 실행해 보세요(간략한 동영상 내용도 마지막에 함께 첨부합니다).

 

1. 오류 입력된 JMP Data Table에서 시군구 변수를 선택(마우스 클릭)

2. JMP >> Cols >> Recode 

DaeYun_Kim_4-1604374958848.png

3. Recode 창에서  RTM(Red Triangle Menu) 클릭 >> Advanced >> Choose Closest

DaeYun_Kim_5-1604375055470.png

4. Choose Table >> 서울특별시 선택

DaeYun_Kim_6-1604375142938.png

5. 시군구 선택 후 OK

DaeYun_Kim_7-1604375219642.png

6. 수정 완료

DaeYun_Kim_8-1604375253222.png

DaeYun_Kim_9-1604375318754.png

 

[동영상] JMP Recode 기능을 활용한 오탈자 수정

 

 

Last Modified: Nov 2, 2020 11:05 PM