728x90
반응형

데이터 분석 기법의 이해

1. 데이터 처리 과정

      # 데이터 분석을 위해서는 데이터 웨어하우스(DW)나 데이터 마트(DM)을 통해 분석 데이터를 구성

      # 신규데이터나 DW에 없는 데이터는 기존 운영시스템(Legacy)에서 직접 가져오거나 운영데이터저장소(ODS)에서 정제된 데이터를 가져와서 DW의 데이터에 결합하여 사용

2. 시각화 기법

      # 가장 낮은 수준의 분석이지만 잘 사용하면 복잡한 분석보다 더 효율적이며 대용량 데이터를 다룰 때와 탐색적 분석을 할 때 시각화는 필수

3. 공간분석

      # 공간적 차원과 관련된 속성들을 시각화하는 분석으로 지도 뒤에 관련된 속성들을 생성하고 크기모양, 선 굵기 등을 구분하여 인사이트를 얻음

3. 탐색적 자료분석(EDA)

      # 다양한 차원과 값을 조합해 가며 특이점이나 의미있는 사실을 도출하고 분석의 최종목적을 달성해 가는 과정

      # EDA의 4가지 주제: 저항성 강조, 잔차 계산, 자료변수의 재표현, 그래프를 통한 현시성

4. 통계분석

      # 어떤 현상을 종합적으로 한눈에 알아보기 쉽게 일정한 체계에 따라 숫자와 표, 그림의 형태로 나타내는 것

5. 데이터 마이닝

      # 대용량의 자료로부터 정보를 요약하고 미래에 대한 예측을 목표로 자료에 존재하는 관계, 패턴, 규칙 등을 탐색하고 이를 모형화함으로써 이전에 알지 못한 유용한 지식을 추출하는 분석 방법

      # 방법론: 기계학습(인공신경망, 의사결정나무, 클러스터링, SVM), 패턴인식(연관규칙, 장바구니분석) 등

 

R소개

1. R의 탄생

      # R은 오픈 소스 프로그램으로 통계/데이터 마이닝과 그래프를 위한 언어이다.

      # 다양한 최신 통계분석과 마이닝 기능을 제공하며, 5000개에 이르는 패키지가 수시로 업데이트 된다.

2. 변수 다루기

      # R에서는 변수명만 선언한 값을 할당하면 자료형태를 스스로 인식하고 선언함

      # 화면에 프린트하고자 할 때, print()를 사용해도 되지만 변숫값만 표현해도 내용을 출력함

      # 변수에 값을 할당할 때는 대입연산자(<-, <<-, =, ->, ->>)를 사용할 수 있으나 <-를 추천함

      # 메모리에 불필요한 변수가 있는지 확인하기 위해서는 Is()를 활용하고 삭제는 rm()을 활용함

3. 기본적인 통계량 계산

      # 평균: mean()

      # 표준편차: sd()

      # 공분산: cov()

      # 중앙값: median()

      # 분산: var()

      # 상관계수: cor()

4. 외부 파일 입력과 출력

      # 고정자리 변수 파일: read.fwf("파일명", width=c(w1, w2,...))

      # 구분자 변수 파일: read.table("파일명", sep="구분자")

      # csv 파일 읽기: read.csv("파일명", header=T) ***1행이 변수인 경우: header=T

      # csv 파일 출력: write.csv(데이터 프레임, "파일명")

 

데이터 구조와 데이터 프레임

1. 데이터 구조의 정의

특징 벡터 리스트 데이터프레임
원소자료형 동질적 이질적 이질적
원소를 위치로 인덱싱 가능 가능 가능
인덱싱으로 여러 개 원소로 구성된 하위 데이터 생성 가능 가능 가능
원소들에 이름 부여 가능 가능 가능

2. 문자열 다루기

문자열 길이 nchar("문자열")
벡터의 길이 length(vec)
문자열 연결하기 paste("단어", "문장", scalar)
하위 문자열 추출하기 substr("문자열", 시작번호, 끝번호)
구분자로 문자열 추출하기 strsplit("문자열", 구분자)
문자열 대체하기 sub("대상문자열", "변경문자열", s)
gsub("대상문자열", "변경문자열", s)

3. 날짜 다루기

      # 문자열 → 날짜 : as.Date("2014-12-25")

                                    as.Date("12/25/2014", format="%m/%d/%y")

      # 날짜 → 문자열 : format(Sys.Date(), format = "%m/%d/%Y")

      # format 인자값

R 표현 표시 형태 R 표현 표시 형태
%b 축약된 월 이름("Jan") %B 전체 월 이름("January")
%d 두 자리 숫자로 된 일("31") %m 두 자리 숫자로 된 월("12")
%y 두 자리 숫자로 된 년("14") %Y 네 자리 숫자로 된 년("2014")

데이터 변경 및 요약

1. 데이터 마트

-데이터 웨어하우스와 사용자 사이의 중간층에 위치한 것으로, 하나의 주제 또는 하나의 부서 중심의 데이터 웨어하우스라고 할 수 있음

2. 요약변수와 파생변수

  요약변수 파생변수
정의 -수집된 정보를 분석에 맞게 종합한 변수로 데이터 마트에서 가장 기본적인 변수
-많은 모델이 공통으로 사용할 수 있어 재활용성 높음
-사용자(분석가)가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수
-매우 주관적일 수 있으므로 논리적 타당성을 갖출 필요가 있음
예시 기간별 구매 금액, 횟수, 여부 / 위클리 쇼퍼 / 상품별 구매 금액, 횟수, 여부 / 상품별 구매 순서 / 유통 채널별 구매 금액 / 단어 빈도 / 초기 행동변수 / 트랜드 변수 / 결측값과 이상값 처리 / 연속형 변수의 구간화 근무시간 구매지수 / 주 구매 매장 변수 / 주 활동 지역변수 / 주 구매 상품 변수 / 구매상품 다양성 변수 / 선호하는 가격대 변수 /시즌 선호 고객 변수 / 라이프 스테이지 변수 / 라이프스타일 변수 / 휴면가망 변수 / 최대가치 변수 / 최적 통화시간 등

 

