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

leban·2022년 4월 30일
0

헬로데이터과학

목록 보기
3/4

# 데이터 문제 정의하기🔍

1. 데이터 문제 해결 단계

  1. 주어진 문제를 명확히 정의한다. 주어진 문제를 정확히 이해해야만 필요한 데이터와 접근 방법을 결정할 수 있다.

  2. 문제 해결에 필요한 데이터를 구한다. 데이터가 이미 존재하는 경우에는 기존의 데이터에서 필요한 부분을 추출하고, 그렇지 않은 경우에는 직접 수집한다.

  3. 데이터를 분석에 적합한 형태로 가공한다. 수집 및 추출된 데이터는 대부분 적절한 가공 과정을 거쳐야 다양한 분석 작업에 사용할 수 있다.

  4. 가공된 데이터를 분석하여 해결책을 유도한다.

  5. 해결책을 여러 가지 방식으로 구현한다.

  6. 관계자에게 결과를 적절한 형태로 소통한다.

    📢 4번까지가 문제 정의에서 해결책을 유도하는 과정이다.
    📢 5번 과정은 해결책을 찾는 과정

2. 데이터 분석단계

  1. 주어진 데이터를 탐색하며 다양한 패턴을 발견하고 가설을 세우는 단계(탐색적 데이터 분석)
  2. 현상에 대한 가설을 다양한 실험으로 검정해보는 단계(통계적 추론)
  3. 우리가 관심을 갖는 현상을 예측하는 단계(기계학습)
[1] 현상에서 패턴 발견 : 탐색적 데이터 분석

: 탐색적 데이터 분석 - 데이터를 활용하여 주어진 현상에 대한 다양한 패턴을 발견하는 것.
: 각종 통계값의 계산, 데이터 시각화, 상관도 분석 등의 기법 사용
: 목적 - 데이터를 잘 이해하고 검정하며, 주어진 현상에서 더 탐구할 만한 가치가 있는지 가설을 세우는 것.

ex1) 우리나라 인구조사 데이터를 바탕으로 우리 국민들의 삶의 양상이 어떻게 변화했는지를 조사
ex2) 전자상거래 서비스의 데이터에서 고객들의 구매 패턴과 요인을 분석해보는 노력

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

: 주어진 현상을 넘어선 인과적인 결론이나 지식을 이끌어내려고 함.
: 앞서 만들어낸 가설의 진위를 검정하는 단계
: 통제된 환경에서 데이터를 수집해야 함.

[3] 현상의 예측 : 기계학습

: 주어진 데이터를 바탕으로 우리가 관심을 갖는 현상의 유용한 단편을 예측하는 기법
: 현상을 예측할 수 있는 기법은 데이터 제품의 바탕이 되는 경우가 많음
: 예측 기법을 통해 고객의 선호도를 파악하고 비즈니스의 의사결정을 최적화 할 수 있기 때문이다.

ex1) 스팸 필터
ex2) 웹 검색엔진에서 문서를 검색하는 기법 etc.

3. 데이터 문제 정의하기

[1] 문제 정의하기
  • 문제의 목표는 무엇인가?
  • 문제의 범위는 정확히 어디까지인가?
  • 문제 해결의 성공 및 실패의 척도는 무엇인가?
  • 문제 해결에 있어서의 제약조건(시간과 비용 등)은 무엇인가?
[2] 데이터 정의하기
  • 문제와 관련된 데이터에 포함되어야 하는 속성은 무엇인가?
  • 문제 해결에 필요한 데이터를 어떻게 수집할 수 있는가?
  • 데이터 처리 및 분석을 위한 최적의 방법과 도구는 무엇인가?
  • 최종 결과물은 어떤 형태로 누구에게 전달되어야 하는가?
[3] 연구 질문 및 가설 정의하기

: 연구 질문이란? 본 문제 해결을 통해서 무엇을 알아내려는지를 간결하게 기술하는 것

: 문제 해결의 3단계에서 탐색적 데이터 분석은 '어떤 현상 XYZ에 대해 알아보자'는 형태를 띤다.

