좋은 데이터, 나쁜 데이터, 이상한 데이터

이상함과 특별함 사이 그 어딘가

by 정경문

무슨 의미지?

WGWGWGWG WBWB YWYW BWBW.
clothes-hangers-gac93b7fa5_1920.jpg


Q) 옷걸이에서 찾을 수 있는 규칙은?

A) 흰녹흰녹흰녹흰녹 / 흰파흰파 / 노흰노흰 / 파흰파흰 (마침표)

WGWGWGWG WBWB YWYW BWBW.


머리가 조금 말랑말랑해지셨나요? 그러면 오늘은 데이터 정리정돈 이야기를 좀 해볼까 합니다. 저서 "나는 처세술 대신 데이터 분석을 택했다"의 데이터 쓰기 편(29 데이터, 물 흐르듯이)에서는 다양한 데이터의 저장 방법에 대해서 알아보았는데요. 오늘은 좀 더 미시적인 관점에서 깨끗한 데이터와 정리정돈에 대해 살펴보도록 하겠습니다.


"야! 방정리 똑바로 안 해! 이번달 용돈 없을 줄 알아!!"

"알았어, 알겠다고!"


오늘도 아이 방의 정리문제로 딸과 엄마가 옥신각신 합니다. 늘 볼 수 있는 광경이죠. 어떻게 나아질 수가 있을까요? 조만간 이 문제를 포함한 사춘기 딸의 문제에 대해 chatGPT와 대화를 아껴두기로 하겠습니다.

엄마는 정리의 중요성에 대해 연설을 하십니다.


"주변이 깨끗하면, 네 기분도 상쾌해서 동기부여도 되고, 공부도 잘 되는 거야."

크게 성공한 사람은 정리정돈이 습관이 되어있어! 네가 좋아하는 애플 창업자, 스티브 잡스 알지?"


"어, 죽었지. 똑같은 옷만 입다가"


library-g43b66aeab_1920.jpg

정리보단 삶이 중요한 것 같기는 합니다만,

책상 주변도 정리부터 방 청소까지 깨끗하게 정리하면 많은 장점이 있습니다.


1. 필요한 물건을 제 때 찾을 수 있어 시간이 절약되고,

2. 불필요한 물건을 선별해 버림으로써 공간을 확보할 수 있습니다.

3. 또, 새로운 물건들이 왔을 때 규칙적으로 관리하고, 활용도 편리합니다.


좋은 데이터, 나쁜 데이터, 이상한 데이터


배우 송강호, 이병헌, 정우성 주연의 "좋은 놈, 나쁜 놈, 이상한 놈"이라는 영화를 기억하시나요? 꽤나 굵직굵직한 배우들이 많이 나왔는데요. 혹시 주연 배우 3명 중에서 누가 좋은 놈이고, 누가 나쁜 놈이고, 누가 이상한 놈인지 기억하시나요? 저도 기억이 잘 나질 않습니다. 힌트는 제가 앞서 적어드린 순서 (ㄱ,ㄴ,ㄷ순) 송강호, 이병헌, 정우성은 아닙니다.


그런데 만일, 제가 정우성[1], 이병헌[2], 송강호[3] 주연의 "좋은 놈[1], 나쁜 놈[2], 이상한 놈[3]"이라고 언급했다면 어땠을까요? 정우성[1] = 좋은 놈[1], 이병헌[2] = 나쁜 놈[2], 송강호[3] = 이상한 놈[3] 이 딱 맞아떨어져 기억하시기 좀 더 쉬웠을 거예요.


ID 분류 이름

1 좋은 놈 정우성

2 나쁜 놈 이병헌

3 이상한 놈 송강호


바로 이런 데이터가 좋은 데이터 아닐까요? 그렇다면 영화의 제목처럼 어떤 데이터가 좋은 데이터인지, 나쁜 데이터인지, 또 이상한 데이터인지? 데이터 관점에서의 좀 더 체계적으로 접근해 보겠습니다.



# 01 좋은 데이터