3. reshape 패키지

-2개의 핵심적인 함수로 구성

      # melt(): 쉬운 casting을 위해 데이터를 적당한 형태로 만들어주는 함수

      # cast(): 데이터를 원하는 형태로 계산 또는 변형시켜 주는 함수

-변수를 조합해 변수명을 만들고 변수들을 시간, 상품의 차원에 결합해 다양한 요약변수와 파생변수를 쉽게 생성하여 데이터 마트를 구성할 수 있게 해주는 패키지임

4. sqldf 패키지

-R에서 sql 명령어를 사용 가능하게 해주는 패키지로 SAS의 proc sql과 같은 기능

-head([df]) → sqldf("select * from [df] limit 6")

-subset([df], [col] %in% c("BF", "HF")) → sqldf("select * from [df] where [col] in('BF', 'HF')")

-merge([df1],[df2]) → sqldf("select * from [df1], [df2]")

5. plyr 패키지

-apply 함수를 기반으로 데이터와 출력변수를 동시에 배열로 치환하여 처리하는 패키지

-split-apply-combine 방식으로 데이터를 분리하고 처리한 다음, 당시 결합하는 등 필수적인 데이터 처리 기능 제공

6. data.table

-R에서 가장 많이 사용하는 데이터 핸들링 패키지 중 하나로 대용량 데이터의 탐색, 연산, 병합에 유용

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

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

-빠른 grouping과 ordering, 짧은 문장 지원 측면에서 데이터프레임 보다 유용함

 

데이터 가공

1. 변수의 구간화

-신용평가모형, 고객 세분화 등의 시스템으로 모형을 제공하기 위해서 각 변수들을 구간화하여 점수를 적용하는 방식 활용

-변수의 구간화를 위한 rule이 존재함 (※ 10진수 단위로 구간화하고, 구간을 5개로 나누는 것이 보통이며, 7개 이상의 구간을 잘 만들지 않음)

2. 변수 구간화의 방법

-Binning: 연속형 변수를 범주형 변수로 변환하기 위해 50개 이하의 구간에 동일한 수 의 데이터를 할당하여 의미를 파악하면서 구간을 축소하는 방법

-의사결정나무: 모형을 통해 연속형 범수를 범주형 변수로 변환하는 방법

 

기초 분석 및 데이터 관리

1. 결측값 처리

-변수에 데이터가 비어 있는 경우

      # NA, ., 99999999, Unknown, Not Answer 등으로 표현

-단순 대치법(Single Imputation)

      # Complets Analysis: 결측값의 레코드를 삭제

      # 평균대치법: 관측 및 실험을 통해 얻어진 데이터의 평균으로 대치

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

               ▶ 조건부 평균 대치법: 회귀분석을 통해 데이터를 대치

      # 단순 확률 대치법: 평균대치법에서 추정량 표준 오차의 과소 추정문제를 보안한 방법으로 Hot-Deck 방법, Nearest Neighbor 방법이 있음

-다중 대치법(Multiple Imputation)

      # 단순 대치법을 m번 실시하여, m개의 가상적 자료를 만들어 대치하는 방법

2. R의 결측값 처리 관련 함수

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

-is.na(): 결측값이 NA인지의 여부를 TRUE/FALSE로 반환

-DMwR 패키지

      # centralInputation(): NA 값을 가운데 값(Central Value)으로 대치 (숫자-중위수, Factor-최빈)

      # knnImputation(): NA 값을 k최근 이웃 분류 알고리즘을 사용하여 대치 (k개 주변 이웃까지의 거리를 고려하여 가중 평균한 값을 사용)

-Amelia 패키지

      # amelia(): time-series-cross-sectional data set(여러 국가에서 매년 측정된 자료)에서 활용

3. 이상값 처리

-이상값

      # 의도하지 않은 현상으로 입력된 값 or 의도된 극단값 → 활용할 수 있음

      # 잘못 입력된 값 or 의도하지 않은 현상으로 입력된 값이지만 분석 목적에 부합되지 않는 값 → Bad Data이므로 제거

-이상값의 인식

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

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

      # Q1 - 1.5 *IQR < data < Q3 + 1.5 * IQR을 벗어나는 데이터 (IQR = Q3 - Q1)

-이상값의 처리

      # 절단(Trimming): 이상값이 포함된 레코드를 삭제

      # 조정(Winsorizing): 이상값을 상한 또는 하한값으로 조정

 

통계분석의 이해

1. 통계

통계 특정집단을 대상으로 수행한 조사나 실험을 통해 나온 결과에 대한 요약된 형태의 표현
통계자료의 획득 방법  총 조사(Census)와 표본조사(Sampling)
표본 추출 방법 단순랜덤추출(Simple Random Sampling), 계통추출법(Systematic Sampling),
집락추출법(Cluster Sampling), 층화추출법(Stratified Random Sampling)
자료의 측정 방법 명목척도, 순서척도, 구간척도, 비율척도

2. 통계분석

기술통계(Descriptive statistic) 평균, 표준편차, 중위수, 최빈값, 그래프
통계적 추론(Statistical inference) 모수추정, 가설검정, 예측

3. 확률 및 확률 분포

