데이터마이닝

기업이 보유하고 있는 일일 거래 데이터, 고객 데이터, 상품 데이터 혹은 각종 마케팅 활동에 있어서의 고객 반응 데이터 등과 의외의 외부 데이터를 포함하는 모든 사용가능한 원천 데이터를 기반으로 감춰진 지식, 기대하지 못했던 경향 또는 새로운 규칙 등을 발견하고 이를 실제 비즈니스 의사결정 등에 유용한 정보로 활용하는 일련의 작업

 

 

 

데이터 마이닝 5단계

1단계. 목적 정의 데이터 마이닝의 명확한 목석 설정
2단계. 데이터 준비 데이터 정제, 데이터 양을 충분히 확보
3단계. 데이터 가공 목적변수를 정의하고 개발환경 구축, 모델링을 위한 데이터 형식으로 가공
4단계. 데이터 마이닝 기법 적용 모델을 목적에 맞게 선택
5단계. 검증 결과에 대한 검증

 

 

머신 러닝의 알고리즘 종류들

 

 


 

 

Classification(분류분석)

종류: 로지스틱 회귀, 의사결정 나무, 앙상블, 신경망 모형, KNN, 베이즈 분류 모형, SVM, 유전자 알고리즘

 

 

 

로지스틱 회귀분석

특히 독립변수가 연속형, 종속변수가 범주형일때 적용된다.

ex) 종속변수가 성공/실패, 사망/생존

표현: glm(종속변수~독립변수1+ . . . + 독립변수N, data = df, family=binomial) 

  일반 선형 회귀분석 로지스틱 회귀분석
종속변수 연속형 변수 이산형(범주형) 변수
모형 탐색 방법 최소제곱법 최대우도법, 가중최소제곱법
모형 검정 F-test, T-test X^2 test

선형 회귀 분석과 달리 로지스틱 회귀분석은 0~1사이의 값을 가진다. x값에 따른 y값의 변화량을 보는게 목적이 아님!

 

승산(odds) = 성공률 / 실패율

log odds = log(odds)

sigmoid 함수 : Logistic 함수라고 불리는 log_odds를 연속형 0~1사이 값으로 바꿔주는 함수

 

 

 

 

의사결정나무(Decison Tree)

의사결정규칙을 나무 규조로 나타내 전체 자료를 몇 개의 소집단으로 분류하거나 예측을 수행

비모수적 모형으로 선형성, 정규성, 등분산성 등의 수학적 가정이 불필요함

범주형과 수치형 변수를 모두 사용 가능

 


 

앙상블 모형

여러개의 분류 모형에 의한 결과를 종합하여 분류의 정확도를 높이는 방법

약하게 학습된 여러 모델을 결합해서 사용

과적합 감소 효과가 있다.

상호 연관성이 높으면 분류가 쉽지 않고 정확도가 감소된다.

 

 

voting

서로 다른 여러 개의 알고리즘 분류기를 사용해서 결과를 취합해 많은 결과/높은 확률이 나온것을 채택

 

 

bagging(Bootstrap AGGregatING)

서로 다른 훈련 데이터 샘플로 훈련, 서로 같은 알고리즘 분류기 결합

여러 모델이 병렬로 학습해서 그 결과를 집계

원데이터에서 중복을 허용하는 크기가 같은 표본을 여러번 단순 임의 복원 추출하여 각 표본에 대해 분류기를 생성

ex) MetaCost Algorithm

 

 

boosting

여러 모델이 순차적으로 학습

이상치에 약함, 가중치를 부여하여 표본을 추출

ex) AdaBoost, GradientBoost(XGBoost, Light GBM)

 

 

Random forest

배깅에 랜덤 과정을 추가한 방법

노드 내 데이터를 자식 노드로 나누는 기준을 정할 때, 모든 예측 변수에서 최적의 분할을 선택하는 대신, 설명변수의 일부분만을 고려함으로 성능을 높인다.

여러개의 의사결정나무를 사용해, 과적합 문제를 피한다.

 

 

 


 

 

KNN(K-Nearest Neighbors)

이웃의 개수(K)만큼 비교해서 결과를 판단하는 방법

K값에 따라 소속되는 그룹이 달라질 수 있다(K값은 hyper parameter) > 사용자가 정해줘야함

스케일링이 중요하고, lazy learning, 지도학습

 

SVM(Support Vector Machine)

서로 다른 분류에 속한 데이터 간의 간격이 최대가 되는 선을 찾아 이를 기준으로 데이터를 분류

 

 

 

 

 

 

 

인공신경망(ANN) 모형

인공신경망을 이용하면 분류 및 군집 가능

입력층, 은닉층, 출력층 3개의 층으로 구성되어있다.

학습 : 입력에 대한 올바른 출력이 나오도록 가중치를 조절하는 것

가중치 초기화는 -0.1 ~ 1.0 사이의 임의 값으로 설정하며, 가중치는 지나치게 큰 값으로 초기화하면 활성화 함수를 편향시키게 되며, 활성화 함수가 과적합 되는 상태를 포화상태라고함.

 

경사하강법 : 함수의 기울기를 낮은쪽으로 계속 이동

               제시된 함수의 기울기의 최소값을 찾아내는 머신러닝 알고리즘

 

인공신경망의 장단점

장점 : 복잡한 비선형관계에 유용하며 이상치/잡음에 민감하지 않음

단점 : 결과에 대한 해석이 쉽지않고 최적 모형 도출이 어렵다. 정규화하지 않으면 지역해(local minimum)에 빠질 위험.

 

신경망 활성화 함수

풀고자 하는 문제 종류에 따라 활성화 함수의 선택이 달라진다.

계단함수 0 또는 1 결과
부호함수 -1 또는 1 결과
선형함수  - 
sigmoid 함수 연속형 0~1, Logistic 함수라 불리기도 함
softmax 함수 각범주에 속할 사후 확률을 제공하는 활성화 함수
주로 3개 이상 분류시 사용한다.

시그모이드

 

 

 

 

 


모형평가

홀드아웃(Hold Out) 원천 데이터를 랜덤하게 두 분류로 분리하여 교차검정을 실시하는 방법
잘못된 가설을 가정하게 되는 2종 오류의 발생을 방지
사용법 : idx <- sample(2, nrow ~~ )
교차검증
(Cross Validation)
데이터가 충분하지 않을 때 사용.
클래스 불균형 데이터에는 적합하지 않다.
주어진 데이터를 가지고 반복적으로 성과를 측정하여 그 결과를 평균한것으로 모형을 평가
부트스트랩
(Bootstrap)
교차검증과 유사하지만, 훈련용 자료를 반복 재선정함
관측치를 한 번 이상 훈련용 자료로 사용하는 복원 추출법에 기반
훈련데이터를 63.2% 사용하는 0.632부트스트랩이 있다.

 

 

 

 

오분류표를 활용한 평가지표

F1 : 데이터가 불균형할 때 사용한다.

오분류표 중 정밀도와 재현율의 조화평균을 나타내며 정밀도와 재현율에 같은 가중치를 부여하여 평균한 지표

2 * (Precision * Recall) / (Precision + Recall)

 

FP rate = 1 - specificity

kappa : 두 평가자의 평가가 얼마나 일치하는지 평가하는 값으로 0~1사이의 값을 가짐

 

 


 

군집분석(Clustering Analysis)

여러 변수 값들로부터 N개의 개체를 유사한 성격을 가지는 몇개의 군집으로 집단화하고 형성된 군집들의 특성을 파악해 군집들 사이의 관계를 분석하는 다변량분석 기법

 

 

계층적 군집 분석의 특징

- 가장 유사한 개체를 묶어나가는 식으로 반복해서 군집 형성

- 유사도 판단은 보통 개체간 거리에 기반(유클리드, 맨해튼, 민코프스키, 마할라노비스)

- 이상치에 민감

- 사전에 군집 수 K를 설정할 필요 없다.

- 매 단계에서 지역적 최적화를 수행해 나가는 방법을 사용하므로 그 결과가 전역적인 최적해라고 볼 수 없음

- 한번 군집이 형성되면 군집에 속한 개체는 다른 군집으로 이동할 수 없음

사용법 : hclust(), cluster패키지의 agnes(), mclust()

응집형 군집 방법 최단 연결법 단일 연결법이라고도 하며, 두군집 사이의 거리를 군집에서 하나씩 관측값을 뽑았을 때 나타날 수 있는 최솟값을 측정
완장 연결법 완전 연결법이라고도 하며, 두 군집사이의 거리를 최댓값으로 측정
중심 연결법 두 군집의 중심간의 거리를 측정
와드 연결법 계층적 군집내의 오차제곱합에 기초하여 군집을 수행
크기가 비슷한 군집끼리 병합하는 경향이 있다.
평균 연결법 모든 항목에 대한 거리 평균을 구함, 계산양이 많아질 수 있다.

 

