티스토리 뷰

ADsP

[ADsP] 3과목 - 데이터 분석

Aaron 2019. 3. 7. 09:38
반응형


1장. 데이터 분석 개요

1절) 데이터 분석 기법의 이해

ㅇ데이터 처리 과정

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

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


ㅇ시각화 기법

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


ㅇ공간분석(GIS)

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


ㅇ탐색적 자료분석(EDA : Exploratory data analysis)

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

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


ㅇ통계분석

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

  - 기술통계 : 모집단으로부터 표본을 추출하고 표본이 가지고 있는 정보를 쉽게 파악할 수 있도록 데이터를 정리하거나 요약하기 위해 하나의 숫자, 또는 그래프의 형태로 표현하는 절차

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


ㅇ데이터 마이닝

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

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


ㅇ 데이터 마이닝 모델링 성능 평가 기준

  - 정확도

  - 정밀도

  - Detect Rate

  - Lift



2장. R프로그래밍 기초



3장. 데이터 마트

1절) 데이터 변경 및 요약

ㅇ 데이터 마트(DM)

  - 데이터 웨어하우스(DW)와 사용자 사이의 중간층에 위치한 것으로, 하나의 주제 또는 하나의 부서 중심의 데이터 웨어하우스


ㅇ 요약변수 

  - 수집된 정보를 분석에 맞게 종합한 변수

  - 총구매 금액, 금액, 횟수, 구매 여부

  - 재활용성이 높음


ㅇ 파생변수

  - 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 ㄹ만들어 의미를 부여한 변수

  - 세분화, 고객행동 예측, 캠페인 반응 예측


ㅇ reshape 패키지

  - melt()

  - cast() 


ㅇ sqldf 

  - R에서 sql 명령어를 사용 가능하게 해주는 패키지


ㅇ plyr

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


ㅇ 데이터 테이블 (Data Table)

  - R에서 가장 많이 사용하는 데이터 핸들링 패키지

  - 큰 데이터를 탐색, 연산, 병합하는데 유용

  - data.frame보다 월등히 빠른 속도


2절) 데이터 가공

ㅇ summary(data)

  - 수치형 변수 : 최대값, 최소값, 평균, 1Q, 2Q(중앙값), 3Q

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


ㅇ klaR 패키지

  - 특정 변수가 주어졌을 때 클래스가 어떻게 분류되는지에 대한 에러율을 계산

  - 그래픽으로 시각화

  - Wilk's Lambda = 집단내분산/총분산 -> 작을수록 더 잘 설명


ㅇ 변수의 구간화

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

  - binning, 의사결정나무 방식을 자주 활용


3절) 기초 분석 및 데이터 관리

ㅇ 데이터 탐색적 자료 분석(EDA)

  - 데이터 분석에 앞서 전체적으로 데이터의 특징을 파악

  - 데이터를 다양한 각도로 접근

  - summary() 함수를 이용하여 데이터의 기초 통계량을 확인


ㅇ결측값

  - NA : Not Available

  - NAN : Not a Number


ㅇ 결측값 처리 방법

  - 단순 대치법

     ㄴ completes analysis : 결측값이 존재하는 레코드를 삭제

     ㄴ 평균 대치법(Mean Imputation) : 데이터의 평균으로 대치

     ㄴ 단순확률 대치법 : 평균대치법에서 추정량 표준 오차의 과소 추정문제를 보완하고자 고안된 방법(Hot-deck,nearest neighbor 방법)

  - 다중 대치법 

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

     : 1단계 : 대치 / 2단계 : 분석 / 3단계 : 결합


ㅇ R에서의 결측값 처리 함수

  - complete.cases() : 결측값이 있으면 FALSE, 없으면 TRUE 반환

  - ins.na() : 결측값이 있으면 TRUE, 없으면 FALSE 반환

  - DMwR.centrallmputation() : NA 값에 가운데 값으로 대치, 숫자는 중위수, 요인은 최빈값으로

  - DMwR.knnImputation() : NA 값을 k최근 이웃 분류 알고리즘을 사용하여 대치

  - Amelia.amelia()


ㅇ 이상값

  - 의도치 않게 잘못 입력한 경우

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

  - 의도된 이상값인 경우 ..


ㅇ 이상값의 인식 방법

 - ESD(Extreme Studentized Deviation)

   ㄴ 평균으로부터 3 표준편차 떨어진 값

   ㄴ 기하평균 - 2.5 x 표준편차 < data < 기하평균 + 2.5 x 표준편차

   ㄴ 사분위수 이용하여 제거하기(상자 그림의 outer fence 밖에 있는 값 제거)

       이상값 정의 : Q1 - 1.5(Q3-Q1) < data < Q3 - 1.5(Q3-Q1)


ㅇ 극단값 절단 방법

  - 기하평균을 이용한 제거 : geo_mean

  - 하단, 상단 % 이용한 제거 : 10% 절단 (상-하위 5%에 해당되는 데이터 제거)


ㅇ 극단값 조정 방법

  - 상한값과 하한값을 벗어나는 값들을 하한, 상한값으로 바꾸어 활용




4장. 통계분석

1절) 통계분석의 이해

ㅇ 표본 조사

  - 모집단 : 조사하고자 하는 대상 집단 전체

  - 원소 : 모집단을 구성하는 개체

  - 표본 : 조사하기 위해 추출한 모집단의 일부 원소

  - 모수 : 표본 관측에 의해 구하고자 하는 모집단에 대한 정보


ㅇ 표본 추출 방법

  - 단순랜덤추출법 : 각 샘플에 번호를 부여하여 임의의 n개를 추출하는 방법, 선택 확률이 동일

  - 계통추출법 : 단순랜덤추출법의 변형된 방식, K개씩 띄어서 표본 선택, 매 k번째 항목을 추출

  - 집락추출법 : 군집별로 단순랜덤 추출법을 수행

  - 층화추출법 : 유사한 원소끼리 몇 개의 층으로 나누어 각 층에서 랜덤 추출


ㅇ 측정 방법

  - 명목척도 : 측정 대상이 어느 집단에 속하는지 (성별, 출생지 등)

  - 순서척도 : 측정 대상의 서열관계를 관측 (만족도, 선호도, 학년, 신용등급 등)

  - 구간(등간)척도 : 측정 대상이 갖고 있는 속성의 양을 측정, 구간이나 구간 사이의 간격이 의미 (온도, 지수 등)

  - 비율척도 : 간격에 대한 비율이 의미, 절대적 기준인 0이 존재, 사칙연산 가능 (무게, 나이, 시간, 거리 등)


ㅇ 통계분석

  - 특정한 집단이나 불확실한 현상을 대상으로 자료를 수집해 대상 집단에 대한 정보를 구하고, 적절한 통계분석 방법을 이용해 의사결정을 하는 과정


ㅇ 기술통계

  - 통계집단들의 여러 특성을 수량화하여 객관적인 데이터로 나타내는 통계분석 방법론

  - 평균, 표준편차, 중위수, 최빈값, 그래프, 왜도, 첨도 등


ㅇ 통계적 추론(추측 통계)

  - 수집된 자료를 이용해 대상 집단(모집단)에 대한 의사결정

  - 모수추정 / 가설검정 / 예측