확률변수(Random Variable) 특정 값이 나타날 가능성이 확률적으로 주어지는 변수
이산형 확률분포(Discrete Distribution) 베르누이분포, 이항분포, 기하분포, 다항분포, 포아송분포
연속형 확률분포(Continuous Distribution) 균일분포, 정규분포, 지수분포, t분포, f분포, x^2분포

4. 추정 및 가설검정

추정 표본으로부터 미지의 모수를 추측하는 것
점추정
(Point Estimation)
'모수가 특정한 값일 것'이라고 추정하는 것
평균, 표준편차, 중앙값 등을 추정
점추정 조건: 불편성(Unbiasedness), 효율성(Efficiency), 일치성(Consistency), 충족성(Sufficient)
구간추정
(Interval Estimation)
점추정을 보완하기 위해 모수가 특정 구간에 있을 것이라고 추정하는 것. 모분산을 알거나 대표본의 경우 표준정규분포 활용, 모분산을 모르거나 소표본의 경우 t분포 활용

-가설검정: 모집단에 대한 가설을 설정한 뒤, 그 가설을 채택여부를 결정하는 방법

      # 귀무가설(Null Hypothesis, H0) vs 대립가설(Alternative Hypothesis, H1)

      # 1종 오류(Type 1 Error): 귀무가설 H0가 옳은데도 귀무가설을 기각하게 되는 오류

      # 2종 오류(Type 2 Error): 귀무가설 H0가 옳지 않은데도 귀무가설을 채택하게 되는 오류

  가설검정결과
H0가 사실이라고 판정 H0가 사실이 아니라고 판정
정확한 사실 H0가 사실임 옳은 결정 제 1종 오류( α )
H0가 사실이 아님 제 2종 오류( β ) 옳은 결정

      # 1종 오류의 크기를 0.1, 0.05, 0.01로 고정시키고 2종 오류가 최소가 되도록 기각역을 설정

5. 비모수 검정

-비모수 검정: 모집단의 분포에 대한 아무 제약을 가하지 않고 검정을 실시

-가설 설정 방법: '분포의 형태가 동일하다', '분포의 형태가 동일하지 않다'라는 식으로 가설을 설정

-검정 방법: 순위나 두 관측값 차이의 부호를 이해 검정

      # 예: 부호검정(Sign Test), 윌콕슨의 순위합 검정(Wilcoxon's Rank Sum Test), 윌콕슨의 부호 순위 검정(Wilcoxon's Signed Rank Test), 맨-휘트니의 U검정(Mann–Whitney U Test), 스피어만의 순위상관계수(Spearman's rank correlation analysis)

 

기초 통계 분석

1. 기술 통계

-기술 통계(Descriptive Statistic): 자료의 특성을 표, 그림, 통계량 등을 사용해 쉽게 파악할 수 있도록 정리/요약하는 것

      # 통계량에 의한 자료 정리

               ▶중심 위치의 측도: 평균, 중앙값, 최빈값

               ▶산포의 측도: 분산, 표준편차, 범위, 사분위수범위, 변동계수, 표준오차

               ▶분포의 형태: 왜도, 첨도

      # 그래프를 통한 자료 정리

               ▶범주형 자료: 막대그래프, 파이차트, 모자이크 플랏 등

               ▶연속형 자료: 히스토그램, 줄기-잎 그림, 상자그림 

2. 인과관계의 이해