수학적 거리 개념 : 유클리드, 맨해튼, 민코프스키

유클리드(Euclidean) > 평소에 구하던 거리 공식

맨해튼(Manhattan) > 두점의 각 성분별 차의 절대값 합

민코프스키(Minkowski) > 거리의 차수와 함께 사용되며, 일반적으로 사용되는 거리 차수는 1,2, 무제한

                                  q=2이면 유클리드, 1이면 맨해튼

 

통계적 거리 개념 :  표준화, 마할라노비스

표준화 거리 > 

 

 

 


References

2021 ADsP 데이터 분석 준전문가, 윤종식 저

https://www.youtube.com/c/EduAtoZPython/videos

 

EduAtoZ - Programming

An extreme programming education channel

www.youtube.com

 

 

회귀분석

독립변수 : 입력이나 원인을 나타내는 변수 , x

종속변수 : 결과물이나 효과를 나타내는 변수, y   (+)일반 선형회귀는 종속변수가 연속형 변수일 때 가능하다.

잔차(오차항) : 계산에 의해 얻어진 이론값과 측정값의 차이

오차(Error) > 모집단, 잔차(Residual) > 표본집단

 

 

회귀분석이란?

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

다중 회귀 모형

 

df에 있는 데이터를 바탕으로 y라는 종속변수, x라는 독립변수를 가지는 회귀 모형 만들기

 

최소제곱법(Least Square Method)

잔차를 제곱한 것의 합이 최소가 되도록 하는 절편과 회귀계수를 구하는 방법

 

 

 

회귀 모형의 가정

선형성 독립변수의 변화에 따라 종속변수도 변화하는 선형 모형이다.  
독립성 잔차와 독립변수의 값이 관련되어 있지 않다 (Durbin-Watson 통계량 확인)  
정규성(정상성) 잔차항이 정규분포를 이뤄야한다. Normal Q-Q plot
등분산성 잔차항들의 분포는 동일한 분산을 갖는다. Scale-Location
비상관성 잔차들끼리 상관이 없어야 한다.  

Cook's Distance : 일반적으로 1값이 넘어가면 관측치를 영향점으로 판별

 

 

 

 

회귀모형의 검정

확인 요소 확인 방법 구하는 법
모형이 통계적으로 유의미한가?
(통계적 유의성)
F 통계량, 유의확률(p-value)로 확인 F 통계량 =
회귀제곱평균(MSR)/잔차제곱평균(MSE)
당연히 F통계량을 클수록 유의하며,
p-value는 보통 0.05보다 작을때 유의하다고 한다.
회귀계수들이 유의미한가? 회귀계수의 t값, 유의확률(p-value)로 확인 t 값 = 
Estimate(회귀계수)/std.Error(표준오차)
당연히 F통계량을 클수록 유의하며,
p-value는 보통 0.05보다 작을때 유의하다고 한다.
모형이 얼마나 설명력을 갖는가?
(회귀식 적합도)
결정계수(R^2)확인
0~1사이의 범위를 가지며 전체 분산중 모델에 의해 설명되는 분산의 양을 뜻함.
결정계수 =
회귀제곱합(SSR)/총제곱합(SST)
= 1-(SSE/SST)
결정계수가 커질수록 설명력이 높아짐
(아래 그림 참고)
모형이 데이터를 잘 적합하고 있는가? 잔차 통계량 확인, 회귀진단 선행(선형성~정상성)  

 

 

 

 

 


 

 

 

 

 

다중공선성(Multicollinearity)

모형의 일부 설명변수(=독립변수)가 다른 설명변수와 상관되어 있을 때 발생하는 조건(선형관계가 존재)

중대한 다중공선성은 회귀계수의 분산을 증가시켜 불안정하고 해석하기 어렵게 만들기 때문에 문제가 됨

R에서 vif함수를 이용해 구할 수 있으며 VIF(variance inflation factor 분산팽창요인)값이 10이 넘으면 다중공선성이 존재한다고 본다.

 

해결법? 높은 상관 관계가 있는 설명변수를 모형에서 제거

그러면 대부분의 R-square가 감소한다. 그래서 단계적 회귀분석을 사용해 제거

 

 

변수선택법

모든 가능한 조합 모든 가능한 독립변수들의 조합에 대한 회귀모형을 분석해 가장 적합한 모형 선택  
후진제거법 독립변수 후보 모두를 포함한 모형에서 출발해 하나씩 제거 step(lm(~~~),direction='backward')
전진제거법 절편만 있는 모델에서 출발해 변수를 차례로 추가 step(lm(~~~),direction='forward')
단계별방법 전진선택법에서 출발해 변수를 추가하다가 새롭게 추가된 변수에 기인해 중요도가 약화되면 해당 변수를 제거하는 등 단계별로 추가, 삭제 되는 변수를 검토하는 방법 step(lm(~~~),direction='both')

 

 

 

 


 

 

 

상관분석

상관 계수? 두 변수의 관련성의 정도를 의미(-1 ~ 1)

     두 변수의 상관관계가 존재하지 않을 경우 상관계수는 '0' 이다.

     상관관계가 높다고 인과관계가 있지는 않다.

     피어슨 상관계수와 스피어만 상관계수가 있다.

  피어슨 스피어만
개념 등간척도,비율척도 간의 선형적인 크기 측정 서열척도비선형적인 관계 측정
특징 연속형변수, 정규성 가정 순서형변수, 비모수적 방법
상관계수 피어슨 r(적률상관계수) 순위상관계수 로우 
R코드 cor(x, y, method=c("pearson","kendall","spearman"))

 

 

 


 

 

 

차원 축소 기법

주성분 분석(PCA, Principal Component Analysis)

데이터 분석을 할때 변수의 개수가 많다고 무조건 좋은건 아니다(다중공선성의 위험성)

공분산행렬 또는 상관계수 행렬을 사용해 모든 변수들을 가장 잘 설명하는 주성분을 찾는 방법

상관

관계가 있는 변수들을 선형 결합에 의해 상관관계가 없는 새로운 변수를 만들고 분산을 극대화하는 변수로 축약

독립 변수들과 주성분과의 거리인 "정보손실량"을 최소화 하거나 분산을 최대화한다.

 

물고기의 height와 width는 상관관계가 있다. 그래서 이 두 성분을 조합하여 분산을 극대화 하는 변수로 축약한다.

 

 

공분산 행렬 vs 상관계수 행렬

공분산 행렬은 변수의 측정단위를 그대로 반영, 상관계수 행렬은 모든 변수의 측정단위를 표준화

설문조사 처럼 모든 변수들이 같은 수준으로 점수화 된 경우 공분산행렬을 사용한다.

변수들의 scale이 서로 많이 다른 경우에는 상관계수행렬을 사용한다.

주성분 분석에서 상관계수 행렬 사용 prcomp(data, scale = TRUE)
princomp(data, cor = TRUE)

 

 

성분들이 설명하는 분산의 비율

누적 분산 비율을 확인 하면 주성분들이 설명하는 전체 분산 양을 알 수 있다.

 

 

 

고윳값

분산의 크기를 나타내며, Scree Plot은 고윳값을 가장 큰 값에서 가장 작은 값 순서로 정렬해서 보여준다.

scree Plot

 

 

주성분의 로딩벡터 나타내기

사용법 : fit$rotation

 

 

주성분 분석 해석하기

Standard deviation(표준편차) : 자료의 산포도를 나타내는 수치로, 분산의 양의 제곱근, 표준편차가 작을수록 평균값에서 변량들의 거리가 가깝다

Porportion of Variance(분산비율) : 각 분산이 전체 분산에서 차지하는 비중

Cumulative Proportion(누적비율) : 분산의 누적비율

 

 

 

 


 

 

 

시계열 예측

시계열 분석을 위해서는 정상성을 만족해야 한다.

정상성(stationary)? 시계열의 수준과 분산에 체계적인 변화가 없고, 주기적 변동이 없다는 것

                         미래는 확률적으로 과거와 동일하다!

 

정상 시계열의 조건 : 정상성을 가지고 있는 시계열의 조건

1) 평균은 모든 시점에 대해 일정하다

2) 분산은 모든 시점에 대해 일정하다

3) 공분산은 시점에 의존하지 않고, 단지 시차에만 의존한다.

 

정상 시계열로 전환하는 방법 : 차분, 변환

