zooooss

[ADsP] - 제 3과목 요약.핵심정리.공부 본문

CERTIFICATION/ADSP

[ADsP] - 제 3과목 요약.핵심정리.공부

zooooss 2023. 8. 19. 01:29

제 3과목 | 데이터 분석

1장 | 데이터 분석 개요

데이터 분석 기법은 데이터 처리, 시각화, 공간분석(GIS), 탐색적 자료 분석(EDA), 통계분석, 데이터마이닝이 있습니다.

 

➀ 데이터 처리는 비정형 데이터나 소셜 데이터를 정형화된 패턴으로 처리합니다.

 

➁ 시각화는 가장 낮은 수준의 분석이지만 잘 사용하면 복잡한 분석보다도 더 효율적입니다.

=> 데이터 시각화는 이상점 식별을 용이하게 합니다!

 

➂ 공간분석은 공간적 차원과 관련된 속성들을 시각화하는 분석입니다.

 

***➃ 특이점을 도출하여 분석의 목적을 달성해가는 과정으로 데이터의 구조적 관계를 알아냅니다.

탐색적 자료 분석(EDA)의 4가지 주제는

저항성의 강조, 잔차 계산, 자료변수의 재표현, 그래프를 통한 현시성입니다.

 

➄ 통계분석은 기술통계와 추측통계로 나뉩니다.

기술통계는 표본이 가지고 있는 정보를 쉽게 파악하지만,

추측통계는 모집단의 특성인 *모수에 관해 통계적으로 추론합니다.

 

***➅ 데이터마이닝은 대용량 자료로부터 관계, 패턴, 규칙 등을 탐색하고 유용한 지식을 추출합니다.

DB에서의 지식탐색, 기계학습, 패턴인식의 방법론을 가지고 있습니다.

기계학습의 예시로는 인공신경망, 의사결정나무, 클러스터링, 베이지안 분류, SVM 등이 있습니다.

또한, 패턴인식의 예시로는 장바구니분석, 연관규칙 등이 있습니다.


2장 | R 프로그래밍 기초

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

특징으로는 오픈소스 프로그램, 그래픽 및 성능, 시스템 데이터 저장 방식, 모든 운영체제, 객체지향/함수형 언어 등이 있습니다.

➀ 데이터 구조

- 한 벡터의 모든 원소는 같은 자료형을 가진다.

- 리스트는 데이터 타입이 같지 않은 객체들(여러 자료형의 원소들)을 하나의 객체로 묶을 수 있다.

- 배열은 행렬에 3차원 또는 n차원까지 확장된 형태입니다.

➁ 데이터 프레임

- 각 변수(열)마다 다른 자료형태로 구분되어 있습니다.

- 표 형태의 데이터 구조이며, 열에는 이름이 있어야 합니다.

data.frame(벡터,벡터,벡터) : 벡터들로 데이터셋을 생성합니다.

결합 : rbind, cbind

조회 : dfrm

자료형 변환하기 : as.integer(), as.character(), as.complex() 등

데이터 구조 변환하기 : as.data.frame(), as.list() 등

- 그 외 간단한 함수

데이터셋 요약 : summary(데이터셋)

패키지 불러오기 : library("패키지명")

➂ 데이터 변형

- 대용량 데이터의 함수적용은 sapply를 통해 가능하다.

- 문자열 연결 : paste

- 하위문자열 추출 : substr

 


3장 | 데이터 마트

데이터 웨어하우스와 사용자 사이의 중간층에 위치한 것으로, 하나의 부서 중심의 데이터웨어하우스를 뜻한다.

요약변수 : 분석에 맞게 종합한 변수, 재활용성이 높다. ex) 총 구매금액, 횟수 등

파생변수 : 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수이다. ex) 고객행동 예측 등

 

reshape 패키지의 활용

데이터마트를 구성할 수 있는 패키지!

=> melt(), cast()라는 2개의 핵심 함수가 있다.

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

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

 

sqldf를 이용한 데이터 분석 : sqldf는 R에서 sql의 명령어를 사용 가능하게 해주는 패키지이다.

 

plyr 패키지

데이터를 분할하고 분할된 결과에 함수를 적용한 뒤 결과를 재조합하는 함수를 포함한다!

Multi-Core를 사용하여 반복문을 사용하지 않고도 매우 간단하고 빠르게

처리할 수 있는 데이터 처리 함수를 포함한다!

 

데이터 테이블

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

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

기존 data.frame 방식보다 빠른 속도

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

 

head(데이터셋) : 시작 6개 record만 조회하는 함수

 

변수의 구간화

구간화 방법 (1) Binning (2) 의사결정나무

 