-용어

      # 용어

               ▶종속변수(반응변수, y), 독립변수(설명변수, x), 산점도(Scatter Plot)

               ▶산점도에서 확인할 수 있는 것

                       두 변수 사이의 선형관계가 성립하는가?

                       두 변수 사이의 함수관계가 성립하는가?

                       이상값의 존재 여부와 몇 개의 집단으로 구분되는지를 확인

      # 공분산(Covariance)

               ▶두 변수 간의 상관 정도를 상관계수를 통해 확인할 수 있음

               ▶ (Cov(X, Y) = E[(Xᵢ - μₓ)  (Yᵢ - μᵧ)]

3. 상관분석(Correlation Analysis)

-정의와 특성

      # 상관분석: 두 변수간의 관계를 상관계수를 이용하여 알아보는 분석 방법

      # 상관계수가 1에 가까울수록 강한 양의 상관관계, 상관계수가 -1에 가까울수록 강한 음이 상관관계를 가짐

      # 상관계수가 0인 경우 데이터 간의 상관이 없음

-유형

구분 피어슨 스피어만
개념 등간척도 이상으로 측정된 두 변수의 상관관계 측정 순서, 서열 척도인 두 변수들 간의 상관관계를 측정
특징 연속형 변수, 정규성 가정 순서형 변수, 비모수적 방법
상관계수 적률상관계수  r 순위상관계수 p
R코드 cor(x, y, method=c("person", "kendall", "spearman"))

회귀분석

1. 회귀분석의 개요

-정의

      # 하나 또는 그 이상의 독립 변수들이 종속 변수에 미치는 영향을 추정할 수 있는 통계 기법

      # 독립 변수가 1개: 단순선형회귀분석, 독립 변수가 2개 이상: 다중선형회귀분석

      # 최소제곱법: 측정값을 기초로 제곱합을 만들고 그것의 최소인 값을 구하여 처리하는 방법, 잔차제곱합이 가장 작은 선을 선택

-회귀분석의 검정

      # 회귀식(모형)에 대한 검증: F-검증

      # 회귀계수들에 대한 검증: T-검증

      # 모형의 설명력은 결정계수(R^2)로 알 수 있으며 구하는 식은 R^2=회귀제곱합/전체제곱합=SSR/SST

      # 단순회귀분석의 결정계수는 상관계수 값의 제곱과 같음

-선형회귀분석

      #가정

선형성 입력변수와 출력변수의 관계가 선형
독립성 잔차와 독립변인은 관련이 없음
등분산성 독립변인의 모든 값에 대한 오차들의 분산이 일정
비상관성  관측치들의 잔차들끼리 상관이 없어야 함
정상성(정규성) 잔차항이 정규분포를 이뤄야 함

      # 다중선형회귀분석의 다중공선성(Multicolinearity)

               ▶다중회귀분석에서 설명변수들 사이에 강한 선형관계가 존재하면 회귀계수의 정확한 추정이 곤란

      # 다중공선성 검사 방법

               ▶분산팽창요인(VIF): 10보다 크면 심각한 문제

               ▶상태지수: 10 이상이면 문제가 있다고 보고, 30보다 크면 심각, 선형관계가 강한 변수는 제거

-회귀분석의 종류: 단순회귀, 다중회귀, 로지스틱회귀, 다항회귀, 곡선회귀, 비선형회귀

-변수선택법(Variable Selection)

      # 모든 가능한 조합: 모든 가능한 독립변수들의 조합에 대한 회귀모형을 분석해 가장 적합한 모형 선택

전진선택법
(Forward Selection)
절편만 있는 상수모형으로부터 시작해 중요하다고 생각되는 설명변수부터 차례로 모형에 추가
→ 이해 쉬움, 많은 변수에서 활용가능, 변수 값의 작은 변동에 결과가 달라져 안정성이 부족
후진제거법
(Backward Selection)
독립변수 후보 모두를 포함한 모형에서 가장 적은 영향을 주는 변수부터 하나씩 제거
→ 전체 변수들의 정보를 이용 가능, 변수가 많은 경우 활용이 어려움, 안정성 부족 
단계별방법
(Stepwise Method)
전진선택법에 의해 변수를 추가하면서 새롭게 추가된 변수에 기인해 기존 변수가 그 중요도가 약화되면 해당 변수를 제거하는 등 단계별로 추가 또는 삭제되는 변수를 검토해 더 이상 없을때 중단

시계열 분석

1. 시계열 자료

-개요

      # 시계열 자료(Time Series): 시간의 흐름에 따라 관찰된 값들

      # 시계열 데이터의 분석 목적: 미래의 값을 예측, 특성 파악(경향, 주기, 계절성, 불규칙성 등)

-정상성 (3가지를 모두 만족)

      # 평균이 일정(모든 시점에서 일정한 평균을 가짐)

      # 분산도 일정

      # 공분산도 특정시점에서 t, s에 의존하지 않고 일정

-시계열 모형

      # 자기회귀모형(AR, Autoregressive Model): p 시점 전의 자료가 현재 자료에 영향을 주는 모형

      # 이동평균모형(MA, Moving Average Model): 같은 시점의 백색잡음과 바로 전 시점의 백색잡음의 결합으로 이뤄진 모형

      #자기회귀누적이동평균모형(ARIMA(p,d,q))

               ▶d(차분) = 0 이면 정상성 만족, p=0 이면 d번 차분한 MA(q) 모델, q=0이면 d번 차분한 AR(p) 모델

-분해 시계열

      # 시계열에 영향을 주는 일반적인 요인을 시계열에서 분리해 분석하는 방법

               ▶추세요인(Trend Factor): 형태가 오르거나 또는 내리는 추세, 선형, 이차식, 지수형태

               ▶계절요인(Seasonal Factor): 요일, 월, 사분기 별로 변화하여 고정된 주기에 따라 자료가 변화

               ▶순환요인(Cyclical Factor): 명백한 경제적, 자연적 이유 없이 알려지지 않은 주기로 자료가 변화

               ▶불규칙요인(Irregular Factor): 위 세 가지의 요인으로 설명할 수 없는 회귀분석에서 오차에 해당하는 요인

 

다차원 척도법과 주성분분석

1. 다차원 척도법

-정의 및 목적

      # 군집분석과 같이 개체들을 대상으로 변수들을 측정한 후, 개체들 사이의 유사성/비유사성을 측정하여 개체들을 2차원 또는 3차원 공간 상에서 점으로 표현하는 분석방법

      # 목적: 개체들의 비유사성을 이용하여 2차원 공간상에 점으로 표시하고 개체들 사이의 집단화를 시각적으로 표현

-방법

      # 개체들의 거리 계산은 유클리드 거리행렬을 활용

      # d(x, y) = √(x₂ - x₁)² + (y₂ - y₁)²

      # STRESS: 개체들을 공간상에 표현하기 위한 방법으로 STRESS나 S-STRESS를 부적합도 기준으로 사용

               ▶최적모형의 적합은 부적합도를 최소로 하는 방법으로 일정 수준 이하로 될 때까지 반복해서 수행

-종류

계량적 MDS
(Metric MDS)
-데이터가 구간척도나 비율척도인 경우 활용(전통적인 다차원척도법)
-N개의 케이스에 대해 p개의 특성변수가 있는 경우, 각 개체들 간의 유클리드 거리행렬을 계산하고 개체들 간의 비유사성 S(거리제곱 행렬의 선형함수)를 공간상에 표현
비계량적 MDS
(Nonmetric MDS)
-데이터가 순서척도인 경우 활용
-개체들 간의 거리가 순서로 주어진 경우에는 순서척도를 거리의 속성과 같도록 변환(Monotone Transformation)하여 거리를 생성한 후 적용

2. 주성분분석

-정의 및 목적

      # 상관관계가 있는 변수들을 결합해 상관관계가 없는 변수로 분산을 극대화하는 분석으로, 선형결합으로 변수를 축약, 축소하는 기법

      # 목적: 여러 변수들을 소수의 주성분으로 축소하여 데이터를 쉽게 이해하고 관리. 주성분분석을 통해 차원을 축소하여 군집분석에서 군집화 결과와 연산 속도 개선, 회귀분석에서 다중 공선성을 최소화

-주성분분석 vs 요인분석

      # 요인분석(Factor Analysis): 등간척도(혹은 비율척도)로 두 개 이상의 변수들에게 잠재되어 있는 공통 인자를 찾아내는 기법

      # 공통점: 모두 데이터를 축소하는데 활용, 몇 개의 새로운 변수들로 축소

차이점 생성된 변수의 수와 이름 생성된 변수들 간의 관계 목표변수와의 관계
요인분석 몇 개로 지정할 수 없으나, 이름을 붙일 수 있음 생성된 변수들이 기본적으로 대등한 관계 목표변수를 고려하지 않고 주어진 변수들간 비슷한 성격들을 묶음
주성분분석 제 1주성분, 제 2주성분을 생성(보통 2개), 이름은 제 1주성붙과 같이 정해짐 제 1주성분, 제 2주성분 순으로 중요함 목표변수를 고려하여 주성분 변수 생성

-주성분의 선택법

      # 누적기여율(Cumulative Proportion)이 85% 이상이면 주성분의 수로 결정할 수 있음

      # Screen Plot에서 고윳값(Eigen Value)이 수평을 유지하기 전 단계로 주성분의 수를 선택

 

데이터 마이닝의 개요

1. 데이터 마이닝

-개요

      # 정의: 대용량 데이터에서 의미 있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 방법

      # 통계분석과 차이점: 가설이나 가정에 따른 분석, 검증을 하는 통계분석과 달리 데이터마이닝은 다양한 수리 알고리즘을 이용해 데이터베이스의 데이터로부터 의미있는 정보를 추출

      # 활용분야: 분류, 예측, 군집화, 시각화 등

      # 방법론: 의사결정나무, 로지스틱 회귀분석, 최근접 이웃법, 군집분석, 연관규칙 분석 등

-분석 방법

지도학습 비지도 학습
-의사결정나무(Decision Tree)
-인공신경망(Artificial Neural Network)
-로지스틱 회귀분석(Logistic Regression)
-최근접 이웃법(k-Nearest Neighbor)
-사례기반 추론(Case-Based Reasoning)
-OLAP(On-Line Analytic Processing)
-연관 규칙 분석(Association Rule Analysis)
-군집분석(k-Means Clustering)
-SOM(Self Organizing Map)

-데이터 마이닝 추진단계

1. 목적설정 데이터 마이닝을 위한 명확한 목적 설정
2. 데이터 준비 모델링을 위한 다양한 데이터을 준비, 데이터 정제를 통해 품질을 보장
3. 데이터 가공 목적변수 정의, 모델링을 위한 데이터 형식으로 가공
4. 기법 적용 데이터 마이닝 기법을 적용하여 정보를 추출
5. 검증 마이닝으로 추출한 결과를 검정하고 업무에 적용해 기대효과를 전파

-데이터 분할

      # 구축용(Training Data): 50%의 데이터를 모델링을 위한 훈련용으로 활용

      # 검증용(Validation Data): 30%의 데이터를 구축된 모형의 과대/과소 추정의 판정 목적으로 활용

      # 시험용(Test Data): 20%의 데이터를 테스트 데이터나 과거 데이터로 활용하여 모델의 성능 평가에 활용

 

분류분석

1. 분류분석과 예측분석

-개요

공통점 레코드의 특정 속성의 값을 미리 알아 맞히는 것
차이점 분류는 레코드의 범주형 속성의 값을 알아 맞히는 것
예측을 레코드의 연속형 속성의 값을 알아 맞히는 것
분류의 예 학생들의 국어, 영어 등 점수를 통해 내신등급을 예측
카드회사에서 회원들의 가입 정보를 통해 1년 후 신용등급을 예측
예측의 예 학생들의 여러 가지 정보를 입력해 수능점수를 예측
카드회사에서 회원들의 가입정보를 통해 연 매출액을 예측
분류 모델링 신용평가모형, 사기방지모형, 이탈모형, 고객세분화
분류기법 로지스틱 회귀분석
의사결정나무, CART
나이브 베이즈 분류
인공신경망
서포트 벡터 머신
K 최근접 이웃
규칙기반의 분류와 사례기반추론

2. 의사결정나무

-정의와 특징

      # 분류 함수를 의사결정 규칙으로 이뤄진 나무 모양으로 그리는 방법으로, 의사결정 문제를 시각화해 의사결정이 이뤄지는 시점과 성과를 한눈에 볼 수 있게 함

      # 주어진 입력값에 대해 출력값을 예측하는 모형으로 분류나무와 회귀나무 모형이 있음

      # 특징

               ▶계산 결과가 의사결정나무에 직접 나타나게 돼 분석이 간편함

               ▶분류 정확도가 좋음

               ▶계산이 복잡하지 않아 대용량 데이터에서도 빠르게 만들 수 있음

               ▶비정상 잡음 데이터에 대해서도 민감함 없이 분류

               ▶한 변수와 상관성이 높은 다른 불필요한 변수가 있어도 크게 영향받지 않음

-활용

      # 세분화(Segmentation): 데이터를 비슷한 특성을 갖는 몇 개의 그룹으로 분할해 그룹별 특성을 발견

      # 분류(Classification): 관측개체를 여러 예측변수들에 근거해 목표변수의 범주를 몇개의 등급으로 분류하고자 하는 경우

      # 예측(Prediction): 자료에서 규칙을 찾아내고 이를 이용해 미래의 사건을 예측하고자 하는 경우

      # 차원축소 및 변수선택(Reduction, Variable Selection): 매우 많은 수의 예측변수 중 목표변수에 영향을 미치는 변수들을 골라내고자 하는 경우

      # 교호작용효과의 파악(Interaction Effect Identification): 여러 개의 예측변수들을 결합해 목표 변수에 작용하여 파악하고자 하는 경우

      # 범주의 병합 또는 연속형 변수의 이산화(Binning): 범주형 목표변수의 범주를 소수의 몇 개로 병합하거나 연속형 목표변수를 몇 개의 등급으로 이산화 하고자 하는 경우

-의사결정나무의 분석 과정

      # 분석 단계: 성장 → 가지치기 → 타당성 평가 → 해석 및 예측

      # 가지치기(Pruning): 너무 큰 나무 모형은 자료를 과대적합하고 너무 작은 나무 모형은 과소적합 할 위험이 있어 마디에 속한 자료가 일정 수 이하일 경우, 분할을 정지하고 가지치기 실시

      # 불순도에 따른 분할 측도: 카이제곱 통계량, 지니지수, 엔트로피 지수

-의사결정나무 분석의 종류

      # CART(Classification and RegressionTree)

               ▶목적변수가 범주형인 경우 지니지수, 연속형인 경우 분산을 이용해 이진분리를 사용

               ▶개별 입력변수뿐만 아니라 입력변수들의 선형결합들 중 최적의 분리를 찾을 수 있음

      # C4.5와 C5.0

               ▶다지분리(Multiple Split)가 가능하고 범주형 입력 변수의 범주 수만큼 분리 가능

               ▶불순도의 측도로 엔트로피 지수 사용

      # CHAID(Chi-Square Automatic Interaction Detection)

               ▶가지치기를 하지 않고 적당한 크기에서 나무모형의 성장을 중지하며 입력변수가 반드시 범주형 변수여야 함

               ▶불순도의 측도로 카이제곱 통계량 사용

3. 앙상블 기법

-개요

      # 주어진 자료로부터 여러 개의 예측모형들을 만든 후 조합하여 하나의 최종예측모형을 만드는 방법

      # 다중 모델 조합(Combining Multiple Models), Classifier Combination 방법이 있음

      # 학습 방법의 불안전성을 해결하기 위해 고안된 기법

      # 가장 불안정성을 가지는 기법은 의사결정나무, 가장 안정성을 가지는 기법은 1-Nearest Neighbor

-기법의 종류

배깅
(Bagging: Bootstrap
Aggregating)
-여러 개의 붓스트랩 자료를 생성하고 각 붓스트랩 자료의 예측모형 결과를 결합하여 결과를 선정
-배깅은 훈련자료를 모집단으로 생각하고 평균 예측모형을 구한 것과 같아 분산을 줄이고 예측력을 향상시킬 수 있음
부스팅
(Boosting)
-예측력이 약한 모형(Weak Learner)들을 결합하여 강한 예측모형을 만드는 방법
-훈련 오차를 빨리 그리고 쉽게 줄일 수 있고, 예측오차의 향상으로 배깅에 비해 뛰어난 예측력을 보임
랜덤 포레스트
(Random Forest)
-의사결정나무의 특징인 분산이 크다는 점을 고려하여 배깅과 부스팅보다 더 많은 무작위성을 주어 약한 학습기들을 생성한 후 이를 선형 결합하여 최종 학습기를 만드는 방법
-이론적 설명이나 해석이 어렵다는 단점이 있지만 예측력이 매우 높은 장점이 있음
-입력변수가 많은 경우 더 좋은 예측력을 보임

4. 성과분석

-오분류표를 통한 모델 평가

  Condition  
Positive Negative
Prediction Positive True Positive / TP False Positive / FP 정밀도(Precision)
TP/(TP+FP)
Negative False Negative / FN True Negative /TN  
  민감도(Sensitivity)
재현율(Recall)
=TP/(TP + FN)
특이도(Specificity)
TN/(TN + FP)
 

      # F1 Score = 2 * {(정밀도 * 재현율) / (정밀도 + 재현율)}

-ROC(Receiver Operation Characteristic)

      # 민감도와 1-특이도를 활용하여 모형을 평가

      # AUROC(ROC 커브 밑부분의 넓이): 1이 될수록 좋음

5. 인공신경망

-신경망의 연구

      # 인공신경망은 뇌를 기반으로 한 추론 모델

      # 1943년 매컬럭과 피츠: 인간의 뇌를 수많은 신경세포가 연결된 하나의 디지털 네트워크 모형으로 간주하고 신경세포의 신호처리 과정을 모형화하여 단순 패턴분류 모형을 개발

      # 헵(Hebb): 신경세포(뉴런) 사이의 연결강도(Weight)를 조정하여 학습규칙 개발

      # 로젠블럿(Rosenblatt, 1955): 퍼셉트론(Perceptron)이라는 인공 세포 개발, 비선형성의 한계점 발생 

      # 홉필드, 러멜하트, 맥클랜드: 역전파 알고리즘(Backpropagation)을 활용하여 비선형성을 극복한 다계층 퍼셉트론으로 새로운 인공신경망 모형 등장

-뉴런

      # 인공신경망은 뉴런이라는 아주 단순하지만 복잡하게 연결된 프로세스로 이루어져 있음

      # 뉴런은 가중치가 있는 링크들로 연결되어 있으며, 뉴런은 여러 개의 입력신호를 받아 하나의 출력신호를 생성

      # 뉴런은 전이함수, 즉 활성화함수(Activation Function)를 사용

               ▶뉴런은 입력 신호의 가중치 합을 계산하여 임계값과 비교

               ▶가중치 합이 임계값보다 작으면 뉴런의 출력은 -1, 같거나 크면 +1을 출력함

6. 로지스틱 회귀분석

-개요

      # 반응변수가 범주형이 경우에 적용되는 회귀분석모형

      # 새로운 설명변수(또는 예측변수)가 주어질 때 반응변수의 각 범주(또는 집단)에 속할 확률이 얼마인지를 추정(예측모형)하여, 추정 확률을 기준치에 따라 분류하는 목적(분류모형)으로 활용

      # 이때 모형의 적합을 통해 추정된 확률을 사후확률이라고 함

      # exp(β₁)의 의미는 나머지 변수(x₁, x₂, ..., xₖ)가 주어질 때, x₁이 한 단위 증가할 때마다 성공(Y=1)의 오즈가 몇 배 증가하는지를 나타내는 값

 

군집분석

1. 군집분석

-개요

      # 각 객체(대상)의 유사성을 측정하여 유사성이 높은 대상 집단을 분류하고, 군집에 속한 객체들의 유사성과 서로 다른 군집에 속한 객체 간의 상이성을 규명하는 분석방법

      # 특성에 따라 고객을 여러 개의 배타적인 집단으로 나누는 것으로 군집의 개수, 구조에 대한 가정 없이 데이터로부터 거리 기준으로 군집화 유도

-특징

      # 비지도학습법에 해당하여 타깃변수(종속변수)의 정의가 없이 학습이 가능

      # 데이터를 분석의 목적에 따라 적절한 군집으로 분석자가 정의 가능

      # 요인분석과의 차이: 유사한 변수를 함께 묶어주는 목적이 아니라 각 데이터(객체)를 묶어 줌

      # 판별분석과의 차이: 판별분석은 사전에 집단이 나누어져 있어야 하고 군집분석은 집단이 없는 상태에서 집단을 구분

-거리 측정 방법

      # 연속형 변수: 유클리드 거리, 표준화 거리, 마할라노비스 거리, 체비셔프 거리, 맨해튼 거리, 캔버라 거리, 민코우스키 거리 등

      # 범주형 변수: 자카드 거리 등

-계층적 군집분석

      # n개의 군집으로 시작해 점차 군집의 개수를 줄여나가는 방법

최단연결법 -n*n 거리행렬에서 거리가 가장 가까운 데이터를 묶어서 군집을 형성
-군집과 군집 또는 데이터와의 거리를 계산시 최단거리를 거리로 계산하여 거리행렬 수정
-수정된 거리행렬에서 거리가 가까운 데이터 또는 군집을 새로운 군집으로 형성
최장연결법 -군집과 군집 또는 데이터와의 거리를 계산시 최장거리를 거리로 계산하여 거리행렬 수정
평균연결법 -군집과 군집 또는 데이터와의 거리를 계산시 평균거리를 거리로 계산하여 거리행렬 수정
와드연결법 -군집 내 편차들의 제곱합을 고려한 방법으로 군집 간 정보의 손실을 최소화하기 위해 군집화를 진행

-비계층적 군집분석

      # n개의 개체를 k개의 군집으로 나눌 수 있는 모든 가능한 방법을 점검해 최적화한 군집을 형성하는 것

      # K-평균 군집분석(K-Means Clustering)

      # 프로세스

               ▶ 원하는 군집의 개수와 초기 값(seed)들을 정해 seed 중심으로 군집을 형성

               ▶각 데이터를 거리가 가장 가까운 seed가 있는 군집으로 분류

               ▶각 군집의 seed 값을 다시 계산

               ▶모든 개체가 군집으로 할당될 때까지 위 과정들을 반복

      # 장점과 단점

장점 단점
주어진 데이터의 내부구조에 대한 사정정보 없이 의미있는 자료구조를 찾을 수 있음 가중치와 거리 정의가 어려움
다양한 형태의 데이터에 적용이 가능함 초기 군집 수를 결정하기 어려움
분석방법 적용이 용이함  사전에 주어진 목적이 없으므로 결과 해석이 어려움

-혼합 분포 군집(Mixture Distribution Clustering)

      # 모형 기반(Model-Based)의 군집 방법이며, 데이터가 k개의 모수적 모형(흔히 정규분포 또는 다변량 정규분포를 가정함)의 가중합으로 표현되는 모집단 모형으로부터 나왔다는 가정하에서 가중치를 자료로부터 추정하는 방법을 사용

      # k개의 각 모형은 군집을 의미하며 , 각 데이터는 추정된 k개의 모형 중 어느 모형으로부터 나왔을 확률이 높은지에 따라 군집의 분류가 이루어짐

      # 흔히 혼합모형에서의 모수와 가중치의 추정(최대가능도추정)에는 EM 알고리즘이 사용

      # 혼합 분포 군집 모형의 특징

               ▶K-평균 군집의 절차와 유사하지만 확률분포를 도입하여 군집을 수행

               ▶군집을 몇 개의 모수로 표현할 수 있으며, 서로 다른 크기나 모양의 군집을 찾을 수 있음

               ▶EM 알고리즘을 이용한 모수 추정에서 데이터가 커지면 수렴에 시간이 걸림

               ▶군집의 크기가 너무 작으면 추정의 정도가 떨어지거나 어려움

               ▶K-평균 군집과 같이 이상치 자료에 민감하므로 사전에 조치가 필요

-SOM(Self-Organizing Map)

      # SOM(자기조직화지도) 알고리즘은 코호넨에 의해 제시, 개발되었으면 코호넨 맵이라고도 알려져 있음

      # SOM은 비지도 신경망으로 고차원의 데이터를 이해하기 쉬운 저 차원의 뉴런으로 정렬하여 지도의 형태로 형상화, 이러한 형상화는 입력 변수의 위치 관계를 그대로 보존한다는 특징이 있음. 다시 말해 실제 공간의 입력 변수가 가까이 있으면, 지도 상에도 가까운 위치에 있게 됨

      # SOM의 특징

               ▶고차원의 데이터를 저차원의 지도 형태로 형상화하기 때문에 시각적으로 이해가 쉬움

               ▶입력 변수의 위치 관계를 그대로 보존하기 때문에 실제 데이터가 유사하면 지도상에서 가깝게 표현되며, 이런 특징 때문에 패턴 발견, 이미지 분석 등에서 뛰어난 성능을 보임

               ▶역전파 알고리즘 등을 이용하는 인공신경망과 달리 단 하나의 전방 패스(Feed-Forward Flow)를 사용함으로써 속도가 매우 빠르므로 실시간 학습처를 할 수 있는 모형임

 

연관분석

1. 연관분석

-개요

      # 기업의 데이터베이스에서 상품의 구매, 서비스 등 일련의 거래 또는 사건들 간의 규칙을 발견하기 위한 분석. 흔히 장바구니 분석, 순차분석 등이 있음

      # 장바구니 분석: 장바구니에 무엇이 같이 들어 있는지에 대해 분석.

          ex) 주말을 위해 목요일에 기저귀를 사러 온 30대 직장인 고객은 맥주도 함께 사감

      # 순차 분석: 구매 이력을 분석해서 A 품목을 산 후 추가 B 품목을 사는지를 분석

          ex) 휴대폰을 새로 구매한 고객은 한 달 내에 휴대폰 케이스를 구매