차분 : 현 시점의 자료 값에서 전 시점의 자료 값을 빼주는 것 > 평균이 일정하지 않을때 사용

변환 : 분산이 일정하지 않을 때 사용

 

분해시계열

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

추세요인 자료에 그림을 그렸을 때 그 형대타 오르거나 내리는 등 어떤 특정한 형태를 취할 때
계절요인 계절에 따라, 고정된 주기에 따라 자료가 변화하는 경우
순환요인 급격한 인구 증가 등 알려지지 않은 주기를 가지고 자료가 변화하는 경우(주기가 있음)
불규칙요인 추세,계절,순환으로 설명할 수 없는 오차에 해당하는 요인

 

 

 

 


References

2021 ADsP 데이터 분석 준전문가, 윤종식 저

https://www.youtube.com/c/EduAtoZPython/videos

 

EduAtoZ - Programming

An extreme programming education channel

www.youtube.com

 

 

기본 용어들

 

모집단 : 잘 정의된 연구목적과 이와 연계된 명확한 연구대상 (데이터 전체 집합)

모수 : 모집단의 특성을 나타내는 수치들 ex) 모집단의 평균(μ), 표준편차(σ)과 같은 수치

 

표본 : 모집단이 너무 많아 모집단에서 추출한 집합

통계량 : 표본의 특성을 나타내는 수치들 ex) 모집단의 평균(x바), 표준편차(s)과 같은 수치

 

 

 

표본 추출 방법

단순 무작위 추출(Simple random sampling) : 동일한 확률로 추출

계통 추출(Systematic sampling) : 모집단 개체에 1, 2, . . . , N 이렇게 일련번호를 부여하고 일정한 간격으로 추출

층화 추출(Stratified sampling) : 모집단을 서로 겹치지 않게 몇 개의 집단 또는 층으로 나누고 각 집단 내에서

                              원하는 크기의 표본을 단순 무작위 추출 (예를 들자면, 성별이나 나이대, 지역등으로 나눔)

군집 추출(Cluster sampling) : 모집단을 차이가 없는 여러개의 집단으로 나눔

 

 

 

자료의 측정 방법

범주형자료 명목척도(nominal scale) 단순히 측정 대상의 특성을 분류하거나 확인하기 위한 목적
숫자로 바꾸어도 그 값이 크고 작음을 나타내지 않고 범주를 표시 
ex) 성별, 혈액형, 출생지 등
서열척도(Ordinal scale) 대소 또는 높고 낮음 등의 순위만 제공할 뿐 양적인 비교는 할 수 없음
항목들 간에 서열이나 순위가 존재
ex) 금은동, 선호도, 만족도
연속형자료 등간척도(Interval scale) 순위를 부여하되 순위 사이의 간격이 동일하여 양적인 비교가 가능하다
절때 영점이 존재하지 않음(절대 영점이란 없음을 의미)
ex) 물가지수, 온도계 수치
비율척도(Ratio scale) 절대 영점이 존재하여 측정값 사이의 비율 계산이 가능한 척도
ex) 몸무게, 나이, 형제의 수, 직장까지의 거리?

 

 

 


집중화 경향에 사용되는 값

Mean(평균), Median(중앙값), Mode(최빈값)

 

 

 

데이터의 퍼짐 정도를 측정

산포도(dispersion) - 산포도가 크면 변량들이 평균으로 부터 멀리 흩어져 있고 변동성이 커짐

                           산포도가 작으면 변량들이 평균 주위에 밀집해있고 변동성이 작아짐

편차 - 편차의 총합은 항상 0 이다, 어떤 자료의 변량에서 평균을 뺀값

분산(s제곱) - 데이터가 얼마나 퍼져있는지 알아 볼 수 있는 수치

표준편차(s) - 평균으로부터 각 데이터의 관찰 값까지의 평균거리

 

 

변동계수(CV, coefficient of variation)

단위가 다른 두 그룹 또는 단위는 같지만 평균차이가 클 때의 산포 비교에 사용한다.

관측되는 자료가 모두 양수 일때만 사용한다.

구하는방법 : cv = s/x

 

ex) A학생이 평균 3시간 공부하고 표준편차는 0.4이고 B학생은 평균 6시간 공부하고 표준편차가 0.9이다

그럼 A의 cv는 0.4/3=0.133, B의 cv는 0.9/6=0.15이므로 변동계수가 작은 A가 더 꾸준히 공부했다볼 수 있다.

 

 

 

 

 


확률분포

확률분포? 어떤 확률 변수가 취할 수 있는 모든 값들과 그 값을 취할 확률의 대응관계로 표시하는것

ex) 동전을 2번 던질 때 앞면이 나온 횟수

앞면 0 1 2
확률 1/4 1/2 1/4 1

 

 

이산형 확률분포

확률변수가 몇개의 한정된 값을 가지는 분포이며 각 사건은 서로 독립

베르누이분포 ex) 동전을 던졌을 때 앞면이 나올 확률, 주사위를 던져서 4의 눈이 나올 확률
경우의 수가 2개다, 일어날 확률, 안일어날 확률
이항분포 ex) 동전을 50번 던졌을 때, 앞면이 나올 확률
서로 독립된 베르누이 시행을 n회 반복할 때, 성공한 x의 확률분포
E(x) = np , V(x) = np(1-p)
기하분포 ex) 야구선수가 홈런 칠 확률이 5%라고 할 때, x 번째 타석에서 홈런을 칠 확률분포
베르누이 시행에서 처음 성공까지 시도한 횟수, 지지집합(x) = {1,2,3 . . .} #0이없다!
베르누이 시행에서 처음 성공까지 실패한 횟수, 지지집합(x) = {0,1,2 . . .} 
포아송분포 ex) 어느 AS센터에 1시간당 평균 120건의 전화가 올 때, 1분동안 걸려오는 전화가 4건 이하일 확률
단위 시간이나 단위 공간
에서 어떤 사건이 몇번 발생할 것인가에 대해 표현하는 분포
확률은 x = λ에서 최대이며, x가 커질수록 0에 가까워진다.

 

 

기댓값

확률변수 X의 가능한 모든 값들의 가중 평균

이산적 확률변수 기댓값
연속적 확률변수 기댓값

 

 

 


연속형 확률분포

확률변수의 가능한 값이 무한 개이며 사실상 셀 수 없을때

ex) 정규분포, 균등분포, 지수분포, t분포, x2분포, f분포

 

 

 

 

 

 

 

정규분포

N(μ,σ2)으로 표기 (+) N(0,1)를 표준 정규분포, z분포라고 한다.

ex) 키나 몸무게, 시험 점수의 측정값

 

확률 밀도 함수 : 특정 구간에 속할 확률을 계산하기 위한 함수

 

3 시그마 규칙 (68-95-99.7 rule)

약 68%의 값들이 평균에서 양쪽으로 1 표준편차 범위(μ±σ)에 존재

약 95%의 값들이 평균에서 양쪽으로 2 표준편차 범위(μ±2σ)에 존재

약 99.7%의 값들이 평균에서 양쪽으로 3 표준편차 범위(μ±3σ)에 존재 -> 이 이상의 값들을 이상치라 생각하기도함

 

 

 

 

대부분의 측정값은 정규분포?

정규분포의 당위성에 대한 이유

1) 이항분포의 근사

시행횟수 N이 커질 때, 이항분포 B(N,p)는 평균 Np, 분산 Npq인 정규분포와 N(Np, Npq)와 거의 같아진다.

 

2) 중심 극한 정리

표본의 크기가 N인 확률표본의 표본 평균은 N이 충분히 크면 근사적으로 정규분포를 따르게 된다!

모집단의 분포와 상관없이 표본의 크기가 30 이상이 되면 n이 커짐에 따라 표본 평균의 분포가 정규 분포에 근사해짐

 

3) 오차의 법칙

오차(e) = x - μ

MLE(Maximum Likelihood Estimator) : 실제값일 가능성이 가장 높은 값

실제 값의 MLE가 측정값의 평균이라면, 오차는 정규분포를 따른다.

 

 

 

 

 

 

 

균등분포

이산균등분포 - 확률분포함수가 정의된 모든 값에서 일정한 분포를 가진다 ex)주사위던지기

연속균등분포 - 특정한 범위에서 균등한 확률을 가짐

 

지수분포

사건이 서로 독립적일때 다음 사건이 일어날 때까지 대기시간은 지수분포를 따름

일정 시간동안 발생하는 사건의 횟수는 포아송 분포를 따름

ex) 전자제품의 5년간 고장횟수가 평균 1회일때, 1년안에 고장날 확률