: 통계적 추론은 '현상 XYZ에서 A라는 요인이 B라는 요인에 미치는 영향은 무엇인가?와 같이 둘 혹은 그 이상의 속성 사이의 인과관계를 알아보는 형태가 많다.

: 기계학습 단계의 연구 질문은 '현상 XYZ에서 C라는 속성을 어떻게 예측할 수 있을까?'와 같이 정의된다.
-> 기계학습 문제에서는 예측하고자 하는 속성과 예측에 사용할 속성을 정의해야 한다.

: 연구 질문과 함께 데이터에 대한 다양한 가설을 세워보는 것도 이 단계에서 필요한 일이다.

4. 유의사항

: 문제 정의는 한 번 작성하고 끝나는 것이 아니라 해결 과정에서 끊임없이 재검토해야 한다.

# 데이터 수집하기

1. 데이터 수집의 기본

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

2. 수집 방법 결정하기

[1] 자동 수집과 수동 수집

자동 수집

: 인간의 개입 없이 데이터 수집이 이루어지는 경우를 말한다.
: 대부분 기계적/전자적인 장치가 사용되며, 핏빛과 같은 활동량 측정기 등이 여기에 해당한다.
: 자동 수집은 초기에 인프라를 구축하고 나면 데이터 수집에 드는 추가적인 비용이 크지 않은 특성이 있다.

자동 수집의 장점

: 수작업에 따른 누락이나 오류 없이 비교적 일관된 데이터를 얻을 수 있다.
: 수집이라는 행위 자체가 데이터에 영향을 끼치는 관찰 효과에 의한 편향을 최소화한다.

자동 수집의 단점

: 보통 초기 인프라 구축에 따른 투자가 필요

수동 수집

: 데이터 수집에 사람의 노력이 개입되어야 하는 경우다.
: 주어진 장치를 사람이 조작해서 데이터를 얻는 경우, 설문 등을 통해 주관적인 데이터를 수집하는 경우
: 수동 수집은 사람이 개입하는 특성상 데이터 수집에 필요한 노력이 데이터양에 비례할 것이다.

수동 수집의 장점

: 사람에게 물어서 알아낼 수 있는 모든 데이터를 수집할 수 있다. (느낌이나 감정 상태, 주관적인 만족도 등이 포함)

[2] 좋은 수집 방법의 특성
  • 수집된 데이터의 품질
    : 측정값이 우리가 측정하려는 현상을 정확히 포착하며, 그 이외의 다른 요인의 영향을 받지 않는다는 것
  • 수집 비용이 낮아야 함

-> 데이터의 품질과 비용은 교환관계를 지닌다.

# 심화학습 - 측정기술

1. 어떤 대상도 측정할 수 있는가

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

2. 어떤 대상도 측정할 수 있는 방법

: 현상 자체 뿐만 아니라 그 주변으로 눈을 돌리기
: 복잡한 문제 해결을 위해서는 각각 문제의 다른 측면을 다루는 보완적인 지표 여러 개를 동시에 사용하는 방법
: 관련된 사람들을 대상으로 한 설문

3. 수집 환경 결정하기

: 표본의 대표성 - 자신이 관찰하려는 현상을 대표할 만한 환경에서 데이터를 수집해야 한다.

[1] 관찰형 연구와 통제형 실험

<관찰형 연구>
: 문자 그대로 탐구 대상이 되는 현상에 어떤 인위적인 조작도 없이 데이터를 수집하는 것을 가리킨다.

<통제형 실험>
: 어떤 특정한 변인을 인위적으로 변화시키며 그 변화가 철저히 통제되기 때문에 우리가 변화시킨 변인이 갖는 영향만을 순수하게 분리해서 관찰할 수 있다.

# 심화학습 - 실험 디자인

1. 무작위 디자인

: 무작위 실험은 실험 대상을 통제군과 실험군에 무작위로 배정하는 실험 디자인 유형이다.
: 개별 실험 대상에 대한 정보가 없거나 쉽게 통제할 수 있는 공변량이 존재하지 않을 경우 사용하는 방식
: 무작위 배정에 의해 모르는 변인의 영향도 충분한 수의 실험 대상만 있으면 통제할 수 있다는 것

2. 블록 디자인

