빅데이터 - 분석 기획 - 데이터 분석 계획 - 데이터 분석 방안

반응형

 

분석 방법론

  • 데이터 분석을 효과적으로 수행하기 위해 분석 절차를 체계적으로 정리한 방법
  • 데이터 분석 시 품질확보를 위하여 단계별로 수행해야 하는 활동, 작업, 산출물 정의
  • 일정 품질 수준 이상의 산출물과 프로젝트의 성공 가능성 제시
    • 단, 프로젝트의 한 개인의 역량이나 조직의 우연한 성공 가능성은 제외
  • 분석 방법론의 구성 요건
    • 상세한 절차(Procedures)
    • 방법(Methods)
    • 도구와 기법(Tools & Techniques)
    • 템플릿과 산출물(Templates & Outputs)
    • 어느 정도의 지식만 있으면 활용 가능한 수준의 난이도
  • 분석 방법론의 생성과정 (선순환 과정)
    • 형식화
      • 개인의 암묵지가 조직의 형식지로 발전
      • 분석가의 경험을 바탕으로 정리하여 문서화
    • 체계화
      • 문서화한 최적의 형식지로 전개됨으로써 방법론 생성
      • 문서에는 절차나 활동 및 작업, 산출물, 도구 등 정의
    • 내재화
      • 개인에게 전파되고 활용되어 암묵지로 발전
      • 전파된 방법론을 학습하고 활용하여 내재화

계층적 프로세스 모델 구성

  • 분석 방법론은 일반적으로 계층적 프로세스 모델 형태로 구성
  • 단계, 태스크, 스텝 3계층으로 구성
    • 최상위 계층 - 단계(Phase)
      • 프로세스 그룹을 통하여 완성된 단계별 산출물 생성
      • 각 단계는 기준선으로 설정되어 관리, 버전관리 등을 통하여 통제
    • 중간 계층 - 태스크(Task)
      • 각 태스크는 단계를 구성하는 단위 활동
      • 물리적 또는 논리적 단위로 품질검토 가능
    • 최하위 계층 - 스텝(Step)
      • WBS의 워크패키지
      • 입력 자료, 처리 및 도구, 출력자료로 구성된 단위 프로세스

* WBS(Work Breakdown Structure) : 업무 분업 구조, 프로젝트의 더 작은 요소로 분해시킨 딜리버러블 지향 분업 구조

* Work Pakage : 작업 패키지, WBS의 가장 작은 단위


소프트웨어개발생명주기 활용

  • 소프트웨어개발생명주기 : 소프트웨어에 대해 요구분석과 설계, 구현과정을 거쳐 설치, 운영과 유지보수, 폐기할 때까지의 전 과정을 가시적으로 표현한 것
  • 소프트웨어 공학의 소프트웨어개발생명주기를 활용하여 구성

소프트웨어개발생명주기의 필요성과 구성요소

  • 소프트웨어개발생명주기의 필요성
    • 소프트웨어 위기를 대처
    • 효과적인 소프트웨어 개발 수행
    • 고품질 소프트웨어 생산성 확보
  • 소프트웨어 개발 생명주기의 구성요소
단계 내용
계획
(요구명세)
- 고객의 요구사항 명세화
- 타당성 조사 및 소프트웨어 기능과 제약조건을 정의하는 명세서 작성
- 요구사항은 일반적으로 모호하고 불완전하며 모순 되기도 함
요구분석 - 대상이 되는 문제 영역과 사용자가 원하는 Task 이해
설계 - 분석 모형을 가지고 세분화, 구현될 수 있는 형태로 전환
구현 - 실행 가능한 코드 생성
테스트 - 발생 가능한 실행 프로그램의 오류 발견 및 수정
유지보수 인수가 완료된 후 일어나는 모든 추가 개발 활동

폭포수 모델(Waterfall Model)

  • 고전적 생명주기 패러다임
  • 분석, 설계, 개발, 구현, 시험 및 유지보수 과정을 순차적으로 접근하는 방법
  • 개념 정립에서 구현까지 하향식 접근 방법 사용
  • 전 단계의 산출물은 다음 단계의 기초로 사용

<폭포수 모델의 절차, 출처 해시넷 위키>