사용법 : pexp(q=1, rate=0.2, lower.tail=TRUE)

 

t-분포

표본을 많이 뽑지 못하는 경우에 대한 대응책으로 예측 범위가 넓은 분포를 사용하는 분포

표본의 수가 30미만일때 사용하며, 신뢰구간과 가설검정에서 사용한다.

그래프의 x축 좌표를 t값이라 부르며 t분포표를 사용해 검정에 사용한다.

 

카이제곱 분포

분산의 특징을 확률분포로 만든것, 표준 정규분포를 제곱한다는 뜻임

신뢰구간과 가설검정에서 사용하고 그래프의 x축 좌표를 카이제곱값이라 부름

 

f-분포

카이제곱분포는 한 집단의 분산, f분포는 두집단의 분산을 다룸

두 집단의 분산이 크기가 서로 비교하는데 사용

 

 

 

 

 


통계적 추론의 분류, 오차

통계량을 사용해서 모수를 알아내기! 그리고 그때 발생하는 오차에 대하여

 

 

 

모집단에 대한 가정 여부에 따른 통계적 추론의 분류

모수적 추론 모집단에 특정 분포를 가정하고 모수에 대해 추론
비모수적 추론 모집단에 대해 특정 분포 가정을 하지 않음

 

 

추정과 가설검정

추정 점추정 하나의 값으로 모수의 값이 얼마인지 추측
구간추정 모수를 포함할 것으로 기대되는 구간을 예측
가설 검정 모수에 대한 가설을 세우고 그 가설이 옳고 그름을 확률적으로 판정하는 방법론

 

 

표준오차(SE) : 표본 집단의 평균값이 실제 모집단의 평균값과 얼마나 차이가 있는지 나타낸다.

                   모집단에서 샘플을 무한번 뽑아서 각 샘플마다 평균을 구했을 때, 그 평균들의 표준편차임 

표본오차 : 표본을 샘플링 할 때, 모집단을 대표할 수 있는 전형적인 구성 요소를 선택하지 못함으로써 발생하는 오차

              표본의 크기를 증가시키고, 표본 선택 방법을 엄격히 하여 줄일 수 있음

 

 

오차한계 : 추정을 할 때, 모평균 추정구간 중심으로부터 최대한 허용할 최대허용오차

              추정 문제에서 표본오차란 오차한계와 같다.

              오차한계는 임계값(critical value)와 표준오차(SE)를 곱한 값

              임계값 : 표준정규분포에선 z값, t분포에서는 t값, 카이제곱분포에서는 카이제곱값

 

 

 

 


추정량, 점추정, 구간추정

추정 : 표본의 통계량을 가지고 모집단의 모수를 추측하여 결정하는 것

추정량 : 모수를 추정하기 위한 관찰 가능한 표본의 식 또는 표본의 함수

추정값 : 표본의 식 또는 함수에 관찰치를 대입해서 계산한 값

 

 

좋은 추정량 판단 기준

일치성(consistency) 표본의 크기가 커짐에 따라 표본 오차가 작아져야 한다
비편향성, 불편성(unbiasedness) 편향(bias) = 추정량의 기댓값 - 실제값
추정량의 기댓값이 모수의 값과 같아야 한다(편향==0)
효율성(efficiency) 추정량의 분산이 될 수 있는대로 작아야한다

 

 

점추정

통계량을 하나 구해서 그걸로 모수를 구하는 방법

ex) A과목 수강생중 50명을 뽑아 조사한 결과 기말 점수가 80점 이었다면, 나머지 학생들도 80점 정도로 추정하는것

 

구하는법

적률법 표본의 기댓값을 통해 모수를 추정하는 방법
최대가능도추정법(최대우도법) 함수를 미분해서 기울기가 0인 위치에 존재하는
MLE(Maximum likelihood extimator)를 찾는 방법
최소제곱법 함수값과 측정값의 차이인 오차를 제곱한 합이 최소가 되는 함수를 구하는 방법

 

 

 

구간추정

신뢰구간? 모수가 포함되리라고 기대되는 범위

신뢰수준? 모수값이 정해져 있을때 다수 신뢰구간중 모수값을 포함하는 신뢰구간이 존재할 확률

ex) 신뢰수준 95%에서 투표자의 35%~45%가 A후보를 지지하고 있다

 

(+) 95% -> 2.5%~97.5%

     98% -> 1% ~ 99%

     99% -> 0.5% ~ 99.5%

 

 

 

 

 


가설검정

귀무가설(H0) : 연구자가 부정하고자 하는가설

대립가설(H1) : 연구자가 연구를 통해 입증 또는 증명되기를 기대하는 예상이나 주장

기각역 : 검정통계량(t-value)의 분포에서 유의수준의 크기에 해당하는 영역

           계산한 검정통계량의 유의성을 판정하는 기준

제 1종 오류 : 귀무가설이 참인데 기각하는 오류

제 2종 오류 : 귀무가설이 거짓인데 채택하는 오류

   * 두가지 오류가 작을 수록 바람직 하나, 불가능 하기 때문에 1종 오류를 범할 최대 허용치를 미리 정해줌

유의수준 : 제 1종 오류의 최대 허용 한계

유의확률 : 제 1종 오류를 범할 확률, 귀무가설을 지지하는 정도

              p-value(유의확률) < α 일때, 귀무가설을 기각하고, 대립가설을 채택

  H_0 사실이라고 판정 H_0 사실이 아니라고 판정
H_0 사실임 옳은 결정 1종 오류(α)
H_0 사실이 아님 2종 오류(β) 옳은 결정

 

 

 

 


모수적 추론, 비모수적 추론

모수적 추론 : 모집단에 특정 분포를 가정하고하고 분포의 특성을 결정하는 모수에 대해 추론하는 방법

                  모수로는 평균, 분산 등을 사용. 자료가 정규분포, 등간척도, 비율척도인 경우

비모수적 추론 : 모집단에 대해 특정 분포를 가정하지 않음

                  모수자체보다 분포 형태에 관한 검정. 표본수가 적고, 명목척도, 서열척도인 경우

 

 

 

모수적 추론 종류

T test

평균값이 올바른지, 두 집단의 평균 차이가 있는지 검증
one Sample t-test 단일 표본의 평균 검정을 위한 방법
ex) S사 USB의 평균 수명은 20000시간이다
Paired t-test
대응표본 t검정
동일 개체에 어떤 처리를 하기 전/후의 자료를 얻을 때 평균 검정을 위한 방법
ex) 매일 1시간씩 한달 걸으면 2kg이 빠진다(전/후

가능한 동일한 특성을 갖는 두 개체에 서로 다른 처리를 해서 효과를 비교
ex)X질병 환자를 두집단으로 나누어 A,B약을 투여해 효과 비교
Two sample t-test
독립표본 t검정
서로 다른 두 그룹의 평균을 비교
귀무가설 - 두집단의 평균 차이값이 0이다

 

 

자유도(Degree of freedom)

통계적 추적에서 표본자료 중 모집단에 대한 정보를 주는 독립적인 자료의 수

관측값이 n개면 자유도는 n-1

 

표본 평균의 자유도 : n

표본 분산의 자유도 : n-1

 

 

one sample t-test

알 수 있는점

데이터 수는 = 2999+1 = 3000개

유의 수준 5%에서 평균 wage=100이라는 귀무가설은 기각됨

귀무 가설에서 설정한 평균이 신뢰구간내에 존재하지 않기 때문

 

 

 

 

Paired t-test

알 수 있는점

paired t-test이며 df=9이므로 그룹별 데이터수는 10개 -> 분석 전 정규성 검정 실시

 

 

 

 

 

 

Two sample t-test

그룹이 2개 이므로 18+2해서 데이터수는 20개 ->분석 전 정규성 검정 실시

p-value가 0.05보다 커서 귀무가설을 기각 할 수 없다.

신뢰구간에 0이 포함되므로 두 집단간 평균에 차이가 없다고도 해석할 수 있다.

 

 

 

데이터의 정규성 검정 

데이터의 정규성을 검정하는 방법들

Q-Q plot 그래프를 그려서 정규성이 만족되는지 시각적으로 확인하는 방법
대각선 참조선을 따라 값이 분포하면 정규성을 만족한다고 볼 수 있다.
Histogram 구간별 돗수를 그래프로 표시해서 시각적으로 정규분포를 확인
Shapiro-Wilk test 오차항이 정규분포를 따르는지 알아보는 방법
p-value가 0.05보다 크면 정규성
kolmogorov-Smirnov test 두 모집단의 분포가 같은지 검정
p-value가 0.05보다 크면 정규성

 

 

 

 

 

 


References