ㅇ 이산형 확률변수 : 0이 아닌 확률값을 갖는 확률 변수를 셀 수 있는 경우

  - 베르누이 확률분포 : 결과가 2개만 나오는 경우

  - 이항분포 : 베르누이 시행을 n번 반복했을 때, k번 성공할 확률

  - 기하분포 : 성공확률이 p인 베르누이 시행에서 첫 번째 성공이 있기까지 x번 실패할 확률

  - 다항분포 : 이항분포의 확장, 세가지 이상의 결과를 가지는 반복 시행에서 발생하는 확률 분포

  - 포아송분포 : 시간과 공간 내에서 발생하는 사건의 발생횟수


ㅇ 연속형 확률변수 : 가능한 값이 실수의 어느 특정구간 전체에 해당하는 확률변수

  - 균일분포 : 모든 확률변수 X가 균일한 확률을 가지는 확률분포

  - 정규분포 : 평균이 M, 표준편차가 sigma인 x의 확률밀도함수

  - 지수분포 : 어떤 사건이 발생할 때까지 경과 시간에 대한 연속확률분포

  - t-분포 : 평균이 0 을 중심으로 좌우가 동일한 분포, 두 집단의 평균이 동일한지 알고자 할 때 검정통계량으로 활용

  - x^2-분포 : 모평균과 모분산이 알려지지 않은 모집단의 모분산에 대한 가설 검정에 사용, 두 집단 간의 동질성 검정에 활용

  - F-분포 : 두 집단간 분산의 동일성 검정


ㅇ 추정 : 표본으로부터 미지의 모수를 추측하는 것

  - 점추정 : 모수가 특정한 값일 것 이라고 추정 (표본의 평균, 중위수, 최빈값 등 사용)

  - 구간추정 : 점추정의 정확성을 보완, 모수가 특정한 구간에 있을 것이라고 선언, 신뢰수준 필요

> t.test(chickwts$weight)

One Sample t-test


data:  chickwts$weight

t = 28.202, df = 70,  # 자유도(degree of freedom)

p-value < 2.2e-16

alternative hypothesis: true mean is not equal to 0

95 percent confidence interval:  # 95%의 신뢰구간(구간추정)

 242.8301 279.7896

sample estimates:

mean of x   # 점추정량

 261.3099


ㅇ 가설검정 : 모집단에 대한 어떤 가설을 설정한 뒤, 표본관찰을 통해 그 가설의 채택여부를 결정하는 분석방법

  - 귀무가설 : 비교하는 값과 차이가 없다. 동일하다 를 기본개념으로 하는 가설

  - 대립가설 : 뚜렷한 증거가 있을 때 주장하는 가설

  - 검정통계량 : 관찰된 표본으로부터 구하는 통계량, 검정 시 가설의 진위를 판단하는 기준

  - 유의수준 : 귀무가설을 기각하게 되는 확률의 크기, 귀무가설이 옳은데도 이를 기각하는 확률의 크기

  - 기각역 : 귀무가설이 옳다는 전제 하에서 구한 검정통계량의 분포에서 확률이 유의수준 alpha인 부분


ㅇ 오류

  - 제 1종 오류 : 귀무가설이 옳은데도 귀무가설을 기각하게 되는 오류

  - 제 2종 오류 : 귀무가설이 옳지 않은데도 귀무가설을 채택하게 되는 오류

   * 제 1종 오류 alpha의 크기를 고정시킨 뒤(0.1, 0.05, 0.01 등) 제 2종 오류 beta가 최소가 되도록 기각역을 설정


ㅇ 모수에 대한 검정

  - 모수적 방법 

     ㄴ 검정하고자 하는 모집단의 분포에 대한 가정하에서 검정통계량과 검정통계량의 분포를 유도해 검정을 실시

     ㄴ 가정된 분포의 모수에 대해 가설을 설정

     ㄴ 관측도니 자료를 이용해 구한 표본평균, 표본분산 등을 이용해 검정 실시

  - 비모수적 방법

     ㄴ 추출된 모집단의 분포에 대한 아무 제약을 가하지 않고 검정을 실시

     ㄴ 관측된 자료가 특정분포를 따른다고 가정할 수 없는 경우 이용

     ㄴ 관측된 자료의 수가 많지 않거나(30개 미만) 자료가 개체간의 서열관계를 나타내는 경우 이용

     ㄴ 분포의 형태에 대해 설정

     ㄴ 관측값의 절대적인 크기에 의존하지 않는 관측값들의 순위나 두 관측값 차이의 부호 등을 이용하여 검정

     ㄴ 부호검정, 윌콕슨의 순위합검정, 윌콕슨의 부호순위합검정, 만-위트니의 U검정, 런검정, 스피어만의 순위상관계수


2절) 기초 통계분석

ㅇ 왜도 : 분포의 비대칭정도를 나타내는 측도

  - m3 > 0 : 오른쪽으로 긴 꼬리를 갖는 분포

  - m3 = 0 : 좌우 대칭의 분포

  - m3 < 0 : 왼쪽으로 긴 꼬리를 갖는 분포


ㅇ 첨도 : 분포의 중심에서 뾰족한 정도를 나타내는 측도

  - m4 > 0 : 표준정규분포보다 더 뾰족함

  - m4 = 0 : 표준정규분포와 유사한 뾰족함

  - m4 < 0 : 표준정규분포보다 덜 뾰족함


ㅇ 그래프를 이용한 자료 정리

  - 히스토그램 : 연속형 데이터, 도수분포표를 그래프로 나타낸 것

  - 막대그래프 : 범주형 데이터

  - 줄기-잎 그림 : 데이터를 줄기와 잎의 모양으로 그린 그림

  - 상자그림 : 다섯 숫자 요약을 통해 그림으로 표현 (최소값, Q1, Q2, Q3, 최대값)


ㅇ 인과관계

  - 종속변수(반응변수, 결과변수, Y) : 다른 변수의 영향을 받는 변수

  - 독립변수(설명변수,  예측변수, X) : 영향을 주는 변수

  - 산점도 : 좌표평명 위에 점들로 표현한 그래프

  - 공분산 : 두 확률변수 X, Y의 방향의 조합(선형선)


ㅇ 상관분석

  - 두 변수간의 관계의 정도를 알아보기 위함

  - 두 변수의 상관관계를 알아보기 위해 상관계수를 이용


ㅇ 상관분석의 유형

  - 피어슨 : 등간척도, 연속형 변수, 정규성 가정, 적률상관계수

  - 스피어만 : 서열척도, 순서형 변수, 비모수적 방법, 순위상관계수


ㅇ 상관분석을 위한 R 코드

  - 분산 : var

  - 공분산 : cov

  - 상관관계 : cor


ㅇ 상관분석 예

> data(mtcars)

> a <- mtcars$mpg

> b <- mtcars$hp

> cor(a,b)    # 공분산 (음의 방향성)

[1] -0.7761684

> cov(a,b)   # 상관계수 (강한 음의 상관관계)

[1] -320.7321

> cor.test(a, b, method='pearson')


Pearson's product-moment correlation


data:  a and b

t = -6.7424, df = 30, p-value = 1.788e-07   # mpg와 hp가 상관관계가 있다는 해석

