Chapter4(데이터 분석) – 제1장_데이터 분석 개요(제1절~제2절)

제 1절 데이터 분석 프로세스

data-analysis-process

1. 요건정의

data-analysis-process1

– 요건정의는 분석 요건을 구체적으로 도출 선별 결정하고, 분석과정을 설계하고, 구체적인 내용을 실무담당자와 협의하는 업무.
– 광범위하고 다양한 정보를 다루고 문서화 작업의 비중이 높음.
– 전체 프로세스 중에서 가장 중요한 부분으로, 빅데이터 분석업무의 성패를 좌우함.
– 데이터베이스 정의서가 필요한 최초 분석 프로세스

가. 분석요건 도출

– 요건은 비즈니스 이슈로부터 도출됨.
– 이슈란 업무를 수행하는데 있어서 수익 증대, 비용 증대, 상황의 변화, 처리속도 지연 등을 발생시키는 항목들로써 전사적 측면에서 개선되어야 할 사항임.
– 단순히 불편 사항이나 불만 사항을 요건으로 할 경우 비즈니스적 의미가 낮아지고 보고하고 실행에 옮기는 데 타당성을 잃을 가능성이 높음.
– 조건은 문제를 해결 했을 때 투자수익(ROI)으로 증명할 수 있어야 함.
– 정의하는 단계에서는 상세한 분석보다는 문헌조사 및 이해와 간단한 기초 분석을 수행할 수 있다.

※요건 예시
① 데이터 마이닝 – ‘캠페인 반응율 개선을 통한 업무 효율성 또는 비용절감’
② 시뮬레이션 – ‘의약품 분리장비 추가도입에 따른 업무시간 및 재무효과의 변화 검토’
③ 최적화 – ‘병원의 간호사 배치에 대한 진료과별 최적 할당’ 또는 ‘근무 시간표 최적할당’

나.수행방안 설계

– 분석요건에 따라 구체적인 수행방안 설계(분석요건이 정해졌다고 해서 확정되는 것은 아님)
– 분석을 구체적으로 수행하기 위해서는 간단한 탐색적 분석을 수행하면서 미리 가설을 수립해 어떤 분석을 수행할지 틀을 잡아야 함(분석 자체가 의미 없다는 것을 미리 파악할 수 있기 때문).
–  반드시 분석기법을 정의하고 진행해야 하며, 분석기법 결정시 해당 분석기법에 대한 전문 지식을 갖춘 인력이 참가해 검토해야 함.
– 여기서 다루는 수행 방안의 최종 산출물은 분석 계획서와 WBS(Work Breakdown Structure)임.
– WBS는 월 단위가 아닌 일 단위로 작성하며, 상세한 내용이 정의되는 과정에서 상위 기획단계에서 미처 고려하지 못한 구체적 업무와 자원, 선행 관계 등의 충돌로 일정이 부족할 가능성이 존재함.
– 동일 업무에 대해 기술 담당자가 수행해야 할지 분석 담당자가 수행해야 할지에 대해서는 처리속도 및 IT 자원의 효율적 활용이라는 기준에서 바라보고 결정해야 함(수백 TB의 데이터를 굳이 데이터 분석 도구를 통해에서 처리할 필요는 없으며, Hive 등에서 처리하고 요약하여 1TB 이하로 만든 다음, 데이터 분석도구에서 처리하는게 적합함)

다. 요건 확정

– 요건 도출과 분석계획을 수립하면, 요건에 어떻게 접근하고 어떤 정량적 정성적 효과가 나올지에 대한 기획안이 도출됨.
– 이를 통해 분석 요청 부서와 IT 부서, 기타 연관 부서와 공유해 최종 요건을 확정함.

2. 모델링

data-analysis-process2

– 요건정의에 따라 상세 분석기법을 적용해 모델을 개발하는 과정.
– 빅데이터 분석에서 모델링을 거치면, 필요한 입력 데이터에 대한 처리가 매우 용이해짐.
– 최초로 데이터베이스에 접속이 필요한 시점

가. 모델링 마트 설계와 구축

– 모델링을 위한 데이터를 미리 준비해 시스템에 체계적으로 준비해 놓으면 모델링이 용이해짐.
– 모델링 도구에 따라 DBMS에서 직접 값을 가져와 반영할 수 있는 기능도 제공됨.
– 따라서 모델링 진행 전에 필요한 데이터의 마트를 설계하여 정규화 상태로 처리하면 사용이 편리함.
– 데이터 마이닝에서 지도학습(Supervised Learning)은 모델링 마트를 직접 이용하여 모델을 개발할 수 있음.

나. 탐색적 분석과 유의 변수 도출