2021 ADsP 데이터 분석 준전문가, 윤종식 저

https://www.youtube.com/c/EduAtoZPython/videos

 

EduAtoZ - Programming

An extreme programming education channel

www.youtube.com

 

 

 

1절. 데이터 변경 및 요약2

데이터 마트

데이터 웨어하우스와 사용자 사이의 중간층에 위치한 것

데이터 마스 내 대부분의 데이터는 데이터 웨어하우스로부터 복제되지만, 자체적으로 수집될 수도 있다.

 

 

 

요약변수와 파생변수

  요약변수 파생변수
정의 수집된 정보를 분석에 맞게 종합한 변수로 데이터 마트에서 가장 기본적인 변수
많은 모델이 공통으로 사용할 수 있어 재활용성이 높음
사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수
매우 주관적일 수 있어서 논리적 타당성을 갖출 필요가 있다.
예시 기간별 구매 금액, 횟수/ 단어 빈도/ 상품별 구매 순서 등 주 구매 매장/ 주 활동지역/ 시즌 선호 고객/ 라이프 스타일/ 선호하는 가격대 등

 

 

 


 

 

 

1절. 데이터 변경 및 요약2

reshape 패키지

melt(data, id= . . .) : id에 정한 변수를 기준으로 데이터 구조를 변경함

cast(data, fomula= . . . , [func= . . . ]) : 데이터를 fomula에 있는 형태로 변환하고 func 적용

             fomula의 형태 : 행변수(고정) ~ 열변수(변경) , 여러개 변수는 +로 묶음

 

 

 


 

 

1절. 데이터 변경 및 요약3

sqldf 패키지

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

사용법 : sqldf('sqld 문자열')

사용예시 : head([df]) > sqldf("select * from [df] limit 6")

              subset([df], [col] %in% c("BF","HF")) > sqld("select * from [df] where [col] in ('BF','HF')")

              merge([df1],[df2]) > sqld("select * from [df1],[df2]")

 

plyr 패키지

"어쩌구ply"형태의 함수들을 제공하는 패키지

앞의 알파벳이 입력, 뒤의 알파벳이 출력을 의미

  array data frame list nothing
array aaply adply alply a_ply
data frame daply ddply dlply d_ply
list laply ldply llply l_ply
n replicates raply rdply rlply r_ply
function
arguments
maply mdply mlply m_ply

 

 

data.table

기존의 data.frame 보다 월등히 빠른 속도

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

 

 

 


 

 

2~3절

변수의 구간화

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

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

 

 

 

변수 구간화의 방법

binning 연속형 변수를 범주형 범수로 변환하기 위해 50개 이하의 구간에 동일한 수의 데이터를 할당하여 의미를 파악하면서 구간을 축소 하는 방법
의사결정나무 모형을 통해 연속형 변수를 범주형 변수로 변환하는 방법

 

 

 

 

결측값 처리

결측값? 데이터가 존재하지 않음!

표현방식 : NA, . , 9999999999, Unknown, Not Answer 등으로 표현

 

 

결측값을 처리하는 방법

1) 단순 대치법

  - completes analysis : 결측값이 있는 레코드 삭제

  - 평균 대치법 : 데이터의 평균으로 대치

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

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

  -단순확률 대치법 : 평균대치법에서 추정량 표준 오차의 과소 추정 문제를 보완한 방법으로 Hot-deck방법, nearest             Neighbor 방법 등이 있다

 

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

  

 


 

 

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

R의 결측값 처리 관련 함수

complet.cases() 데이터내 레코드에 결측값이 있으면 False, 없으면 True 반환
is.na() 결측값이 NA인지의 여부를 T/F로 반환
DMwR패키지
: centrallmputation()
NA의 값을 가운데 값으로 대치
DMwR패키지
: knnlmputation()
NA의 값을 k최근 이웃 분류 알고리즘을 사용하여 대치
Amelia 패키지
: amelia()
여러 국가에서 매년 측정된자료 활용

 

 

 

이상값 처리

이상값? 의도하지 않은 현상으로 입력된 값 or 의도된 극단값 -> 이용 가능

           잘못입력한 값 or 의도하지 않은 현상으로 입력되었으나 분석목적에 맞지않음 -> 제거

 

어떤게 이상값인가?

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

 

이상값을 처리하는 방법

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

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

 

 

 

 


References

2021 ADsP 데이터 분석 준전문가, 윤종식 저

https://www.youtube.com/c/EduAtoZPython/videos

 

EduAtoZ - Programming

An extreme programming education channel

www.youtube.com

 

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

보통 대기업은 DW나 DataMart에서 가져와 사용하지만 신규 데이터나 DW에 포함되지 못한 데이터의 경우, 그 이전 구역에서 데이터를 가져와서 DW에서 가져온 내용과 결합해서 활용하기도 함

하지만 이는 매우 위험한 일 이므로 가급적이면 ODS에서 들고와서 전처리해서 DW/DataMart에 있는 데이터와 결함해서 사용

 

 

 

 


2절. R소개

R이란?

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

 

통계분석 도구의 비교

구분 SAS SPSS 오픈소스 R
프로그램 비용 유료, 고가 유료, 고가 오픈소스
설치용량 대용량 대용량 모듈화로 간단
다양한 모듈 지원 및 비용 별도구매 별도구매 오픈소스
최근 알고리즘 및 기술반영 느림 다소 느림 매우빠름
학습자료 입수의 편의성 유료 도서 위주 유료 도서 위주 자료 많음
질의를 위한 공개 커뮤니티 없음 없음 매우 활발

 

 

R의 특징

- 오픈소스

- 뛰어난 그래픽과 성능

- 시스템 데이터 저장 방식

- 모든 운영체제 사용가능

- 표준 플랫폼

- 객체 지향 언어이면서 함수형 언어

 

 

 


R의 기초

기본적인 통계량 계산 함수

평균 : mean()

표준편차 : sd()

중간값 : median()

분산 : var()

공분산 : cov()

상관계수 : cor()

 

 

 

기본적인 연산자

연산자 사용예시
%any% 특수 연산자 %/% 나눗셈 몫,
%% 나눗셈 나머지
%*% 행렬곱
$ 요소 뽑아내기, 슬롯 뽑아내기 a$coef

 

 

 

 

 

 


입력과 출력

데이터의 입력과 출력

R에서는 텍스트 데이터 뿐만 아니라 데이터베이스나 다양한 통계 프로그램으로 부터 데이터를 불러들여서 분석 수행 가능!

R에서는 역슬래쉬(\)를 인식하지 못하므로 슬래쉬(/)나 이중 역슬래쉬(\\)로 파일 경로를 지정!

 

 

 

외부 파일 입출력

고정자리 변수파일 read.fwf("파일명", width=c(w1, w2, w3 . . . ))
구분자 변수파일 read.table("파일명", sep="구분자")
csv 파일 읽기 read.csv("파일명", header=T)
csv 파일 출력 white.csv(데이터 프레임,"파일명")

 

 

 

 


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

데이터 구조 종류

벡터 동질적 - 모든 원소는 같은 자료형 또는 모드를 가진다
인덱스 있음 - V[2]는 2번째 원소
원소 이름 부여 가능
리스트 이질적 - 여러 자료형의 원소가 포함 될 수 있다.
인덱스 있음 - L[[2]]는 2번째 원소
원소 이름 부여 가능
행렬 그냥 차원을 가진 벡터임
행렬이 3차원 혹은 n차원으로 확대되면 배열이라고 부른다.
dim()
데이터 프레임 SAS의 데이터 셋을 모방해서 만들어진다.
데이터 프레임의 리스트의 원소는 벡터 또는 요인이다.
벡터와 요인들은 동일한 길이이다.
열에는 반드시 이름이 있어야 한다.
요인(Factors) 놀랍게도 수치형(Numeric)임

 

 

 


References

2021 ADsP 데이터 분석 준전문가, 윤종식 저

https://www.youtube.com/c/EduAtoZPython/videos

 

EduAtoZ - Programming

An extreme programming education channel

www.youtube.com

 

분석 마스터 플랜 수립

분석 마스터 플랜 수립 프레임 워크

 

중장기적 마스터 플랜 수립을 위해서는 분석 과제를 대상으로 다양한 기준을 고려해 적용할 우선순위를 설정할 필요가 있다.

분석 과제 수행의 선/후행 관계를 고려하여 우선순위를 조정해 나간다

 

 

 

 

수행 과제 도출 및 우선순위 평가

우선 순위 평가 방법 및 절차

분석 과제 도축 -> 우선순위 평가 -> 우선순위 정련

 

 