: 실험 디자인에서의 블록킹은 문자 그대로 유사한 특성을 가진 실험 대상을 하나의 그룹으로 묶고, 해당 그룹 안에서 결과를 비교하는 것
: 각 실험 대상의 차이가 결과에 미치는 영향을 차단할 수 있다.

3. 수집할 데이터양 결정하기

: 데이터를 얼마나 모을지를 결정하는 것을 통계학에서 표본 수 결정이라고 부른다.

[1] 현상의 이해

: 분석의 목표가 현상의 이해라면 일반적으로 적절한 표본 수에 대한 기준을 세우기가 쉽지 않다. 따라서 최소한의 데이터로 시작하는 것이 바람직하다.

※ 분석 대상이 되는 현상을 가능한 모든 환경에서 관찰하였는지의 여부 고려

[2] 현상의 일반화

: 통계적 추론의 정확도를 나타내는 신뢰구간의 넓이는 표본 수의 제곱근에 반비례하고, 추정하려는 지표의 표준편차에 비례한다.

[3] 현상의 예측

: 현상을 예측할 수 있는 모델을 만들기 위한 데이터양은 문제 및 모델의 특성에 따라 다르다.
: 실제 학습된 모델을 평가해보기 전에는 예측하기가 어렵다.

4. 데이터 품질 점검하기

: 일단 수집된 데이터는 실제 분석을 시작하기 전에 다양한 점검 과정을 거쳐야 한다.

<데이터 품질을 점검하는 세 가지 기준>
: 완전성, 정확성 - 데이터가 주어진 현상을 완전하고 정확하게 반영하고 있는지의 문제
: 일관성 - 데이터 자체에 모순이 없는지를 검토하는 부분

[1] 완전성

: 주어진 데이터가 문제 해결에 필요한 모든 대상과 속성을 포함하는가?
: 분석 목표에 따라 불완전한 데이터를 가지고도 유효한 결론을 낼 수 있는지를 결정

[2] 정확성

: 주어진 데이터는 문제의 대상이 되는 현상을 정확히 반영하는가?
: 편향이 큰 경우는 측정값이 지속적으로 다른 요인의 영향을 받는 것이다.
: 분산이 큰 경우는 측정값에 무작위의 노이즈가 영향을 주는 경우다.
: 편향의 경우 측정 장치를 보정하는 방법이 있다.
: 분산의 경우 충분한 표본을 수집하면 해결된다.

: 편향의 정도를 측정하려면 기준값을 알아야 한다.

[3] 일관성

: 주어진 데이터의 각 속성은 서로 모순되지 않는가?
: 속성 상호 간의 관계를 통해 데이터 품질을 유추할 수 있다.

[4] 메타데이터의 중요성

: 데이터가 누구에 의해, 어떤 목적과 방법으로 언제 어디에서 수집되었는지가 포함되면 메타데이터라고 부른다.
: 테이블 형태의 데이터, 텍스트나 이미지 같은 비정형 데이터 등

5. 유의사항

: 데이터 수집에서 가장 중요한 덕목은 일관성이다.
: 데이터를 모으는 과정에서 수집 방법이 바뀐다면 결과의 품질을 보장할 수 없기 때문이다.
: 계획한 기간이 끝나기 전이라도 수집 목표가 달성되었다면 그 시점에서 수집을 그만둘 수 있는 유연성도 필요하다.
: 분석 과정에서의 오류를 최소화하기 위해서는 표본 선정의 무작위성이 보장되어야 한다.

6. 데이터 준비하기

: 주어진 데이터를 정리하고, 오류를 검사하며, 원본 데이터에서 필요한 부분을 선택하는 등의 작업을 포함
: 데이터 준비에 기울이는 노력은 성공적인 분석을 위한 기초 공사와도 같다.

[1] 테이블 형태로 변환하기

: 데이터 준비의 첫 단계는 원본 데이터를 분석 과정에서 필요로 하는 형식으로 변환하는 일이다.
: 파일을 데이터 분석 소프트웨어가 읽을 수 있는 테이블 형식으로 변환하는 것이 데이터 준비의 첫 번째 단계이다.