– EDA(탐색적 데이터 분석, Exploratory Data Analysis)란 데이터 마이닝에 해당하는 업무로써 해당 비즈니스 이해와 분석요건에 대한 구체적인 팩트를 발견하여 통찰을 얻기 위해 수행하는 업무를 지칭함.
– 매우 시간을 많이 필요로하는 일로 최근에는 EDA를 자동으로 신속하게 수행해 유의미한 값만 파악하여 데이터 마트로 만든 후 모델링 업무로 진행하는 게 일반적임.

다. 모델링

– 전체 내용을 제대로 제시하려면 특정 도구를 사용해야 한다.

SQL
– ANSI SQL이 표준
– 주요 DBMS 공급사들은 자사 특성에 따라 다양한 기능을 추가·제시하므로 ANSI SQL을 활용하여 정보를 제시할 수 있는 것은 매우 제한적임.
– SQL의 경우도 특정 공급사의 SQL을 활용하여 정보를 제시함으로써 실습과 적용에 도움을 줄 수 있음.

R
– 데이터 입수 및 변환, 분석용 마트 생성에서 기초통계 및 기타 다양한 분야의 시각화, 시뮬레이션 및 최적화를 지원함.

라. 모델링 성능평가

– 모델링 성능을 평가하는 기준은 분석 기법별로 다양함.
– 데이터 마이닝에서는 정확도, 정밀도, 디렉트 레이트, 리프트 등의 값으로 판단한다.
– 시뮬레이션에서는 Throughput, Average Waiting Time, Average Queue Length, Time in System 등의 지표가 활용됨.
– 최적화에서는 최적화 이전의 Object Function Value와 최적화 이후의 값의 차이를 구해 평가함.

3. 검증 및 테스트

data-analysis-process3

– 모든 모델링에서는 반드시 검증 및 테스트를 거침.
– 분석용 데이터를 트레이닝용과 테스트용으로 분리한 다음, 분석용 데이터를 이용해 자체 검증함.
– 실제 테스트에서는 신규 데이터에 모델을 적용하여 결과를 도출함.
– 테스트 데이터의 비율은 분석용 데이터세트의 30% 정도를 이용하는 것이 일반적이나, 전체 데이터가 충분할 경우 6:4 또는 5:5로 분리하여 테스트 집단을 선정할 수 있음.

가. 운영 상황에서 실제 테스트

– 분석결과를 업무 프로세스에 가상으로 적용하여 검증하는 실무 적용 직전의 활동을 의미함.
– 자동화 시스템 구축시 실무에 언제든지 적용할 수 있음.
– 운영상황에서 실제로 테스트하여 분석과 운영 간 연계를 검증할 수 있으며, 돌발 상황에서 문제 없이 모델을 적용할 수 있는지에 대한 전체적인 흐름은 통합적으로 시험하는 과정임.

나. 비즈니스 영향도 평가

– 의미 있는 분석 결과를 확보하려면 비즈니스 영향도와 효과를 산출할 수 있어야 함.
– 정확성을 높여 비용이나 만족도를 개선하거나, 추가 수익을 창출할 수 있어야 함.
– 최대한 충분한 기간 실행하고 전체를 대표할 수 있을 만큼의 테스트를 실행하여 영향도나 효과를 산출하는 데 모든 사람이 납득할 수 있는 결과를 산출해야 함.
– 고객 수, 매출액, 영업이익 등이 비즈니스 영향도를 평가할 때 중요한 고려사항

4. 적용

data-analysis-process4

– 분석결과를 업무 프로세스에 완전히 통합하여 실제 일·주·월 단위로 운영하는 것을 의미함.
– 분석 시스템과 연계되어 사용될 수 있으며, 별토 코드로 분리되어 기존 시스템에 별도로 개발하여 운영할 수 있음.

가. 운영시스템에 적용과 자동화

– 운영시스템에 적용하여 운영하면 실시간 또는 배치 스케줄러가 실행하고, 주기별로 분석 모델의 성과가 예상했던 수준으로 나오고 있는지 모니터링할 수 있도록 DMBS에 성과자료를 누적하고, 이상현상이 발생하면 경고를 자동으로 줄 수 있게 함.
– 특히 분석모델은 개발된 내용이 많아질수록 상시 파악을 수작업으로 하는 일이 매우 큰 부담이 되므로 자동으로 이뤄지고 이상 시에만 확인하도록 프로세스를 수립해놓아야 함.
– R을 이용하여 해당 단계를 단순화 할 수 있음(Shiny).
– 샤이니는 사용자 작업파일과 서버파일로 구성됨.
– 사용자 작업파일에는 사용자의 작업 화면에 대한 설계를 하고, 서버파일에는 구체적 분석 작업에 대한 내용인 모델이 포함됨.
– 위 과정을 거쳐 해당 URL에 접속하면 R로 개발한 분석모델을 실행할 수 있기 때문에 별도의 C나 자바 프로그램으로 일괄 처리하는 환경으로 개발할 필요가 없음.
– 단, 샤이니는 싱글 코어는 무료이나 멀티 코어는 동시 접속자 기준으로 비용이 다소 발생함.