프로토타입 모델(Prototype Model)

  • 개발하려는 시스템의 주요 기능을 초기에 실제 운영할 모델로 개발하는 방법
  • 폭포수 모델의 단점 보완
  • 사용자의 요구사항을 충분히 분석할 목적으로 시스템의 일부분을 일시적으로 간략히 구현한 다음 다시 요구사항을 반영하는 과정을 반복하는 개발 모델
  • 요구 분석의 어려움 해결을 통해 사용자의 참여 유도
  • 요구사항 도출과 이해에 있어 사용자와의 커뮤니케이션 수단으로 활용
  • 사용자의 니즈 파악이 어려운 경우 간단한 시제품으로 개발
  • 개발 타당성을 검토하는 수단으로 활용
종류 내용
실험적
프로토타입
- 요구분석의 어려움을 해결하기 위해 실제 개발될 소프트웨어의 일부분을 직접 개발
- 의사소통의 도구로 활용
진화적
프로토타입
- 이미 개발된 프로토타입을 지속적으로 발전시켜 최종 소프트웨어로 발전

<프로토타입 모델의 절차, 출처 IT위키>


나선형 모델(Spiral Model)

  • 시스템을 개발하면서 생기는 위험을 최소화하기 위해 나선을 돌면서 점진적으로 완벽한 시스템으로 개발하는 모델
  • 대규모 시스템 및 위험 부담이 큰 시스템 개발에 적합
  • 폭포수 모델과 프로토타입 모델의 단점 보완
  • 프로젝트의 완전성 및 위험 감소와 유지보수 용이
  • 관리가 중요하나 매우 어렵고 개발시간이 장기화될 가능성 존재

<나선형 모델의 절차, 출처 네이버 지식백과>


반복적 모델(Iterative Development Model)

  • 사용자의 요구사항 일부분 혹은 제품의 일부분을 반복적으로 개발하여 최종 시스템을 완성하는 모델
  • 폭포수, 프로토타입, 나선형이 혼합된 모델
  • 재사용성, 객체지향, RAD의 기반 제공

* RAD(Rapid Application Development) : 짧은 개발주기(60~90일)동안 소프트웨어를 빠르게 개발하기 위한 순차적 프로세스 모델

  • 증분형(점증적) 모델과 진화형(점진적) 모델로 분류

증분형 모델(Incremental Model) : 폭포수 모델의 변형으로 각 증분을 따로 개발하여 통합

  • 사용자 요구사항과 제품의 일부분을 반복적으로 개발하여 대상범위를 확대해 나아가서 최종제품을 완성하는 방법
  • 첫 번째 검증은 핵심제품, 몇 사람만으로 구현 가능
  • 프로토타입 모형과 같이 반복적이나 각 증분이 갖는 제품 인도에 초점
  • 규모가 큰 개발 조직일 경우 자원을 각 증분 개발에 충분히 할당할 수 있어 각 증분의 병행 개발로 기간 단축
  • 증분의 수가 많고 병행 개발이 빈번하게 이루어지면 관리가 어렵고, PM은 증분 개발 활동 간 조율에 많은 노력 필요

<증분형(점증적) 모델의 절차, 출처 IT위키>


진화형 모델(Evolutionary Model) : 시스템 요구사항을 사전에 정의하기 어려운 경우 사용

  • 시스템이 가지는 여러 구성요소의 핵심 부분을 개발한 후 각 구성요소를 지속적으로 발전시켜 나가는 방법
  • 다음 단계로의 진화를 위해 전체 과정에 대한 개요 필요
  • 프로토타입을 만들고 이를 다시 분석하여 요구사항을 진화시키는 방법
  • 프로토타입의 시스템은 재사용을 전재로 함

<진화형(점진적) 모델의 절차, 출처 바보상자의 개발 블로그>


소프트웨어개발생명주기의 대표적 유형 비교

유형 내용
폭포수 모델 검토 및 승인을 거쳐 순차적, 하향식으로 개발 진행
장점 - 이해하기 쉽고 관리 용이
- 다음 단계 진행 전 결과 검증
단점 - 요구사항 도출의 어려움
- 설계 및 코딩과 테스트 지연
- 문제점 발견의 늦음
프로토타입 모델 시스템의 핵심적인 기능을 먼저 만들어 평가 후 구현
장점 - 요구사항 도출과 시스템 이해 용이
- 의사소통 향상
단점 - 사용자의 오해(완제품) 발생 가능성 존재
- 폐기되는 프로토타입 존재
나선형 모델 폭포수 모델과 프로토타입 모델의 장점에 위험분석 추가
구현 단계 계획수립 목표, 기능 선택, 제약조건 설정
위험분석 기능 선택의 우선순위 및 위험요소 분석 및 제거
개발 선택된 기능 개발
고객평가 개발 결과 평가
장점 - 점증적으로 개발 시 실패 위험 감소
- 테스트 용이, 피드백 존재
단점 - 관리 복잡
반복적 모델 시스템을 여러 번 나누어 릴리즈 하는 방법
증분형(점증적) 모델 기능을 분해한 후 릴리즈별 기능 추가 개발
진화형(점진적) 모델 전체 기능을 대상으로 릴리즈를 진행하면서 기능 지속 발전

