ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ADsP] 3과목 데이터 분석_요약 정리(1.데이터 분석 개요, 2.R 프로그래밍 기초, 3.데이터 마트)
    ADsP 2021. 2. 27. 20:53
    반응형

    1. 데이터 분석 개요

    1_1. 데이터 분석 기법의 이해
    * 시각화(시각화 그래프)
    - 시각화는 가장 낮은 수준의 분석이지만 잘 사용하면 복잡한 분석보다도 더 효율적이다.
    - 대용량 데이터를 다루는 빅데이터 분석에서 시각화는 필수이다.
    - 탐색적 분석을 할 때 시각화는 필수이다.
    - SNA 분석(사회연결망 분석)을 할 때 자주 활용된다.

    * 공간분석(GIS)
    - 공간분석(Spatial Analysis)은 공간적 차원과 관련된 속성들을 시각화하는 분석이다.
    - 지도 위에 관련 속성들을 생성하고 크기, 모양, 선 굵기 등으로 구분하여 인사이트를 얻는다.

    * 탐색적 자료 분석 (EDA)
    - 탐색적 분석은 다양한 차원과 값을 조합해가며 특이한 점이나 의미 있는 사실을 도출하고 분석의 최종 목적을 달성해가는 과정으로 데이터의 특징과 내재하는 구조적 관계를 알아내기 위한 기법들의 통칭이다. 프린스톤 대학의 튜키교수가 1977년 저서를 발표함으로 EDA가 등장한다.
     
    * 기술통계 (descriptive statistics)
    - 모집단으로부터 표본을 추출하고 표본이 가지고 있는 정보를 쉽게 파악할 수 있도록 데이터를 정리하거나 요약하기 위해 하나의 숫자 또는 그래프의 형태로 표현하는 절차이다.

    * 추측(추론)통계(inferential statistics)
    - 모집단으로부터 추출된 표본의 표본통계량으로 부터 모집단의 특성인 모수에 관해 통계적으로 추론하는 절차이다.

    * 데이터마이닝
    - 대표적인 고급 데이터 분석법으로 대용량의 자료로부터 정보를 요약하고 미래에 대한 예측을 목표로 자료에 존재하는 관계, 패턴, 규칙 등을 탐색하고 이를 모형화함으로써 이전에 알려지지 않은 유용한 지식을 추출하는 분석 방법이다.

    * 데이터마이닝 방법론
    1) 데이터베이스에서의 지식탐색 (knowledge discovery in database)
    - 데이터웨어하우스에서 데이터마트를 생성하면서 각 데이터들의 속성을 사전분석을 통해 지식을 얻는 방법이다.
    2) 기계학습(machine learning) 
    - 인공지능의 한 분야로, 컴퓨터가 학습할 수 있도록 알고리즘과 기술을 개발하는 분야로 인공신경망, 의사결정나무, 클러스터링, 베이지안 분류, SVM 등이 있다.
    3) 패턴인식(pattern recognition) 
    - 원자료를 이용해서 사전지식과 패턴에서 추출된 통계 정보를 기반으로 자료 또는 패턴을 분류하는 방법으로 장바구니분석, 연관규칙 등이 있다.

     

    2. R 프로그래밍 기초

     

    3. 데이터 마트
    3_1. 데이터 변경 및 요약
    * 데이터 마트
    - 데이터 웨어하우스와 사용자 사이의 중간층에 위치한 것으로, 하나의 주제 또는 하나의 부서 중심의 데이터 웨어하우스라고 할 수 있다.
    - 데이터 마트 내 대부분의 데이터는 데이터 웨어하우스로부터 복제되지만, 자체적으로 수집될 수도 있으며, 관계형 데이터 베이스나 다차원 데이터 베이스를 이용하여 구축 한다.
    - CRM(Customer Relationship Management) 관련 업무 중에서 핵심 - 고객 데이터 마트 구축
    - 동일한 데이터 셋을 활용할 경우, 최신 분석기법들을 이용하면 분석가의 역량에서는 분석 효과가 크게 차이가 나지 않기 때문에 데이터 마트를 어떻게 구축하느냐에 따라 분석 효과는 크게 차이 난다.

    * 요약변수
    - 수집된 정보를 분석에 맞게 종합한 변수이다.
    - 데이터마트에서 가장 기본적인 변수로 총구매 금액, 금액, 횟수, 구매여부 등 데이터 분석을 위해 만들어지는 변수이다.
    - 많은 모델을 공통으로 사용될 수 있어 재활용성이 높다.
    - 합계, 횟수와 같이 간단한 구조이므로 자동화하여 상황에 맞게 또는 일반적인 자동화 프로그램으로 구축 가능하다.
    - 요약변수의 단점은 얼마 이상이면 구매하더라도 기준값의 의미 해석이 애매할 수 있다. 이러한 경우, 연속형 변수를 그룹핑해 사용하는 것이 좋다.

    * 파생변수
    - 사용자(분석자)가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수이다.
    - 매우 주관적일 수 있으므로 논리적 타당성을 갖추어 개발해야 한다.
    - 세분화, 고객행동 예측, 캠페인 반응 예측에 매우 잘 활용된다.
    - 파생변수는 상황에 따라 특정 상황에만 유의미하지 않게 대표성을 나타나게 할 필요가 있다.
     
    * reshape의 활용
    - reshape 패키지에는 melt()와 cast()라는 2개의 핵심 함수가 있다.
    melt() : 쉬운 casting을 위해 적당한 형태로 만들어주는 함수, melt(data, id = ...)
    cast() : 데이터를 원하는 형태로 계산 또는 변형 시켜주는 함수, cast(data, formula = ...~variable, fun)
    - 변수를 조합해 변수명을 만들고 변수들을 시간, 상품 등의 차원에 결합해 다양한 요약변수와 파생변수를 쉽게 생성하여 데이터마트를 구성할 수 있게 한다.
     
    * sqldf를 이용한 데이터 분석
    - sqldf는 R에서 sql의 명령어를 사용 가능하게 해주는 패키지이다.
    - SAS에서의 proc sql 와 같은 역할을 하는 패키지다.

    * plyr을 이용한 데이터 분석
    - plyr은 apply 함수에 기반해 데이터와 출력변수를 동시에 배열로 치환하여 처리하는 패키지이다.
    - split-apply-combine : 데이터를 분리하고 처리한 다음, 다시 결합하는 등 필수적인 데이터 처리 기능을 제공한다.

     

    * 데이터 테이블

    - data.table 패키지는 R에서 가장 많이 사용하는 데이터 핸들링 패키지 중 하나이다.

    - data.table은 큰 데이터를 탐색, 연산, 병합 하는데 아주 유용하다.

    - 기존 data.frame 방식보다 월등히 빠른 속도이다.

    - 특정 column을 key 값으로 색인을 지정한 후 데이터를 처리한다.

    - 빠른 그루핑과 ordering, 짧은 문장 지원 측면에서 데이터프레임보다 유용하다.

     

    3_2. 데이터 가공

    * head(데이터셋), tail(데이터셋)

    - 시작 또는 마지막 6개 record만 조회하는 함수

     

    * summary(데이터셋)

    가) 수치형변수 : 최대값, 최소값, 평균, 1사분위수, 2사분위수(중앙값), 3사분위수

    나) 명목형변수 : 명목값, 데이터 개수

     

    * klaR 패키지

    - 특정 변수가 주어졌을 때 클래스가 어떻게 분류되는지에 대한 에러율을 계산해주고, 그래픽으로 결과를 보여주는 기능을 한다.

    - greedy.wilks() : 세분화를 위한 stepwise forward 변수선택을 위한 패키지, 종속변수에 가장 영향력을 미치는 변수를 wilks lambda를 활용하여 변수의 중요도를 정리 (Wilk’s Lambda = 집단내분사/총분산)

     

    * 변수의 구간화

    - 연속형 변수를 분석 목정에 맞게 활용하기 위해 구간화하여 모델링에 적용한다.

    - 일반적으로 10진수 단위로 구간화하지만, 구간을 5개로 나누는 것이 보통이며, 7개 이상의 구간을 잘 만들지 않는다.

    - 신용평가모형, 고객 세분화와 같은 시스템에서 모형에 활용하는 각 변수들을 구간화해서 구간별로 점수를 적용하는 스코어링 방식으로 많이 활용되고 있다.

    - 방법으로는 binning와 의사결정나무가 있다.

     

    3_3. 기초 분석 및 데이터 관리

    * 결측값 처리 방법

    가. 단순 대치법(Single Imputation)

    1) completes analysis

    결측값이 존재하는 레코드를 삭제한다.

    2) 평균 대치법(Mean Imputation)

    - 관측 또는 실험을 통해 얻어진 데이터의 평균으로 대치한다.

    - 비조건부 평균 대치법 : 관측데이터의 평균으로 대치

    - 조건부 평균 대치법(regression imputation) : 회귀분석을 활용한 대치법

    3) 단순확률 대치법(Single Stochastic Imputation)

    - 평균대치법에서 추정량 표준 오차의 과수 추정문제를 보완하고자 고안된 방법으로 Hot deck 방법, nearest neighbor 방법 등이 있다.

    나. 다중 대치법(Multiple Imputation)

    - 단순대치법을 한번하지 않고 m번의 대치를 통해 m개의 가상적 완전 자료를 만드는 방법이다.

    - 1단계 : 대치(imputation step), 2단계 : 분석(Analysis step), 3단계 : 결합(combination step)

     

    * R에서 결측값 처리

    complete.cases() : 데이터내 레코드에 결측값이 있으면 FALSE, 없으면 TRUE로 반환

    is.na() : 결측값을 NA로 인식하여 결측값이 있으면 TRUE, 없으면 FALSE로 반환

    DMwR 패키지의 centrallmputation() : NA 값을 k최근 이웃 분류 알고리즘을 사용하여 대치하는 것으로, k개 주변 이웃까지의 거리로 고려하여 가증 평균한 값을 사용

    Amelia 패키지의 amelia() : randomForest 패키지의 rflmpute() 함수를 활용하여 NA 결측값을 대치한 후 알고리즘에 적용

     

    * 이상값이란?

    - 의도하지 않게 잘못 입력한 경우(Bad data)

    - 의도하지 않게 입력되었으나 분석 목적에 부합되지 않아 제거해야 하는 경우(Bad data)

    - 의도하지 않은 현상이지만 분석에 포함해야 하는 경우

    - 의도된 이상값(fraud,불량)인 경우

    - 이상값을 꼭 제거해야 하는 것은 아니기 때문에 분석의 목적이나 종류에 따라 적절한 판단이 필요하다.

    - 이상값 겁색을 활용한 응용시스템으로는 부정사용방지 시스템이 있다.

     

    * 이상값의 인식 방법

    1) ESD(Extreme Studentized Deviation) : 평균으로부터 3 표준편차 떨어진 값

    2) 기하평균-2.5 * 표준편차 < data < 기하평균 +2.5 * 표준편차

    3) 사분위수 이용하여 제거하기 : Q1 - 1.5(Q3 - Q1) < data < Q3 + 1.5(Q3 - Q1)

    4) 상자수염그림(Box Plot)에서 최소, 최대값을 벗어나는 경우

     

    출처 : ADsP 데이터 분석 준전문가 (출판 : 데이터에듀)

    반응형

    댓글

Designed by Tistory.