ROI(Return On Investment) 관점에서의 빅데이터 4V

Volume 데이터 크기/양 투자비용 요소
Variety 데이터 종류/유형
Velocity 데이터의 생성/처리 속도
Value 분석 결과 활용 및 실행을 통한 비즈니스 가치 비즈니스 효과 요소

 

 

 

 

분석 과제 우선순위 선정 기법

시급성 판단 기준 : 전략적 중요도 및 목표가치

난이도 판단 기준 : 현 시점에서 과제를 추진하는 것이 분석 비용과 적용 범위 측면

난이도가 높고, 시급한 문제는 경영진이나 실무 담당자의 의사결정에 따라 우선순위를 조정할 수 있음

 

 

 

 

 

 

 


분석 거버넌스 체계 수립

Governance - 기업, 비영리 기관 등에서 규칙, 규범 및 행동이 구조화 ,유지, 규제되고 책임을 지는 방식 및 프로세스

분석 거버넌스 - 기업에서 데이터가 어떻게 관리, 유지, 규제되는지에 대한 내부적인 관리 방식이나 프로세스

데이터 거버넌스 - 데이터의 품질 보장, 프라이버시 보호, 데이터 수명 관리, 전담조직과 규정정립,

             데이터 소유권과 관리 권 명확화 등을 통해 데이터가 적시에 필요한 사람에게 제공되도록 체계를 확립하는것

             데이터 거버넌스가 확립되지 못하면 빅브라더의 우려가 현실화될 가능성이 높음

             *빅브라더 : 정보의 독점으로 사회가 통제하는 관리 권력 혹은 그러한 사회체계

 

 

데이터 분석 수준 진단

데이터 분석 기법을 구현하기 위해 무엇을 준비하고 보완해야 하는지 등 분석의 유형 및 분석의 방향성 결정

분석 준비도와 분석 성숙도를 함께 평가함으로써 수행될 수 있음

 

분석 준비도 : 분석 업무 파악, 인력 및 조직, 분석 기법, 분석 데이터, 분석 문화, 분석 인프라

분석 성숙도 : 비즈니스 부문, 조직/역량 부문, IT 부문을 대상으로 도입단계, 활용 단계, 확산 단계, 최적화 단계로 구분

 

 

 

데이터 거버넌스 체계요소

데이터 표준화 - 데이터 표준용어 설정, 명명규칙 수립, 명명규칙 수립, 메타 데이터 구축, 데이터 사전 구축

데이터 관리 체계 - 메타데이터와 사전의 관리 원칙 수립

데이터 저장소 관리 - 관리하기 위한 전사 차원의 저장소를 구성

표준화 활동 - 거버넌스 체계 구축 후, 점검, 모니터링

 

 

 

데이터 거버넌스 구성요소

원칙, 조직, 프로세스

 

 

 

데이터 분석을 위한 3가지 조직 구조

집중구조 조직내 별도의 독립적인 분석 전담 조직 구성
분석 전담조직에서 회사의 모든 분석 업무를 담당
일부 협업 부서와 중복, 이원화 가능성 존재
기능구조 별도로 분석 조직을 구성하지 않고 각 해당 업무부서에서 직접 분석
일반적인 분석 수행구조, 전사적 핵심 분석 어려움
분산구조 조직 인력들이 협업부서에 배치되어 신속한 업무에 적합
전사 차원의 우선순위 수행, 부서 분석 업무와 역활 분담 명확히 해야함

 

 

 

 


References

2021 ADsP 데이터 분석 준전문가, 윤종식 저

https://www.youtube.com/c/EduAtoZPython/videos

 

EduAtoZ - Programming

An extreme programming education channel

www.youtube.com

 

분석과제 발굴 방법론

하향식 접근 방식
(Top down Approach)
문제가 확실한 경우!
분석 과제가 주어지고 이에 대한 해법을 찾기 위해 각 과정이 체계적으로 단계화 되어 수행
상향식 접근 방식
(Bottom Up Approach)
문제의 정의 자체가 어려운 경우 데이터를 기반으로 문제를 지속적으로 개선
디자인 띵킹
(Design Thinking)
중요한 의사결정시 상향식과 하향식을 반복적으로 사용
기존의 논리적인 단계별 접근법에 기반한 문제해결 방식은 최근 복잡하고 다양한 환경에서 발생하는 문제에 적합하지 않을 수 있음

 

 

 

 

 

 

 

하향식 접근 방식(Top down Approach)

문제 탐색을 하고 해당 문제를 정의, 해결방안을 탐색한다. 그리고 타당성 평가를 거쳐 분석 과제를 도출

 

 

 

문제탐색(Problem Discovery)

비즈니스 모델 기반 문제 탐색 비즈니스 모델 기반 문제 탐색 : 업무, 제품, 고객, 규제와 감사, 지원 인프라
비즈니스 모델 캔버스를 활용하여 가치가 창출될 문제를 누락없이 도출할 수 있음. 
분석 기회 발굴의 범위 확장 거시적 관심의 요인 : STEEP - 사회, 기술, 경제, 환경, 정치 영역
경쟁자 확대 관점 : 대체재 영역, 경쟁자 영역, 신규진입자 영역
시장의 니즈 탐색 : 고객(소비자)영역, 채널 영역, 영향자들 영역
역량의 재해석 관점 : 내부역량 영역, 파트너 네트워크 영역
외부 참조 모델 기반 문제 탐색 유사/동종 사례 벤치마킹을 통한 분석 기회 발굴
분석 유즈 케이스 풀어야할 문제에 대한 상세 설명 및 발생하는 효과를 명시

(+)분석 유즈 케이스의 예시

업무 분석 유즈 케이스 설명 효과
재무 자금 시재 예측 일별로 예정 자금 과부족 현상 예방
구매 최적화 구매유형과 구매자별로 과거 실적과 구매조건을 비교/분석해서 구매방안 도출 구매 비용 절감

 

 

 

문제정의(Problem Definition)

식별된 비즈니스 문제를 데이터의 문제로 변환하여 정의하는 단계

문제 탐색 단계 > 무엇을 어떤 목적으로 수행해야하는지 관점

문제 정의 단계 > 달성을 위해 필요한 데이터 및 기법(How)를 정의하기 위한 데이터 분석 문제로 변환을 수행

 

 

 

 

해결방안탐색(Solution Search)

데이터 및 분석 시스템에 따라 소요되는 예산 및 활용 도구가 다름

 

 

 

타당성 검토(Feasibility Study)

경제적 타당도 : 비용 대비 편익 분석 관점의 접근

데이터 및 기술적 타당도 : 데이터 존재 여부, 분석 시스템 환경, 분석 역량

 

 

 

 

 

상향식 접근 방식(Bottom Up Approach)

- 문제의 정의 자체가 어려운 경우 상향식 접근 방식 이용

- 데이터를 기반으로 문제의 재정의 및 해결방안을 탐색하고 이를 지속적으로 개선하는 방식

- 상향식 접근 방식의 데이터 분석은 비지도학습 방법에 의해 수행된다.

 

 

 


지도학습과 비지도학습

 

지도학습(Supervised Learning)

명확한 Input, Output이 존재한다.

예측 : 데이터를 대표하는 선행모델 등을 만들고 그 모델을 통해 미래의 사건을 예측

분류 : 이전까지 학습된 데이터를 근거로 새로운 데이터가 기존에 학습된 데이터에 분류 여부

 

비지도학습(Unsupervised Learning)

컴퓨터가 알아서 분류

데이터가 어떻게 구성되어 있는지 밝히는 용도

군집화

 

 


분석 프로젝트 관리 방안

분석 프로젝트 특징

분석 프로젝트는 다른 프로젝트 유형처럼 영역별 관리가 수행되어야함(일정, 품질, 리스크,의사소통 등)

다양한 데이터에 기반한 분석 기법을 적용하는 특성 때문에 아래의 5가지 주요 특성 추가로 관리

