데이터 이해 및 해석
1. 데이터의 이해
데이터의 개념
데이터는 현실 세계에서 단순히 관찰하거나 측정하여 수집한 사실이나 값으로 가공되지 않아 의미가 부여되지 않은 객관적 사실이다.
이런 데이터를 의사결정에 유용하게 활용할 수 있도록 처리한 결과물을 정보라고한다.
우리는 정보를 구조화해 유의미한 정보로 분류하고, 데이터 간 상관관계 속에서 의미 부여한다.
그리고 정보를 바탕으로 의사결정에 활용하는 것을 지식이라고하는데,지식은 개인의 경험에 결합해 고유의 지식이 되어 각자 자기 관점에서 근거 데이터를 업무에 활용한다.
최종적으로 지식의 축적과 아이디어가 결합된 창의적인 결과를 통찰이라고 한다.
빅데이터의 3대 요소
- 규모(volume) : 데이터의 양
- 속도(velocity) : 데이터의 수신 및 처리 속도
- 다양성(variety) : 사용 가능한 데이터 유형의 다양성
빅데이터의 역사
최초의 데이터 센터가 생기면서 관계형 데이터베이스의 개발이 시작된 1960~70에서 시작해 2005년 무렵 페이스북, 유튜브 및 기타 온라인 서비스를 통해 사용자가 생성하는 많은 양의 데이터에 대한 인식이 확산되었으며, 하둡이 개발되고 비관계형 DBMS인 NoSQL을 통해서 발전이 되었다.
그 후 하둡, 스파크 같은 오픈소스 프레임워크의 개발로 빅데이터를 손쉽게 사용하고 저렴하게 저장할 수 있게 되면서 빅데이터 시장이 성장하였다.
최근은 일상의 모든곳에서 객체와 장치가 인터넷에 연결되어 고객 사용 패턴 및 제품 성능에 대한 데이터를 수집하고 있으며 머신러닝의 등장으로 더 많은 데이터가 생성되고 있다.
또한 클라우드 컴퓨팅으로 빅데이터 가능성이 더욱 확장되었고 클라우드는 개발자가 임시 클러스터를 손쉽게 가동하여 데이터 하위 집합을 테스트할 수 있도록 진정한 의미에서 탄력적인 확장성을 제공하였다.
이런 빅데이터는 고객 수요를 예측을 통해 신규 제품을 계획, 생산, 출시하거나, 센서 데이터, 오류 메시지, 엔진 온도와 같은 비정형 데이터로도 예측이 가능하다.
빅데이터의 작동 원리
빅데이터는 서로 다른 종류의 소스와 어플리케이션으로부터 데이터를 수집하여 종합한다.
그리고 스토리지를 활용하여 데이터를 원하는 형식으로 저장하고, 원하는 처리 요구사항과 필요한 프로세스에 따라 데이터 세트에 적용한다.
추가적으로 시각적 분석을 통해 명확성을 확보할 수 있으며, 데이터 모델을 구축하여 업무에 활용할 수 있다.
데이터의 종류
정형 데이터
미리 정해진 구조에 따라 저장된 데이터로 예시로는 엑셀의 스프레드시트가 있다.
반정형 데이터
구조에 따라 저장된 데이터지만 정형 데이터와 달리 데이터 내용 안에 설명이 함께 존재하여 구조를 파악하는 파싱하는 과정이 필요하다.
JSON파일이나 XML파일이 이에 해당한다.
비정형 데이터
정해진 구조가 없이 저장된 데이터로 SNS의 텍스트, 이미지, 영상, PDF 문서와 같은것이 해당된다.
특성에 따른 데이터 분류
범주형 데이터
크기 비교와 산술적인 연산이 가능하지 않아 질적 데이터라고도 한다.
서열이 없는 값을 가지는 데이터를 명목형 데이터라고 하는데 성별, 혈액형, 학과명, 거주 지역과 같은 데이터가 이에 해당하고, 서열이 있는 값을 순서형 데이터라고 하여 학년, 학점, 회원등급 등이 이에 해당한다.
수치형 데이터
크기 비교와 산술적인 연산이 가능한 숫자 값을 가진 데이터로 양적 데이터라고도 한다.
개수를 셀 수 있는 띄엄띄엄 단절된 숫자 값을 이산형 데이터라고 하는데 고객수, 판매량, 합격자 수 등이 이에 해당한다.
측정을 통해 얻어지는 연속적으로 이어진 숫자 값을 가지는 데이터를 연속형 데이터라고 하는데 키, 몸무게, 온도와 같은 것이 해당한다.
2. 데이터의 해석
데이터 해석 관점
데이터를 바라보는 다양한 관점으로 데이터를 어떠한 관점에서 바라보는지에 따라 의사결정 결과가 달라질 수 있다.
데이터 해석 관점에 정답은 없으나 해석을 방해하는 요소들에 대해서는 지양하는것이 좋다.
지양해야할 요소들
거짓 인과관계: 우연히 나타난 현상을 인과관계로 오인하는 것
생존 편향: 선택 과정을 통과한 개체만 남아 통과하지 못 한 데이터를 간과하는 논리적 오류
심슨의 역설: 세부 집단별로는 추세나 경향성이 나타나지만 전체적으로 추세가 사라지거나 반대의 경향성이 나타나는 현상
체리피킹: 불리한 데이터나 사례는 숨기고 유리한 데이터를 활용하여 주장을 뒷받침하는 것
데이터 기초 통계
통계는 조사나 실험을 통해 얻은 수치를 활용해 특정 집단을 구성하는 정보를 하나의 값으로 표현한 것을 의미한다.
기술통계: 수집한 데이터를 정리, 요약, 해석 등을 통해 데이터의 특성과 속성을 파악하는 방법
추론통계: 표본으로부터 통계량 등의 값을 계산하여 모집단의 특성과 속성을 파악하는 방법
확률은 어떤 사건이 실제로 일어날 것인지 혹은 일어났는지를 표현하는 방법으로 같은 원인에서 특정한 결과가 나타나는 비율을 뜻한다.
조건부 확률은 주어진 사건이 일어났다는 가정하에 다른 한 사건이 일어날 확률로 원래의 확률 함수를 Pr라고 할 때, 사건 B가 일어났다는 가정하에 사건 A가 일어날 조건부 확률은Pr(A|B)로 표기한다.
데이터를 시각화 할 때 이터가 속하는 항목 또는 특정 범위의 빈도를 나타낸 표를 도수분포표라고 하고, 데이터가 속하는 항목 또는 특정 범위의 빈도를 나타낸 그래프를 히스토그램이라고 한다.
확률과 확률분포
확률분포는 확률변수가 특정한 값을 가질 확률을 나타내는 함수인데 확률변수의 종류에 따라 이산확률분포와 연속확률분포로 나누어진다.
이산확률분포는 가질 수 있는 값의 개수를 셀 수 있는 확률변수인 이산확률변수의 확률분포를 의미한다.
이산확률분포에는 베르누이분포, 이항분포, 기하분포, 음이항분포, 초기하분포, 푸아송분포가 있다.
기하분포: 성공확률이 p인 베르누이시행에서 처음 성공이 일어날 때까지 반복한 시행횟수의 확률분포
음이항분포: 성공확률이 p인 베르누이시행을 r번 성공할 때까지 반복시행한 횟수의 확률분포
초기하분포: N개 중 비복원추출로 n번 추출했을 때 원하는 것이 k개 포함될 확률의 분포
푸아송분포: 단위 시간 내에 어떤 사건이 발생하는 횟수를 나타내는 분포
연속확률분포는 가질 수 있는 값의 개수를 셀 수 없는 확률변수이다.
정규분포: 중심극한정리에 따라 동일한 분포를 가지는 많은 확률변수의 평균 분포를 근사할 수 있는 분포이다.
여기서 중심극한정리는 확률분포를 알 수 없는 어떠한 변수라도 정해진 횟수 n만큼 독립적으로 추출하는 작업
을 반복했을 때 추출된 값의 평균은 시행횟수가 증가하면 정규분포를 따라간다는 것이다.
감마분포: a번째 사건이 일어날 때까지 걸리는 시간에 대한 연속확률분포
지수분포: 사건이 서로 독립적일 때 사건과 사건 간의 경과시간에 대한 확률분포
카이제곱분포: k개의 서로 독립적인 표준정규확률변수의 제곱을 합한 값에서 얻어지는 분포
베타분포: 두 매개변수 α와 β에 따라 [0, 1] 구간에서 정의되는 연속확률분포
균등분포: 특정구간 내의 값들이 나타날 가능성이 균등한 분포
데이터 마이닝
데이터베이스나 데이터웨어하우스 등에 저장된 방대한 데이터로부터 의사결정에 도움이 되는 유용한 정보를 발견하는 일련의 작업으로 수리적으로 밝혀지지 않는 경험적 방법에 근거하여 일반화에 초점을 맞춰 진행한다.
연관분석: 대규모의 데이터 항목 중 유용한 연관성과 상관관계를 찾는 기법으로 상품 또는 서비스 간의 관계로부터 유용한 규칙을 찾아내고자 할 때 이용한다.
군집분석: 집단 또는 범주에 대한 사전 정보가 없는 데이터에 대해 몇 개의 유사한 집단으로 그룹화하여 각 집단의 성격을 파악하는 기법으로 그룹화가 끝난 후에야 그룹의 특성을 파악할 수 있다.
분류분석: 대표적인 분류분석 기법으로 의사결정나무 기법이 있다.
의사결정나무 기법은 트리구조로 도표화하여 분류 및 예측을 수행하는 것으로 트리에서 내려올수록 더 세분되며, 마지막 노드에 도착하면 우리가 선택한 데이터가 어떤 분류에 속하는지 알 수 있다.
회귀분석: 변수 간의 함수관계를 추구하는 통계적 방법으로 입력값의 원인에 해당하는 독립변수와 결과물에 해당하는 종속변수간의 함수 관계를 규명하는 방법이다.
2. 데이터 파일 시스템
데이터파일시스템의 개념 및 종류
자료의 계층구조
파일시스템은 자료가 계층구조로 되어있어 데이터를 효율적으로 저장하고 검색할 수 있다.
블록: 파일시스템의 가장 낮은 계층으로 일정한 크기의 데이터 조각을 의미한다. 이때 각 블록은 고유한 주소를 가지고 있어 이러한 블록들을 조직화 하여 파일이나 폴더에 할당한다.
파일: 사용자가 생성하는 데이터 단위로 고유한 식별자를 가지고, 파일의 크기나 생성일자와 같은 내용의 메타데이터는 특정 블록에 저장되거나 파일시스템의 다른 영역에 저장이 된다.
디렉토리: 파일이나 다른 디렉토리를 포함하는 컨테이너 역할을 하여 파일을 조직화 하기 위한 계층구조를 제공한다.
데이터 파일 시스템의 개념
데이터파일시스템은 파일시스템과 데이터베이스관리시스템을 뜻하는 것으로 여기서 파일 시스템은 파일과 폴더를 저장, 관리, 접근하는 체계로 데이터를 구조화 하고 조직화 하여 저장 장치에 효율적인 파일 생성, 수정, 삭제, 검색등의 작업을 가능하게 한다. 데이터베이스관리시스템은 파일시스템의 단점을 극복하기 위해 등장한 것으로 DB에 접근하여 데이터베이스 정의, 조작, 제어 등의 관리를 지원하는 소프트웨어를 의미한다.
데이터파일시스템의 종류 및 특성
파일시스템은 FAT32, NTFS, ext4, APFS, FHS+등이 있고, 이들은 데이터를 조직화하여 저장하는데 이러한 방식때문에 데이터의 효율적인 관리와 검색이 가능하다.
하지만 파일 시스템의 경우 여러 파일에 동일한 데이터를 중복해서 저장하는 데이터 중복 및 일관성 문제가 있고, 잘못된 데이터 입력, 데이터의 손상, 데이터 일관성 오류로 인한 정확성이 보장되지 않아 무결성 유지가 어렵다.
또한 데이터의 양이 증가하거나 요구사항이 변경될 경우 데이터 처리에 제한적이여서 확장성 문제도 있다.
데이터베이스관리시스템은 이러한 문제점을 해결하기 위해 도입 되었는데 DBMS는 데이터를 구조화하여 저장해 테이블이나 컬랙션 같은 구조로 중복된 데이터를 최소화하여 무결성을 유지하고, 스키마를 정의해 제약조건을 설정하여 무결성을 유지할 수 있게 한다.
그리고 동시 접근 제어를 위해 트랜잭션 개념을 도입해 충돌을 방지하였다. 여기서 트랜잭션은 데이터베이스 처리의 기본 단위로 생신으로 인해 일시적으로 정합하지 않은 데이터가 사용되지 않도록 적절한 구분기호를 사용해 일련의 조작을 묶어서 처리하는 것이다.
그리고 DBMS는 ACID원칙을 준수하는데 ACID는 원자성, 일관성, 고립성, 지속성의 약자로 트랜잭션의 원자성과 일관성을 보장하고, 도이시정과 데이터의 지속성을 유지한다.
데이터베이스 이해
데이터베이스 구성요소
1. 테이블
데이터베이스에서 정보를 구조화하여 저장하는 단위로 엔티티 또는 릴레이션이라고도 한다.
이는 행과 열로 구성된 2차원 구조로 데이터 집합을 나타낸다.
2. 속성
테이블의 열을 나타내며 특정 데이터 유형에 대한 정보를 기술한다. 여기서 각 속성은 고유한 이름을 가져 해당 속성에 저장되는 데이터 유형을 정의한다.
3. 레코드
테이블의 행을 나타내며 튜플이라고도 한다. 여기서 각 레코드는 테이블 속성에 해당하는 값들의 집합으로 구성된다.
4. 메타데이터
데이터에 대한 데이터로 데이터의 특성, 구조, 의미 등을 설명하는 정보를 의미한다. 데이터베이스 시스템에서 데이터를 관리하고 사용하는데 필요한 정보를 제공한다. 이를 통해서 데이터의 의미와 구조를 설명하고, 데이터를 검색하고 조회, 제약조건 유지, 분석 가공등을 하는데 도움을 준다.
5. 데이터 딕셔너리
데이터베이스시스템에서 사용되는 데이터 구조와 메타데이터에 대한 정보를 저장하고 관리한다.
6. 트랜잭션 관리자
데이터베이스에서 트랜잭션 관리와 제어를 담당하는 역할을 하는 것으로 여러 개의 데이터 조작 작업을 하나의 논리적 단위로 묶어 일관성과 안정성을 보장한다.
7. 저장 데이터 관리자
데이터베이스의 저장 구조와 데이터의 물리적인 저장, 접근, 관리를 담당하는 역할로 데이터의 효율적인 저장과 검색을 지원한다.
8. 질의 처리기
SQL을 처리하고, 데이터베이스로부터 원하는 정보를 추출하는 역할을 하여 요청한 질의를 해석하고 최적의 실행 계획을 생성한다.
데이터베이스 구조
스키마는 데이터 구조와 제약조건을 명세하는 것으로 개체, 속성, 관계의 정의와 그들이 유지해야 할 제약조건을 포함한다.
스키마는 데이터베이스관리 관점에서 외부, 개념, 내부로 구분이 된다.
외부 스키마
사용자나 응용 프로그램의 관점에서 데이터베이스를 정의한 것으로 특정 사용자 그룹이나 응용 프로그램에 필요한 데이터의 논리적 구조와 접근 방법을 정의한다. 이는 데이터베이스 시스템에서 개별적으로 정의되어 다수의 외부 스키마가 존재할 수 있다.
개념 스키마
전체 데이터베이스의 논리적 구조를 정의한 것으로 데이터베이스 시스템의 관리 및 조작을 위한 기반을 제공하여 데이터 일관성과 무결성을 유지하는 역할을 한다.
내부 스키마
데이터의 물리적 구조를 정의한 것으로 데이터가 디스크에 저장되는 방식, 인덱스 구조, 저장 위치등과 같은 물리적 세부 사항을 정의하여 데이터베이스 시스템의 성능 향상을 위해 최적화된 구조로 데이터를 관리한다.
데이터 베이스 언어
데이터베이스에는 데이터가 물리적인 파일 형태로 저장되어있지만 이를 직접 열어서 데이터를 확인하는 것이 아니라 질의 언어를 사용하여 저장된 데이터를 조회, 입력, 수정, 삭제하는 등의 조작을 수행하고, 다양한 객체를 생성하고 제어한다.
데이터 정의어는 데이터베이스의 구조와 스키마를 정의하는 데 사용되어 객체의 생성, 수정, 삭제를 담당한다. 이는 데이터베이스의 논리적 구조를 설계하고 데이터베이스 객체의 속성, 유형, 제약조건을 정의한다.
데이터 조작어는 데이터베이스에서 데이터를 조작하는데 사용하는 것으로 데이터의 검색, 삽입, 수정, 삭제 등의 작업을 수행한다.
데이터 제어어는 데이터베이스의 보안, 권한관리, 무결성 제약조건 등을 제어하는데 사용하는 것으로 접근하는 사용자나 응용프로그램에 대한 권한을 부여하거나 제거한다.
키, 변수의 개념
키는 데이터베이스에서 레코드를 고유하게 식별하는 역할을 하는 속성들의 조합으로 슈퍼키, 후보키, 기본키, 대체키, 외래키가 있다. 슈퍼키는 테이블 내에서 레코드를 고유하게 식별할 수 있는 속성 또는 속성들의 조합으로 고유하게 식별만 할 수 있으면 되서 최소성 조건을 만족시키지 않을 수 있다.
후보키는 기본키로 사용할 수 있는 집합으로 이 후보키 중에서 기본키를 선택한다. 여기서 기본키는 테이블에서 각 레코드를 고유하게 식별하기 위해서 선택된 키로 후보키 중에서 선택이된다. 여기서 기본키로 선택되지 않은 후보키를 대체키라고 한다. 이러한 점 때문에 슈퍼키의 특징을 가지면서 최소성 조건을 만족한다.
마지막으로 외래키는 한 테이블에서 다른 테이블의 기본키를 참조하는 키로 테이블간의 관계를 맺을 때 사용한다.
변수는 값을 저장하고 참조할 수 있는 메모리 공간으로 다른 변수에 영향을 받지 않고 자유롭게 값을 변경할 수 있는 독립변수와 결과 혹은 응답을 나타내는 종속변수가 있다.
분산 데이터베이스
물리적으로 분산된 데이터베이스 시스템을 네트워크로 연결해 사용자가 논리적으로 하나의 중앙 집중식 데이터베이스처럼 사용할 수 있도록 한 것이다.
분산 데이터베이스의 구성 요소 중 분산 처리기는 지역별로 필요한 데이터를 처리할 수 있는 지역 컴퓨터로 각 지역의 데이터베이스를 자체적으로 관리하는 별도의 DBMS를 가지고 있다. 분산 데이터베이스는 물리적으로 분산된 지역 데이터베이스 이고, 통신 네트워크는 분산 처리기가 자원을 공유하는 네트워크이다.
분산 데이터베이스를 사용할 경우 장애 발생시 다른 지역의 데이터베이스를 사용할 수 있기 때문에 신뢰성과 가용성이 증대하고, 데이터베이스를 독립적으로 관리하여 응답시간이 단축되 효율성이 증대한다. 그리고 처리할 데이터가 많아지면 새로운 데이터베이스를 설치하여 운영하면 되어 확장성도 용이하다.
반면 설계 및 구축 비용이 많이 들고 추가적인 통신 비용이나 처리 비용이 발생하는 문제도 있다. 그리고 데이터마다 거리가 다르기 때문에 응답속도가 불규칙한 문제도 있다.
3. 데이터 활용
데이터 가공
데이터 정제는 데이터의 품질과 정확성을 높이는 작업으로 결측값이 있는 행 또는 열을 삭제하거나 적절한 추정치로 채우는 처리를 하거나, 중복되는 값을 찾아 제거, 불일치 데이터 처리, 이상값 처리 등을 수행한다.
데이터 변환은 데이터의 원래 형식을 분석 또는 모델링에 적합한 형식으로 변환하는 작업으로 정규화, 로그 변환, 구간화, 차원 축소등을 한다.
데이터 관리
SQL쿼리, API요청등과 같은 방법으로 식별된 소스에서 데이터 추출을 한다. 그리고 데이터 세트의 오류 또는 중복을 제거하여 정리하고, 일관된 형식으로 서식을 변환하여 데이터 수집 및 변환과정을 거친뒤 데이터 적재 및 저장 과정을 진행한다.
비즈니스 인텔리전스(BI)
비즈니스 인텔리전스는 데이터를 분석하여 실행 가능한 통찰을 얻고 의미 있는 정보를 제공하기 위해 사용하는 기술, 전략, 프로세스의 집합이다. 이러한 비즈니스 인텔리전스는 비즈니스 운영, 추세, 패턴에 대한 포괄적인 관점을 제공해 사업 기회를 발견하고 문제를 해결하며 전략적 의사결정을 지원한다.
비즈니스 인텔리전스의 주요 요소는 다음과 같다.
데이터 통합: 다양한 소스(데이터베이스, 스프레드시트, 외부 API 등)의 데이터를 통합한 후 정제 및 변환 과정을 거쳐 분석에 사용.
데이터 웨어하우징: 데이터를 중앙 집중식 리포지토리인 데이터 웨어하우스에 통합해 분석에 최적화된 데이터를 제공.
데이터 모델링: 테이블 간의 관계, 계층구조, 차원, 측정값 등을 정의하여 데이터의 논리적 구조를 생성.
데이터 분석: 설명적, 진단적, 예측적, 처방적 분석을 통해 데이터를 해석하고 통찰을 도출.
데이터 시각화: 대시보드, 차트, 그래프 등을 통해 데이터를 시각적으로 표현.
데이터 마이닝: 통계분석, 머신러닝, 인공지능을 이용해 대규모 데이터에서 숨겨진 패턴과 관계를 발견.
셀프서비스 BI: 비즈니스 사용자가 독립적으로 데이터를 탐색하고 분석할 수 있게 지원.
데이터 거버넌스: 데이터 보안, 정확성, 가용성 등을 보장하기 위해 정책과 표준을 설정하고 관리.
지속적인 개선: BI는 반복적 모니터링과 개선 프로세스를 통해 전략의 효과를 측정하고 성과를 개선.
BI는 데이터 기반 의사결정에 필요한 프레임워크와 통찰을 제공해 조직의 성공과 경쟁력을 강화한다. 여기서 데이터 기반 의사결정은 정확한 정보를 통해 편견을 줄이고, 객관성을 높이며, 조직의 목표에 부합하는 증거 기반 결정을 내릴 수 있게한다.
BI 활용 단계와 고려사항
- 비즈니스 목표 정의: 해결하고자 하는 구체적인 질문 또는 과제를 명확히 정의.
- 핵심성과지표(KPI) 설정: 성과 모니터링과 목표 진행 상황을 추적할 수 있는 KPI를 식별.
- 데이터 수집 및 통합: 다양한 소스에서 데이터를 수집하고 정리하며, 데이터 정제 및 변환 작업을 통해 정확하고 일관성 있는 데이터를 준비.
- BI 도구 선택: 사용 편의성, 확장성, 데이터 시각화 기능 등을 고려해 적합한 BI 도구 선택.
- 대시보드 디자인 및 개발: 직관적이고 시각적으로 매력적인 형식으로 데이터를 표현해 사용자에게 전달.
- 데이터 분석 수행: 통계 기법, 데이터 마이닝, 데이터 시각화를 사용해 비즈니스에 대한 통찰을 얻음.
- 보고서 및 시각화 생성: 주요 결과를 차트, 그래프, 표 등을 사용해 시각적으로 매력적인 방식으로 전달.
- 성과 모니터링 및 추적: 경고 및 알림 설정을 통해 지표의 편차나 이상을 사전에 식별.
- 협업 및 통찰 공유: 팀 간 협업과 통찰 공유를 통해 데이터 기반 의사결정 문화를 조성.
- 반복 및 개선: BI 구현 효과를 지속적으로 평가하고 피드백을 수집하여 개선.
- 사용자 훈련 및 교육: BI 도구의 독립적 활용을 위해 사용자에게 교육 및 훈련 프로그램 제공.
'컴퓨터 > 데이터 분석' 카테고리의 다른 글
경영정보시각화 디자인 (2) | 2024.11.12 |
---|---|
경영정보 일반 (12) | 2024.09.06 |
3. 구글 애널리틱스 익히기 및 분석 (0) | 2024.08.18 |
2. 구글 애널리틱스의 개념과 환경 설정 (0) | 2024.08.13 |
1. 구글 애널리틱스란? (1) | 2024.08.09 |