alternative hypothesis: true correlation is not equal to 0

95 percent confidence interval:

 -0.8852686 -0.5860994

sample estimates:

       cor 

-0.7761684 


3절) 회귀분석

회귀분석

  - 독립변수들이 종속변수에 미치는 영향을 추정할 수 있는 통계기법

  - 변수들 사이의 인과관계를 밝힘


ㅇ 선형회귀분석의 가정

  - 선형성 : 입력변수와 출력변수의 관계가 선형

  - 등분산성 : 오차의 분산이 입력변수와 무관하게 일정 (잔차(residuals)들의 변동성=분산)

  - 독립성 : 입력변수와 오차는 관련이 없음

  - 비상관성 : 오차들끼리 상관이 없음

  - 정상성(정규성) : 오차의 분포(잔차항)가 정규분포를 따름 (Q-Q plot을 사용하여 대각방향의 직선 형태를 지닐 경우)


ㅇ 가정에 대한 검증

  - 단순선형회귀분석 : 입력변수와 출력변수간의 선형성을 점검하기 위해 산점도를 확인

  - 다중선형회귀분석 : 선형회귀분석의 가정인 선형성, 등분산성, 독립성, 정상성이 모두 만족하는지 확인


ㅇ 단순선형회귀분석

  - 하나의 독립변수가 종속변수에 미치는 영향을 추정할 수 있는 통계기법


ㅇ 회귀분석에서의 검토사항

  - 회귀계수들이 유의미한가? : 해당 계수의 t 통계량의 p-value

  - 모형이 얼마나 설명력을 갖는가? : 결정계수(R^2)를 확인, 0~1값

  - 모형이 데이터를 잘 적합하고 있는가? : 잔차를 그래프로 그리고 회귀진단


ㅇ 회귀계수의 추정(최소제곱법, 최소승자법)

  - 측정값을 기초 적당한 제곱합을 만들고 그것을 최소로 하는 값을 구하여 측정결과를 처리하는 방법 

  - 잔차제곱이 가장 작은 선을 구하는 것


ㅇ 선형회귀분석 예

> x <- c(19, 23, 26, 29, 30, 38, 39, 46, 49)

> y <- c(33, 51, 40, 49, 50, 69, 70, 64, 89)

> lm(y~x)

Call:

lm(formula = y ~ x)


Coefficients:

(Intercept)            x  

      6.409        1.529  


> summary(lm(y~x))

Call:

lm(formula = y ~ x)


Residuals:

    Min      1Q  Median      3Q     Max 

-12.766  -2.470  -1.764   4.470   9.412 


Coefficients:

            Estimate Std. Error t value Pr(>|t|)    

(Intercept)   6.4095     8.9272   0.718 0.496033    

x             1.5295     0.2578   5.932 0.000581 ***    # x의 회귀계수인 t통계량(회귀계수의 추정치들이 통계적으로 유의)

# 회귀식 : 6.4095 + 1.5295 * x

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


Residual standard error: 7.542 on 7 degrees of freedom

Multiple R-squared:  0.8341,   결정계수(보통 80% 이상이면 데이터를 적절하게 설명)

Adjusted R-squared:  0.8104 

F-statistic: 35.19 on 1 and 7 DF,  p-value: 0.0005805


ㅇ 다중선형회귀분석

  - 모형의 통계적 유의성은 F-통계량으로 확인

  - 유의수준 5% 하에서 F-통계량의 p-value 값이 0.05보다 작으면 추정된 회귀식은 통계적으로 유의하다고 볼 수 있음

  - F-통계량이 크면 p-value가 0.05보다 작아지고 귀무가설을 기각. 모형이 유의하다고 결론


ㅇ 회귀계수의 유의성

  - 단변량 회귀분석의 회귀계수 유의성 검토와 같이 t-통계량을 통해 확인

  - 모든 회귀계수의 유의성이 통계적으로 검증되어야 선택된 변수들의 조합으로 모형 활용 가능


ㅇ 모형의 설명력

  - 결정계수(R^2)나 수정된 결정계수를 확인


ㅇ 모형의 적합성

  - 모형이 데이터를 잘 적합하고 있는지 잔차와 종속변수의 산점도로 확인


ㅇ 다중공선성

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

  - 다중공선성 검사 방법

     ㄴ 분산팽창요인(VIF) : 4보다 크면 다중공선성이 존재, 10보다 크면 심각한 문제

     ㄴ 상태지수 : 10이상이면 문제, 30보다 크면 심각한 문제

  - 문제가 있는 변수를 제거하거나 주성분회귀, 능형회귀 모형을 적용하여 다중공선성 문제 해결 필요 


ㅇ 회귀 분석의 종류

  - 단순회귀 : 독립변수가 1개이며 종속변수와의 관계가 직선

  - 다중회귀 : 독립변수가 k개이며 종속변수와의 관계가 선형(1차 함수)

  - 로지스틱 회귀 : 종속변수가 범주형(2진변수)인 경우에 적용

  - 다항회귀 : 독립변수와 종속변수와의 관계가 1차함수 이상인 관계

  - 곡선회귀 : 독립변수가 1개이며 종속변수와의 관계가 곡선

  - 비선형회귀 : 회귀식의 모양이 미지의 모수들의 선형관계로 이뤄지 있지 않은 모형


ㅇ 다중회귀분석 예

> library(MASS)

> head(Cars93)

  Manufacturer   Model    Type Min.Price Price Max.Price MPG.city MPG.highway  ...          

1        Acura Integra   Small      12.9  15.9      18.8       25          31  ...

2        Acura  Legend Midsize      29.2  33.9      38.7       18          25 ...

3         Audi      90 Compact      25.9  29.1      32.3       20          26 ...      

4         Audi     100 Midsize      30.8  37.7      44.6       19          26 ... 

5          BMW    535i Midsize      23.7  30.0      36.2       22          30 ...     

6        Buick Century Midsize      14.2  15.7      17.3       22          31 ...      

...

> attach(Cars93)

> lm(Price~EngineSize+RPM+Weight, data=Cars93)

Call:

lm(formula = Price ~ EngineSize + RPM + Weight, data = Cars93)


Coefficients:

(Intercept)   EngineSize          RPM       Weight  

 -51.793292     4.305387     0.007096     0.007271  


> summary(lm(Price~EngineSize+RPM+Weight, data=Cars93))


Call:

lm(formula = Price ~ EngineSize + RPM + Weight, data = Cars93)


Residuals:

    Min      1Q  Median      3Q     Max 

-10.511  -3.806  -0.300   1.447  35.255 


Coefficients:

              Estimate Std. Error t value Pr(>|t|)        # 회귀계수의 추정치들이 통계적으로 유의

(Intercept) -51.793292   9.106309  -5.688 1.62e-07 ***

EngineSize    4.305387   1.324961   3.249  0.00163 ** 

RPM           0.007096   0.001363   5.208 1.22e-06 ***

Weight        0.007271   0.002157   3.372  0.00111 ** 

---

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


Residual standard error: 6.504 on 89 degrees of freedom  

Multiple R-squared:  0.5614,  # 결정계수 (낮게 나타나 이 회귀식이 데이터를 적절하게 설명하고 있다고 볼 수 없음)