좋은 데이터는 분석하기 쉬운 형태로 정리된 데이터입니다. 데이터 직무에서는 이러한 데이터를 "깔끔한 데이터(Tidy Data)"라는 용어를 씁니다. 깔끔한(Tidy)라는 용어는 오클랜드/스탠퍼드 대학교 교수 해들리 위컴의 통계 소프트웨어 저널(Journal of Statistical Software)에서 처음 소개되었습니다.


그럼 어떤 데이터가 좋은 데이터, 깔끔한 데이터일까요?

여기서 고려해야 할 데이터의 특성이 있습니다. 데이터는 그 존재 자체에서 변화합니다.

그러한 데이터를 저장하고, 처리하고, 분석하고, 활용합니다. 따라서 변화하는 데이터의 수집, 저장, 전처리, 분석, 활용 관점에서 최적의 상태를 유지해 주는 것이 좋습니다.


가장 먼저 그 개념을 소개한 저서 (데이터 베이스 관리를 위한 관계형 모델; The relational model for database management: version 2)에 의하면 깔끔한 데이터가 가지는 세 가지 특성은 다음과 같습니다.


1. 변수는 세로 열을 구성한다.

2. 관측은 가로 행을 구성한다.

3. 값이 표를 채운다.

001.png

변수, 관측, 값이라는 용어가 좀 생소한데요. 변수(Variable)는 "분류", "이름"과 같은 특성의 명칭을 말합니다. 그리고 관측(Observation)은 한번 관찰이나 측정을 통해 얻어진 값들의 집합입니다. 좋은 놈, 정우성, 이 해당됩니다.


나쁜 데이터를 확인해 보면 좋은 데이터에 대한 이해가 더 빨라지실 겁니다.



# 02 나쁜 데이터


좋은 데이터를 깔끔한(Tidy) 데이터로 이야기했다면 나쁜 데이터는 "지저분(messy)한 데이터"라고도 말합니다. 깔끔한 데이터와 마찬가지로 지저분한 데이터도 5가지 특징이 있습니다. 각각의 사례에 대해 알아보고 깔끔한 데이터로 변경해 보도록 하겠습니다.



① 열이름이 변수가 아니고 값인 경우


첫 번째 지저분한 데이터의는 열이름이 변수가 아니고 값인 경우입니다.

아래 표에서 열이름은 "마트"와 "편의점"입니다. 그런데 통상적으로 열의 이름은 변수(변하는 값을 가지는 특성 명칭)가 와야 합니다. 예를 들어 마트와 편의점의 공통된 특성은 무엇일까요? 바로 "장소 또는 구입처"입니다. 마트와 편의점이라는 것은 변수가 아니라 관측되는 값인 것이죠.


따라서 각 변수는 세로의 열로 구분을 해주고, 매번 관측을 실행할 때마다 가로 행에 한 줄씩 추가해 주는 것이 깔끔한 데이터입니다. 예를 들어 구입처 / 판매지역 / 중량 / 판매금액 은 변수가 되고, 여기에 대응하는 하나의 관찰결괏값인 마트 / 서울시 / 1.5g / 1,700원이 가로 행으로 들어가게 되겠네요.


002.png

② 다양한 변수가 하나의 열에 저장된 경우


두 번째 경우는, 여러 가지 변수의 특성이 하나의 열에 뭉쳐져 있는 경우입니다.

아래 데이터 예를 보면 각 변수이름이 마트_4546으로 되어 있는데, 언뜻 보아도 2가지 이상의 특성이 묶여있는 것을 알 수 있습니다. 이는 구입처(마트), 측정중량(45 이상 46 미만)으로 나눠져야겠습니다.


바로잡아 오른쪽에 표기한 것처럼,

깔끔한 데이터는 하나의 변수에는 하나의 특성만을 포함하여 분리하여야 합니다.


003.png

③ 변수가 행과 열을 모두 포함한 경우


세 번째 경우는 변수가 행과 열, 즉 가로와 세로 모두 포함된 경우입니다.

예를 들어 아래를 보겠습니다. 다음 데이터는 반기별 비스킷 브랜드별 판매금액입니다.