결측값 인식

NA, 9999999, 공백 등으로 표현되며, 결측값을 처리하기 위해 시간을 많이 사용하는건 비효율적이다.

na.rm=T를 이용해 NA를 제거한 후 mean(x,na.rm=T)로 평균을 구할 수 있다.

 

결측값 처리 방법

(1) 단순 대치법

1-1. Completes Analysis : 결측값이 존재하는 레코드 삭제

1-2. 평균 대치법

1-3. 단순확률 대치법

(2) 다중 대치법

 

R에서 결측값 처리 관련 함수

complete.cases() : 데이터내 레코드에 결측값이 있으면 False 없으면 True

is.na() : 결측값을 NA로 인식하여 있으면 True

 

이상값이란?(Outlier)

제거해야 하는 Bad Data

 

이상값의 인식 방법

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

 

극단값 절단(Trimming) 방법 / 극단값 조정(Winsorizing) 방법

데이터를 제거하는 것 보다는 이 방법을 이용하는 것이 데이터 손실율도 적고, 설명력도 높아진다.


4장 | 통계분석

총 조사(전수조사)와 표본조사

대부분 표본조사로 진행되며 모집단에서 샘플을 추출하여 진행된다.

 

표본 추출 방법 4가지

1) 단순랜덤 추출법

Simple Random Sampling

임의의 n개 추출. 복원 비복원 추출.

2) 계통추출법

Systematic Sampling

구간으로 나누어 모든 구간에 정해진 위치에 하나씩 표본을 선택하여 추출.

3) 집락추출법

Cluster Random Sampling

군집 구분 -> 군집별로 단순랜덤 추출 -> 모든 자료를 활용.샘플링

4) 층화추출법

Stratified Random Sampling

 

측정방법

명목척도(질적척도에 해당) | 어느집단에 속하는지 분류

순서척도(질적척도에 해당) | 서열관계를 관측

구간척도(양적척도에 해당) | 속성의 양 측정, 간격이 의미있는 자료 ex.온도, 지수

비율척도(양적척도에 해당) | 절대적 기준인 0이 존재하고 사칙연산이 가능 ex.무게, 나이, 시간

 

확률분포

(1) 이산형 확률변수

1-1 베르누이 확률분포 : 결과가 2개만 나오는 경우 ex. 합격/불합격

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

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

1-4 다항분포 : 이항분포를 세가지 이상의 결과로 확장한 것

1-5 포아송분포 : 시간과 공간 내에서 사건 발생 횟수에 대한 확률

(2) 연속형 확률변수

2-1 균일분포 : 모든 확률변수가 균일한 확률

2-2 정규분포 : 확률밀도함수. cf)표준정규분포는 평균이 0이고 표준편차가 1인 정규분포

2-3 지수분포 : 사건 발생까지의 경과 시간에 대한

2-4 t-분포 : 평균이 0을 중심으로 좌우가 동일한 분포

2-5 x^2-분포 : 두 집단 간의 동질성 검정에 활용

2-6 F-분포 : 두 집단 간 분산의 동일성 검정에 사용

 

추정

점추정 : 모수가 특정한 값일 것이라고 추정

구간추정 : 모수가 특정한 구간에 있을 것이라고 선언

 

모집단의 모수에 대한 검정

- 모수적 방법 : 모집단의 분포에 대한 가정 -> 검정 실시

- 비모수적 방법 :  추출된 모집단 분포에 아무 제약을 가하지 않고 검정 실시 ex. 자료의 수가 적거나 서열관계를 나타내는 경우에 사용한다.

 

모수적 검정과 비모수 검정의 차이

비모수 검정은 가정된 분포가 없으므로 분포의 형태에 대해 설정!

모수적 검정은 표본평균,분산 등을 이용해 검정 실시

비모수 검정은 관측값들의 순위나 차이의 부호 등을 이용해 검정 실시

 

첨도 : 분포의 중심에서 뾰족한 정도를 나타내는 측도! m4>0 : 표준정규분포보다 더 뾰족함을 의미한다.

 

막대그래프 : 범주형으로 구분된 데이터

히스토그램 : 연속형으로 표시된 데이터

 

공분산 : 두 확률변수 X, Y의 방향의 조합이다.

X, Y가 서로 독립이면, 공분산 값이 0이다.

 

상관분석 : 두 변수 간의 관계의 정도를 알아보기 위한 분석방법

data(mtcars)라는 데이터셋 사용

상관계수 r이 0이면 아무런 관계가 없다.

ㄱ. 피어슨

연속형 변수, 대부분 많이 사용