Adjusted R-squared:  0.5467 # 수정된 결정계수

F-statistic: 37.98 on 3 and 89 DF,  # F-통계량

p-value: 6.746e-16  # 유의수준 5%하에서 추정된 회귀 모형이 통계적으로 매우 유의

# 결정계수가 낮아 데이터의 설명력은 낮지만 회귀분석 결과에서 회귀식과 회귀계수들이 통계적으로 유의

# 자동차 가격을 엔진의 크기와 RPM 그리고 무게로 추정 가능


ㅇ 로지스틱 회귀분석 예

> library(boot)

> data(nodal)

> a <- c(2,4,6,7)

> data <- nodal[,a]

> m <- glm(r~., data=data, family='binomial')

> summary(m)

Call:

glm(formula = r ~ ., family = "binomial", data = data)


Deviance Residuals: 

    Min       1Q   Median       3Q      Max  

-2.1231  -0.6620  -0.3039   0.4710   2.4892  


Coefficients:

            Estimate Std. Error z value Pr(>|z|)    회귀계수의 추정치들이 통계적으로 유의

(Intercept)  -3.0518     0.8420  -3.624  0.00029 ***

stage         1.6453     0.7297   2.255  0.02414 *  

xray          1.9116     0.7771   2.460  0.01390 *  

acid          1.6378     0.7539   2.172  0.02983 *  

---  # 선형식 : p(r=1)=1/(1+e-(-3.0518+1.6453stage+1.9116xray+1.6378acid))

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


(Dispersion parameter for binomial family taken to be 1)


    Null deviance: 70.252  on 52  degrees of freedom

Residual deviance: 49.180  on 49  degrees of freedom

AIC: 57.18


Number of Fisher Scoring iterations: 5


ㅇ 최적회귀방정식의 선택

  - 설명변수 선택 : 필요한 변수만 상황에 따라 타협을 통해 선택, y에 영향을 미칠 수 있는 모든 설명변수 x들은 y의 값을 예측하는데 참여, 데이터에 설명변수 x들의 수가 많아지면 관리하는데 많은 노력이 요구되므로, 가능한 범위 내에서 적은 수의 설명변수를 포함

  - 모형 선택 : 분석 데이터에 가장 잘 맞는 모형을 찾아내는 방법

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

  - 단계적 변수선택

    ㄴ 전진선택법(foward selection) : 절편만 있는 상수모형으로부터 시작해 중요하다고 생각되는 설명변수부터 차례로 모형에 추가

    ㄴ 후진제거법(backward elimination) : 독립변수 후보 모두를 포함한 모형에서 출발해 가장 적은 영향을 주는 변수부터 하나씩 제거하면서 더 이상 제거할 변수가 없을 때의 모형을 선택

    ㄴ 단계선택법(stepwise method) : 전진선택법과 후진제거법을 조합한 방법으로 단계별로 추가 또는 제거되는 변수의 여부를 검토해 더 이상 없을 때 중단


ㅇ 벌점화된 선택기준

  - 모형의 복잡도에 벌점을 주는 방법, AIC(Akaike information criterion) 방법와 BIC(Bayesian information criterion) 방법이 주로 사용

  - 모든 후보 모형들에 대해 AIC 또는 BIC를 계산하고 그 값이 최소가 되는 모형을 선택


4절) 시계열 분석

ㅇ 시계열 자료

  - 시간의 흐름에 따라 관찰된 값들

  - 시계열 데이터 분석을 통해 미래의 값을 예측하고 경향, 주기, 계절성 등을 파악하여 활용


ㅇ 시계열 자료의 종류

  - 비정상성 시계열 자료 : 시계열 분석 시 다루기 어려운 자료로 대부분의 시계열 자료

  - 정상성 시계열 자료 : 비정상 시계열을 핸들링해 다루기 쉬운 시계열 자료로 변환한 자료


ㅇ정상성

  - 평균이 일정할 경우 : 모든 시점에 대해 일정한 평균을 가짐

  - 평균이 일정하지 않고 분산도 시점에 의존하지 않을 경우 : 평균이 일정하지 않은 시계열은 차분을 통해 정상화 가능, 공분산도 단지 시차에만 의존, 실제 특정 시점 t, s에는 의존하지 않음


ㅇ 시계열 분석 방법

  - 회귀분석(계량경제)방법, Box-Jenkins 방법, 지수평활법, 시계열 분해법 등


ㅇ시계열 모형

  ㄴ 자기회귀 모형(AR 모형, autoregressive model)

      - p 시점 전의 자료가 현재 자료에 영향을 주는 모형

      - 자기상관함수(ACF)는 빠르게 감소, 부분자기함수(PACF)는 어느 시점에서 절단점을 가짐

      - ACF가 빠르게 감소하게, PACF가 3시점에서 절단점을 갖는 그래프가 있다면, 

        2시점 전의 자료까지가 현재에 영향을 미치는 AR(2) 모형이라고 볼 수 있음

           

  ㄴ 이동평균 모형(MA 모형, moving average model)

      - 유한한 개수의 백색잡음의 결합이므로 언제나 정상성을 만족

      - AR모형과 반대로 ACF에서 절단점을 갖고, PACF가 빠르게 감소

          

  ㄴ 자기회귀누적이동평균 모형(ARIMA 모형), autoregressive integrated moving average model)

      - ARIMA 모형은 비정상시계열 모형

      - ARIMA 모형을 차분이나 변환을 통해 AR모형이나 MA모형, 이 둘을 합친 ARMA 모형으로 정상화 할 수 있음


ㅇ 분해 시계열

  - 시계열에 영향을 주는 일반적인 요인을 시계열에서 분리해 분석하는 방법, 회귀분석적인 방법을 주로 사용

    ㄴ 경향(추세)요인 : 자료가 오르거나 내리는 추세, 선형, 이차식 형태, 지수적 형태 등

    ㄴ 계절요인 : 요일, 월, 사계절 각 분기에 의한 변화 등 고정된 주기에 다라 자료가 변하는 경우

    ㄴ 순환요인 : 경제적이나 자연적인 이유 없이 알려지지 않은 주기를 가지고 변화하는 자료

    ㄴ 불규칙요인 : 위의 세 가지 요인을오 설명할 수 없는 오차에 해당하는 요인


5절) 다차원척도법

ㅇ 다차원척도법(Multidimensonal Scaling)

  - 객체간 근접성을 시각화하는 통계기법

  - 개체들 사이의 유사성/비유사성을 측정하여 개체들을 2차원 공간상에 점으로 표현하는 분석방법

  - 개체들을 2차원 또는 3차원 공간상에 점으로 표현

  - 유클리드 거리행렬을 활용

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

  - STRESS = 0 : 완벽

    STRESS < 0.05 : 매우 좋음

    0.05 < STRESS < 0.10 : 만족

    ...


ㅇ 다차원척도법 종류

  - 계량적 MDS(Metric MDS) : 데이터가 구간척도나 비율척도인 경우 활용

  - 비계량적 MDS(nonmetric MDS) : 데이터가 순서척도인 경우 활용


6절) 주성분분석(PCA)