Data Size 분석하고자 하는 데이터의 양을 고려하는 관리방안 수립 필요
Data Complexity 비정형데이터 및 다양한 시스템에 산재되어 있는 데이터를 통합해서 분석프로젝트를 진행할땐 해당 데이터에 잘 적용될 수 있는 분석 모델 선정에 대한 고려 필요
Speed 분석 결과 도출 후, 활용하는 시나리오 측면에서 일,주 단위 실적은 배치형태 작업, 사기 탐지, 서비스 추천은 실시간 수행되어야 함
분석 모델의 성능 및 속도를 고려한 개발 및 테스트
Analytic Complexity 정확도(Accuracy)와 복잡도(Complexity)는 트레이드 오프 관계가 존재
분석 모델이 복잡할 수록 정확도 상승, 복잡도 상승
따라서 기준점 사전에 정의 필요
Accuracy & Precision Accuracy : 분석의 활용적인 측면(모델과 실제 값의 차이)
Precision : 분석의 안정성 측면(모델을 반복했을 대의 편차
Accuracy, Precision 역시 트레이드 오프인 경우가 많다

 

 

분석 프로젝트의 경우 관리 영역에서 일반 프로젝트와 다르게 유의해야 할 요소 존재

시간, 범위, 품질, 통합, 이해관계자, 자원, 원가, 리스크, 조달, 의사소통

 

 


References

2021 ADsP 데이터 분석 준전문가, 윤종식 저

https://www.youtube.com/c/EduAtoZPython/videos

 

EduAtoZ - Programming

An extreme programming education channel

www.youtube.com

데이터베이스 관리시스템 종류

1) 관계형 DBMS

컬럼과 로우로 이루어져있고, 하나 이상의 테이블로 이루어져 있으며, 고유키로 각 로우를 식별한다.

2) 객체지향 DBMS

관계형 DBMS와 다르게 객체 형태로 저장

3) 네트워크 DBMS
레코드들이 노드로, 레코드 사이 관계가 간선으로 표현되는 그래프 기반 데이터베이스 모델

4) 계층형 DBMS

트리 구조를 기반으로 하는 계층 데이터 베이스 모델

 

 

 


Data에 관련된 기술들

1) 개인정보 비식별 기술 : 데이터에서 개인을 식별할 수 있는 요소를 전부/일부를 삭제/대체하는 기술

  내용 예시
데이터마스킹 데이터의 길이나 형식등은 유지하면서 익명으로 생성 홍길동, 35세, 서울 거주, 한국대 재학
-> 홍**, 35세, 서울 거주, **대 재학
가명처리 이름을 다른 이름으로 변경하되 일정한 규칙이 노출되지 않게 한다. 홍길동, 35세, 서울 거주, 한국대 재학
-> 임꺽정, 30대, 서울 거주, 국내대 재학
총계처리 데이터의 총계를 보인다.  홍길동 180cm, 임꺽정 170cm, 이콩쥐 160cm
-> 키 합: 540cm, 키 평균: 170cm
데이터값 삭제 필요없는 값이나 개인 식별에 중요한 값을 삭제 홍길동, 35세, 서울 거주, 한국대 재학
-> 35세, 서울 거주
데이터 범주화 데이터 값을 범주의 값으로 대체 홍길동, 35세 -> 홍씨, 30-30세

2) 무결성(Data integrity)과 레이크(Data Lake)

데이터 무결성 - 개체 무결성, 참조 무결성, 범위 무결성

          데이터 변경,수정시 여러 제한을 두어 데이터의 정확성을 보증

데이터 레이크 - 수많은 정보에서 의미있는 내용을 찾기위해 방식에 상관없이 데이터를 저장하는 시스템

 

 

 


빅데이터 분석 기술

1) 하둡(Hadoop)

하둡은 여러 개의 컴퓨터를 하나인 것처럼 묶어 대용량 데이터를 처리하는 기술이다. 분산 파일 시스템을 통해 수 천대의 장비에 대용량 파일을 저장 할 수 있는 기능을 제공하고 맵 리듀스로 분산 파일 시스템에 저장된 대용량의 데이터들을 대상으로 SQL을 사용해 사용자의 질의를 실시간으로 처리한다.

2) Apache Spark

실시간 분산형 컴퓨팅 플랫폼으로 스칼라로 작성 되어있으나 스칼라, 자바, R, 파이썬 api를 지원

In-Memory방식을 사용하기 때문에 하둡보다 속도가 빠르다.

3) Smart Factory

공장 내 설비에 사물인터넷이 설치되어, 데이터가 실시간 수집되고 그 데이터에 기반한 의사결정을 한다.

4) Machine Learning & Deep Learning

인공신경망(ANN)을 기반으로 구축한 기계 학습중 하나

 

B2B와 B2C

B2B - 기업과 기업 사이의 거래를 기반으로 한 비즈니스 모델을 의미

B2C - 기업과 고객 사이의 거래를 기반으로 한 비즈니스 모델을 의미 ex) 이동통신사, 여행회사, 신용카드 회사

 

블록체인

  • 블록체인 : 거래정보를 하나의 덩어리로 보고 이를 차례로 연결한 거래 장부
  • 기존의 금융회사의 경우 중앙 집중형 서버에 거래 기록을 보관하는 반면, 블록체인은 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며 거래 때마다 이를 대조해 데이터 위조를 막는 방식을 사용

 

 


References

2021 ADsP 데이터 분석 준전문가, 윤종식 저

https://www.youtube.com/c/EduAtoZPython/videos

 

EduAtoZ - Programming

An extreme programming education channel

www.youtube.com

 

1절. 분석 기획 방향성 도출

분석 기획의 특징

1) 분석 기획 : 실제 분석을 수행하기에 앞서 분석을 수행할 과제를 정의하고, 의도했던 결과를 도출할 수 있도록 이를 적절하게 관리할 수 있는 방안을 사전에 계획하는 일련의 작업

2) 데이터 사이언티스트의 역량 : 수학/통계학적 지식, 정보기술, 비즈니스에 대한 이해와 전문성

 

 

분석 대상과 방법

분석의 대상(What)분석의 방법(How)에 따라 4가지로 분류

분석 주제 유형 분석의 대상(What)
Known Un-known
분석의 방법(How) Known Optimization Insight
Un-known Solution Discovery

 

 

 


 

 

 

 

목표 시점 별 분석 기획 방안

  과제 중심적인 접근 방식 장기적인 마스터 플랜 방식
1차목표 Speed&Test Accuracy&Deploy
과제의 유형 Quick&Win Long Term View
접근 방식 Problem Solving Problem Definition

(+)Quick-Win? 즉각적인 실행을 통한 성과 도출

   프로세스 진행 과정에서 일반적인 상식과 경험으로 원인이 명백한 경우 바로 개선함으로써 과제를 단기로 달성,추진

 

 

 

분석 기획 시 고려사항

- 분석의 기본인 가용 데이터에 대한 고려가 필요

데이터의 유형 분석이 선행적으로 이루어져야함 (정형인지, 반정형인지, 비정형인지)

- 분석을 통해 가치가 창출될 수 있는 적절한 활용방안과 유즈케이스 탐색이 필요

- 분석 수행시 발생하는 장애요소들에 대한 사전계획 수립이 필요

- 일회성 분석에 그치지 않고 조직 역량 내재화를 하기 위해선, 충분하고 계속적인 교육 및 활용방안 등의 변화 관리 고    려 해야함!

 

 

(+)

데이터 유형

종류 정형 데이터 반정형 데이터 비정형 데이터
특징 데이터 자체로 분석 가능
RDB구조의 데이터
데이터베이스로 관리
데이터로 분석이 가능하지만 해석이 불가능하며 메타정보를 활용해야 해석 가능 데이터 자체로 분석이 불가능특정 프로세스를 거쳐 분석데이터로 변경 후 분석
유형 ERP, CRM, SCM 로그데이터, 모바일데이터 파일형태, 영상, 음성, 문자

 

데이터 저장 방식

종류  RDB NoSQL 분산파일시스템
특징 관계형 데이터를 저장, 수정, 관리할 수 있게 해주는 데이터 베이스 비관계형 데이터 저장소 분산된 서버의 디스크에 파일 저장
유형 Oracle, MSSQL, MySQL MongoDB, Cassandra, Hbase, Redis HDFS

 

 

 


 

 

2절. 분석 방법론1

분석 방법론의 필요성

데이터 분석을 효과적으로 기업에 정착하기 위해 데이터 분석을 체계화하는 절차와 방법이 정리되 ㄴ데이터 분석 방법론 수립이 필요

 

 

분석방법론의 구성요소

- 상세한 절차

- 방법

- 도구와 기법

- 템플릿과 산출물

 

 

기업의 합리적 의사결정을 가로막는 장애요소

- 고정관념(Stereotype)

- 편향된 생각(Bias)

- 프레이밍 효과(Framing Effect) > 문제의 표현 방식에 따라 동일한 사건이나 상황임에도 불구하고

개인의 판단이나 선 택이 달라질 수 있는 현상

 

 

방법론의 적용 업무의 특성에 따른 모델

- 폭포수 모델(Waterfall Model) 

   단계를 순차적으로 진행하는 방법으로 이전 단계가 완료 되어야 다음 단계 진행 가능한 하향식 진행

   문제점이 발견되면 전단계로 돌아가는 피드백 수행

 