등간 척도 및 비율척도로 측정된 변수들 간의 상관계수를 측정하는데 이용한다.

ㄴ. 스피어만 (*모두 'ㅅ'으로 시작)

서열척도인 두 변수들의 상관관계 측정 방식, 순서형 변수, 순위를 기준으로 측정, 순위상관계수

비선형적인 관계도 측정이 가능하다.

 

회귀분석

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

영향을 받는 변수(y) : 반응변수, 종속변수, 결과변수

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

 

최적회귀방정식

1) 설명변수 선택 : 필요한 변수만 상황에 따라 타협하여 선택

2) 모형선택

3) 단계적 변수선택

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

이해하기 쉽고 변수의 개수가 많아도 사용 가능, 안정성 부족

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

전체 변수들의 정보를 이용하지만, 변수의 개수가 많은 경우 사용하기 어려움

 

모형의 복잡도에 벌점을 주는 방법으로 AIC와 BIC 방법을 사용 (최소가 되는 모델이 가장 최적화된 모형)

 

모든 변수들의 t-통계량에 대한 유의확률 Pr(>|t|)이 0.05보다 낮을 때까지!

변수 제외 또는 추가하여 회귀모형 다시 생성.

F-통계량은 계속 낮아짐!

 

시계열 분석

시간의 흐름에 따라 관찰된 값들으 분석을 통해 미래의 값을 예측하는데 활용

 

정상성

가. 평균이 일정할 경우

나. 분산이 일정할 경우

다. 공분산도 단지 시차에만 의존, 실제 특정 시점 t,s에는 의존하지 않는다.

가,나,다의 경우에 정상성을 만족합니다.

 

시계열 모형

(1) 자기회귀 모형(AR모형)

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

(2) 이동평균 모형(MA 모형)

(3) 자기회귀누적이동평균 모형(ARIMA 모형)

 

분해 시계열

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

회귀분석적인 방법을 주로 사용

 

ARIMA 모델

정상성 시계열에 한해 사용

ACF와 PACF를 통한 적합한 모델 결정

forecast 패키지에 내장된 auto.arima() 함수 이용

 

다차원 척도법

다차원 척도법(MDS)는 객체간 근접성을 시각화하는 통계기법

개체들을 2차원 또는 3차원 공간상에 점으로 표현하여 개체들 사이의 집단화를 시각적으로 표현하는 분석방법

목적 : 데이터 속 패턴, 구조 발굴, 데이터 축소 가능

방법 : 개체들의 거리 계산에 유클리드 거리행렬을 이용한다.

종류

1. 계량적 MDS

구간척도나 비율척도인 경우 활용한다.

2. 비계량적 MDS

순서척도인 경우 활용. 개체들 간의 거리가 순서로 주어진 경우에! 변환하여 거리 생성하고 적용!

 

주성분 분석(PCA)

서로 상관성이 높은 변수들의 선형 결합으로 만든 기법

목적 : 소수의 주성분으로 차원을 축소

 

주성분의 선택법

누적기여율이나 Scree Plot을 활용

ex. 누적기여율이 85%이상이면 주성분의 수로 결정 / Scree Plot으로 고윳값이 수평을 유지하기 전단계로 주성분의 수 선택

 

자유도 Df는 n-1을 의미!

p-value : 유의수준! 사실인데 사실이 아니라고 잘못 판정할 때 실제 확률

F 통계량은 모형의 통계적 유의성을 확인하기 위해 사용한다.

 


5장 | 정형 데이터 마이닝

데이터 마이닝

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

 

데이터 마이닝의 분석 방법

1. 지도학습

의사결정나무, 인공신경망, 일반화 선형 모형, 선형 회귀분석, 로지스틱 회귀분석, 사례기반 추론, 최근접 이웃

2. 비지도학습

OLAP, 연관성 규칙, 군집분석, SOM

 

목적에 따른

예측 (분류 규칙) - 회귀분석, 판별분석, 신경망, 의사결정나무

설명 (데이터 군집화(클러스터링)) - K-Means Clustering

 

데이터 마이닝을 위한 데이터 분할

1) 구축용 Training Data 50%

2) 검정용 Validation Data 30%

3) 시험용 Test Data 20%

 

데이터 양이 충분하지 않은 경우

홀드아웃(Hold-Out) 방법 : 랜덤하게 두 개의 데이터로 구분하여 학습용, 시험용으로 분리하여 사용

입력 변수에 대한 설명이 충분한 경우

k-fold 교차분석 방법 : k개의 하부 집단으로 구분하여 k-1개의 집단을 학습용, 나머지를 검정용으로 설정하여 학습, 결과를 평균낸 값을 사용.

 