ㅇ 주성분분석(Principal Component Analysis)

  - 여러 변수들의 변량을 주성분이라는 서로 상관성이 높은 변수들의 선형 결합으로 만들어 기존의 상관성이 높은 변수들을 요약, 축소하는 기법


ㅇ 주성분분석 목적

  - 여러 변수들 간의 상관관계, 연관성을 이용해 소수의 주성분으로 차원을 축소함으로써 데이터를 이해하기 쉽고 관리하기 쉽게 만듦

  - 다중공선성이 존재하는 경우, 상관성이 없는(적은) 주성분으로 변수들을 축소하여 모형 개발에 활용


ㅇ 주성분분석 vs 요인분석

  - 요인분석 : 등간척도(or 비율척도)로 측정한 두 개 이상의 변수들에 잠재되어 있는 공통인자를 찾아내는 기법

  - 공통점 : 모두 데이터를 축소하는데 활용

  - 차이점 

    ㄴ 요인분석 : 몇 개 지정 없이 만들 수 있음 / 분석자가 요인의 이름을 명명 / 새 변수들은 기본적으로 대등한 관계, 분류-예측에 사용될 때 중요성의 의미가 부여 / 목표변수를 고려하지 않고 비슷한 특성들로 묶어 새로운 변수 생성

    ㄴ 주성분분석 : 주로 제1주성분, 제2주성분, 제3주성분 정도로 활용 / 주로 제1주성분, 제2주성분 등으로 표현 / 제1주성분이 가장 중요하고 그 다음 제2주성분이 중요 / 목표 변수를 고려하여 잘 예측-분류하기 위해 몇 개의 주성분들을 찾아냄


ㅇ 주성분 선택법

  - 누적기여율(cumulative proportion)이 85% 이상이면 주성분의 수로 결정

  - scree plot을 활용하여 고유값이 수평을 유지하지 전단계로 주성분의 수 선택


ㅇ 주성분 분석 예

> library(datasets)

> data(USArrests)

> pairs(USArrests, panel = panel.smooth)   # Murder와 UrbanPop비율간의 관련성이 적음

   


> US_PCA <- princomp(USArrests, cor=TRUE)

> summary(US_PCA)

Importance of components:   

# 제1주성분~제2주성분까지의 누적 분산비율이 약 86.8%로 2개의 주성분 변수를 활용하여 전체 데이터의 86.8%를 설명할 수 있음

                          Comp.1    Comp.2    Comp.3     Comp.4

Standard deviation     1.5748783 0.9948694 0.5971291 0.41644938    # 표본 분산

Proportion of Variance 0.6200604 0.2474413 0.0891408 0.04335752   # 변동비

Cumulative Proportion  0.6200604 0.8675017 0.9566425 1.00000000   # 누적 비율

> screeplot(US_PCA, npcs=4, type='lines')  # 주성분들에 의해 설명되는 변동 비율 확인

    


> loadings(US_PCA)

Loadings:  # 네 개의 변수가 각 주성분에 기여하는 가중치 제시

              # 제1주성분에는 네 개의 변수가 평균적으로 기여, 제2주성분에서는 계수의 부호가 서로 다름

             Comp.1 Comp.2 Comp.3 Comp.4

Murder     0.536   0.418    0.341    0.649

Assault      0.583  0.188    0.268   -0.743

UrbanPop  0.278  -0.873   0.378    0.134

Rape        0.543  -0.167  -0.818       


               Comp.1 Comp.2 Comp.3 Comp.4

SS loadings      1.00   1.00   1.00   1.00

Proportion Var   0.25   0.25   0.25   0.25

Cumulative Var   0.25   0.50   0.75   1.00


> US_PCA$scores   # 각 주성분의 선형식을 통해 각 지역별로 얻은 결과를 계산

                    Comp.1      Comp.2      Comp.3       Comp.4

Alabama         0.98556588  1.13339238  0.44426879  0.156267145

Alaska          1.95013775  1.07321326 -2.04000333 -0.438583440

Arizona         1.76316354 -0.74595678 -0.05478082 -0.834652924

Arkansas       -0.14142029  1.11979678 -0.11457369 -0.182810896

California      2.52398013 -1.54293399 -0.59855680 -0.341996478

...





5장. 정형 데이터 마이닝

1절) 데이터마이닝의 개요

ㅇ 데이터 마이닝

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


ㅇ 종류

  - 정보를 찾는 방법론 : 인공지능, 의사결정나무, KNN, 연관분석, 회귀분석, 로짓분석, 최근접이웃

  - 분석대상, 활용목적, 표현방법 : 시각화분석, 분류, 군집화, 포케스팅


ㅇ 분석 방법

  - 지도학습 : 의사결정나무, 인공신경망, 일반화 선형 모형, 회귀분석, 로지스틱 회귀분석, 사례기반 추론, KNN

  - 비지도학습 : OLAP, 연관성분석, 군집분석, SOM


ㅇ 분석 목적에 다른 작업 유형과 기법

  - 예측

    ㄴ 분류 규칙 : 회귀분석, 판별분석, 신경망, 의사결정나무

  - 설명

    ㄴ 연관규칙 : 동시발생 매트릭스

    ㄴ 연속규칙 : 동시발생 매트릭스

    ㄴ 데이터 군집화 : K-Means


ㅇ 데이터마이닝 추진단계

  - 1단계 : 목적 설정 (목적 설정 및 데이터 정의)

  - 2단계 : 데이터 준비 (충분한 양의 데이터 준비)

  - 3단계 : 가공 (목적 변수 정의 및 가공)

  - 4단계 : 기법 적용 (기법 정용 및 정보 추출)

  - 5단계 : 검증 (정보를 검증)


ㅇ 데이터 분할

  - 구축용(training data, 50%) : 모델을 만드는데 활용

  - 검정용(validation data, 30%) : 과대추정 or 과소추정을 미세 조정

  - 시험용(test data, 20%) : 모델의 성능을 검증


ㅇ 성과분석1) 오분류에 대한 추정치

       

  - 정분류율(Accuracy) => (TP+TN)/(TP+FP+FN+TN)

  - 오분류율(Error Rate, 1-Accuracy) => (FN+FP)/(TP+FP+FN+TN)

  - 특이도(Specificity) => TN/(FP+TN)

  - 민감도(Sensitivity)=재현율(Recall) => TP/(TP+FN)

  - 정확도(Precision) => TP/(TP+FP)

  - F1 Score => 2/((1/Recall)+(1/Precision))


ㅇ 성과분석2) ROC Curve(Receiver Operating Characteristic Curve)

    

                           출처 : https://newsight.tistory.com/53

  - 1-특이도(가로축)과 민감도(세로축)으로 이루어진 그래프

  - 2진 분류에서 모형 성능 평가를 위해 많이 사용되는 척도

  - 그래프가 왼쪽 상단에 가깝게 그려질 수록 올바르게 예측한 비율이 높음을 의미

  - AUROC(Area Under ROC) : ROC곡선 아래의 면적이 클 수록 모형의 성능이 좋다고 평가

    90%이상 : excellent / 80%~90% : good / 70%~80% : fair ...


ㅇ 성과분석3) 이익도표(Lift chart)

  - 분류모형의 성능을 평가하기 위한 척도

  - 분류된 관측치에 대해 얼마나 예측이 잘 이루어졌는지를 나타냄


