Data Analytics
이번 시간에는 수업 시간에 배운 데이터 분석 내용에 대해서 리뷰해 보도록 하겠습니다. 목차는 다음과 같습니다.
- Decision Support Systems
- Data Analysis and OLAP
- Data Warehousing
- Data Mining
Decision Support System
결정 지원 시스템이란 단어를 보면 유추할 수 있듯이, 온라인 거래 처리 시스템으로부터 수집된 데이터를 기반으로 비즈니스 결정을 지원데 사용됩니다.
- Data analysis
- Statical analysis
- Data mining
- Data Warehouse
Data Analysis and OLAP
- On-Line Analytical Processing (OLAP) - 데이터를 분석하여 비즈니스 결정을 지원하는데 사용되는 기술입니다. OLAP은 대량의 데이터를 빠르고 효율적으로 쿼리하고 분석할 수 있도록 설계되었습니다
- multidimensional data 는 차원 속성(dimension attributes)과 측정 지표(속성, Measure attributes)으로 모델링 될 수 있는 데이터를 의입니다. "차원 속성(Dimension Attributes)"은 데이터 분석, 특히 다차원 데이터 분석에서 사용되는 중요한 개념입니다. 이러한 차원 속성은 데이터를 분류하고, 구성하며, 분석하는 데 사용되는 속성들을 말합니다. 간단히 말해서, 차원 속성은 데이터를 다양한 관점에서 보여주는 '렌즈'와 같은 역할을 합니다.
그리고 이러한 측정 속성은 데이터 분석에서 중요한 수치적 값을 나타내며, 데이터를 분석하고 이해하는 데 핵심적인 역할을 합니다. 측정 속성은 일반적으로 데이터 분석에서 다른 차원 속성(예: 시간, 위치, 제품 카테고리 등)과 함께 사용되어, 데이터를 다양한 관점에서 분석하고 이해하는 데 도움을 줍니다. 예를 들어, 특정 기간 동안 특정 지역에서의 판매량을 분석할 때, '판매량'이 측정 속성이 되고, '시간'과 '지역'이 차원 속성이 됩니다.
- Data Cube - is a multidimentional generalization of a crosst-tab
- Pivoting - 피벗팅은 데이터의 차원을 재배열하는 과정입니다. 예를 들어, 데이터 테이블에서 행과 열을 바꾸어 다른 관점에서 데이터를 볼 수 있게 하는 것입니다. 사용자는 피벗팅을 통해 데이터를 다양한 각도에서 분석하고, 숨겨진 패턴이나 트렌드를 발견할 수 있습니다.
- Slicing - 슬라이싱은 데이터 큐브에서 한 차원을 고정하고, 그 차원에 해당하는 데이터만을 선택하여 분석하는 과정입니다.입니다. 예를 들어, 특정 연도의 데이터만을 선택하여 그 연도에 대한 판매 데이터를 분석하는 것입니다. 이 방법은 특정 부분에 초점을 맞추어 데이터를 분석할 때 유용합니다.
- Rollup - 롤업은 데이터의 요약 수준을 상위 차원으로 이동시키는 과정입니다. 예를 들어, 월별 데이터를 분기별 또는 연별 데이터로 요약하는 것입니다. 이 기법은 데이터를 더 큰 그림에서 보고자 할 때 사용됩니다.
- Drill down - 드릴 다운은 롤업의 반대 개념으로, 데이터의 요약 수준을 더 상세한 수준으로 내려가는 과정입니다. 예를 들어, 연별 데이터에서 월별 또는 일별 데이터로 내려가는 것입니다. 이 방법은 데이터를 더 상세하게 분석하고자 할 때 사용됩니다.
Data Warehouing
데이터 웨어하우스(Data Warehouse)는 대규모의 데이터를 통합, 저장 및 관리하기 위한 시스템입니다. 이는 주로 기업이나 조직의 의사결정 지원 시스템(Decision Support Systems, DSS)에 사용되며, 다양한 출처에서 온 데이터를 하나의 중앙집중식 저장소에 모아 분석을 용이하게 합니다. (A data warehouse is a repository of information gathered from multiple sources, stored under a unified schema, at a single site)
Warehouse Design Issues
- 언제 그리고 어떻게 데이터를 수집할 것인가:
- 소스 기반 아키텍처(Source Driven Architecture): 데이터 소스가 새로운 정보를 데이터 웨어하우스로 연속적이거나 주기적으로 전송합니다.
- 목적지 기반 아키텍처(Destination Driven Architecture): 데이터 웨어하우스가 주기적으로 데이터 소스로부터 새로운 정보를 요청합니다.
- 데이터 웨어하우스를 데이터 소스와 정확히 동기화하는 것은 비용이 많이 듭니다.
- 어떤 스키마를 사용할 것인가:
- 스키마 통합(Schema Integration) 문제를 고려해야 합니다.
- 데이터 정제(Data Cleansing):
- 예를 들어 주소의 오류(오타 등)를 수정하거나, 다양한 소스에서 얻은 주소 목록을 병합하고 중복을 제거합니다.
- 어떻게 업데이트를 전파할 것인지(How to propagate updates):
- 웨어하우스 스키마는 데이터 소스의 스키마로부터 파생된 (구체화된) 뷰일 수 있습니다.
- 어떤 데이터를 요약할 것인가:
- 원시 데이터를 온라인으로 저장하는 것은 너무 큰 용량을 차지할 수 있습니다.
- 총계나 소계와 같은 집계 값이 종종 충분합니다.
- 원시 데이터에 대한 쿼리는 종종 쿼리 최적화기에 의해 집계 값을 사용하는 쿼리로 변환될 수 있습니다.
이러한 이슈들은 데이터 웨어하우스가 효율적으로 운영되고 유지되도록 하는 데 중요한 역할을 합니다. 데이터 웨어하우스 설계는 이러한 다양한 요소들을 고려하여 이루어져야 합니다.
Data Warehouse Schemas
- 차원 값 인코딩: 데이터 웨어하우스에서 차원 값은 일반적으로 작은 정수로 인코딩되며, 차원 테이블을 통해 전체 값으로 매핑됩니다.
- 스타 스키마(Star Schema): 결과적으로 생성되는 스키마는 '스타 스키마'라고 불립니다. 이는 데이터 웨어하우스 설계에서 중요한 개념으로, 중앙의 팩트 테이블(Fact Table)과 이를 둘러싼 차원 테이블(dimensioin Table)들로 구성됩니다.
Data Mining
- 데이터 마이닝: 큰 데이터베이스에서 유용한 패턴을 찾기위해 반-자동적으로 분석하는 과정입니다.
- 예측(Prediction): 과거의 역사를 바탕으로 예측을 수행합니다. 예를 들어, 신용 카드 신청자가 좋은 신용 위험을 가지고 있는지 여부를 예측하거나, 전화 카드 사용 패턴이 사기일 가능성이 있는지 예측합니다.
- 예측 메커니즘의 예시:
- 분류(Classification): 어떤 클래스에 속하는지 알려지지 않은 새로운 데이터가, 어느 클래스에 속하는지 예측합니다.
- 회귀 공식(Regression formulae): 알려지지 않은 함수의 일련의 매핑이 주어졌을 때, 새로운 매개변수 값에 대한 함수 결과를 예측합니다.
- 기술적 패턴(Descriptive patterns):
- 연관성(Associations): 유사한 고객들이 자주 구매하는 책을 찾습니다. 새로운 유사한 고객이 그 중 하나의 책을 구매하면, 다른 책들을 추천합니다.
- 클러스터(Clusters): 예를 들어, 오염된 우물 주변 지역에서 집중적으로 발생한 장티푸스 사례와 같이, 특정 지역에 집중된 데이터 집합을 찾습니다.
이 섹션은 데이터 마이닝이 큰 데이터 세트에서 유용한 정보와 패턴을 찾는 과정임을 강조합니다. 예측과 기술적 패턴 인식은 데이터 마이닝의 주요 측면으로, 다양한 비즈니스 및 연구 분야에서 응용됩니다.
Construction of Decision Trees (결정 트리 구축)
- 훈련 세트(Training set): 분류가 이미 알려진 데이터 샘플입니다.
- 탐욕적 상향식 생성(Greedy top-down generation):
- 결정 트리의 각 내부 노드는 분할 속성과 분할 조건을 기반으로 데이터를 그룹으로 나눕니다.
- 리프 노드(Leaf node): 리프 노드의 모든 항목이 동일한 클래스에 속하거나, 모든 속성이 고려되었고 더 이상의 분할이 불가능한 경우입니다.
Best Splits (최적의 분할)
- 최적의 속성과 조건 선택: 데이터를 분할하는 데 가장 적합한 속성과 조건을 선택합니다.
- 순도 측정: 훈련 인스턴스의 세트 T의 순도는 여러 방법으로 정량적으로 측정될 수 있습니다 (예: 지니, 엔트로피).
- 정보 이득 측정: 세트 T가 여러 세트 Ti로 분할될 때(i = 1, 2, ..., m), 결과 세트의 정보 이득(IG)을 측정할 수 있습니다. 이는 특정 속성을 사용하여 데이터를 분할할 때 얻는 정보의 양을 측정합니다. 정보 이득은 엔트로피 감소로 계산되며, 높은 정보 이득을 가진 속성은 데이터를 더 잘 분류하는 데 도움이 됩니다.
Bayesian Classifiers (베이지안 분류기)
- 베이즈 정리 사용: 베이지안 분류기는 베이즈 정리를 사용합니다. 이는 p(cj | d) = p(d | cj) * p(cj) / p(d)로 표현됩니다.
- 여기서 p(cj | d)는 인스턴스 d가 클래스 cj에 속할 확률,
- p(d | cj)는 클래스 cj가 주어졌을 때 인스턴스 d를 생성할 확률,
- p(cj)는 클래스 cj의 발생 확률,
- p(d)는 인스턴스 d가 발생할 확률을 의미합니다.
- 단순화된 가정: 나이브 베이지안 분류기는 속성이 독립적인 분포를 가진다고 가정하여 작업을 단순화합니다. 이는 베이즈 정리를 기반으로 하는 간단하지만 효과적인 확률적 분류 알고리즘입니다.
이 섹션은 데이터 마이닝에서 결정 트리의 구축, 최적의 분할 방법을 찾는 방법, 그리고 베이지안 분류기의 사용에 대해 설명합니다. 이러한 기법들은 데이터에서 유용한 패턴과 정보를 추출하는 데 중요한 역할을 합니다.
Regression (회귀)
Regression deals with the prediction of a value, rather than a class
- 목적: 변수 집합 X1, X2, ..., Xn의 값이 주어졌을 때 변수 Y의 값을 예측합니다.
- 방법: 선형 다항식 Y = a0 + a1X1 + a2X2 + ... + an*Xn을 추론하여 선형 회귀를 수행합니다. 이는 일반적으로 곡선 피팅(curve fitting)이라고도 합니다.
- 적합도: 데이터의 노이즈나 관계가 정확히 다항식이 아닐 수 있기 때문에, 적합도는 대략적일 수 있습니다. 회귀는 가능한 최선의 적합도를 찾는 것을 목표로 합니다.
Association Rules (연관 규칙)
- 사용 사례: 소매점은 사람들이 구매하는 다양한 품목 간의 연관성에 관심이 많습니다. 예를 들어, 빵을 구매하는 사람은 우유를 구매할 가능성이 높습니다.
- 연관 규칙: 예를 들어, 빵 → 우유, DB-Concepts, OS-Concepts → Networks와 같은 규칙이 있습니다. 왼쪽은 선행 조건(antecedent), 오른쪽은 결과(consequent)입니다.
- 지지도(Support)와 신뢰도(Confidence): 규칙은 지지도와 신뢰도를 가집니다. 지지도는 인구 중 규칙의 선행 조건과 결과를 모두 만족하는 비율을 나타냅니다. 신뢰도는 선행 조건이 참일 때 결과도 참인 비율을 나타냅니다.
예시: 슈퍼마켓 거래 데이터
- 데이터 세트: 슈퍼마켓의 거래 기록
- 규칙: "사람들이 우유를 구매하면, 빵도 구매한다."
이 규칙을 분석하기 위해 지지도와 신뢰도를 계산합니다:
- 지지도(Support)
- 이는 우유와 빵을 모두 구매한 거래의 비율을 나타냅니다.
- 예를 들어, 100건의 거래 중 10건에서 우유와 빵이 함께 구매되었다면, 지지도는 10%입니다.
- 신뢰도(Confidence)
- 우유를 구매한 거래 중 빵도 함께 구매된 거래의 비율을 나타냅니다.
- 예를 들어, 우유를 구매한 20건의 거래 중 10건에서 빵이 함께 구매되었다면, 신뢰도는 50%입니다.
Clustering (클러스터링)
- 목적: 데이터 내에서 유사한 점들의 클러스터를 찾는 것입니다.
- 방법: 여러 거리 측정 방법을 사용하여 클러스터링을 수행할 수 있습니다. 예를 들어, k개의 집합으로 점들을 그룹화하여, 할당된 그룹의 중심점으로부터의 평균 거리를 최소화합니다.
- 응용: 통계학에서는 작은 데이터 세트에 대해 잘 연구되었지만, 데이터 마이닝 시스템은 매우 큰 데이터 세트를 처리할 수 있는 클러스터링 기술을 목표로 합니다.
Hierarchical Clustering (계층적 클러스터링)
- 예시: 생물학적 분류, 인터넷 디렉토리 시스템(예: Yahoo) 등에서 사용됩니다.
- 방법: 작은 클러스터를 만들고, 이 작은 클러스터를 더 큰 클러스터로 클러스터링하는 집적 클러스터링 알고리즘과, 모든 항목을 하나의 클러스터로 시작하여 점차적으로 클러스터를 더 작은 클러스터로 세분화하는 분할 클러스터링 알고리즘이 있습니다.
이러한 방법들은 데이터 마이닝에서 중요한 역할을 하며, 데이터에서 유용한 패턴과 정보를 추출하는 데 사용됩니다.
텍스트 마이닝 (Text Mining)
텍스트 마이닝은 텍스트로부터 고품질의 정보를 추출하는 과정입니다. 이는 컴퓨터를 사용하여 다양한 문서로부터 새롭고, 이전에 알려지지 않은 정보를 자동으로 추출하는 것을 포함합니다. 텍스트 마이닝의 주요 요소는 다음과 같습니다:
- 정보 검색: 텍스트 마이닝의 기본이며, 대규모 텍스트 저장소에서 관련 정보를 얻는 과정입니다.
- 자연어 처리 (NLP): NLP의 기술들은 텍스트의 의미를 파싱, 의미 분석 등의 방법을 통해 해석하는 데 사용됩니다.
- 패턴 인식: 텍스트 마이닝은 종종 대규모 텍스트 데이터셋에서 패턴이나 경향을 식별하는 것을 포함합니다.
- 주제 모델링: 이는 문서 집합이 다루는 주제를 식별하는 것을 포함합니다.
- 감정 분석: 텍스트를 분석하여 긍정적, 부정적, 중립적 등의 감정을 표현하는 것을 분석합니다.
데이터 시각화 (Data Visualization)
데이터 시각화는 정보와 데이터의 그래픽 표현입니다. 차트, 그래프, 지도와 같은 시각적 요소를 사용하여 데이터 시각화 도구는 데이터에서 추세, 이상치 및 패턴을 볼 수 있고 이해할 수 있는 접근 방식을 제공합니다. 주요 측면은 다음과 같습니다:
- 차트와 그래프: 이것들은 데이터를 시각화하는 가장 일반적인 수단입니다. 바 차트, 라인 그래프, 히스토그램, 산점도 등이 포함됩니다.
- 인포그래픽: 이는 정보, 데이터 또는 지식을 빠르고 명확하게 제시하기 위해 디자인된 시각적 표현입니다.
- 대시보드: 이는 비즈니스, 부서 또는 특정 프로세스와 관련된 주요 성과 지표(KPI), 지표 및 기타 주요 데이터 포인트를 추적하는 데 사용되는 도구입니다.
- 인터랙티브 시각화: 사용자가 차트와 그래프를 자세히 살펴보고, 보고 있는 데이터와 그 처리 방법을 상호 작용적으로 변경할 수 있습니다.
이러한 도구와 기술은 데이터 분석 전문가가 아니더라도 데이터를 더 쉽게 이해할 수 있도록 하여 데이터 기반 의사 결정을 돕습니다.
Simple Quiz
1. Data analytics 에 대해 아래 용어를 설명하시오.
① Dimension attribute: "차원 속성(Dimension Attributes)"은 데이터 분석, 특히 다차원 데이터 분석에서 사용되는 중요한 개념으로 데이터를 분류하고, 구성하며, 분석하는 데 사용되는 속성들을 말합니다.
② Slicing: 슬라이싱은 데이터 큐브에서 한 차원을 고정하고, 그 차원에 해당하는 데이터만을 선택하여 분석하는 과정입니다. 이 방법은 특정 부분에 초점을 맞추어 데이터를 분석할 때 유용합니다.
③ Star schema: 결과적으로 생성되는 스키마는 '스타 스키마'라고 불립니다. 이는 데이터 웨어하우스 설계에서 중요한 개념으로, 중앙의 팩트 테이블(Fact Table)과 이를 둘러싼 차원 테이블(dimensioin Table)들로 구성됩니다.
④ Information gain: 세트 T가 여러 세트 Ti로 분할될 때(i = 1, 2, ..., m), 결과 세트의 정보 이득(IG)을 측정할 수 있습니다. 정보 이득은 엔트로피 감소로 계산되며, 높은 정보 이득을 가진 속성은 데이터를 더 잘 분류하는 데 도움이 됩니다.
⑤ Naïve Bayesian classifier: 나이브 베이지안 분류기는 속성이 독립적인 분포를 가진다고 가정하여 작업을 단순화합니다. 이는 베이즈 정리를 기반으로 하는 간단하지만 효과적인 확률적 분류 알고리즘입니다.