나. 주기적 리모델링

– 한 번 만든 모델이 영원한 동일한 성과를 낼 수 없음(비즈니스 상황이 변하거나 분석결과 적용에 따른 주변 요인들이 관심의 대상으로 부각되기 때문).
– 성과 모니터링이 지속적으로 수행되어야 하며, 일정수준 이상으로 편차가 지속적으로 하락하는 경우 리모델링을 주기적으로 수행해야 함.
– 일반적으로 주기적 리모델링은 분기, 반기, 연 단위로 수행됨(일·주단위 리모델링은 특수 분야를 제외하고 바람직하지 않음).
– 데이터 마이닝의 경우 동일한 데이터를 이용하여 학습을 다시 하는 방법과 변수를 추가하여 학습하는 방법이 있음.
– 시뮬레이션은 이벤트 발생 패턴의 변화, 시간 지연의 변화, 이벤트를 처리하는 리소스 증가, Queuing Priority, Resource Allocation Rule 변화 등을 처리함.
– 최적화는 Object Function의 계수 변경이나 Constraint에 사용되는 제약값의 변화와 추가가 있음.

제 2절 데이터 분석 기법의 이해

1. 개요

– 데이터 분석에 대한 정의는 매우 다양하고 수준과 복잡성, 목적도 다름.
– 분석은 일반적으로 조회와 고급분석으로 양분됨(ADP에서는 고급분석만 언급함).
– 고급분석은 20개 이상의 변수와 수천 건 이상의 데이터를 이용하여 인사이트를 얻거나 의사결정을 하는 데 직접 사용됨.
– 데이터 분석은 통계에 기반을 두고 있지만, 통계 지식과 복잡한 가정이 상대적으로 적은 매우 실용적인 분야임.
– 분석도구 보다는 분석을 어떻게 활용할지가 더 중요함. 도구는 도구일 뿐.

2. 기초 지식과 소양

– 데이터 분석시 통계에 대한 이해와 지식이 있으면 매우 유리하지만 통계학 전공이 필수는 아님.
– 평균과 분산에 대한 이해를 토대로 집단 간 평균과 분산의 차이, 상관관계, 독립변수와 종속변수를 활용한 회귀분석을 이해하고 R square과 p값에 대한 이해가 있다면 만족스로운 수준이며 Clustering까지 이해하면 나름 기초가 마련되었다고 볼 수 있음.
– 진정 필요한 추가 지식은 다양한 산업에 대한 이해임.
– 상식 수준에서 벗어나 적어도 해당 업계 신입사원 수준의 산업 분야 이해가 필요함.
– 분석을 위해 IT가 필요하다고 판단하여 DBMS, OS, 자바 프로그래밍을 심화학습 할 필요는 없음.

3. 데이터 처리

data-preprocessing

– 분석하기 위해서는 분석방법에 맞게 데이터를 수집 변형하는 과정이 필요함.
– 때로는 잘 정리된 데이터 마트가 필요함.
– 데이터 마트는 조회를 이용한 분석과 OLAP(Online Analytical Processing), 리포팅 등에도 활용될 수 있어서 기업의 분석업무에 대한 운영적 측면에서도 활용성이 높음.
– 그러나 신규 시스템이나 데이터 웨어하우스에 포함되지 못한 자료가 있으면 기존 운영 시스템에서 직접 가져오거나 ODS(Operational Data Store)에서 운영 시스템과 거의 유사한 정제된 데이터를 가져와서 데이터 웨어하우스에서 가져온 내용과 결합해야 함.
– ODS 이전의 운영시스템에서 가져온 데이터를 임시 저장하는 스테이징 영역(Staging Area)에서 가져올 수도 있음(ODS로 전송되기 이전의 데이터이므로 정제가 되어있지 않음).
– 제일 좋은 방법은 빠르게 ‘원시모형’을 만드는 것이다.

4. 시각화

visual

http://ko.logpresso.com/documents/datasheet/visualization

– 시각화는 가장 낮은 수준의 분석이지만 잘 사용하면 복잡한 분석보다도 더 효율적일 수 있음.
– 엑셀에서 할 수 없었던 비정형 데이터나 소셜 데이터의 시각화에서는 서버 기반의 그래프 처리도구의 장점이 그대로 드러남.

5. 공간 분석

geographic

http://gisutd.com/?page_id=3666

– 공간적 차원과 관련된 속성들을 시각화에 추가한 것이 공간분석

6. 탐색적 분석