ㅇ 적합 개념

  - 과적합-과대적합(Overfitting) : 모형이 trainind data를 과하게 학습하여, 학습 데이터에 대해서는 높은 정확도를 나타내지만 test data 혹은 다른 데이터에 적용할 때는 성능이 떨어지는 현상

  - 과소적합(Underfitting) : 모형이 너무 단순하여 데이터 속에 내제되어 있는 패턴이나 규칙을 제대로 학습하지 못 하는 경우


2절) 분류분석

ㅇ분류분석

  - 데이터가 어떤 그룹에 속하는지 예측

  - 교사학습, 각 그룹이 정의

  - 범주형 속성의 값을 예측


ㅇ 에측분석

  - 시계여려 분석처럼 시간에 다른 값 두 개만을 이용해 미래를 예측

  - 입력 데이터에 따라 특성이 다름

  - 하나의 설명변수

  - 연속형 속성의 값을 예측


ㅇ 분류 모델링

  - 신용평가모형(우량,불량)

  - 사기방지모형(사기,정상)

  - 이탈모형(이탈, 유지)

  - 고객세분화(VVIP, VIP, GOLD, ...)


ㅇ 분류 기법

  - 회귀분석, 로지스틱회귀분석

  - 의사결정나무, CART, C5.5

  - 베이지안 분류, Naive Bayesian

  - 인공신경망

  - SVM

  - KNN

  - 규칙기반의 분류와 사례기반 추론


ㅇ 로지스틱 회귀분석(Logistic Regression)

  - 반응변수가 범주형인 경우 적용되는 회귀분석모형

  - 새로운 설명변수가 주어질 때 반응변수의 각 범주에 속할 확률이 얼마인지 추정

  - 추정 확률을 기준치에 따라 분류하는 목적으로 활용

  - exp(beta)의 의미는 나머지 변수가 주어질 때, x1이 한 단위 증가할 때마다 성공(Y=1)의 오즈(odds)가 몇 배 증가하는지 나타내는 값

  - 다중로지스틱 회귀모형에서 설명변수가 한 개인 경우 해당 회귀 계수 beta의 부호에 따라 S자 모양(B>0), 역S자 모양(B<0)

  - 오즈비(odds ratio) : 성공할 확률이 실패할 확률의 몇 배인지 나타내는 확률


ㅇ 선형회귀분석 vs 로지스틱회귀분석 (종속변수, 계수 추정법, 모형 검정)

  - 선형회귀분석 : 연속형 변수, 최소제곱법, F-검정, T-검정

  - 로지스틱회귀분석 : (0,1), 최대우도추정법, 카이제곱 검정


ㅇ 로지스틱 회귀분석

> lr <- glm(Species ~ Sepal.Length, data=iris, family=binomial)  # 종속변수 : Species, 독립변수 : Sepal.Length

> summary(lr)

Call:

glm(formula = Species ~ Sepal.Length, family = binomial, data = iris)


Deviance Residuals: 

     Min        1Q    Median        3Q       Max  

-2.14316  -0.31399   0.04605   0.27914   2.25787  


Coefficients:

             Estimate Std. Error z value Pr(>|z|)    

(Intercept)  -27.8285     4.8276  -5.765 8.19e-09 ***

Sepal.Length   5.1757     0.8934   5.793 6.90e-09 ***

---   # Sepal.Length가 한 단위 증가함에 따라 Species(Y)가 1에서 2로 바뀔 때 오즈(odds)가 exp(5.176)=176배 증가

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


(Dispersion parameter for binomial family taken to be 1)


    Null deviance: 190.954  on 149  degrees of freedom  # 절편만 포함하는 모형의 완전 모형으로부터의 이탈도

Residual deviance:  71.836  on 148  degrees of freedom  # Sepal.Length가 추가된 적합 모형의 이탈도

AIC: 75.836


Number of Fisher Scoring iterations: 7


ㅇ 의사결정나무(Decision Tree)

  - 분류함수를 의사결정 규칙으로 이뤄진 나무 모양으로 그리는 방법

  - 계산결과의 시각화로 해석이 간편

  - 주어진 입력값에 대하여 출력값을 예측하는 모형


ㅇ 의사결정나무의 활용

  - 세분화 : 그룹별 특성을 발견

  - 분류 : 목표변수 범주를 몇 개의 등급으로 분류

  - 예측 : 규칙을 찾아내고, 미래의 사건을 예측

  - 차원축소 및 변수선택 : 목표변수에 큰 영향을 미치는 변수들을 골라냄

  - 교호작용효과의 파악 : 여러 예측변수들을 결합해 목표변수에 작용하는 규칙을 파악, 범주의 병합 or 연속형 변수의 이산화


ㅇ 의사결정나무의 특징

    ㄴ 장점

        - 설명이 용이

        - 계산적으로 복잡하지 않음

        - 대용량 데이터도 빠르게

        - 비정상 잡음 데이터에도 민감함이 없이 분류

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

        - 수치형변수, 범주형변수 모두 사용 가능

        - 모형 분류에 높은 정확도

    ㄴ 단점

        - 새로운 자료에 대한 과대적합 발생 가능성이 높음

        - 분류 경계선 부근의 자료값에 대하여 오차가 큼

        - 설명변수 간의 중요도를 판단하기 쉽지 않음


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

  - 성장 단계 : 각 마디에서 적절한 최적의 분리규칙을 찾아 나무를 성장, 적절한 정지규칙을 만족하면 중단

  - 가지치기 단계 : 오차를 크게 할 위험이 높거나, 부적절한 추론규칙을 가지고 있는 가지 또는 불필요한 가지 제거

  - 타당성 평가 단계 : 이익도표, 위험도표, 시험자료를 이용하여 평가

  - 해석 및 예측 단계 : 해석-설정-예측에 적용


ㅇ 불순도의 여러가지 축도

  - 목표변수가 범주형 변수인 의사결정나무의 분류규칙을 선택하기 위함

  ㄴ 카이제곱 통계량

  ㄴ 지니지수

  ㄴ 엔트로피 지수


ㅇ 의사결정나무 알고리즘

  ㄴ CART(Classification And Regression Tree) 

      - 알고리즘으로 불손도의 측도로 출력변수가 범주형일 경우 지니지수를 이용, 연속형인 경우 분산을 이용한 이진분리를 사용

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

  ㄴ C4.5와 C5.0 

      - CART와 다르게 각 마디에서 다지분리가 가능하며 범주형 입력변수에 대해서는 범주의 수만큼 분리

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

  ㄴ CHAID(CHI-squared Automatic Interaction Detection)

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

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


3절) 앙상블 분석

ㅇ앙상블(Ensemble)

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

  - 지도학습

  - 학습자료의 작은 변화에 의해 예측모형이 크게 변하는 경우, 그 학습방법은 불안정

  - 가장 안정적인 방법(1NN, 선형회귀모형), 가장 불안정한 방법(의사결정나무)