우리가 아래 표를 보고 언제 어떤 과자의 판매금액이 얼마인지를 단박에 알아차리기 쉽습니다. 이것을 2가지 특성을 교차하여 표현했다고 하여, 다른 말로 교차분석표라고 합니다. 하지만,, 이와 같은 데이터는 우리 사람이 보기에는 편할지 몰라도 수집과 관리, 활용 관점에서는 불편하여 깔끔한 데이터는 아닙니다.


이 경우, 교차분석표를 녹여서 가로 행 단위로 나눠주는 것이 향후 활용관점에서 더 효율적인 데이터 관리가 됩니다. 교차분석표를 행 단위로 녹이는 것은 melt, 반대로 이미 녹아져 있는 데이터를 교차분석표로 만드는 것을 pivot table이라고 합니다.


004.png

④ 다양한 타입의 관측치가 하나의 표에 저장된 경우


이번 지저분한 데이터 사례는 다양한 타입의 관측치가 하나의 표에 저장된 경우입니다. 언뜻 보기에는 별 문제가 없어 보이지만 브랜드명과 제조사, 총중량이 반복되는 문제가 있습니다.


이것을 데이터의 성격별로 구분해 보겠습니다.

브랜드명, 제조사, 총중량의 과자별 속성과 연도별 판매량으로 분리할 수가 있습니다.

005.png

⑤ 하나의 관측 단위가 여러 표에 저장된 경우


마지막은 좀 더 큰 차원에서의 관리입니다.

같은 관측 양식으로 여러 개의 파일 또는 표에 나눠 저장하는 경우입니다.

이 경우 하나로 관리되어야 할 데이터가 중복되거나 누락될 가능성이 보입니다.


따라서 파일명이나 테이블(표)의 이름을 하나의 변숫값으로만 변환해도 데이터 관리 효율을 높일 수 있습니다.

006.png






# 03 이상한 데이터


이상이란 정상의 반대말이죠. (이상 ↔ 정상) 이상을 알기 위해서는 정상을 정의해야 합니다. 하지만 때로는 살다 보면 무엇이 이상이고 무엇이 정상인지 조금 헷갈릴 때도 있습니다. 실제 정신분석학의 창시자 지그문트 프로이트는 정상인 사람의 상태를 약간의 히스테리, 약간의 편집증, 그리고 약간의 강박이라고 정의했습니다.


정상이란?
약간의 히스테리, 약간 편집증, 약간의 강박



또라이 법칙이라는 게 유행했던 시절이 있었습니다.

'직장상사가 또라이라서 팀을 옮겼는데, 그 팀에도 또라이는 있었다.'
"우리 팀에는 또라이가 없어요." "네, 그럼 당신이 또라이입니다."

팀 단위가 10명이라고 가정했을 때, 그중에는 어김없이 이상한 사람이 1명은 존재한다는 통계적 법칙에 입각한 유머입니다. 통계 정상과 이상을 구분하는 방법은 얼마나 자주 관찰되느냐에 있습니다. 가장 자주 관찰되는 값인 평균, 편차를 기준으로 이상을 진단합니다.

tFho3ADDb_cVrJGSfCabfcw-1K8.png 나는 처세술 대신 데이터분석을 택했다. 20 생존을 위한 데이터 분석


현실에서도 그렇지만 실무에서도 이 이상? 들이 세상을 움직이는 경우가 많습니다. 특별히 이상하게 부지런한 누군가 세상을 일구고, 특별히 이상한 생각을 가진 누군가 기발한 발명품을 만들어 사람들 손에 쥐어줍니다. 그래서 실무에서도 이 이상치를 함부로 제거해서는 안됩니다. 대신 우리는 왜 그런 값이 발생했는가에 주목해야 합니다.


좀 아카데믹한 주제이지만 서랍에 오랫동안 담아 놓았던 주제를 글로 표현했습니다. 많은 분들의 데이터 리터러시에 도움이 되었으면 좋겠습니다.


제목을-입력해주세요_-007 (1).jpg


keyword
매거진의 이전글인생은 달콤한 홈런볼