-형태

      # 조건과 반응의 형태(if-then)

-측도

지지도
(Support)
전체 거래 중 항목 A와 항목 B를 동시에 포함하는 거래의 비율로 정의
지지도 = A와 B가 동시에 포함된 거래 수 / 전채 거래 수
신뢰도
(Confidence)
항목 A를 포함한 거래 중에서 항목 A와 항목 B가 같이 포함 될 확률. 연관성의 정도를 파악할 수 있음
신뢰도 = A와 B가 동시에 포함 된 거래 수 / A를 포함하는 거래 수
향상도
(Lift)
A가 주어지지 않았을 때의 품목 B의 확률에 비해 A가 주어졌을 때의 품목 B의 확률의 증가 비율
연관규칙 A → B는 품목 A와 품목 B의 구매가 서로 관련이 없는 경우에 향상도가 1이 됨
향상도 = A와 B가 동시에 포함 된 거래 수 / (A를 포함하는 거래 수 * B를 포함하는 거래 수)

-특징

      #장점과 단점

장점 단점
탐색적인 기법
조건 반응으로 표현되는 연관성분석 결과를 쉽게 이해 할 수 있음
상당한 수의 계산과정
품목 수가 증가하면 분석에 필요한 계산은 기하급수적으로 늘어남
강력한 비목적성 분석기법
분석 방향이나 목적이 특별히 없는 경우 목적 변수가 없으므로 유용하게 활용 됨
적절한 품목의 결정
너무 세분화한 품목을 갖고 연관석 규칙을 찾으면 수많은 연관성 규칙들이 발견되겠지만, 실제 발생 비율 면에서 의미 없는 분석이 될 수도 있음
사용이 편리한 분석 데이터의 형태
거래 내용에 대한 데이터를 변환 없이 그 자체로 이용
품목의 비율차이
사용 될 모든 품목들 자체가 전체자료에서 동일한 빈도를 갖는 경우, 연관성 분석은 가장 좋은 결과를 얻음. 그러나 거래량이 적은 품목은 당연히 포함된 거래 수가 적을 것이고 규칙 발견 과정 중에서 제외되기 쉬움
계산의 용이성
분석을 위한 계산이 상당히 간단
 

-평가기준 적용 시 주의점

      # 두 항목의 신뢰도가 높다고 해서 꼭 두 항목이 높은 연관관계가 있는 것은 아님(지지도를 함께 고려)

               ▶만일 두 항목의 신뢰도가 높게 나왔어도 전체 항목 중 두 항목의 동시 구매율인 지지도가 낮게 나온다면 두 항목 간 연관성을 신뢰하기에는 부족한 점이 있음

               ▶즉, 구매율 자체가 낮은 항목이기에 일반적인 상관관계로 보기엔 어려움

      # 지지도와 신뢰도가 모두 높게 나왔더라도 꼭 두 항목이 높은 연관관계가 있는 것은 아님(향상도를 함께 고려)

               ▶일반적으로 빈번하게 구매되는 항목들에 대해서는 지지도와 신뢰도가 높게 나올 수 있음

      # A, B 두 항목의 신뢰도(Confidence(A→B))가 높게 나왔을 때, 전체거래에서 B의 자체 구매율 보다 A의 자체 구매율이 더 높아야 의미 있는 정보임

-Apriori 알고리즘

      # 어떤 항목 집합이 빈발한다면, 그 항목 집합의 모든 부분 집합도 빈발

728x90
반응형

'Certificate > ADSP' 카테고리의 다른 글

[ADsP] 공부 - 2과목  (0) 2023.10.16
[ADsP] 공부 - 1과목  (1) 2023.10.15
[ADsP] 단답형 문제 정리 - 3과목  (1) 2023.10.15
[ADsP] 단답형 문제 정리 - 2과목  (0) 2023.10.14
[ADsP] 단답형 문제 정리 - 1과목  (0) 2023.10.14

+ Recent posts