ㅇ 앙상블 기법의 종류

   ㄴ 배깅 

       - 주어진 자료에서 여러 개의 붓스트랩 자료를 생성하고 각 붓스트랩 자료에 예측모형을 만든 후 결합하여 최종 예측모형을 만드는 방법

       - 가지치기를 하지 않고 최대로 성정한 의사결정나무들을 활용 

   ㄴ 부스팅

       - 예측력이 약한 모형들을 결합하여 강한 예측모형을 만드는 방법

   ㄴ 랜덤포레스트

       - 의사결정나무의 특징인 분산이 크다는 점을 고려하여 배깅과 부스팅보다 더 많은 무작위성을 주어 약한 학습기들을 생성한 후 이를 선형결합하여 최종 학습기를 만드는 방법


ㅇ 붓스트랩

  - 주어진 자료에서 단순랜덤 복원추출 방법을 활용하여 동일한 크기의 표본을 여러개 생성하는 샘플링 방법

  - 샘플에 한 번도 선택되지 않는 원데이터가 발생할 수 있는데 이는 전체 샘플의 약 36.8%에 해당


4절) 인공신경망 분석(ANN)

ㅇ 인공신경망

  - 인간의 뇌를 기반으로 한 추론 모델

  - 뉴런은 기본적인 정보처리 단위


ㅇ 인간의 뇌

  - 빠르고, 매우 복잡하고, 비선형적이며 병렬적인 정보 처리 시스템과 같음

  - 잘못된 답에 대한 뉴런들 사이의 연결은 약화, 올바른 답에 대한 연결이 강화

  - 뉴런은 가중치가 있는 링크들로 연결

  - 뉴런은 여러 입력 신호를 받지만 출력 신호는 오직 하나만 생성


ㅇ 인공신경망의 학습

  - 가중치를 반복적으로 조정하며 학습

  - 뉴런은 링크로 연결되어 있고 각 링크에는 수치적인 가중치가 있음


ㅇ 뉴런의 활성화 함수

    ㄴ 시그모이드(sigmoid) 함수 : 로지스틱 회귀분석과 유사, 0~1의 확률값

    ㄴ softmax 함수 : 표준화지수 함수, 출력값이 여러개 주어지고 목표치가 다범주인 경우 각 범주에 속할 사후확률을 제공

    ㄴ Relu 함수 : 입력값이 0이하는 0, 0이상은 x값을 가지는 함수, 딥러닝에 많이 활용

 

5절) 군집분석

ㅇ 군집분석

  - 유사성이 높은 대상 집단을 분류

  - 군집에 속한 객체들의 유사성과 서로 다른 군집에 속한 객체간 상이성을 규명하는 분석 방법

  - 데이터들 사이의 거리를 기준으로 군집화를 유도


ㅇ 군집분석의 거리

   ㄴ 연속형 변수의 경우

       - 유클리디안(Euclidean) 거리 : 데이터간 유사성 측정을 위해 많이 사용하는 거리

       - 표준화(statistical) 거리 : 해당변수의 표준편차로 척도 변환 후 유클리디안 거리를 계산하는 방법

       - 마할라노비스(Mahalanobis) 거리 : 통계적 개념이 포함된 거리, 변수들의 산포를 고려하여 표준화한 거리

       - 체비셰프(Chebychev) 거리 

       - 맨하탄(Manhattan) 거리 : 유클리디안 거리와 함께 가장 많이 사용되는 거리

       - 캔버라(Cancerra) 거리

       - 민코우스키(Minkowski) 거리 : 맨하탄 거리와 유클리디안 거리를 한번에 표현한 공식

   ㄴ 범주형 변수의 경우

       - 자카드 거리

       - 자카드 계수

       - 코사인 거리

       - 코사인 유사도


ㅇ 계층적 군집분석

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

  - 연결법

     ㄴ 최단연결법(single linkage) : 가장 가까운 데이터를 묶어서 군집을 형성

     ㄴ 최장연결법(complete linkage) : 최장거리를 거리로 계산

     ㄴ 평균연결법(average linkage) : 평균을 거리로 계산

     ㄴ 와드연결법(ward linkage) : 편차들의 제곱합


ㅇ 군집화

  - 거리행렬을 통해 가장 가까운 거리의 객체들간의 관계를 규명하고 덴드로그램을 그림

  - 덴드로그램을 보고 군집의 개수를 변화해 가면서 적절한 군집 수를 선정

  - 군집 수는 분석 목적에 따라 선정할 수 있지만 대부분 5개 이상의 군집은 잘 활용하지 않음


ㅇ 군집화 단계

  - 거리행렬을 기준으로 덴드로그램을 그림

  - 덴드로그램의 최상단부터 세로축의 개수에 다라 가로선을 그어 군집의 개수를 선택

  - 각 객체들의 구성을 고려하여 적절한 군집수 선정


ㅇ 비계층적 군집분석

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


ㅇ K-평균 군집분석(K-means clustering)

  - 주어진 데이터를 k개의 클러스터로 묶는 알고리즘

  - 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작


ㅇ K-평균 군집분석 과정

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

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

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

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


ㅇ K-평균 군집분석의 특징

  - 거리 계산을 통해 군집화가 이루어지므로 연속형 변수에 활용 가능

  - K개의 초기 중심값은 임의로 선택 가능, 가급적 멀리 떨어지는 것이 바람직

  - 초기 중심값의 선정에 따라 결과가 달라질 수 있음

  - 초기 중심으로부터 오차 제곱합을 최소화하는 방향으로 군집이 형성되는 탐욕적(greedy) 알고리즘

  - 안정된 군집은 보장하나 최적이라는 보장은 없음


ㅇ K-평균 군집분석 장-단점

    ㄴ 장점

        - 알고리즘이 단순, 빠른 수행, 분석 방법 적용이 용이

        - 계층적 군집분석에 비해 많은 양의 데이터를 다룰 수 있음

        - 내부 구조에 대한 사전정보가 없어도 의미있는 자료구조를 찾을 수 있음

        - 다양한 형태의 데이터에 적용 가능

    ㄴ 단점

        - 군집의 수, 가중치와 거리 정의가 어려움

        - 사전에 주어진 목적이 없으므로 결과 해석이 어려움

        - 잡음이나 이상치에 영향을 많이 받음

        - 초기 군집수 결정에 어려움


ㅇ 혼합 분포 군집(mixture distribution clustering)

  - 모형기반의 군집 방법

  - 데이터가 k개의 모수적 모형의 가중합으로 표현되는 모집단으로부터 나왔다는 가정하에서 모수와 함께 가중치를 자료로부터 추정하는 방법 사용


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

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

  - 군집을 몇 개의 모수로 표현 가능, 서로 다른 크기나 모양의 군집을 찾을 수 있음

  - 이상치 자료에 민감


ㅇ SOM(Self-Organizing Map)

  - 자가조직화지도 알고리즘

  - 비지도 신경망으로 고차원의 데이터를 이해하지 쉬운 저차원의 뉴런으로 정렬하여 지도의 형태로 형상화

  - 입력 변수의 위치 관계를 그대로 보존

  - 입력 변수가 가까이 있으면, 지도상에도 가까운 위치에 있음