- 프로토타입 모델(Prototype Model)

   사용자의 요구사항이나 데이터를 정확히 규정하기 어렵고 데이터 소스도 명확하게 파악하기 힘들때 사용

   고객의 요구가 맞는지 확인을 위해 일부분은 우선 개발 후 그 결과를 통한 개선작업

   신속하게 해결책 모형제시, 상향식 접근

 

- 나선형 모델(Spiral Model)

   반복을 통해 점증적으로 개발하는 방법

   반복에 대한 관리 체계가 효과적으로 갖춰지지 못한 경우 복잡도가 상승하여 진행이 어려울 수 있다.

 

 

 


 

 

 

2절. 분석 방법론2

KDD 분석 방법론

Knowledge Discovery in Databases

데이터베이스로부터 통계적 패턴이나 지식을 찾기 위해 활용할 수 있도록 체계적으로 정리한 데이터 마이닝 프로세스

 

 

KDD 분석 절차

1) Selection - 데이터셋 선택

비즈니스 도메인에 대한 이해와 프로젝트 목표 설정을 먼저 하고, 목표데이터를 구성

 

2) Preprocessing - 데이터 전처리

앞에 데이터 셋에서 잡음, 이상치, 결측치 식별 및 처리

 

3) Transformation - 데이터 변환

정제된 데이터를 목적에 맞게 차원 축소 + 학습용 데이터, 검증용 데이터로 분리

 

4) DataMining - 데이터 마이닝

목적에 맞는 데이터 마이팅 기법을 선택하고 실행, 필요하다면 전처리와 변환 과정을 추가로 가진다.

 

5) Interpretation/Evaluation - 데이터 마이닝 결과 평가

결과에 대한 해석과 평가, 분석 목적과의 일치성 확인

 

 

 


 

 

전통적인 분석 방법론

CRISP-DM 분석 방법론

1996년 유럽 연합에서 있었던 프로젝트에서 시작되었으며, 주요한 5개 업체들(Daimler-Chrysler, SPSS, NCR, Teradata, OHRA)이 주도. 계층적 프로세스 모델로서 4개의 레벨로 구성

 

 

CRISP-DM의 4레벨 구조

최상위 레벨은 여러 개의 단계(Phases)로 구성되고, 각 단계는 일반화 테스트(Generic Tasks)를 포함한다.

일반화 테스크는 데이터 마이닝의 단일 프로세스를 완전하게 수행하는 단위이고 여러개의 세분화 테스크로 구성된다.

데이터 정제라는 일반화 테스크는 범주형 데이터 정제와 연속형 데이터 정제와 같은 세분화 테스크로 구성된다.

프로세스 실행은 데이터마이닝을 위한 구체적인 실행을 포함한다.

 

 

 

CRISP-DM의 프로세스

총 6단계로 구성되어 있다. 각 단계는 단방향으로 구성되어있지 않고, 단계 간 피드백을 통해 완성도를 높임.

 

 

1) Business Understanding 업무이해

-프로젝트의 목적과 요구사항 이해, 문제정의

업무 목적 파악 -> 상황 파악 -> 데이터 마이닝 목표 설정 -> 프로젝트 계획 수립

 

2) Data Understanding 데이터 이해

-데이터 수집 및 속성을 이해, 숨겨진 인사이트 발견

초기 데이터 수집, 데이터 기술 분석, 데이터 탐색, 데이터 품질 확인

 

3) Data Preparation 데이터 준비

-데이터 셋 선택 및 데이터 정제, 데이터셋 편성(KDD에서 데이터 전처리랑 비슷)

 

4) Modeling 모델링

-모델링 기법 사용, 최적화, 모델 평가

 

5) Evaluation 평가

-모델링 결과가 프로젝트 목적에 부합하는지 평가, 모델링 과정 평가, 모델 적용성 평가

 

6) Deployment 전개

-완성된 모델을 실 업무에 적용하기 위한 계획 수립, 유지보수 계획

 

 

 


 

 

 

빅데이터 분석 방법론

빅데이터 분석의 계층적 프로세스

1) 단계(Phase) : 프로세스 그룹을 통해서 완성된 단계별 산출물 생성, 기준선, 버전관리

2) 테스크(Task) : 단계를 구성하는 단위

3) 스텝(step) : WBS의 워크 패키지에 해당

 

 

빅데이터 분석 방법론의 5단계

1) 분석 기획

비즈니스 이해 및 범위 설정 분석 대상인 업무 도메인을 이해하기 위해 내부 업무 매뉴얼과 관련 자료, 외부의 관련 비즈니스 자료 조사 및 프로젝트 진행을 위한 방향 설정

프로젝트 목적에 부합하는 범위를 명확하게 설정,
구조화된 프로젝트 범위 정의서 SOW(Statement of Work)를 작성
프로젝트 정의 및 계획 수립 상세 프로젝트 정의서 작성
프로젝트 수행 계획서 작성, 프로젝트 목적, 배경, 기대효과, 추진조직 WBS작성
WBS : Work Breakdown structure, 작업 분할 구조도
프로젝트 위험 계획 수립 데이터 분석 위험 식별
위험에 대한 대응 방법 : 회피, 전이, 완화, 수용

 

2) 데이터 준비

데이터 정의 정형, 비정형, 반정형 등의 모든 내/외부 데이터를 포함하고 데이터의 속성, 데이터 오너, 데이터 관련 시스템 담당자 등을 포함하는 데이터 정의서 작성
ex) 메타데이터 정의서 ,ERD 포함

데이터 획득 방안 수립
내부데이터 : 부서 간 업무 협조와 개인정보보호 및 정보 보안과 관련한 문제점을 사전에 점검
외부데이터 : 시스템 간 다양한 인터페이스 및 법적인 문제점을 고려하여 상세한 계획 수립
데이터 스토어 설계 정형데이터 스토어 설계
관계형 데이터베이스(RDBMS)를 사용하고, 데이터의 효율적 저장과 활용을 위해 데이터 스토어의 논리적 물리적 설게를 구분하여 설계함

비정형데이터 스토어 설계
하둡, NoSQL 등을 이용하여 비정형 또는 반정형 데이터를 저장하기 위한 논리, 물리적 데이터 스토어 설계
데이터 수집 및 정합성 점검 크롤링 등의 데이터 수집을 위한 ETL 등의 다양한 도구와 API, 스크립트 프로그램 등으로 데이터를 수집
수집된 데이터를 설계된 데이터 스토어에 저장
ETL : 다양한 데이터를 취합해 추출하고 변환해서 적재하는 과정을 지원하는 도구

데이터 정합성(무결성) 점검
데이터 스토어의 품질 점검을 통해 데이터 정합성 확보

 

3) 데이터 분석

분석용 데이터 준비 > 텍스트 분석 > 탐색적 분석 > 모델링 > 모델 평가 및 검증

 

4) 시스템 구현

-설계 및 구현, 시스템 테스트 및 운영

 

5) 평가 및 전개

-모델 발전계획 수립, 프로젝트 평가 및 보고

 

 

 

 

 

 


References

2021 ADsP 데이터 분석 준전문가, 윤종식 저

https://www.youtube.com/c/EduAtoZPython/videos

 

EduAtoZ - Programming

An extreme programming education channel

www.youtube.com

 

전략 도출 가치 기반 분석

전략적 통찰력의 창출에 포커스

- 해당 사업에 중요한 기회를 발굴하고 주요 경영진의 지원을 얻게 된다.

 

분석의 활용 범위를 더 넓고 전략적으로 변화시키고 , 전략적 인사이트를 주는 가치기반의 분석 단계로 나아가야 함.

 

데이터 사이언스란?

데이터 공학, 수학, 통계학, 컴퓨터공학, 시각화, 해커의 사고방식, 해당 분야의 전문 지식을 종합한 학문

 

데이터 사이언스의 구성요소

1) 데이터 사이언스의 영역

분석적 영역 - 수학, 확률모델, 머신러닝, 분석학, 패턴 인식과 학습, 불확실성 모델링

데이터 처리와 관련된 IT영역 - 시그널 프로세싱, 프로그래밍, 데이터 엔지니어링, 데이터 웨어하우스

비즈니스 컨설팅 영역 - 커뮤니케이션, 프레젠테이션, 스토리텔링, 시각화

 

2) 데이터 사이언티스트의 요구 역량

Hard Skill - 빅데이터에 대한 이론적 지식, 분석 기술에 대한 숙련

Soft Skill - 통찰력 있는 분석, 설득력 있는 전달, 다분야간 협력(커뮤니케이션)

 

 

+ Recent posts