본문 바로가기

독서/IT·모바일

MS 본사 데이터 과학자가 알려주는 헬로 데이터 과학 - 김진영

추천의 말

빅데이터든 스몰데이터든 우리 주변에는 손쉽게 구할 있는 다양한 데이터가 있고, 간단한 방법을 통해 이러한 데이터들을 분석해서 가치 있는 결과를 도출할 있는 것이 데이터 과학이다.

 

실습 예제 링크

http://github.com/jykim/dbook

http://www.hellodatascience.com

 


프롤로그

데이터에 근거하여 현상을 파악하고 문제를 해결하려는 노력이 데이터 과학의 시작이다.

 

필자가 생각하는 데이터 과학은 이런 현상을 정확히 이해하고 효과적인 결정을 내리도록 도와주는 수단이다.

  • 문제 정의에서 시작하라

  • 스몰데이터로 시작하라

  • 주변에 있는 도구로 시작하라

  • 간단한 분석 기법으로 시작하라

 


Chapter 1 데이터 과학 입문

에어비앤비가 택한 접근법은 실제로 현지에 직접 현지인들을 만나고, 사람들이 자신의 집을 내놓을 있도록 설득하는 것이었다. 이들은 이런 오프라인 접근법이 온라인 광고보다 비용당 배나 높은 효과를 나타낸다는 점을 알았고, 이렇게 오프라인으로 기반 다진 마켓이 그렇지 않은 마켓에 비해 배나 빠르게 성장한다는 사실 발견했다. 이런 발견은 이들이 유형의 마케팅 캠페인에 소요된 비용과 효과를 정확히 측정하고, 특히 마케팅 효과를 검정하기 위해 시장별로 다른 마케팅 전략을 채택하여 결과를 비교하는 일종의 A/B 테스트 수행했 때문에 가능한 일이었다.

 

  • 자신에게 절실한 문제에서 출발한다.

  • 데이터를 의사결정과 실천으로 직결시킨다.

  • 데이터를 통해 현상을 분석하는 데 멈추지 않고, 그 결과를 통해 중요한 의사결정에 직접 반영했다.

  • 데이터 수집 및 활용을 일상화한다.

 

필자는 데이터는 테이블이다라고 주장한다. 데이터를 구체화하면 테이블 형태가 되기 때문이다. 이런 관점에서 데이터를 수집하고 분석하는 데이터 과학은 테이블 있다.

 

실습 예제: 테이블 형태의 엑셀 데이터

 

열을 보면 데이터에 함된 속성의 분포를, 행을 보면 개별 항목의 모든 속성을 있다.

 

, 테이블은 우리가 관심을 갖는 항목(관찰 대상) 다양한 속성을 요약한다.

 

필자가 데이터는 테이블이다라고 말한 것은 데이터 과학에서 관심을 갖는 데이터의 절대 다수가 테이블 형태를 띠거나, 혹은 테이블로 환될 있기 때문이다. 위에서 언급한 그물망 역시 테이블에 연결의 시작점 종료점의 형태로 저장할 있으며, 텍스트 멀티미디어 데이터도 테이블의 자료형 하나로 저장할 있다.

 

빅데이터의 비효율을 최소화하기 위해 데이터 분석 무에서 가장 먼저 하는 작업이 데이터의 크기를 최대한 줄이는 것이다.

 

데이터 업은 스몰데이터로 시작해서, 필요할 때만 빅데이터를 사용하자.

 

데이터 과학은 결국 데이터를 통한 문제 해결 과정이며, 주어진 문제를 정확 이해하고 이에 적합한 접근 방법을 선택하는 것이 핵심이다.

 

데이터 과학자는 삶과 업무에서 끊임없이 데이터를 통해 가치를 창조하는 방법을 찾아내고, 이를 자신이 직접, 혹은 다른 사람을 통해 실천 옮기는 사람이다.”

 

데이터라는 렌즈를 통해 복잡다단한 현상에 대한 바르고 정확 지식을 얻고, 이를 지렛대 삼아 주어진 문제를 해결하려는 사고방식데이터 마인드는 생활 속에서 데이터와 문제를 발견하는 수집 마인드’, 주어 데이터를 다양한 관점에서 바라보고 적절한 결론을 유도하는 분석 마인’, 데이터를 통해 얻은 결론을 받아들이고 행동에 옮기는 실천 마인드’, 지막으로 분석 실천의 결과를 소통하고 이를 통해 배우는 공유 마인드 나누어 생각해볼 있다.

 

배움의 차원에서 평소 자신이 관심을 두었던 사소한 문제와 관련된 현상이라도 꾸준히 기록하고 이를 문제 해결과 연관 짓는 습관을 기르자.

 

데이터를 보는 관점

  • 기사에 사용된 데이터는 어떻게 얻어진 것인가?

  • 데이터에서 결론을 유도하는 과정은 설득력이 있는가?

  • 분석 과정을 전달하는 표나 시각화를 적절하게 사용하는가?

 

실력 있는 데이터 분석가가 되기 위해서는 먼저 현명한 데이터 소비자가 되어야 하는 것이다.

 

관점을 갖되, 관점이 편견으로 작용하는 것을 경계하는 태도가 필요하다.

 

데이터에 기반한 문제 해결은 대부분 표본추 측정 과정에서 기인하는 불확실성을 동반하며, 따라서 일단 내려진 결론이라도 항상 오류 가능성을 내포하고 있다. 따라서 데이터에서 얻은 론을 실천하는 개인이나 조직은 항상 이를 염두에 두고 실천 과정에서 결론 검정하는 습관을 가져야 한다.

 

가장 좋은 방법은 실천 단계에서도 데이터를 꾸준히 집하여 과연 기대한 결과를 얻었는지를 검토하는 것이다. , 데이터 수집이 일회성이 아닌 삶과 비즈니스의 자연스러운 일부로 정착되어야 하는 것이다.

 

여기서의 심은 제품을 만드는 실천 단계와 데이터를 수집하는 측정 단계가 번에 끝나는 것이 아니라 작은 단위로 반복된다는 것이다.

 

데이터는 본질적으로 현상의 불완전한 반영이다. 현상의 단편 가운데 데이터화할 속성을 선택해야 하고, 많은 경우 전체가 아닌 표본추출을 통해 데이터를 수집해야 하기 때문이다.

 

필자가 말하는 공유 마인드는 단순히 분석 결과를 발표하는 것이 아니라 문제 해결 과정을 끊임없이 이해당사자와 소통하는 투명한 프로세스를 지향하 것이다.

 

해당 분야에 대한 전문성은 문제 해결의 과정에 걸쳐 많은 차이를 든다. 전문가들은 무엇이 진짜 문제인지 파악할 있다. 또한 주어진 데이터가 충분한지, 품질에 문제가 없는지를 판단하는 데도 해당 분야의 지식이 필요하다. 마지막으로 문제 해결 과정을 거쳐 도출된 솔루션의 타당성과 실성을 검정하는 것도 분야 전문가들의 도움을 받을 있는 영역

 


Chapter 2 데이터 과학에 유용한 도구

보조장치 없는 인간의 지적 능력은 미약하기 짝이 없다. 종이와 , 퓨터와 같은 인지보조장치의 사용으로 인간의 기억과 사고력은 극적으 향상된다.”

 

빅데이터 솔루션의 대표 주자로 각광받는 하둡은 거의 무한대의 용량 처리할 있으며, 인덱스 클러스터 구축 여부에 따라 관계형 데이터베이스 역시 테라바이트급 데이터를 저장하고 처리할 있다.

 

특히 보통 빅데이터 클라우드 솔루션의 경우 조직 전체에서 공유 인프라로 활용되는 경우가 많아 대기 시간이 길어지게 마련이다. 러므로 필요한 경우가 아니면 데이터 크기를 최대한 줄여 작업해야 하는 중요하다.

 

스프레드시트를 제외한 대부분의 구는 XML, JSON 널리 쓰이는 파일 형식을 지원한다. 하지만 이런 표준 파일 형식을 벗어나는 데이터를 다루는 경우 이를 변환하는 별도의 프로그램을 작성해야 한다.

 

통계학자들에 의해 시작된 R 통계 기능에 강점이 있고, 범용 프로그래밍 언어인 파이썬 분석에 사용한 코드를 서비스 다른 시스템과 통합하기 쉬운 장점 있다.

 