: 테이블 형태로 불러온 데이터도 원본 데이터의 형태 및 수집 과정에 따라 제멋대로인 형태를 띠는 경우가 많다.
: 테이블 형태로 변환된 데이터는 표준 테이블의 형식을 준수하는지 검토

  • 각 행에는 개별 관찰 항목이 들어간다(예 : 각 학생의 과목별 성적).
  • 각 열에는 개별 속성이 들어간다(예 : 각 과목의 학생별 성적).
  • 각 테이블에는 단일 유형의 데이터가 들어간다(예 : 학생의 성적 데이터와 출석 데이터는 별도의 테이블로 분리한다).
  • 여러 테이블로 구성된 데이터의 경우, 개별 테이블을 연결할 수 있는 공통된 속성이 존재해야 한다(예 : 학생의 성적 데이터와 출석 데이터는 학생의 ID로 연결할 수 있다).

: 이런 표준화가 필요한 이유는 이 형식의 테이블이 효율적인 분석 및 시각화 작업을 가능하게 해주기 때문이다.

7. 데이터 선택, 집계, 준비하기

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

: 가능한 최소한의 데이터를 가지고 작업하고, 필요에 따라 데이터의 크기를 늘려가는 접근 방법이 바람직하다.

  • 항목 선택 : 우선 원본 데이터에서 분석 목표에 맞는 항목만 선택하는 방법으로 데이터의 크기를 줄일 수 있다.
  • 항목 추출 : 데이터의 전체적인 패턴을 관찰하는 데 분석의 목적이 있다면 분석의 속도를 위해 적은 양의 항목만 무작위로 추출하여 작업한다.
  • 속성 선택 : 필요한 항목의 선택 및 추출이 끝나면 주어진 데이터의 모든 속성이 분석에 필요한지 생각해볼 일이다.
[2] 속성을 변환하고 추가하기
  • 자료형 변환 : 대부분의 데이터 처리 프로그램은 각 속성별로 적절한 자료형을 부여하며 이에 따라 적절한 연산을 수행할 수 있다.
  • 단위 변환 : 주어진 속성의 자료형이 적절하더라도 사용된 단위가 적절하지 않은 경우 분석에 들어가기 전에 단위를 수정해주어야 한다.
  • 속성 추가 : 원본 데이터의 속성값에 간단한 연산을 적용하여 유용한 속성을 추가할 수 있다. 여기에는 개별 속성에 값 몇 개를 더하거나, 두 속성 간의 차이 혹은 비율을 구하는 작업이 포함된다.
[3] 적절한 단위로 집계하기

: 모든 데이터에는 데이터가 수집된 단위가 존재한다.
: 분석의 종류에 따라 원본 데이터의 수집 단위보다 더 큰 단위로 데이터를 보고 싶은 경우 데이터를 적절한 단위로 집계

  • 집계 기준 : 집계의 기준이 되는 속성(예 : 기간, 지역)은 무엇인가?
  • 집계 대상 : 집계의 대상이 되는 속성(예 : 매출액, 직원 수)은 무엇인가?
  • 집계 방식 : 집계에 사용할 연산(예 : 합계, 평균)은 무엇인가?

: 원본 데이터와 집계된 데이터는 현상에 대한 서로 다른 관점을 제공한다.

# 실습 - 엑셀을 이용한 데이터 준비

: 종교와 소득 수준의 상관 관계를 알아보는 것

↓pew.txt 원본 데이터 불러오기

: 별도의 속성으로 존재해야 할 소득 구간이 속성의 이름으로 들어가 있다.
: 수치가 아니라 구간의 형태를 띤다.
: 해당 데이터는 개별 속성을 포함해야 한다는 표준 테이블의 원칙을 어기고 있다.

↓소득 구간 속성을 수치형 속성으로 바꾸기

: 원본 테이블을 피벗 테이브리로 변환한 결과를 볼 수 있다.: 각 행에 개별 항목이 위치하는 표준 테이블 형식이 된 것을 알 수 있다.



MS 본사 데이터 과학자가 알려주는 헬로 데이터 과학 삶과 업무를 바꾸는 생활 데이터 활용법

0개의 댓글