소프트웨어개발생명주기 모형 선정 기준

  • 프로젝트의 규모와 성격
  • 개발에 사용되는 방법과 도구
  • 개발에 소요되는 시간과 비용
  • 개발과정에서의 통제수단과 소프트웨어 산출물 인도 방식

KDD 분석 방법론

  • Knowledge Discovery in Database의 약자
  • 통계적인 패턴이나 지식을 탐색하는 데 활용할 수 있도록 체계적으로 정리한 프로파일링 기술 기반의 데이터 마이닝 프로세스
  • 데이터 마이닝, 기계학습, 인공지능, 패턴인식, 시각화 등에 응용
  • 데이터에서 패턴을 찾는 과정을 9개의 프로세스로 제시

KDD 분석 방법론의 9가지 프로세스

  1. 분석 대상 비즈니스 도메인의 이해
  2. 분석 대상 데이터셋 선택과 생성
  3. 데이터에 포함되어 있는 잡음(Noise)과 이상값(Outlier) 등을 제거하는 정제작업이나 선처리
  4. 분석 목적에 맞는 변수를 찾고 필요시 데이터의 차원을 축소하는 데이터 변경
  5. 분석 목적에 맞는 데이터 마이닝 기법 선택
  6. 분석 목적에 맞는 데이터 마이닝 알고리즘 선택
  7. 데이터 마이닝 시행
  8. 데이터 마이닝 결과에 대한 해석
  9. 데이터 마이닝에서 발견된 지식 활용

KDD 분석 방법론의 분석절차

  • 데이터 분석은 총 5단계에 걸쳐 진행
    • 데이터셋 선택(Selection)
      • 비즈니스 도메인에 대한 이해 및 프로젝트 목표 설정 필수
      • 데이터베이스 또는 원시 데이터에서 분석에 필요한 데이터 선택
      • 필요시 목표 데이터를 추가적으로 구성하여 활용
    • 데이터 전처리(Preprocessing)
      • 잡음(Noise), 이상치(Outlier, 일반적 추세에서 많이 벗어난 값), 결측치(Missing Value)를 식별하고 필요시 제거
      • 데이터가 추가적으로 필요한 경우 데이터셋 선택 절차부터 다시 실행
    • 데이터 변환(Transformation)
      • 데이터의 차원을 축소하여 효율적으로 마이닝 할 수 있도록 변경
      • 학습용 데이터와 검증용 데이터로 데이터 분리
    • 데이터 마이닝(Data Mining)
      • 목적에 맞는 데이터 마이닝 기법 선택
      • 필요시 데이터 전처리와 데이터 변환 절차를 추가로 싱행하여 데이터 분석 결과의 품질을 높임
    • 데이터 마이닝 결과 평가(Interpretation/Evaluation)
      • 분석 결과에 대한 해석과 평가 및 분석 목적과의 일치성 확인
      • 발견된 지식을 업무에 활용하기 위한 방안 모색
      • 필요한 경우 데이터셋 선택부터 데이터 마이닝 절차까지 반복하여 수행

<KDD 분석 방법론의 분석 절차, 출처 aaai 인공지능 발전 협회>

 


CRISP-DM 분석 방법론

  • Cross Industry Standard Process for Data Mining의 약자
  • 계층적 프로세스 모델로 4계층으로 구성된 데이터 마이닝 프로세스
  • 데이터 탐색과 이해 및 데이터를 통한 문제 인식과 해결이 가능
  • 비즈니스 요구사항에 맞게 데이터 마이닝을 반복적으로 수행

CRISP-DM 분석 방법론의 4계층

  • 최상위 레벨 : 여러 개의 단계(Phases)로 구성
  • 일반화 태스크(Generic Tasks) : 데이터 마이닝의 단일 프로세스를 완전하게 수행하는 단위
  • 세분화 태스크(Specialized Tasks) : 일반화 태스크를 구체적으로 수행
  • 프로세스 실행(Process Instances) : 데이터 마이닝을 구체적으로 실행