마이크로소프트가 제공하는 클라우드 솔루션 애져(Azure) AzureML1이라는 편리한 기계학습 환경을 제공한다.

 

데이터 분석만큼이나 중요한 것이 적절한 시각화 기능

 

데이터 준비 단계

  • 다양한 형태의 데이터를 읽어들일 수 있는 호환성이 요구된다.

  • 원본 데이터에서 필요한 부분을 선택하거나 집계(aggregation), 표본추출(sampling) 등의 연산을 적용하여 최소한으로 줄인다.

 

탐색적 분석 단계

  • 목표는 데이터값이나 분포에 이상이 없는지 확인하고 새로운 패턴을 발견하는 것이다. 이를 위해서는 이터를 다양한 관점에서 집계하고 시각화하는 기능이 필요하며, 결과를 실시간으로 있어야 작업의 리듬을 유지할 있다.

  • 엑셀에서는 개별 데이터를 보면서 미시적인 분석을, R에서는 다양한 집계 시각화를 사용해 거시적인 분석을 수행통계적 추론 기계학습 단계

  • 통계적 추론 및 기계학습 기법을 지원하는 도구가 필요하다. 보통 통계 기법은 R이, 기계학습 기법은 파이썬이 좀 더 풍부한 기능을 지원한다.

 

결과 구현 제품화

  • 가급적 현재 구현된 시스템의 언어에 맞게 다시 구현하거나, 해당 시스템을 개발한 팀에게 업무를 넘긴다.

 

결과 시각화 공유

  • 다시 R이나 엑셀의 시각화 기능을 사용한다.

  • 대시보드가 필요한 경우가 있는데, 이는 보통 자바스크립트로 구현한다.

 

일단 엑셀로 데이터 과학을 시작하라.

 

코드를 작성하고 실행하는 대부분의 시간을 보내다 보면, 원본 데이터 대신 이미 각종 집계 분석 기법이 적용된 결과에만 초점을 맞추기 쉽기 때문이다.

 

필자도 분석 작업의 중간 중간에 샘플 데이터를 엑셀로 불러 검정하는 습관 있다.

 

우선 엑셀을 통해 데이터를 입력하거나 온라인 (form)으로 데이터를 모을 있다. 과정에서 이터의 중복이나 오류 여부를 검증할 있다.

 

프로그래밍에 기반을 도구들의 문제점 분석의 최종 결과를 제외한 중간 과정과 결과물을 다른 사람과 공유하기 쉽지 않다는 점이다.

 

최근에는 R 니터(Knitr) 파이썬의 주피터(Jupyter) 같은 도구가 등장하여 이런 문제를 부분적으로 해결해준다. 이런 도구를 사용하면 분석용 드와 관련 문서를 동시에 생성할 있기 때문에, 분석용으로 R 파이썬을 주로 사용한다면 알아야 도구들이다.

 

R에서는 모든 이터를 위치가 아닌 이름으로 참조한다고 기억하면 된다.

 

엑셀 전문가들은 모든 테이블에 이름을 붙여 관리하는 것을 추천한다. 이렇게 하면 굳이 크고 복잡한 워크시트 사이를 오갈 필요가 없기 때문이다.

 

R 모든 기능이 함수를 통해 구현된다.

 

R 프로그램은 함수를 통해 변수를 만들고, 조작하고, 시각화하는 과정 연속이라고 생각하면 된다.

 

엑셀에서는 이런 반복되는 작업을 위해 매크로 기능을 제공한다. 하지 매크로는 데이터형이나 기능이 조금만 달라져도 금방 한계를 드러낸다.

 

예컨대 텍스트 데이터 분석에서는 주어진 데이터의 단어 분포를 보는 것이 필수적인데, 엑셀은 주어진 텍스트 문서를 단어 단위로 쪼개 단어별 개수를 세는 기능을 제공하지 않는다.

 

이를 보완하기 위해서 엑셀에서는 VBA라는 프로그래밍 환경을 제공한다.

 

R에서는 기존에 존재하는 함수를 조합하여 얼마든지 새로운 수를 만들 있다. 그리고 R에서는 세계 R 사용자들이 이미 만들어둔 다양한 기능을 CRAN(The Comprehensive R Archive Network)이라는 곳에서 사용할 있다.

 

기계학습 전문가들은 단순한 모델 양질의 데이터와 적당한 속성(feature) 개발해 사용하는 것이 복잡한 델을 쓰는 것보다 낫다고 이야기하지만 아무래도 기계학습을 제대로 하려면 다양한 알고리즘을 제공하는 패키지를 쓰는 것이 바람직하다.

 

R ggplot2 등의 패키지를 통해서 전문적인 그래픽 기능을 제공한다.

 


Chapter 3 문제 정의와 데이터 수집 및 준비

책에서 소개하는 프로세스는 자기 주변에서 이터를 활용해 있는 문제를 찾아내어 명확히 정의하고, 이를 위한 이터를 수집하고, 수집된 데이터를 분석하여 결론을 이끌어내는 과정에 점을 맞춘다. 

 

만약 나에게 문제 해결을 위해 시간이 주어진다면, 나는 55 동안 문제에 대해 생각하고 5 동안 해결책에 대해 생각하겠다.” _알버트 아인슈타인

 

불확실성이 문제 해결의 단계에 시간과 노력을 많이 기울이는 대신, 가벼운 프로세스를 여러  반복하는 것이 해결책에 훨씬 효율적으로 접근하는 방법이다.

 

현상에서 패턴 발견: 탐색적 데이터 분석

  • 데이터 과학의 가장 기본적인 목표는 데이터를 활용하여 주어진 현상에 대한 다양한 패턴을 발견하는 것

  • 주어진 현상의 각 속성(혹은 테이블의 열)의 특성 혹은 속성 간의 관계를 밝히려는 노력

 

현상에서 인과적인 결론 도출: 통계적 추론

  • 통계적 추론에서는 주어진 현상을 넘어선 인과적인 결론이나 지식을 이끌어내려고 한다. 이는 앞서 만들어낸 가설의 진위를 검정하는 단계로 생각할 수 있다. 즉 주어진 데이터뿐만 아니라 그 이면의 현상까지 설명할 수 있는 결론을 이끌어내려는 것이다. 

  • A/B 테스트는 무작위로 지정된 두 사용자 그룹 중 하나에 현재의 서비스를, 그리고 다른 그룹에 신규 개발된 서비스를 제공하고 사용자의 행동이 두 그룹 간에 어떤 차이를 보이는지를 관찰하는 것

 

현상의 예측: 기계학습

  • 현상을 예측할 수 있는 기법은 소위 데이터 제품(data product)의 바탕이 되는 경우가 많은데, 예측 기법을 통해 고객의 선호도를 파악하고 비즈니스의 의사결정을 최적화할 수 있기 때문이다.

 

실험 설계를 통해 가설의 진위 여부를 판별하는 것이 통계적 추론의 주된 방법이다. 

 

데이터 과학의 프로세스마다 수많은 의사결정을 내리게 되는데, 주어진 문제의 목표, 범위와 제약 조건을 정확히 이해하고 있으면 이런 결정 내릴 귀중한 길잡이가 되기 때문이다.

 

문제 정의하기

  • 문제의 목표는 무엇인가?

  • 문제의 범위는 정확히 어디까지인가?

  • 문제 해결의 성공 및 실패의 척도는 무엇인가?

  • 문제 해결에 있어서의 제약조건(시간과 비용 등)은 무엇인가?

 

데이터 정의하기

  • 문제와 관련된 데이터에 포함되어야 하는 속성은 무엇인가?

  • 문제 해결에 필요한 데이터를 어떻게 수집할 수 있는가?

  • 데이터 처리 및 분석을 위한 최적의 방법과 도구는 무엇인가?

  • 최종 결과물은 어떤 형태로 누구에게 전달되어야 하는가?

 

연구 질문은 거창한 것이 아니라, 문제 해결을 통해서 무엇을 알아내려는지를 간결하게 기술하는 것이다. 정의된 연구 질문은 문제 해결에 초점을 부여하며 불필요한 데이터를 수집하거나 분석하는 헛수고를 막아준다. 또한 문제에 관해 다른 사람들과 소통할 때나 관련 자료를 찾는 데도 도움이 된다.

 

연구 질문이 데이터에 대한 궁금증이라면 가설 여기에 대한 잠정적인 해답이다. 연구 질문과 마찬가지로 정의된 가설 데이터를 분석하는 적절한 관점과 기대치를 제공하며, 이를 통해 주어 데이터 분석 결과가 타당한지, 만약 데이터가 기대치와 다르다면 어떤 이유인지를 생각해볼 있다. 

 

문제 정의는 작성하고 끝나는 것이 아니라 해결 과정에서 끊임없이 검토해야 한다는 점을 강조하고 싶다.

 

어쨌든 직접 데이터를 수집하는 노력을 들이기 전에, 존재하는 데이터 셋을  찾아보도록 하자.

 

데이터 수집은 우리가 데이터화하려는 현상 여러 측면을 개별 속성으로 표현하고, 현상에 대한 여러 관찰 결과를 항목으로 하는 테이블을 만드는 과정

 

테이블의 열은 개별 항목 갖는 속성에 해당한다. 속성은 크게 데이터가 수집된 대상 상황의 속성을 가리키는 차원(dimension) 데이터 수집을 통해 관찰된 결과인 측정(measurement)으로 나눌 있다. 여기서 문제의 핵심과 직접 관련되는 측정값이지만, 차원은 측정값을 집계하거나 비교하는 기준이 되기에 중에 분석 단계에서 중요한 역할을 한다.

 

데이터의 성격을 나타내는 데이터를 메타데이터 

 

외부의 데이터를 가져올 때에는 자료형과 단위를 반드시 정확하게 확인하고, 직접 데이터를 모을 때는 이를 꼼꼼하게 기록해두어야 한다.

 

테이블의 행은 수집 단위가 되는 개별 항목을 나타낸다. 설문지 사례 다시 생각해보면 개별 참가자의 설문 결과가 하나의 항목을 구성할 것이. 또한 위에서 설명한 차원을 바탕으로 개별 항목을 묶는 그룹을 정의할  있다.

 

데이터 수집의 단계는 수집할 데이터의 속성을 결정하는 것이다.

 

설문 등을 통해 주관적인 데이터를 수집하는 경우도 수동 수집이라고 하겠다. 

 

자동 수집은 수집이라 행위 자체가 데이터에 영향을 끼치는 관찰 효과(Observer Effect) 의한 향을 최소화하는 장점이 있다. 따라서 비용과 정확성 측면에서 본다면 가능 데이터 수집의 자동화를 권한다.

 

수동 수집은 사람의 판단에 의존하기 때문에 사람에게 물어서 알아낼 있는 모든 데이터를 수집할 있다. 여기에는 느낌이나 감정 , 주관적인 만족도 등이 포함된다.

 

수집 과정에 사람이 참여하는 것이 유용한 경우도 있다. 스스로 행위에 대한 자각을 가져야 하는 경우가 그렇다. 경우에는 사람의 동적인 개입이 수집 행위에 대한 자각을 유지하는 도움이 것이다.

 

좋은 수집 방법의 공통적 특성

  1. 데이터의 품질: 분산과 편향

  2. 수집 비용이 낮아야 한다.

  • 데이터의 품질과 비용은 교환관계(trade-off)를 지닌다.

  1. 만약 중요한 일이라면, 어떤 식으로든 관찰할 있다.
  2. 관찰 가능한 일은 수치 혹은 범위로 표현할 있다.
  3. 수치 혹은 범위로 표현될 있는 일은 측정할 있다.

 

자신에게 중요한 일이라면 어떤 식으로든 양상이나 효과를 혹은 감지할 있을 것이고, 그렇다면 이는 어떤 수량이나 범위로 측정 있기에, 모든 것은 측정의 대상이라는

 

현상 자체 뿐만 아니라 주변으로 눈을 돌리면 효과적인 측정 방법을 찾아낼 있다.

 

복잡한 문제 해결을 위해서는 각각 문제의 다른 측면을 다루는 보완적인 지표 여러 개를 동시에 사용하는 방법도 있다.

주어진 현상에 대한 객관적이고 자동화된 측정 수단을 찾기 힘들다면 언제나 관련된 사람들을 대상으로 설문(survey) 통해 결과를 얻을 있다.

 

설문 기반의 데이터 수집 사이트(http://www.socialresearchmethods.net/)

 

가장 중요한 것은 자신이 관찰하려는 현상을 대표할 환경에서 데이터를 수집해야 한다는 것이다. 통계학에서는 이를 표본의 대표성(representativeness)이라고 부르는데, 조건이 만족되지 않으면 해당 이터를 가지고 내리는 어떤 결론도 무의미하니 주의해야 한다.

 

사람에게서 데이터를 수집하는 경우에도 주어진 문제에서 요구하는 조건을 만족하는 개인이나 조직을 대상으로 데이터를 수집해야 하며, 해당 집단 내에서도 대표성이 있는 표본 추출하기 위해 노력해야 한다.

 

가장 기본적인 것은 자연 상태의 데이터를 대로 수집하는 것이다. 이를 과학에서는 관찰형 연구(Observational Study) 하는데, 이는 문자 그대로 탐구 대상이 되는 현상에 어떤 인위적인 조작 없이 데이터를 수집하는 것을 가리킨다.

인과관계를 밝히기 위한 통제형 실험을 수행한다. 통제형 실험에서는 어떤 특정한 변인 인위적으로 변화시키며 변화가 우리가 관심을 갖는 변인에 미치는 향을 관찰한다. 이때 기타 변인의 변화는 철저히 통제되기 때문에 우리가 화시킨 변인이 갖는 영향만을 순수하게 분리해서 관찰할 있다.

 

A/B 테스트의 경우, 무작위로 추출된 사용자 그룹을 만든다.

 

실험은 여러 간의 인과관계를 파악하는 목적이 있다. 여기서 키워드는 인과관계, 자연 상태의 현상을 그냥 관찰하는 것으로는 상관관계(correlation) 추할 있지만, 보통 여러 변인의 값이 동시에 변화하는 현상의 특성상 과관계(causation) 명확히 밝혀내기는 어렵기 때문이다. 

 

독립변인 이외에 종속변인에 영향을 끼칠  있는 변인을 공변량(covariate)이라고 하며, 공변량의 영향을 통제해야 독립변인이 종속변인에 미치는 영향을 정확히 있다.

 

통제 단순히 공변량의 값을 고정하는 것을 뜻하지는 않는다. 

 

공변량은 실험이 이루어지는 환경 해당하는데, 실험 결과에 의미를 부여하려면 종속변인과 독립변인 간의 인과관계가 다양한 환경에서 성립하는지 알아야 하기 때문이다.

 

따라서 실제로 많은 실험은 독립변인과 함께 공변량을 변화시키면서 속변인의 값을 관찰하는 것이 보통이다. 그리고 실험 디자인은 주어진 실험 단위( : 작물, 사용자 등등) 어떤 공변량과 종속변인의 값을 부여하는지를 정한다.

 

무작위 디자인

  • 개별 실험 대상에 대한 정보가 없거나 쉽게 통제할 수 있는 공변량이 존재하지 않을 경우 사용하는 방식

  • 무작위 배정에 의해 모르는 변인의 영향도 충분한 수의 실험 대상만 있으면 통제할 수 있다는 것

 

블록 디자인

  • 블록킹(blocking)은 문자 그대로 유사한 특성을 가진 실험 대상을 하나의 그룹으로 묶고, 해당 그룹 안에서 결과를 비교하는 것

  • 블록 디자인은 각 실험 대상에게 두 가지 실험 조건을 모두 부여할 수 있는 경우에 유용하다.

 

수집할 데이터양 결정하기

  • 현상의 이해: 한 가지 고려사항은 분석 대상이 되는 현상을 가능한 모든 환경에서 관찰하였는지의 여부다.

  • 현상의 일반화: 일반적인 결론을 유도하려는 경우, 필요한 데이터 양을 비교적 정확히 계산할 수 있다. / 표본 크기 50까지는 신뢰구간이 현격히 좁아지지만, 그 이후부터는 표본 크기를 증가시켜도 그다지 신뢰구간에 변화가 없다.

  • 현상의 예측: 어느 정도까지는 데이터가 많을수록 학습 모델의 정확도가 개선되므로, 필요한 경우 추가적인 데이터 수집을 고려할 수 있다.

 

좋은 데이터와 나쁜 데이터를 가르는 기준

  • 완전성

    • 주어진 데이터가 문제 해결에 필요한 모든 대상과 속성을 포함하는가?

    • 통계학에서는 이런 누락된 데이터를 다루는 다양한 기법을 제공하고 있다. (https://en.wikipedia.org/wiki/Missing_data)

  • 정확성

    • 주어진 데이터는 문제의 대상이 되는 현상을 정확히 반영하는가?

    • 편향이 큰 경우는 측정값이 지속적으로 다른 요인의 영향을 받는 것이고, 분산이 큰 경우는 측정값에 노이즈가 영향을 주는 경우다. 편향의 경우 체중계의 영점을 맞추듯이 측정 장치를 보정(calibration)하는 방법이 있고, 분산의 경우는 충분한 표본을 수집하면 해결되는 문제다.

    • 현실적으로 이는 쉬운 일이 아니다. 만약 절대적인 기준값이 항상 존재한다면 편향이 있는 데이터를 애초에 모을 필요도 없었을 것이기 때문이다. 따라서 편향의 양상과 정도를 파악하기 위해서 보통은 분석 대상이 되는 현상을 여러 방법으로 측정하고, 이들 사이의 관계를 조사하는 방법을 사용한다.

    • 이외에도 분석의 종류에 따라 데이터의 정확성을 결정하는 다양한 조건을 생각해볼 수 있다. 적시성이 중요한 분석의 경우에는 데이터가 모아진 시점이 그 유효성을 가늠하는 잣대가 될 수 있다. 예컨대 패션과 같이 유행에 민감한 제품에 대한 수요 예측을 오래된 데이터로 한다면 결과의 정확성을 보장할 수 없을 것이다.

  • 일관성

    • 주어진 데이터의 각 속성은 서로 모순되지 않는가?

    • 서로 강한 상관관계를 가질 것으로 추측할 수 있는 변인 사이에 상관관계가 발견되지 않는다면 이는 1) 데이터 자체의 문제이거나 2) 실제로 기대하지 못했던 현상이 발생한 것이다.

  • 메타데이터의 중요성

    • 데이터 자체에 대한 추가적인 정보를 필요로 하는 경우가 많다. 여기에는 데이터가 누구에 의해, 어떤 목적과 방법으로 언제 어디에서 수집되었는지가 포함되면, 이를 메타데이터라고 부른다.

    • 외부에서 데이터를 얻었을 때에는 항상 메타데이터를 확인하면서 작업하는 습관을 길러야 한다.

    • 스스로 데이터를 수집하고 가공할 경우에도 데이터가 수집 및 가공된 과정을 꼼꼼히 기록할 필요가 있다.

 

데이터 수집 단계에서 가장 중요한 덕목은 일관성이다. 데이터를 모으는 정에서 수집 방법이 바뀐다면 결과의 품질을 보장할 없기 때문이다. 

 

유연성도 필요하다. 이러한 수집의 조기 종료 시간과 비용을 줄이는 효과적인 방법

 

분석 과정에서의 오류를 최소화하기 위해서는 표본 선정의 무작위성(randomness) 보장되어야 한다. 이는 다시 말하면 수집이 이루어진 시간, , 참가자 등의 선정에 수집 주체의 주관이 반영될 여지가 최소화되어야 한다는

 

보통은 수집된 원본 데이터를 분석에 사용할 있는 형태로 준비해야 한다. 여기에는 주어진 데이터를 정리하고, 오류를 검사하, 원본 데이터에서 필요한 부분을 선택하는 등의 작업이 포함된다.

 

 

일반적으로 통용되는 표준 테이블의 형태

각 행에는 개별 관찰 항목각 열에는 개별 속성

  1. 각 테이블에는 단일 유형의 데이터

  2. 여러 테이블로 구성된 데이터의 경우, 개별 테이블을 연결할 수 있는 공통된 속성이 존재해야 한다.

필요한 부분을 선택하고 추출하기

  • 항목 선택: 분석 목표에 맞는 항목만 선택하는 방법

  • 항목 추출: 전체적인 패턴을 관찰하는 데 분석의 목적이 있다면 샘플 데이터만 가지고 작업해도 충분하다.

  • 속성 선택: 모든 속성이 분석에 필요한지 생각해볼일이다.

속성을 변환하고 추가하기

  • 자료형 변환

  • 단위 변환

  • 속성 추가: 원본 데이터의 속성값에 간단한 연산을 적용하여 유용한 속성 추가

적절한 단위로 집계하기

  • 집계 기준: 집계의 기준이 되는 속성은 무엇인가?

  • 집계 대상: 집계의 대상이 되는 속성은 무엇인가?

  • 집계 방식: 집계에 사용할 연산은 무엇인가?

 


Chapter 4 데이터 분석과 스토리텔링

현상 이해하기: 탐색적 데이터 분석

우선 주어진 데이터의 모든 측면을 철저히 이해하려고 노력할 것이다. 데이터 수집 과정에서 세운 모든 가정이 맞는지, 혹시 기대하 않았던 새로운 패턴이 발견되지 않는지, 추가적인 데이터가 필요하지 은지 등을 알고 싶어 것이다.

주어진 데이터를 다양한 각도에서 관찰하고 이해하는 과정을 색적 데이터 분석(Exploratory Data Analysis, 이하 EDA)이라고 부른다.

 

탐색적 데이터 분석의 이유

  1. 우선 데이터의 분포 값을 검토함으로써 데이터가 표현하는 현상을 이해하고, 데이터에 대한 잠재적인 문제를 발견할 있다. 
  2. 이를 통해 본격적인 분석에 들어가기에 앞서 데이터를 다시 수집하거나 추가로 수집하는 등의 결정을 내릴 있다. 
  3. 또한 데이터를 다양한 각도에서 살펴보는 과정을 통해 문제 정의 단계에서 미처 발생하  못했을 다양한 패턴을 발견하고, 이를 바탕으로 기존의 가설을 수정하거나 새로운 설을 세울 있다. 
  4. 데이터에 대한 이런 지식은 이후에 통계적 추론을 시도하거나 예측 모델을 만들 유용하게 사용된다.

 

어떤 특정한 결론을 도출하기 위함이 아니라, 데이터에서 최대한 다양한 야깃거리를 뽑아내려 한다는 측면에서 탐색적 데이터 분석은 오지로 떠나는 탐험과 같다.

 

탐색적 분석의 자연스러운 출발점은 문제 정의 단계에서 세웠던 연구 질문 가설을 바탕으로 분석 계획을 세우는 것이다.

 

데이터의 개별 속성값을 관찰한다. 개별 속성에 대한 분석이 이루어진 후에는 속성 간의 관계에 초점을 맞추어 개별 속성 관찰에서 찾아내지 못했던 패턴을 발견할 수도 있다. 그리 이런 절차를 데이터에서 흥미 있는 패턴이 발견될 때까지  반복한다.

 

원본 데이터를 관찰하는 방법, 다양한 요약 통계값을 사용하는 방법, 마지막으로 적절한 시각화를 사용하는 방법이 있다.

순환적으로 용되어야 한다는 것이다. 여기서 순환적이라는 말은 원본 데이터를 보다가 의심이 가는 부분이 있으면 적절한 시각화나 통계값을 통해 검정하고, 반대로 시각화나 통계값을 통해 발견한 패턴을 해당 원본 데이터값에서 추가로 검정해야 한다는 뜻이다.

 

우선 확인할 사항은 데이터에 속한 항목 개수와 속성 목록이 예상과 일치하는지의 여부다. 데이터의 가장 앞부분과 뒷부분을 확인하는 것도 좋은 습관인데, 데이터 가공 과정에서 이터의 앞뒤에 오류나 누락이 발생할 있기 때문이다.

 

데이터형을 확인하는 중요한 이유는 데이터형 따라 어떤 분석 시각화 방법을 적용할 있는지를 결정할 있기 문이다.

 

개별 데이터값을 눈으 보면서 전체적인 추세와 특이사항을 관찰할 있다.

 

데이터에서 무작위로 표본을 추출한 후에 관찰하 것이 올바른 방법이다. 무작위로 추출한 표본 안에는 데이터 전체가 반영되어 있기 때문이다. , 이상값(outlier) 작은 크기의 표본에 나타나 않을 수도 있다.

 

적절한 시각화를 통해 데이터에 나타나는 패턴을 한눈에 있기 때문이. 또한 적절한 시각화를 통해 주어진 데이터의 개별 속성에 어떤 통계 표가 적절한지도 결정할 있다.

 

해당 데이터 가장 표현하는 시각화 방식을 사용하면 된다.

 

시각화를 만들 있는 웹사이트와 방법

퍼널 데이터 시각화 예시

 

 

통계 지표를 사용할 때에는 데이터의 특성에 주의해야 한다. 예컨대 평균에는 집합 모든 데이터값이 반영되기 때문에 이상값이 존재하는 값이 영향을 받지만, 중앙값에는 가운데 위치한 하나가 사용되기 문에 이상값의 존재에도 대표성이 있는 결과를 얻을 있다.

 

서로 의미 있는 상관 관계를 갖는 속성의 조합을 찾아내는

 

카테고리형 속성 간의 관계를 분석하는 데는 속성값의 쌍에 해당하는 개수를 표시하는 교차 테이블이나 같은 정보를 시각적으로 나타내는 모자이크플롯을 사용한다.

 

수치형 속성 간의 관계는 상관 계수 등의 통계값을 사용하여 요약할  있다. 이를 시각적으로 나타내는 것이 스케터플롯이다.

 

카테고리형과 수치형 속성의 관계를 분석하기 위해서는  카테고리별 통계값( : 평균 중간값) 관찰할 있다이를 시각적으로 확인하기 위해서는 박스플롯이 사용된다. 박스플롯은 주어진 데이터의 25% 75% 해당하는 백분위 값을 박스로 표시하고, 기에 50% 해당하는 중앙값을 가운데 굵은 선으로 표시한 플롯이다.

 

이상의 속성 간의 관계를 보고 싶은 경우가 종종 생긴다. 만약 카테고리형 속성 간의 관계라면 교차 테이블 모자이크플롯 2차원에서 3차원 이상으로 확장하여 그대로 사용할 있다. 또한 수치 속성이 포함된 경우에는 스케터플롯에 다양한 속성을 추가하여 . 

 

현상 일반화하기: 통계적 추론

데이터 분석의 목표는 관찰된 데이터를 넘어서 근간에 있는 현상에 대한 이해에 도달하는 것이다. , 부분적인 관찰을 통해 전체에 대한 판단을 내리는 일종의 추론 필요한 것이다.

 

통계적 추론은 현상에 대한 가정과 주어진 데이터를 사용해 이런 통계적 모델을 만들고, 이를 바탕으로 다양한 결론을 도출해내는 과정이다. 

 

모수적 방법은 표본이 생성된 과정에 대한 확률 분포를 알고 있거나 이를 추측할 있다고 가정한다.

 

우리가 관심을 갖는 통계값이 평균( : 중간값) 아니거나 주어 표본의 크기가 충분치 않은 경우 해당 통계값에 대해 정규분포를 가정 없다. 이런 경우 비모수적 방법의 일종인 표본 재추출법(re-sampling) 사용할 있다. 표본 재추출법은 주어진 표본이 모집단이라고 가정하고, 모집단에서 (, 원래 우리에게 주어진 표본에서) 표본을 무작위로 반복 추출해서 통계값의 분포를 만드는 기법이다. 반복 추출을 통해 하나의 표본을 여러 표본의 집단으로 확장하는 것이다.

 

통계학에서는 우리가 추론을 하고자 하는 대상 지표가 평균인 경우에는 원래 값의 분포와 관계없 해당 표본의 평균값은 정규분포를 따른다는 결과가 알려져 있다.

 

표본분포의 표준편차를 표본의 표준편차와 구분하여 준에러(Standard Error)라고 부른다.

 

표준에러는 표본에 근거한 추정치의 정확도를 나타낸다.

 

비모수적 기법에는 여러 종류가 있는데 통계적 추론을 위한 모수적 기법을 표본 재추출법(resampling method)이라고 부른다. 표본 재추출법이라는 이름은 주어진 표본을 모집단으로 가정하고, 여기서 여러 개의 본을 추출하여 표본분포를 직접 만든다는 의미에서 유래된 것이다. 

 

표본 재추출법의 절차

  1. 우리에게 주어진 크기가 n인 표본이 하나 있다.

  2. 표본에서 복원추출을 통해 크기가 n인 표본 k개를 만든다.

  3. 각 표본에서 추론 대상인 통계값 S를 계산한다.

  4. 위에서 구한 k개의 통계값 S를 바탕으로 표본 분포를 만든다.

 

재추출법은 모집단에 대한 어떤 가정도 필요로 하지 않는다. 또한 주어진 표본을 바탕으로 표본 여러 개를 만들어내기 때문에, 이를 바탕으로 어떤 종류의 통계값도 계산해낼 있다. 따라서 재추출법에서는 평균 이외에 다른 지표( : 중간값) 표본분포도 만들어낼 있다. 추출법은 계산량이 많다는 단점이 있지만, 컴퓨터 성능의 비약적인 향상에 따라 현재는 다양한 분야에서 널리 사용된다.

 

서로 다른 방법으로 들어낸 표본분포가 거의 같은 모양을 띠는 것을 있다. 평균에 대한 론을 하는 있어서는 어떤 방법을 사용해도 같은 결과를 얻을 있다.

 

신뢰구간은 모집단의 평균값을 어떤 특정한 신뢰 이상의 확률로 포함하는 구간이다. 따라서 신뢰구간의 범위가 을수록 정확한 측정값으로 간주할 있다.

 

위에서 95% 충분한 수의 표본을 가지고 각각 신뢰구간을 계산했을 그중 95% 신뢰구간이 모집단의 평균을 포함한다는 뜻이다.

 

신뢰구간의 신뢰도는 개별 신뢰구간에 대해 정의되는 것이 아니라 모집단의 평균을 포함하는 신뢰구간의 비율을 가리키, 표본의 크기가 커짐에 따라 신뢰구간이 좁아진다는

 

k개의 원소로 구성된 지표 S 표본분포를 얻었다면, 주어진 지표 S 95% 신뢰구간은 표본분포에서 하위 2.5% 상위 2.5% 사이의 구간이다 (비모수적 방법)

 

우리가 증명하고자 명제를 대립가설이라고 하고, 우리가 부정하려는 명제를 귀무가설이라고 한다.

 

사실 대조군과 통제군을 갖는 대부분의 실험이 이와 같은 평균 차이를 알아내는 것을 목표로 한다.

 

우선 평균 차이에 대한 신뢰구간을 구하고, 신뢰구간에 0 포함되는지를 확인하면 것이다. 만약 95% 신뢰구간에 0 포함되지 않는다면  집단 사이에 유의미한 차이가 있을 확률은 95% 이상으로 있다.

 

우리가 관찰한 표본평균 이보다 극단적인 값이 주어진 가설하에 관찰될 확률을 유의성(significance) 혹은 p(p-value)으로 정의한다.

 

현상 예측하기: 기계학습

어떤 가설의 유효성에 대한 유일한 검정 방법은 예측값과 실제 결과를 비교하는 것이다.” _밀턴 프리드먼

전통적으로 데이터를 통해 학습하고, 이를 통해 현상을 예측하는 것은 오랫동안 사람, 특히 분야 전문가의 고유 영역으로 여겨왔다. 

 

자동화된 알고리즘이 인간의 숙련된 판단을 점차 대체하고 있다. 여기에는 가지 이유가 있는데, 우선 숙련에 오랜 시간과 노력이 필요한 사람에 비해 기계학습 기법 많은 데이터를 학습에 효과적으로 활용할 있다. 또한 인간의 판단은 다양한 종류의 편향에 따른 영향을 받는데 반해, 기계학습 기법은 항상 관된 판단을 내린다. 

기계학습에도 학습 목표가 되는 예측 결과가 존재하는 경우와 그렇지 않은 경우가 있는데, 예측 목표의 여부에 따라 지도학습(supervised learning) 자율학습(unsupervised learning)으로 나눈다.

 

지도학습은 학습 데이터에 예측 목표가 되는 속성이 포함된 경우로, 회귀분석 기법이 이에 해당한다.

 

자율학습은 정답이 없이 주어진 데이터에서 현저하게 나타나는 패턴을 찾아내는 방법으로 군집화(clustering) 기법이 이에 해당한다. 

 

전문가의 의견을 조합해서 나은 예측을 있지 않을까? 최근에는 이런 아이디어를 바탕으로 개별 학습 알고리즘을 조합하는 다양한 기법이 각광받고 있다. 이런 기법을 칭하여 앙상블 학습법이라 하며, 부스팅, 배깅 등이 이런 법에 붙는 이름이다.

 

딥러닝 기법에서는 영상이나 언어와 같은 구조화되지 않은 학습 데이터에서 학습에 유용한 속성을 자동으로 들어서 학습을 하는 특성이 있다. 따라서 딥러닝 기술은 이미지나 언어의 이해 바탕으로 하는 학습 과제에 많이 활용된다.

기계 학습은 실제로 주어진 현상의 단편을 예측할 있는 통계적인 모델을 만드는 과정 지나지 않는다.

 

주어진 문제에 적합한 학습 모델이 결정되면, 학습 데이터 기반하여 최적의 매개변수값(Parameter-Value) 구하게 된다. 이처럼 어진 모델을 기반으로 최적의 매개변수값을 구하는 방법을 학습 알고리즘이라고 한다. 

 

모델의 예측값과 실제 이터값을 비교하면 이상값을 쉽게 찾을 있다. 이처럼 데이터의 전반적인 경향을 요약하는 학습 모델은 탐색적 데이터 분석에 도움을 주기도 한다.

 

학습 기법 결정하기

기계학습의 번째 단계는 학습 기법을 결정하는 것이다. 학습 기법은 학습 대상을 표현하는 학습 모델과 데이터를 바탕으로 모델을 만드는 학습 알고리즘을 통칭하는 말이다.

  • 주어진 문제의 특성: 만약 이미 주어진 정답을 맞추는 알고리즘을 원한다면 지도학습 기법을, 데이터에 내재된 패턴을 찾기 원한다면 자율학습 기법을 사용해야 할 것이다. 또한 지도학습 중에서도 예측하고자 하는 값이 카테고리형인지 수치형인지에 따라 사용해야 할 기법이 달라진다.

  • 주어진 데이터의 특성: 구체적인 모델과 알고리즘의 선택은 주어진 데이터의 특성에 따라서 결정되어야 한다. 예를 들어 주어진 데이터가 많을 때 사용하는 학습 모델과 적을 때 사용하는 학습 모델은 다르다. 데이터가 적으면 단순한 모델만 학습할 수 있는 반면에, 데이터가 많으면 복잡한 모델을 학습할 수 있기 때문이다.

  • 학습된 모델의 용도: 학습된 모델 자체에 관심을 갖는 경우는 이를 통해 주어진 문제에 대한 더 나은 이해에 도달하려는 경우다. 그리고 학습 결과에 관심을 갖는 경우는 학습 모델을 현실적인 문제 해결에 활용하려는 경우라고 할 수 있다.

학습 모델 만들기

학습 모델을 만든다는 것은 결국 주어진 데이터와 학습 알고리즘에 기반하여 최적의 결과를 있는 매개변수를 결정하는 과정이다. 

 

100이라는 양의 데이터가 주어졌다면 그중 통상적으로 50~70 학습에, 30~50 평가에 사용하는 것이 일반적이다.

제대로 학습 평가를 하기에 주어진 데이터가 부족한 경우가 많다. 교차검정 이럴 활용할 있는 기법으로, 주어진 데이터를 n개의 그룹으로 나누고, 그중 n-1개의 그룹을 사용하여 모델을 만들고 마지막 개의 그룹을 가지고 모델을 평가한다. 평가에 사용되는 데이터를 바꿔가면서 이를 n 반복하면 전체 데이터에 대한 평가 결과를 얻을 있다.

 

회귀 기법 평가에는 예측값과 실제값의 차이 제곱하여 평균한 RMSE(Root Mean Squared Error) 가장 많이 쓰이고, 기법의 평가에는 전체 데이터 가운데 올바로 분류된 항목의 비율을 나타내는 정확도(Accuracy) 주로 사용한다.

기계학습 기법의 적용은 대용량 데이터가 존재하는 환경에서만 유용한 것은 아니다. 이를 필자에게 깨닫게 해준 사례는 최근 통계청의 수기 공모전에서 최우수상을 수상한 허성일 님의 통계로 튀기는 치킨12’이라는 작품이. 치킨집을 운영하는 아버지를 돕기 위해 저자는 치킨의 일별 주문량을 측하는 회귀분석 모델을 만들게 된다.

 

데이터 스토리텔링

서론은 문제와 관련된 구체적인 사례로 시작하는 것이 바람직하다. 

 

연구 주제를 가설 형태로 제시하는 것도 유용한 방법이다.

 

구체적으로 데이터를 어떻게 수집 가공했고, 어떤 분석 과정을 거쳐 무슨 결과를 도출했는지를 포함한다. 여기서 어떤 부분에 초점을 맞출지는 프로젝트의 성격에 따라 결정될 것이다.

 

프로젝트의 과가 중심이 되겠지만, 이와 함께 언급해야 것은 프로젝트가 갖는 계다.

 

'무엇뿐만 아니라 이야기한다.

 

데이터 스토리텔링의 기본 목표는 우리가 어떤 문제를 풀었고, 무엇을 배웠는지에 있다.

 

사실에 근거한 결정을 내리기 위함이지, 자신의 입장을 뒷받침하는 근거를 찾아내기 위함이 아니다. 

 

발표 과정에서도 이런 중립적인 태도를 견지할 있어야 한다.

 

마지막으로 저자는 위에서 사용한 가지 지표를 합쳐 항공사 안전 지수라는 새로운 지표를 제시한다. 항공사 안전 지수는 지표값에서 평균을 빼고 이를 표준편차로 나누어 정규화한 지표값을 평균한 결과다. 이처럼 통합된 지표를 사용하는 것은 복잡한 현상을 하나의 숫자로 이해하 것을 가능하게 한다.

 


Chapter 5 개인 데이터로 공부하는 데이터 과학

QS 자신의 삶에서 여러 데이터를 수집하여 분석하고 결과를 공유하는 개인들의 커뮤니티다. QS 2007 시작된 이래 현재 34개국에 100 개가 넘는 지역별 그룹을 가진 단체로 성장해왔으며, 2011년부터는 매년 미국과 유럽에서 국제적인 규모의 컨퍼런스 개최하고 있다.

 

개인 데이터의 가능성은 아직 시작에 불과하다는 것이 대체적인 전망이다. 차세대 디바이스로 각광받고 있는 스마트 와치를 비롯한 다양한 웨어러블 기기의 확산에 따라 언제 어디서나 개인이 직접 데이터를 수집하 활용할 있는 방법은 점점 늘어만 것이기 때문이다.

 

사람들이 주로 모으는 가장 데이터는 활동량, 음식, 몸무게, 수면 감정 데이터다. , 자신의 웰빙 직접 관련된 데이터를 주로 모으는 것을 있다. 하지만 사람들은 외에도 인지 기능, 혈당량, 위치, 심박수, 스트레스, 생산성 굉장히 다양 종류의 데이터를 모으고 있다. 

 

엑셀 등의 간편하고 유연한 도구가 개인 데이터처럼 작고 단순한 데이터를 분석하는 최적이다.

 

측정 고려사항

  • 하루 중 언제 측정값을 얻을 것인가?

  • 얼마나 자주 측정값을 얻을 것인가?

  • 어떤 조건 및 방법으로 측정값을 얻을 것인가?

 

건강에 대한 수집 방법 기준점을 결정한 후에는 어떤 실험을 통해 변화 관찰할 있을 것이다.

 

단순하게 생각하면 전날 칼로리 섭취가 소비보다 많았다면 몸무게의 증가, 반대의 경우라면 몸무게의 감소로 이어져야 한다. 실제로 결과를 보면 전반적으로 칼로리 증감분이 몸무게와 비슷한 추세로 움직이는 것을  있다. 이처럼 여러 지표의 값을 비교하는 과정에서 지표의 정확성 검증할 있다.

 

전체적인 건강의 정도를 측정하는 지표 가운데 체중, 허리둘레, 체지방의 가지 지표를 살펴보았고, 식사량을 이터화하는 지표로 칼로리와 주관적 포만감을 비교해보았다.

 

느낀

  • 일 단위 측정값보다는 추세를 보자.

  • 여러 개의 보완적인 지표를 사용하자.

  • 건강 측정 자체가 건강을 증진시킨다.

 

우선 우리가 관심을 갖는 대상을 데이터화하기 위해서는 눈에 이는 형태로 바꿔야 하는데, 과정에서 문제의 본질에 대해 다시 생각해보게 된다.

 

행복을 데이터화하기 위해 처음 답해야 하는 질문은 행복을 어떻게 정의할 것이냐?”. 눈에 보이지 않는 현상을 데이터로 바꾸기 위해서는 어떤 식으로든 구체화해야 하기 때문이다.

 

같은 행복인데 굳이 장기/단기를 구분하는 이유는 가지를 추구하 방법이 항상 일치하지 않기 때문이다. 당장 즐거운 일에 탐닉하면 순간적 쾌락을 얻을 수는 있지만 삶의 목표에 다가서는 것은 아니다. 반대로 옳은 일을 하겠다고 자신에게 그다지 원하지 않는 일을 강요하게 때도 . 가장 바람직한 것은 자신이 옳다고 느끼는 일을 즐거운 마음으로 하는 것인데, 그것이 필자가 생각하는 장기/단기 행복도가 모두 높은 상태다.

 

고려사항

  1. 행복 데이터를 언제 수집할 것인가?

  2. 행복도와 함께 어떤 데이터를 기록할 것인가?

 

기록 방법

  1. 어떤 일을 하고 그 일의 행복도를 기록하는 방법

  2. 정해진 시점에 그때까지의 평균 행복도를 기록하는 방법

  3. 무작위 간격으로 알람이 울릴 때마다 기록하는 방법

 

경험 추출법 방법에 비해 데이터 입력 시점에 따른 편향을 줄일 있지만, 람이 울리는 시점에 따라 데이터를 입력하는 것이 힘들거나 다른 활동에 해를 받을 있다는 문제가 있다. 

 

안드로이드의 경우 iMoodJournal 앱으로, 아이폰은 Reporter 앱으로 자신이 정의한 임의의 질문에 대한 대답을 경험 추출법 따라 기록할 있다.

 

행복을 측정하는 목적 자신이 언제, 행복한지 (혹은 불행한지) 밝혀내는 것이다. 따라서 기본적으로 자신의 행복도에 관련이 있다고 여겨지는 요인은 모두 기록해야 한다.

 

스스로 물어보자. 나의 표는 무엇이며, 그것을 수치화할 있는 방법은 무엇인가? 그리고 이런 노력이 무엇을 얼마나 바꿔놓을 있을까?

 

분석 목표 달성을 위한 일관되고 정확한 데이터를 수집하는 일은 꾸준한 복이 필요한 점진적인 프로세스다.

 

상관관계 분석을 위한 스케터플롯, 시계열 분석을 차트와 달력, 텍스트에서 패턴을 찾아내기 위한 워드 클라우드까지, 데이터의 유형  분석 목표에 맞는 시각화만으로 데이터 분석의 목표를 상당 부분 달성할 있었다.

 

데이터를 언제부터 언제까지 수집할지, 그리고 본인이 직접 기록해야 하는 데이터의 경우 얼마나 자주 기록해야 할지도 정하고, 가급적 알람 등을 설정하여 기록이 누락될 가능성을 최소화해야 한다.

 

우선 달성하고자 하는 목표를 수치화하고, 현재 태에 대한 데이터를 모을 있을 것이다(A 조건). 현황 파악이 끝나면 실제로 변화를 이루기 위해 여러 가지 실험을 해보고 각각의 경우에 대해 데이터를 모은다(B 조건). 이제 현황 데이터와 실험 데이터를 비교하여 실제로 어떤 과가 있는지 검정할 있다.

 

분석 타이밍은 최대한 빠를수록 좋다. 데이터 혹시 있을 수도 있는 누락과 오류를 최대한 빨리 발견하고 수정할 때문이다.

 

데이터 분석 프로젝트 7계명

  1. 목표와 기한을 명확히 하고 데이터 수집을 시작한다.

  2. 변화를 시도하기 이전에 현상을 정확히 이해하려고 노력한다.

  3. 꾸준한 데이터 수집을 위해 스마트폰 앱이나 알람 등을 활용한다.

  4. 최소한의 데이터를 얻은 후에 바로 분석을 시도해본다.

  5. 분석을 위한 시간을 정기적으로 가진다(보통 일주일에 한 번).

  6. 한 번 실패에 좌절하지 말고 이를 거울삼아 꾸준히 시도한다.

  7. 로젝트의 진행상황과 결과를 주변 사람이나 SNS에 공유한다.

 


Chapter 6 공개 데이터로 공부하는 데이터 과학

통계청에서 운영하는 국가 통계 포털 사이트 KOSIS4에서 데이터를 찾을  있다. 

 

국가 통계 포털

 

OECD 통계 자료에서 출발하여, 관련 논문 계청 자료를 통해 성별/연령별 자살률 증가 원인을 구체적으로 살펴보았다. 데이터 유형 데이터양에 따라 다양한 시각화 방법을 선택하고, 통해 데이터가 드러내는 추세를 정확히 살펴볼 있다는 점을 알았다.

 

공공 데이터라고 데이터의 품질을 검정하는 과정을 게을리하지 말자. 데이터가 어떤 방식으로 수집되었는지, 속성이 어떤 의미를 갖는지를 철저히 파악해야 한다. 다행히 대부분의 경우, 공공 데이터에는 데이터 이해를 돕는 설명과 시각화가 함께 제공된다.

 

여기서 자신이 원하는 데이터를 선택하는 과정이 중요하다.

 

공공 데이터의 특성상 해당 데이터를 바탕으로 기사나 연구가 존재할 확률이 높다. 자료를 참조함으로써 데이터 활용에 대한 다양한 아이디어를 얻을 있다.

 

캐글은 경연을 시작하는 람들을 위한 다양한 튜토리얼을 제공하고 검색을 통해 과거 경연의 참가자들이 공유한 경험과 솔루션을 찾을 있다. 

 

캐글 경연 성공 비결

  1. 문제와 데이터에서 단서를 찾는다.

  2. 빨리 시작해서 반복 개선한다.

  3. 다른 사람들에게서 배운다.

 

문헌을 조사할 때에는 개별 논문을 일일이 읽는 것보다는 분야의 연구 성과를 개관하고 요약하는 조사 논문을 읽고, 이를 바탕으로 관련된 개별 연구를 찾아 읽으면 시간을 절약할 있다.

 

실제로 모델을 만들고 개선하기 위해서는 주어진 모델의 성능을 손쉽게 평가할 있는 벤치마크가 필수적인데, 기본적으로는 교차검정을 사용하 된다.

 

 『그로스 해킹 Growth Hacking : 스타트업을 위한 실용주의 마케팅』, http://bit.ly/240hhKv 참조.

 

초기화면에 배치할 상품군을 최적화하기 위해 다양한 실험을 하고 었다. 실험의 핵심은 다양한 순서로 화면 배치를 바꿔가면서 고객들의 릭을 최대한 유도하는 레이아웃을 찾는 것이었다. 보통은 고객들이 위에서부터 화면을 살펴보기 때문에 그렇게 하지 않으면 제대로 데이터를 얻을  없었던 것이다.

 

'아마도 젊은 층이 설문에 많이 응답한 같아요. 혹시 나이 드신 손님들 의견은 들어보셨어요?'

 

모든 고객이 설문에 응답하 것은 아니기 때문에, 일부 고객의 정보가 누락될 가능성도 있었다.

 

직관에 모든 결정을 의지하는 대신 최대한 데이터와 실험을 활용하려는 마인드가 출발점이다. 

 

개인이든 조직이든 시간이 남아서 데이터를 모으고 분석하는 것이 아니다. 지금 하는 일을 하고, 결과로 많은 여유를 보하기 위한 것이다. 그러니 남는 시간으로 데이터를 만든다고 생각할 것이 아니라, 데이터를 만들기 위한 시간을 마련해야 한다.

 

제대로 평가 없이 신메뉴를 내놓았다면 어떨까? 고객들이 메뉴에 만족했던 불만족했던 이를 제대로 길이 없다. 또한 만약 상당수 고객이 불만족한 경우라면 이를 깨닫고 메뉴를 다시 바꾸었을 때는 이미 상당한 손해를 입은 시점일 것이다. 소규모의 실험을 통해 의사결정을 내렸다면 이런 손실은 없었을 것이다.

 

자신의 감에 대한 확신이 있다면 데이터를 다시 검토해봐야 것이다. 하지만 검토 데이터에 오류가 없다는 확신이 섰다면 데이터에 따라야 한다. 이처럼 이터 분석은 직관과 데이터의 간극을 좁혀가는 과정이다. 

 

마케팅의 효용을 검정하기 위해서는 고객이 어떤 경로를 방문하는지를 알아야 한다.

 

고객의 만족도를 결정하는 데에는 다양한 요인이 있을 있으므로, 고객의 만족도와 함께 고객이 어떤 경험을 했는지 정확히 기록해야 것이다.

 

유입 경로와는 달리 주관적인 만족도는 대면 설문을 통해 정확한 결과를 얻기 힘들 수도 있다. 대면 접촉의 특성상 상대에게 솔직한 이야기를 하기 어려울 수도 있기 때문이다. 

 

직접 설문의 한계를 보완하는 방법으로 고객의 행동을 통해 만족도 부를 유추할 수도 있다.

 

온라인 서비스에서도 고객 만족도 측정 위해 페이지별 클릭 횟수 체류 시간과 같은 고객 행동 기반의 지표와 설문에 기반한 주관적인 지표를 모두 사용하고 있다.

 

사업자 입장에서 신규 고객에 비해 기존 고객에 대해서는 많은 데이터를 확보할 있으므로, 데이터 활용의 여지가 상대적으로 많다.

 

현대 야구 통계에서 배우는 지표 디자인 관련 교훈

  • 각 현상을 독립적으로 측정하는 지표를 개발한다. — 지표 설계의 첫 번째 목표는 우리가 관심을 갖는 주요 현상을 최대한 독립적으로 평가할 수 있도록 하는 것이다.

  • 개별 지표를 합쳐 최종 목표에 연동되는 지표를 만든다. — 야구 경기에서 가장 중요한 목표 즉, 득점과 승리에 집중했기 때문이다.

  • 지표에 영향을 줄 수 있는 모든 요인은 제거한다. — 모든 요소가 배제된 선수의 순수한 수준을 평가하기 위해 노력해왔다.

 


Chapter 7 입문을 넘어서: 데이터 과학자의 길

빅데이터와 데이터 과학이 지금의 모습으로 발전하는 과정에서  검색엔진의 역할을 빼놓을 없듯이, 반대로 데이터 관련 기술의 혁신적 진보와 과학이 없었다면 지금의 검색엔진은 탄생하기 어려웠을 것이다.

 

효과적인 검색 시작은 제대로 검색 이터베이스를 갖추는 것이다. 검색엔진에서는 이를 위해 전체에서 , 이미지 각종 데이터를 모은다. 크롤링이라고 하는 작업

 

검색 질의에 응답할 있는 형태로 문서를 저장해 한다. 작업을 인덱싱이라고 하는데, 보통 뒤에 있는 색인을 만드는 작업을 웹에 존재하는 문서 전체를 대상으로 수행한다고 생각하면 된다.

 

색인된 문서를 사용자의 질의에 맞게 보여주는 알고리즘 필요하다. 이는 사용자 질의어와 위치 문서에 관련된 기타 정보에 기반하여 개가 넘는 문서 10개를 뽑아야 하는 일이다.

 

실제로 사용자를 얼마나 만족시키는지를 평가하는 작업이 필요하다.

 

검색결과 평가는 질의어의 특성 개별 사용자의 취향에 따라 달라질 있기에 여기에도 많은 고려가 필요하다.

 

평가단 통한 검색 품질 평가는 실제 사용자에게서 얻을 있는 데이터와는 이가 있고, 양도 적지만 개별 문서 검색 페이지 전체에 대한 고객의 만족도를 세부적으로 알아볼 있는 장점이 있다.

 

보통 새로운 평가 방법의 검정을 위해 사용하는 방법은 같은 상을 평가하는 다른 방법과 결과를 비교하는 것이다.

 

대부분의 경우 전에는 가급적 아이디어 구상과 데이터 가공, 분석 작업에 치중한다.

 

우선 끊임없이 변화하는 분야의 특성상 업무의 일정 시간은 항상 최신 분석 기법 도구를 히는 할애한다. 또한 연구 성과 일부는 논문 형태로 정리하고, 회사의 지적재산권을 위해 특허를 출원한다.

 

주어진 데이터에서 최대한 노이즈를 제거하고 순도 높은 시그널을 아내기 위해 노력하더라도 완벽한 결론에 도달하기는 어려운 것이 현실이다. 

 

요약하면 데이터 과학자는 항상 프로젝트 내부/외부에서 다양한 차원의 변화에 노출되기 마련이다. 따라서 데이터 과학자로서 성공할 있는 사람 이런 변화무쌍한 환경에 효과적으로 대응하며, 나아가 이를 성장의 자양분으로 받아들일 있어야 한다.

 

모든 것을 혼자 있는 데이터 과학자는 존재하지 않아요. 데이터 과학은 스포츠입니다. 누군가는 데이터를 모으고, 누군가는 이를 반하고, 누군가는 이를 분석해야 하니까요. 아이디어를 교환할 동료 필요합니다.” _디제이 패틸

 

데이터 과학자에게는 데이터를 다루는 기술만큼이나 해당 분야에 대한 이해가 중요하다.

 

최근 오라일리에서 발표한 자료에서는 데이터 과학자의 유형을 크게 데이터 비즈니스맨’, ‘데이터 창조자’, ‘데이터 연구자’, ‘데이터 개발자 나누고 있다. 

 

능력을 배양하는 핵심은 문제 해결에 대한 꾸준한 연습이다. , 지식을 최소한으로 습득한 후에는, 문제 해결을 통해 지식과 기술, 경험을 동시에 쌓아가는 것이다.

 

데이터 과학의 프로세스에는 데이터 수집 준비, 다양한 유형의 분석 시각화가 포함된다. 데이터를 다루는 도구 가운데 셀과 R 기본적으로 익혀야 한다.

 

일단 발견한 문제는 자신의 현재 지식과 기술로 어보자. 풀리지 않는 부분을 추가 지식과 도구 활용으로 해결할 있다 해당 부분을 공부해야 것이다.

 

사회 대부분의 구성원이 데이터를 삶과 업무의 일부로 받아들이 데이터 민주화가 이루어지는 것이다.

 


서평

개인적으로 데이터 과학이라는 분야에 관심이 많아 읽게 된 책입니다.

대개 최근 트렌드라고 하면, 데이터 분석을 위해 Python, R을 주된 툴로 인식하고 공부하는 학생들도 많습니다. 저는 Python을 개인적으로 공부하고 있지만, 실제로 엑셀을 통해 해결할 수 있는 문제 역시 많습니다. 현재 몸담고 있는 회사에서도 서비스 관련 데이터를 처리할 때, 보통 CSV 파일로 서버 혹은 트랙킹 데이터를 저장하고 기본적인 엑셀 함수를 활용해 대략적인 추이를 먼저 살펴보고 있습니다. 그만큼 엑셀도 Python, R만큼은 아니더라도 여전히 힙한 툴이라고 개인적으로 느낍니다.

뿐만 아니라 데이터 과학의 본질은 결국 통계적 지식에 있습니다. 대학생 시절, 나름의 관심이 있어 골라 들었던 통계 강의에서 얻었던 지식이 고스란히 적용되는 분야라는 걸 느꼈습니다. 물론 아직도 부족한 지식 수준이기는 하지만, 감히 생각합니다. 툴을 익히기 전에 본질, 즉 통계에 대한 깊은 이해도가 필요하다.

결론적으로 이 책은 데이터 과학에 관심이 많은 초심자를 위해 어떻게 시작할지 알려주는 재미있는 책이라 추천합니다!

 

P.S.

제가 일일 흡연량에 대한 데이터를 수집하기 시작했습니다. 벌써 1년 가까이 수집해가고 있습니다.

재미 삼아 해보는 만큼 데이터 수집 과정과 그 과정에서 느낀 점들, 그리고 데이터를 통해 흡연 습관에 대한 인사이트를 얻어가는 과정을 정리해보도록 하겠습니다.

 

책에 대한 상세한 정보는 아래 링크에서 확인하실 수 있습니다.

부족한 글을 읽어주셔서 감사합니다. 여러분의 공감과 댓글은 제게 큰 힘이 됩니다.

헬로 데이터 과학
국내도서
저자 : 김진영
출판 : 한빛미디어 2016.03.01
상세보기