ROCR 패키지로 성과분석

그래프가 왼쪽에 가까운 곡선일수록 올바르게 예측한 비율은 높다.

ROC곡선 아래의 면적을 의미하는 AUROC값이 크면 클수록 모형의 성능이 좋다고 평가한다.

 

이익도표

Lift가 빠른속도로 감소해야 좋은 모델!

등급별로 향상도(Lifr)가 급격하게 변동할수록 좋은 모형!

 

과적합.과대적합(Overfitting)

학습용 데이터를 과하게 학습하여 학습 데이터에서는 높은 정확도이지만 테스트 데이터에서는 성능이 떨어지는 현상을 의미한다.

각각의 데이터를 너무 정확히 설명해두어 일반화가 힘들어 예측에 실패할 그래프의 경우.

 

과소적합(Underfitting)

모형이 너무 단순하여 패턴이나 규칙을 제대로 학습하지 못하는 경우를 의미한다.

지나치게 일반화된 그래프의 경우.

 

분류분석

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

예측분석

시계열분석처럼 시간의 따른 값 두 개만을 이용해 예측하는 것

 

공통점 : 레코드의 특정 속성의 값을 미리 알아맞히는 점

차이점

분류 : 레코드의 범주형 속성의 값을 알아맞히는 것

예측 : 레코드의 연속형 속성의 값을 알아맞히는 것

 

로지스틱 회귀분석

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

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

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

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

 

오즈비 : 성공할 확률이 실패할 확률의 몇 배인지를 나타내는 확률

 

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

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

 

의사결정나무

의사결정 문제를 시각화해 나무 모양으로 그리는 방법

입력값에 대해 출력값을 예측하는 모형

고객의 유치방안을 예측 -> 예측력에 치중

심사 결과 부적격 판정 이유를 설명 -> 해석력에 치중

(a)세분화(b)분류(c)예측(d)차원축소 및 변수선택(e)교호작용효과의 파악

 

장점 : 설명하기 용이, 복잡하지 않고, 대용량에서도 빠르게 만들 수 있다.

단점 : 새로운 자료에 과대적합 발생 가능성 높음, 중요도 판단이 어려움

 

나무의 가지치기

자료가 일정 수 이하일 때 분할을 정지하고 비용-복잡도 가지치기를 이용하여 성장시킨 나무를 가지치기.

1) 카이제곱 통계량

2) 지니지수 계산법 *

지니지수의 값이 클수록 이질적.

3) 엔트로피 지수

무질서 정도에 대한 측도이다.

 

party 패키지를 이용한 의사결정나무

분실값을 잘 처리하지 못하는게 단점.

1) iris data를 이용한 분석

30%는 test data, 70%는 training data로 생성한다.

2) train.data를 이용한 모형생성

iris.tree <- ctree(Species~., data=train.data)

plot(iris.tree)

 

앙상블 기법

과대.과소적합 문제를 해결하기 위해 여러 개의 분류기를 활용하여 앙상블을 이루도록 만든 것

배깅, 부스팅, 랜덤포레스트, 스태킹 등이 있다.

여러개의 예측모형을 만든 후 조합하여 하나의 최종 예측 모형으로!

1) 배깅

여러 개의 붓스트랩 자료를 생성 -> 예측모형 생성 후 결합

2) 부스팅

예측력이 약한 모형들을 결합하여 강한 예측모형을 만듦

부스팅 방법 중 Adaboost는 이진분류 문제에서 랜덤 분류기보다 조금 더 좋은 분류기 n개에 각각 가중치를 설정하고

n개의 분류기를 결합하여 최종 분류기를 만드는 방법을 제안

3) 랜덤 포레스트

약한 학습기들을 생성 -> 선형결합 -> 최종 학습기 생성

 

붓스트랩을 통해 샘플을 추출하더라도 샘플에 한 번도 선택되지 않는 원데이터가 36.8%에 해당한다.

 

군집분석

각 객체의 유사성을 측정하여 유사성이 높은 대상 집단을 분류하는 분석 방법

계층적 군집분석 : 전통적인 군집분석 방법으로 군집 개수를 제일 나중에 선정

비계층적 군집분석인 k-means 군집분석은 군집의 개수를 제일 먼저 선정하고 모형을 개발

 

가. 최단연결법

나. 최장연결법

다. 평균연결법

라. 와드연결법

마. 군집화

 

k-means 군집분석

거리 계산을 통한 군집화라 연속형 변수에 활용이 가능함!

K개의 초기 중심값은 임의로 선택이 가능하다!

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

탐욕적 알고리즘이므로 안정은 보장하나 최적은 모른다.