ㅇ SOM모델의 구성

   ㄴ 입력층(Input layer : 입력벡터를 받는 층)

       - 입력 변수의 개수와 동일하게 뉴런 수가 존재

       - 학습을 통하여 경쟁층에 정렬

       - 입력층에 있는 각각의 뉴런은 경쟁층에 있는 각각의 뉴런들과 연결(완전 연결)

   ㄴ 경쟁층(competitive layer : 2차원 격차로 구성된 층)

       - 입력벡터의 특성에 따라 벡터가 한 점으로 클러스터링 되는 층

       - SOM은 경쟁 학습으로 각각의 뉴런이 입력 벡터와 얼마나 가까운가를 계산하여 연결강도를 반복적으로 재조정하여 학습

       - 연결강도는 입력 패턴과 가장 유사한 경쟁층 뉴런이 승자


ㅇ SOM모델의 특징

  - 고차원 데이터를 저차원의 지도 형태로 형상화하므로 시각적으로 이해하기 쉬움

  - 입력 변수의 위치 관계를 그대로 보존, 실제 데이터가 유사하면 지도상에서 가깝게 표현

  - 전방 패스(feed-forwatd flow) 사용으로 매우 빠른 속도, 실시간 학습처리 가능

  - 패턴 발견, 이미지 분석 등에서 뛰어난 성능


6절) 연관분석

ㅇ연관규칙분석(Association Analysis)

  - 장바구니분석 또는 서열분석

  - 일련의 거래 또는 사건들 간의 규칙을 발견하기 위함

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


ㅇ 연관규칙의 측도

    ㄴ 지지도(support) : 전체 거래 중 항목 A와 항목 B를 동시에 포함하는 거래의 비율

         - P(A n B) = (A와 B가 동시에 포함된 거래수)/(전체 거래수) = (A n B) / 전체

    ㄴ 신뢰도(confidence) : A를 포함한 거래 중에서 항목 A와 항목 B가 같이 포함도리 확률

         - P(A n B)/P(A) = (A와 B가 동시에 포함된 거래수)/(A를 포함하는 거래수) = 지지도/P(A) = (A n B)/P(A)

    ㄴ 향상도(lift) : A가 구매되지 않았을 때 품목 B의 구매확률에 비해 A가 구매됐을 때 품목 B의 구매확률의 증가비

         - P(B|A)/P(B) = (A와 B가 동시에 포함된 거래수)/(A를 포함하는 거래수xB를 포함하는 거래수) = 신뢰도/P(B) = P(A n B)/P(A)P(B)


ㅇ 연관규칙의 절차

  - 최소 지지도보다 큰 집합만을 대상으로 높은 지지도를 갖는 품목 집합을 찾는 방법

  - 처음에는 5%로 잡고 규칙이 충분히 도출되는지 보고 다양하게 조절하여 시도

  - 처음부터 너무 낮은 최소 지지도를 선정하는 것은 많은 리소스가 소모되므로 적절하지 않음

  - 1) 최소 지지도 결정 -> 2) 품목 중 최소 지지도를 넘는 품목 분류 -> 3) 2가지 품목 집합 생성 -> 4) 반복적으로 수행해 빈발품목 집합을 찾음


ㅇ 연관규칙의 장단점

    ㄴ 장점

        - 결과를 쉽게 이해

        - 강력한 비목적성 분석기법, 분석 방향이나 목적이 없는 경우 목적변수가 없으므로 유용하게 활용

        - 데이터 변환 없이 그 자체로 이용 가능

        - 분석을 위한 계산이 간단

    ㄴ 단점

       - 품목수가 증가하면 분석에 필요한 계산은 기하급수적으로 증가

       - 세분화한 품목을 갖고 연관성 규칙을 찾을 시 의미없는 분석이 될 수 있음

       - 거래수가 적은 품목은 규칙 발견 시 제외되기 쉬움


ㅇ 순차패턴(Seauence Analysis)

  - 동시에 구매될 가능성이 큰 상품군을 찾아내는 연관성 분석에 시간이라는 개념을 포함시켜 순차적으로 구매 가능성이 큰 상품군으로 찾아내는 것

  - 구매시점에 대한 정보가 포함


ㅇ Apriori 알고리즘

  - 1세대 연관분석 알고리즘

  - 모든 품목집합에 대한 지지도를 전부 계산하는 것이 아닌 최소 지지도 이상의 빈발항목집합을 찾은 후 그것들에 대해서만 연관규칙을 계산

  - 지지도가 낮은 후보 집합 생성 시 아이템의 개수가 많아지면 계산 복잡도가 증가


ㅇ FP-Growth 알고리즘

  - 2세대 연광분석 알고리즘

  - 후보 빈발항목집합을 생성하지 않고, FP-Tree를 만든 후 분할정복 방식을 통해 더 빠르게 빈발항목집합을 추출

  - Apriori 알고리즘의 약점을 보완하기 위해 고안

  - DB 스캔 횟수가 적고 빠른 속도로 분석 가능


ㅇ 연관성분성 예

> data('Groceries')

> inspect(Groceries[1:3])

    items                                                   

[1] {citrus fruit,semi-finished bread,margarine,ready soups}

[2] {tropical fruit,yogurt,coffee}                          

[3] {whole milk}                                            

> rules <- apriori(Groceries, parameter=list(support=0.01, confidence=0.3))

Apriori


Parameter specification:

 confidence minval smax arem  aval originalSupport maxtime support minlen maxlen target   ext

        0.3    0.1    1 none FALSE            TRUE       5    0.01      1     10  rules FALSE


Algorithmic control:

 filter tree heap memopt load sort verbose

    0.1 TRUE TRUE  FALSE TRUE    2    TRUE


Absolute minimum support count: 98 


set item appearances ...[0 item(s)] done [0.00s].

set transactions ...[169 item(s), 9835 transaction(s)] done [0.00s].

sorting and recoding items ... [88 item(s)] done [0.00s].   # 88개의 아이템으로

creating transaction tree ... done [0.00s].

checking subsets of size 1 2 3 4 done [0.00s].

writing ... [125 rule(s)] done [0.00s].  # 125개의 규칙 발견

creating S4 object  ... done [0.00s].

> inspect(sort(rules, by=c('lift'), decreasing=TRUE)[1:20])

# 규칙이 너무 적으면 지지도(support)와 신뢰도(confidence)를 낮추고, 너무 많으면 지지도와 신뢰도를 높여야 함

     lhs                                      rhs                support    confidence lift     count

[1]  {citrus fruit,other vegetables}       => {root vegetables}  0.01037112 0.3591549  3.295045 102  

[2]  {tropical fruit,other vegetables}     => {root vegetables}  0.01230300 0.3427762  3.144780 121  

[3]  {beef}                                => {root vegetables}  0.01738688 0.3313953  3.040367 171  

[4]  {citrus fruit,root vegetables}        => {other vegetables} 0.01037112 0.5862069  3.029608 102  

[5]  {tropical fruit,root vegetables}      => {other vegetables} 0.01230300 0.5845411  3.020999 121  

[6]  {other vegetables,whole milk}         => {root vegetables}  0.02318251 0.3097826  2.842082 228  

...





고 : 데이터 분석 준전문가(데이터에듀)

반응형

'ADsP' 카테고리의 다른 글

[ADsP] 2과목 - 데이터 분석 기획  (0) 2019.03.07
[ADsP] 1과목 - 데이터의 이해  (0) 2019.03.07
[ADsP] 주관식 정리  (2) 2019.02.28
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday