2. 문제정의와 데이터 수집 준비(22.04.07)
데이터 과학의 프로세스
[데이터 문제 해결 단계]
- 문제를 명확하게 정의한다. 이를 통해 필요한 데이터와 접근 방법을 결정한다.
- 데이터를 수집한다.
- 데이터를 적합한 형태로 정제한다.
- 정제된 데이터를가지고 해결책을 찾는다.
- 해결책을 여러 방식으로 구현해본다.
- 관계자에게 결과를 적절한 형태로 소통한다.
데이터 분석 단계
- EDA(탐색적 데이터 분석)
- 통계적 추론
- 기계학습
[EDA]
우선 EDA란 데이터의 각 행,열간의 관계를 밝히고 각종 통계값의 계산, 데이터 시각화, 상관도 분석등을 하는 과정이다 .이러한 EDA를 거치지 않고 데이터분석을 진행하게되면 나중에 되서야 데이터의 문제점을 발견하던가 엉뚱한 방향으로 나가는 것을 깨달을 것이다.
[통계적추론]
통계적추론에서는 결론,지식을 이끌어내는 것이 목적이다. 주어진 현상에서 인과적인 결론을 도출하기위해서는 통제된 환경에서의 데이터 수집이 필요하다. 이게 무슨 말이냐면 자연상태에서 수집된 데이터에는 한계가 있다는 것이다. 우리가 구하고자 하는 현상과는 다른데 결과에 영향을 미치는 변수들이 있기 때문에 어느정도의 통제를 줘야한다는 것이다.
[기계학습]
기계학습의 의미는 매우 크지만 간단히 설명하면 주어진 데이터를 기반으로 우리가 관심을 갖는 현상을 예측하는 것이다.
데이터 문제 정의하기
[문제 정의하기]
문제를 정의하려면 문제의 목표, 범위, 성공 및 실패의 척도, 제약조건등을 알아야한다.
[데이터 정의하기]
데이터에 포함되어야 하는 속성, 데이터 수집방법, 데이터 분석을 위한 방법과 도구가 필요하다.
[연구 질문 및 가설 정의하기]
문제 해결을 통해서 무엇을 알아내고자하는지 간단히 기술하는 것이다. 또한 데이터에 대한 다양한 가서을 세워봐야 한다. 좋은 가설은 데이터를 분석하는데 적절한 관점과 기대치를 제공하게 된다.
이러한 문제정의단계는 한번만 하는 것이 아니라 해결과정에서 끊임없이 반복해야한다. 불완전한 것을 데이터를 통해 계속해서 보안해가야한다.
데이터 수집하기
[수집 방법 결정하기]
수집할 데이터의 속성을 결정해야 한다. 이후에는 실제로 이런 데이터값을 어떻게 해야 얻을 수 있을지 고민해야한다.
자동수집:
- >인간의 개입없이 데이터수집이 자동적으로 일어남-
- >컴퓨터 등의 전자장치 사용
- >초기 인프라 구축이후에는 데이터 수집에 추가적인 비용이 크지 않음.
- > 누락이나 오류없이 일관적 데이터를 얻을 수 있다.
- >수집하는 행위자체가 데이터에 영향을 끼치는 관찰효과를 줄일 수 있다.
수동수집:
- >인간의 개입이 필요한 수집 방법
- >설문등을 통한 주관적인 데이터 수집도 포함한다.
- >데이터 수집에 소비한 노력에 따른 데이터 양이 결정된다.
- > 느낌이나 감정상태 주관적인 만족도 등을 수집할 수 있다.
- >수집행위에 자각을 갖을 수 있다.
[좋은 수집방법의 특성]
데이터의 품질
- >측정값이 우리가 측정하려는 현상과 동일하면 좋다.
수집비용
- >데이터를 수집할 수 있는 준비를 하는데 필요한 비용
수집비용과 데이터의 품질은 트레이드오프 관계가 존재한다.
[수집 환경 결정하기]
데이터의 수집환경은 주어진 문제에 따라 결정된다. 가장 중요한 표본이 대표성을 가져야 한다는 것이다. 대표성을 만족하지 않으면 데이터를 가지고 내리는 어떠한 결론도 의미가 없게된다.
이러한 대표성을 어긴 대표적인 사례가 있는데 1936년에 미국의 한 잡지에서 미국대선결과를 예측한 적이 있다. 이는 무려 2백만명의 표본을 얻었지만, 예측에 실패했다. 이는 설문조사를 통한 예측을 했었는데 설문조사의 대상이 경제적 여유가 있는 계층에 편향되어 있었고 그로 인해서 데이터가 잘못 수집된것이었다.
[관찰형 연구와 통제형 실험]
관찰형연구:
- >자연상태의 데이터를 그대로 수집하는 것이다.
- >탐구대상이 되는 현상에 어떤 인위적인 조작없이 데이터를 수집하는 것을 말한다.
- >경제학, 사회학같은 본질적으로 관찰대상에 영향을 끼치기 어려운 대상에게 쓰임
- >복잡한 현상 내부의 인과관계를 밝혀내는데는 부족하다.
통제형 실험:
- >인과관계를 밝히기 위한 실험
- > 특정한 변인을 인위적으로 변화시키면 그 변화가 우리가 관심을 갖는 변인에 미치는 영향을 관찰한다. 이 떄 기타변인의 변화는 철저히 통제되기 때문에 우리가 원하고자 하는 결과만 바라볼 수 있다.
[수집할 데이터 양 결정하기]
데이터의 양=표본의 수라고 말할 수 있다. 표본수를 정하는 절대적인 기준은 존재하지 않고 우리가 목표를 달성하기 위한 양만 충분하면 된다.
목표에 따른 데이터의 양을 분석해보자.
현상의이해:
최소한의 데이터로 시작하되, 분석대상이 되는 현상을 가능한 모든환경에서 관찰해야한다.
현상의 일반화:
통계적 추론의 정확도를 나타내는 신뢰구간의 넓이는 표본수의 제곱근에 반비례하고, 추정하려는 지표의 표준편차에 비례한다. 표본의 크기를 증가하고 모집단의 표준편차가 작아질수록 신뢰구간이 좁아져 정확해지는데, 어느순간턴 좁아지는게 거의 의미가없을 정도로 작아지는경우가 있다. 이 지점을 표본의 수로 지정하면 된다.
현상의 예측:
문제 및 모델의 특성에 따라 다르며 실제 학습된 모델을 평가해보기전에는 예측하기가 어렵다. 그래도 데이터가 많을 수록 모델의 정확도가 상승하므로 필요할경우 추가적으로 수집하면 된다,
[데이터 품질 점검하기]
데이터품질에 대한 기준은 대표적으로 세가지가 있다. 완전성, 정확성은 데이터가 주어진 현상을 완전하고 정확하게 반영하고 있는지를 나타내고 일관성은 데이터 자체에 모순이 없는지를 나타낸다.
완전성:
주어진 데이터가 문제해결에 필요한 모든 대상과 속성을 포함하는지를 확인한다. 다만 꼭 완전해야 하는 것은 아니고 불완전한 데이터를 다루는 다양한 기법들을 통해 해결할 수 있다.
정확성:
주어진 데이터는 문제의 대상이 되는 현상을 정확히 반영하는가를 확인한다. 정확성은 편향과 분산을 통해 확인한다. 편향이 크면 측정값이 다른 요인으로부터 영향을 받는 것이고 분산이 큰 경우는 측정값에 무작위의 노이즈가 영향을 주는 것이다. 이들은 가각 보정과 데이터 수집을 통해 해결할 수 있다. 편향,분산을 제외하고도 목표에 따라 시점, 수집주체등도 정확성을 판단하는데 포함될 수 있다.
일관성:
주어진 데이터의 각 속성이 서로 모순되는지를 확인한다. 데이터들은 대부분 서로 연관되어있어 서로간의 관계를 통해 품질을 유추할 수 있다.
[메타데이터의 중요성]
메타데이터란 데이터에 관한 구조화된 데이터로, 다른 데이터를 설명해 주는 데이터를 말한다 양질의 데이터를 갖춘 데이터는 다른 문제들을 풀 때에도 유용하고 공동으로 작업을 하는경우에도 중요하다.
데이터수집에서 가장 중요한 것은 일관성이다. 중간에 방법이 바뀌게 된다면 좋은 결과를 보장할 수 없을 것이다.
데이터 준비하기
데이터를 수집하면 끝이 아니라 이제 데이터를 우리가 분석할 수 있도록 정리하고 오류를 검사하는 등의 절차를 거쳐야 한다. 효율적인 데이터처리가 생산성에 결정적인 영향을 끼치기 때문에 많은 시간을 쏟게된다.
[테이블 형태로 변환하기]
우선 원본데이터를 필요한 형식으로 변환해야 한다. 보통은 이러한 데이터를 테이블 형태로 먼저 변환한다. 액셀이나 R등에도 데이터파일을 테이블 형태로 불러오는 기능들이 있다. 그러나 테이블형태로 불러온 데이터도 형태가 제멋대로일 수도 있어서 표준 테이블의 형태와 일치하는지 확인해야 한다.
표준테이블 형태
- >각 행,열엥는 개별 관찰 항목,속성이 들어간다.
- >각 테이블에는 단일 유형의 데이터가 들어간다.
- >여러 테이블로 구성된 데이터의 경우 개인 테이블을 연결할 수 있는 공통된 속성이 존재해야 한다.
[데이터 선택, 추가, 집계하기]
필요한 부분을 선택, 추출하기
- >우선 데이터에서 쓸모없는 부분을 버려야 한다. 데이터의 크기를 줄여야 소요되는 비용 및 시간을 절약할 수 있기 때문이다. 데이터의 크기는 필요하면 늘리면 된다.
속성을 변환하고 추가하기
- >선택한 데이터들 중 빠져있는 부분등을 채워줘야한다. 이러한 변환에는 자료형,단위변환 그리고 속성들을 추가하는 것도있다.
적절한 단위로 집계하기
- >데이터에는 데이터가 수집된 단위가 존재한다. 이런것들을 집계기준, 대상 방식에 따라 적절한 단위로 집계해야한다.
[액셀을 활용한 데이터 준비]
깃허브에서 다운로드 받은 pew.txt를 이용하여 실습해 볼 것이다.
1. 수치형데이터로 바꾸기
소득구간의 속성이 수치가 아니라 범주형으로 존재하고 있기 때문에 수치형 속성으로 바꿔야 한다. 액셀에서는 따로 한번에 바꾸는 기능이 없어서 수작업으로 바꿔줘야한다.
2. 표준테이블로 변경하기
액셀에서 표준테이블로 변경하기 위해서는 피버테이블로 변환하고 다시 피벗테이블을 일반 테이블로 변경하면 된다.
1. alt+d+p로 피벗테이블/피벗차트 마법사 열기
2.분석할 데이터의 위치를 다중 통합 범위로 지정
3.페이지 필드의 수를 하나의 페이지 필드로 만듦
4.워크시트 범위를 원본데이터 전체로 선택
5.피벗테이블의 오른쪽 아래 총합계 셀에서 자세한 정보 표시를 누르면 원본테이블로의 변환이 된다.
느낀점: 오늘 공부한 부분도 너무 이론적이고 재미없는 부분이었다.. 뒤쪽 데이터분석을 직접 하는게 되야 그나만 재밌을 것같다. 그리고 액셀에서 속성을 범주형->수치형을 바꿀 때 어떤 함수가 있을 줄 알았는데 일일이 수작업으로 바꿔줘야한다는 것을 보고 충격받았다. 파이썬이 그립다.
'데이터분석실습 > 헬로 데이터 과학' 카테고리의 다른 글
헬로 데이터 과학 Day 5 (0) | 2023.10.26 |
---|---|
헬로 데이터 과학 Day 4 (0) | 2023.10.26 |
헬로 데이터 과학 Day 3 (0) | 2023.10.26 |
헬로 데이터 과학 Day 1 (0) | 2023.10.26 |
헬로 데이터 과학 Day 0 (0) | 2023.10.26 |