CRISP-DM 분석 방법론의 분석절차

  • 총 6단계에 걸쳐 진행, 각 단계별로 세부업무 정의
단계 내용 세부업무
업무 이해
(Business
Understading)
- 비즈니스 관점에서 프로젝트의 목적과 요구사항 이해 단계
- 도메인 지식을 데이터 분석을 위한 문제정의로 변경
- 초기 프로젝트 계획 수립
- 업무 목적 파악
- 상황 파악
- 데이터 마이닝 목표 설정
- 프로젝트 계획 수립
데이터 이해
(Data
Understading)
- 인사이트 발견 단계
- 분석을 위한 데이터 수집 및 데이터 속성 이해
- 데이터 품질 문제 식별

- 초기 데이터 수집
- 데이터 기술 분석
- 데이터 탐색
- 데이터 품질 확인
데이터 준비
(Data
Preparation)
- 수집된 데이터를 분석 기법에 적합한 데이터로 변환 - 분석용 데이터셋 선택
- 데이터 정제
- 분석용 데이터셋 편성
- 데이터 통합
- 데이터 포맷팅
모델링
(Modeling)
- 다양한 모델링 기법과 알고리즘으로 모형 파라미터 최적화
 모델링 결과를 테스트용 프로세스와 데이터셋으로 평가하여 모델 과적합 등의 문제 확인
- 데이터셋을 추가하기 위해 데이터 준비 절차 반복
- 모델링 기법 선택
- 모델 테스트 계획 설계
- 모델 작성
- 모델 평가
평가
(Evaluation)
- 분석 모델이 프로젝트의 목적에 부합하는지 평가
- 데이터 마이닝 결과를 수용할 것인지 최종 판단
- 분석결과 평과
- 모델링 과정 평가
- 모형 적용성 평가
전개
(Deployment)
- 완성된 분석 모델을 업무에 적용하기 위한 계획 수립
- 모니터링과 분석 모형의 유지보수 계획 마련
- 프로젝트 종료 관련 프로세스를 수행하여 프로젝트 완료
- 전개 계획 수립
- 모니터링과 유지보수 계획 수립
- 프로젝트 종료 보고서 작성
- 프로젝트 리뷰

<CRISP-DM 절차, 출처 IBM>


CRISP-DM과 KDD 분석 방법론 비교

CRISP-DM 분석 방법론 KDD 분석 방법론
업무 이해(Business Understanding)  
데이터 이해(Data Understanding) 데이터셋 선택(Selection)
데이터 전처리(Preprocessing)
데이터 준비(Data Preparation) 데이터 변환(Transformation)
모델링(Modeling) 데이터 마이닝(Data Mining)
평가(Evaluation) 데이터 마이닝 결과 평가 (Interpretation/Evaluation)
전개(Deployment)  

SEMMA 분석 방법론

  • Sample, Explore, Modify, Model and Assess의 약자
  • SAS Institute의 주도로 만들어진 기술과 통예 중심의 데이터 마이닝 프로세스

* SAS Institute : 미국의 통계분석 소프트웨어 기업


SEMMA 분석 방법론의 특징

  • SAS Institute의 데이터 마이닝 도구와 손쉽게 접목하여 활용
  • 주로 데이터 마이닝 프로젝트의 모델링 작업 중점

<SEMMA 분석 방법론의 절차, 출처 koreascience>


SEMMA 분석 방법론의 분석절차

  • 데이터 분석은 총 5단계에 걸쳐 진행
단계 내용 세부요소/산출물
추출(Sample) - 분석할 데이터 추출
- 모델을 평가하기 위한 데이터 준비
- 통계적 추출
- 조건 추출
탐색(Explore) - 분석용 데이터 탐색
- 데이터 오류 확인
- 비즈니스 이해
- 이상 현상 및 변화 탐색
- 그래프
- 기초통계
- Clustering
- 변수 유의성 및 상관분석
수정(Modify) - 분석용 데이터 변환
- 데이터 표현 극대화(시각화)
- 파생 변수 생성, 선택, 변형
- 수량화
- 표준화
- 변환
- 그룹화
모델링(Modeling) - 분석 모델 구축
- 패턴 발견
- 모델링과 알고리즘의 적용
- Neural Network
- Decison Tree
- Logistic Regression
- 통계기법
평가(Assess) - 모델 평가 및 검증
- 서로 다른 모델 동시 비교
- Next Step 결정
- Report
- Feedback
- 모델 검증 자료

참고

 

 

 

 

반응형