– 탐색적 분석은 하나하나 탐색하면서 분석하는 방식
– 다양한 차원과 값을 조합해가며 특이한 점이나 의미있는 사실을 도출하고, 분석의 최종 목적을 달성해가는 과정이다.
– 너무 많은 시간을 투자하는 것은 최종 분석 목적을 달성하는 데 지장을 초래하므로 일정 가설과 시나리오를 갖고 제한적인 범위에서 주어진 목적을 달성할 수 있도록 최대한 조절해야 함.

7. 통계분석

statistics

http://hbiedu.tistory.com/archive/20141209

– 빅데이터 분석을 하는 데 있어 모집단과 샘플은 특별히 고려할 사항이 아님(샘플 사이즈가 충분히 크기 때문).
– 하지만, 주요변수에 대해 모집단의 다양한 속성이 샘플링 결과와 일치하는지 반드시 확인할 필요가 있음.

8. 데이터 마이닝

datamining

https://www.youtube.com/watch?v=W44q6qszdqY

– 데이터 마이닝은 대표적인 고급분석으로 데이터에 있는 패턴을 파악해 예측하는 분석
– 0과 1로 상황을 분류하고, 집단 간의 차이를 갖고 클러스터링해 구분
– 이전 값들의 패턴으로 미래의 값을 예측
– 입력변수와 종속변수의 관계를 이용하여 미래의 값을 예측
– 동시에 발생하는 이벤트들과 시차를 갖고 발생하는 이벤트를 이용해 어떤 이벤트가 발생할지를 파악
– 데이터 마이닝은 데이터카 크고 정보가 다양할수록 보다 활용하기 유리한 빅데이터 분석의 최적 기법

9. 시뮬레이션

arena

https://www.youtube.com/watch?v=6Ele1bhcBSY

– 복잡한 실제상황을 단순화하여 컴퓨터상의 모델로 만들어 재현하거나 변경함으로써 현상을 보다 잘 이해하고 미래의 변화에 다른 결과를 예측하는 데 사용하는 고급분석 기법
– 대기행렬에는 우선순위 방식과 먼저 온 것을 우선 처리하는 방식 등이 있음.
– 대기행렬 선택규칙과 자원 할당규칙에는 속성에 따른 처리방법, 돌아가면서 하는 방법, 가장 대기행렬이 짧은 것이나 자원의 가동율이 낮은 것을 처리하는 방법 등 다양한 규칙을 적용하여 실제 운영방식을 개선할 수 있음.
– 과거에는 시뮬레이션 모델링을 위한 데이터 수집에 어려움이 많았으나 빅데이터 시대의 도래와 함께 해당 문제가 상당부분 해결됨.

10. 최적화

linearprogramming

http://secom.hanbat.ac.kr/or/ch04/right04.html

– 목적함수 값의 최대화 또는 최소화가 목표
– 제약조건 하에서 목표 값을 개선하는 방식으로 목적함수와 제약조건을 정의해 문제를 해결
– 최적값을 찾을 수 없는 상황과 복잡한 모델링, 많은 컴퓨팅 자원을 요구하는 등의 특징을 갖고 있지만, 알고리즘과 분석도구의 발전으로 보다 쉽게 최적화에 접근할수 있게 됨.
– 특별히 적용이 불가능한 산업 영역이 없다.

연습문제

1. 분석 최상상위 프로세스에 해당되지 않는 것은?
① 요건정의
② 모델링
③ 적용
④ 데이터 수집

2. 데이터베이스 정의서가 필요한 최초 분석 프로세스는?
① 요건정의
② 모델링
③ 데이터 수집
④ 적용

3. 분석 시 최초로 데이터베이스에 접속이 필요한 시점은?
① 요건정의
② 모델링
③ 검증 및 테스트
④ 적용

4. 비즈니스 영향도 평가 시 주요 고려사항이 아닌 것은?
① 고객수
② 매출액
③ 공헌이익
④ 영업이익

5. 빅데이터 기술을 고려할 때, 분석을 위한 1차 데이터 가공은 어디에서 이뤄져야 하는가?
① RDBMS
② Hive
③ Pig
④ R

6. 모델링 마트 설계 및 구축 시 주의할 사항이 아닌 것은?
① 데이터를 명확하게 이해하고 다른 모델링 분석에 재활용할 수 있도록 설계한다.
② 기존 정보시스템의 정보를 최대한 활용한다.
③ 기존 시스템을 통해 새로운 것을 창출한다.
④ 선험적 지식을 통해 마트를 설계·수행한다.

7. 데이터 처리과정 중 DW(Data Warehouse)내의 데이터 중 필요한 데이터만 가져와 결합한 것은 무엇인가?
① ER
② Factor table
③ code
④ Data Mart

8. 데이터 중 공간적 차원과 관련된 속성을 시각화 하는 분석은 무엇인가?
① 공간분석
② 시각화 분석
③ 속성 분석
④ 지역 분석

답글 남기기