② 믿을 수 있는 데이터인가?
지난 ‘양질의 데이터를 판별하는 5가지 방법’ 1편에서는 활용하기 좋은 양질의 데이터가 되기 위해서는 많은 데이터 수가 뒷받침되어야 한다는 것을 살펴보았습니다. 하지만 데이터 수가 뒷받침된다고 할지라도 모든 데이터를 활용할 수 있는 것은 아닙니다. 분석 결과를 누구나 인정할 수 있도록 데이터 자체에 대한 신뢰성이 뒷받침되어야 합니다. 데이터 신뢰성이란 데이터가 얼마나 실제 정보를 똑바로 담고 있는가에 대한 개념으로 이해하면 좋습니다. 데이터 자체에 틀린 정보가 담겨있을 수도 있으며, 확실한 값이 아닌 추정 값을 데이터로 적재하는 등 데이터의 신뢰성을 떨어뜨리는 원인은 다양합니다. 당연한 말이지만, 신뢰도 높은 데이터를 수집하고 분석하는 것이 올바른 빅데이터 활용이라고 볼 수 있습니다. 이번 편에서는 데이터의 신뢰도를 떨어뜨리는 경우들이 구체적으로 어떤 것들이 있는지에 대해 살펴보도록 하겠습니다.
신뢰성 있는 데이터인가?
1) 데이터 오류
양질의 데이터를 판별하기 위해서 데이터의 신뢰도를 바라볼 때 가장 직관적이면서도 중요한 것이 바로 데이터 오류가 얼마나 존재하는지에 대한 정보입니다. 데이터 오류란 데이터가 사실이 아닌 잘못된 정보를 적재하고 있는 경우를 의미합니다. 데이터 오류가 발견되고 그 발견 빈도가 높아지는 순간 데이터 분석에는 많은 애로사항이 생깁니다. ‘문제가 되는 데이터가 있다면 삭제하면 되는 것 아닌가?’라고 단순하게 생각할 수 있지만 기본적으로 데이터 오류는 컴퓨터를 통해 자동적으로 찾아내기 어렵습니다. 아래 그림은 데이터 오류의 예시입니다. A부터 F까지의 개인이 있을 때 해당 인원들의 기본 정보를 예시로 든 것입니다. 언뜻 보면 데이터에 문제가 없어 보이지만 E라는 사람의 연령이 9999세로 표시되어 있습니다. 사람의 나이는 9999살일 수 없기에 명확한 데이터 오류입니다. 실제로 특정 데이터 수치가 9999999등 매우 높은 숫자로 적재되는 것은 프로그래밍적인 오류로 인해 의외로 흔하게 나타납니다. 이렇게 오류가 있는 데이터를 이용한다면 분석 결과가 비정상적으로 나올 수밖에 없습니다. 예를 들어, 6명의 평균 연령을 계산한다면 1689.5세라는 비현실적인 수치가 나오게 됩니다.
또한 위 데이터에는 E의 연령 외에도 다른 데이터 오류가 숨어있을 수 있습니다. 만약 위 데이터를 수집할 때 각각의 개인에게 직접 정보를 물어 데이터를 수집한 것이라면 누군가는 만 나이로 나이를 적었을 수도 있고 누군가는 그렇지 않을 수도 있습니다. 누군가는 정확하게 본인의 나이를 적었지만 누군가는 고의적으로 혹은 실수로 나이를 틀리게 적었을 수도 있습니다. 누군가는 주민등록상 거주지를 제공했을 수도 있지만 누군가는 실거주지를 제공했을 수도 있습니다. 이처럼 데이터 오류는 생각보다 많은 원인을 통해 발견됩니다. 하지만 안타깝게도 데이터에서 이런 오류를 명확히 검증할 수 있는 방법은 없습니다. 그렇기 때문에 데이터 분석가 입장에서는 분석 초기에 하나하나의 데이터를 꼼꼼히 살펴보고, 각 데이터가 어떻게 수집되어온 것인지에 대한 수집 방법 파악을 반드시 선행해야 합니다.
2) 결측 데이터
양질의 데이터를 파악하기 위해 데이터 신뢰성을 본다고 할 때, 데이터의 신뢰성을 떨어뜨리는 것은 데이터 오류만 있는 것은 아닙니다. 데이터 결측치 혹은 결측 데이터도 경우에 따라서 데이터 신뢰도에 큰 영향을 줍니다. 결측 데이터란 데이터 수집 혹은 적재과정에서 누락된 데이터를 의미합니다. 쉽게 생각하면 데이터 파일에서 비어 있는 부분이 결측 데이터입니다. 다시 위의 데이터로 예를 들면, C와 E의 연봉이 결측 데이터입니다. 데이터 오류와 마찬가지로 결측 데이터 역시 발생 원인이 다양합니다. 단순한 컴퓨터 에러일수도 있으며 피치 못하게 수집하지 못한 것일 수도 있습니다. 한 가지 중요한 것은 결측 데이터에 특별한 의미가 있을 수도 있다는 점입니다. 예를 들어 위치, 평수, 관리비 등 주거지에 대한 데이터를 만든다고 할 때 단독 주택에 사는 사람들의 관리비는 자동적으로 결측치가 될 수 있습니다. 이 때 결측치를 제외하고 데이터를 분석하면 단독 주택에 사는 사람은 제외하고 분석을 하게 됩니다. 반대로 결측치에 특정한 값을 대체한다면 단독 주택에서도 관리비가 존재하는 딜레마가 발생하게 됩니다.
이처럼 결측치는 발생했을 때 파악은 쉬울지라도, 대처하기는 쉽지 않습니다. 결측 데이터가 발견되었을 때 기본적인 대처법은 해당 데이터를 삭제하는 것입니다. 하지만 ‘양질의 데이터를 판별하는 5가지 방법’의 1편에서 살펴보았듯 데이터 숫자는 데이터 분석에 있어 중요한 요소입니다. 결측 데이터가 소수라면 큰 문제가 없지만 그렇지 않다면 이를 함부로 삭제하기도 어렵습니다. 때문에 결측 데이터가 많은 데이터는 활용하기에 많은 제약이 따르는 것이 현실입니다. 물론 결측 데이터를 삭제하는 것 외에도 결측 데이터를 -1처럼 특정한 값이나 평균, 중앙값 등의 수치로 대체해주는 방법도 있습니다. 하지만 이 방법들은 모두 데이터를 삭제하기 않고 분석을 진행하기 위한 최소한의 방법이며, 데이터의 신뢰성을 높이기 위한 최선의 방법은 아닙니다. 때문에 빅데이터를 활용해 분석을 수행한다면 애초에 결측 데이터가 없는 혹은 최소로 존재하는 데이터를 선택하는 것이 높은 신뢰성을 가질 수 있습니다.
데이터 가공 정도
양질의 데이터를 판별하기 위해 데이터의 신뢰성을 검증하고자 한다면, 데이터 오류나 데이터 결측치 등 데이터 자체의 신뢰성을 판별하는 방법도 있지만 데이터 생성 방법을 보는 방법도 있습니다. 데이터는 기본적으로 인터넷을 통해 수집한 데이터, 설문을 통해 수집한 데이터, 센서를 통해 수집한 데이터, 웹/앱 로그를 통해 수집한 데이터 등 그 원천이 매우 다양합니다. 또한 수집한 데이터를 단순히 이용하지 않고 아래 그림처럼 다른 데이터와 결합하거나 데이터 자체를 가공하여 새로운 데이터를 만들어 내기도 합니다. 모든 데이터는 원천 데이터와 가공 데이터로 분류가 가능합니다. 그리고 양질의 데이터 판별을 위해 데이터의 신뢰성을 보고자 한다면 데이터 가공 정도라는 것이 중요하게 작용합니다.
1) 원천 데이터
데이터 수집 직후 아무런 가공도 하지 않은 데이터를 원천 데이터라 부릅니다. 보통 원천 데이터는 사람의 손을 최소로 탄 상태이기에 데이터 오류가 적은 편입니다. 앞서 데이터 오류가 적은 데이터가 신뢰성이 높기에 양질의 데이터라 설명을 했는데 그 데이터 오류를 판별할 수 있는 하나의 방법이 원천 데이터 여부를 살펴보는 것입니다. 물론 원천 데이터에도 아예 오류가 없는 것은 아닙니다. 데이터 오류는 크게 프로그래밍 오류를 포함한 수집 당시의 오류와 사람이 데이터를 조작하면서 발생하는 오류로 구분할 수 있습니다. 원천 데이터의 경우 사람이 데이터를 조작하면서 발생하는 오류는 아예 없다고 볼 수 있지만, 애초에 수집 방법에 오류가 있다면 이는 해결되지 않고 그대로 남게 됩니다.
그리고 보통의 원천 데이터는 너무나 복잡해 그 형식이나 내용을 이해하기에 어려운 경우가 많습니다. 수집한 데이터를 보면 알 수 없는 컴퓨터 언어가 이용되고 있는 경우가 많습니다. 그래서 때로는 최소한의 가공을 거친 데이터가 가장 신뢰성이 높을 수도 있습니다. 약간의 수정을 통해 알 수 없는 컴퓨터 언어를 이해하기 쉽게 변환할 수 있음은 물론이며 데이터 수집 당시에 발생했던 오류를 어느 정도 처리할 수도 있습니다. 물론 사람이 데이터를 수정할 때 추가적인 오류를 발생시키지 않고 기존에 있는 오류만을 정확하게 처리했다는 가정이 필요하기는 합니다.
2) 가공 데이터
엄밀히 따지면 최소한의 가공을 거친 데이터도 원천 데이터는 아니지만, 편의상 원천 데이터라고 그냥 부르는 편입니다. 그리고 데이터 분석가들은 이러한 데이터를 이용하여 원하는 지수를 개발하거나 필요한 데이터만을 추출하는 등 심화된 데이터 가공을 진행합니다. 앞선 내용들을 통해 유추할 수 있겠지만, 분석가가 데이터에 조작을 많이 가하고 수정을 많이 할수록 데이터의 신뢰성은 떨어지기 쉽습니다. 실제로 데이터 분석가가 데이터를 가공할 때는 사칙연산처럼 결과가 명확한 수학적 처리만을 이용하지 않습니다. 분석 목적에 따라 특정한 지수를 개발하거나 머신러닝을 통해 특정 값을 예측하게 됩니다. 하지만 아무리 훌륭한 AI 알고리즘을 활용한다고 할지라도 이 과정을 통해 만들어 낸 데이터는 결국 추정 값이면서 예측 값입니다. 결국 아무리 분석가가 노력을 한다고 할지라도, 많이 가공된 데이터는 틀린 정보를 담게 될 수밖에 없습니다.
하지만 가공된 데이터가 양질의 데이터가 아니라고 단정짓지는 못합니다. 데이터가 가공될수록 둘 간에 상충관계가 작용하기 때문입니다. 예를 들어, 은행에서 고객이 대출금을 상환할 수 있을지 AI를 통해 사전에 예측하는 활동은 머신러닝과 데이터 가공의 대표적인 예시입니다. 이 때, 아무리 정확한 AI를 이용할지라도 예측한 결과가 틀릴 가능성은 있기에 해당 데이터의 신뢰도가 절대적이라고 할 수는 없습니다. 하지만 이 예측 값 자체는 은행에서 의사결정 시 요긴하게 쓸 수 있는 정보입니다. 이에 대한 자세한 내용은 ‘양질의 데이터를 판별하는 방법’ 5편에서 살펴볼 예정입니다. 결국 중요한 것은 원천 데이터(데이터의 신뢰성)와 가공 데이터(데이터의 활용성) 사이의 균형을 잘 잡는 것입니다.
데이터에 대한 믿음이 선행되어야 분석이 가능합니다.
이번 시간에는 양질의 데이터를 판별하기 위해 데이터 신뢰성과 데이터 가공 정도를 파악하는 것의 중요성을 살펴보았습니다. 내용을 종합한다면, 데이터 오류나 데이터 결측 등 데이터 자체에 대한 신뢰성이 존재해야 양질의 데이터라고 볼 수 있었습니다. 또한 이를 판단하기 위해 데이터 가공 정도를 간접적으로 살펴볼 수도 있었습니다. 이 대목에서 가장 중요한 점은 허용할 수 있는 데이터 오류 정도를 명확히 설정하고 그에 따라 얼마나 가공된 데이터를 선택할지, 어떤 내용을 담고 있는 데이터를 선택할지 결정해야 한다는 점입니다. 후반부에 설명했듯 오류가 적고 가공 정도가 적은 데이터가 무조건 적으로 양질의 데이터를 의미하지는 않기 때문입니다. 이 외에도 데이터 형식 등 양질의 데이터를 판별하기 위해 추가적으로 고려해야 하는 내용은 다양합니다. 다음 ‘양질의 데이터를 판별하는 5가지 방법’ 3편에서는 이와 관련된 내용에 대해 살펴보도록 하겠습니다.