SW 전공

SW 전공 이론 학습

이론 목록으로 돌아가기

데이터 유형과 데이터 품질

정형·반정형·비정형 데이터와 측정척도, 모집단·표본, 데이터 품질 차원과 품질규칙을 학습한다.

예상 읽기 7

1. 데이터 분석의 기본 흐름

데이터 분석은 데이터를 많이 모으는 것보다 문제에 맞는 데이터를 신뢰할 수 있는 상태로 준비하고 올바르게 해석하는 과정이 중요하다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
업무 문제 정의
      ↓
데이터 식별·수집
      ↓
품질 확인·전처리
      ↓
탐색·분석·모델링
      ↓
결과 해석·검증
      ↓
의사결정·운영 반영
      ↓
지속 모니터링

잘못된 데이터로 정교한 모델을 만들면 결과도 신뢰하기 어렵다. 이를 흔히 “Garbage In, Garbage Out”이라고 표현한다.

2. 정형·반정형·비정형 데이터

유형특징예시
정형 데이터고정된 스키마와 행·열 구조관계형 DB 테이블, 거래내역
반정형 데이터구조 표시는 있으나 필드가 유연함JSON, XML, 로그
비정형 데이터일정한 표 구조로 바로 표현하기 어려움문서, 이미지, 음성, 영상
CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
정형
고객ID | 연령 | 가입일
C01    | 32  | 2026-01-02

반정형
{"customerId":"C01", "age":32, "tags":["new","mobile"]}

비정형
상담 녹취, 계약서 PDF, 상품 사진

비정형 데이터도 텍스트 추출, 임베딩, 특징 추출 등을 거쳐 분석 가능한 형태로 변환할 수 있다.

3. 수치형과 범주형 데이터

수치형

  • 이산형: 개수를 세어 얻음. 예: 접속 횟수, 장애 건수
  • 연속형: 측정하여 얻음. 예: 응답시간, 온도

범주형

  • 명목형: 순서가 없는 범주. 예: 부서, 지역, 장애 유형
  • 순서형: 순서가 있는 범주. 예: 낮음·중간·높음, 만족도 1~5

숫자로 저장되었다고 모두 수치형은 아니다. 우편번호나 고객등급 코드 1, 2, 3은 산술 연산의 의미가 없으면 범주형으로 봐야 한다.

4. 측정척도

척도순서간격 비교절대적 0예시
명목XXX지역, OS 종류
서열OXX위험등급, 만족도
등간OOX섭씨온도, 달력연도
비율OOO처리시간, 길이, 거래금액

등간척도에서는 차이는 의미가 있지만 비율 해석은 조심해야 한다. 섭씨 20도가 10도의 두 배로 뜨겁다고 말할 수 없다.

5. 모집단과 표본

  • 모집단: 관심 대상 전체
  • 표본: 모집단에서 관찰한 일부
  • 모수: 모집단의 특성값
  • 통계량: 표본에서 계산한 값
CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
모집단: 전체 민원 처리 1,000,000건
   │ 확률표본추출
   ▼
표본: 5,000건
   │ 평균·비율 계산
   ▼
모집단의 처리시간·오류율 추정

표본이 크기만 하다고 대표성이 자동 보장되는 것은 아니다. 특정 시간대나 특정 채널만 수집하면 선택편향이 생길 수 있다.

6. 데이터 생명주기

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
생성·수집
   ↓
저장·정제
   ↓
이용·공유
   ↓
보존·아카이브
   ↓
파기

각 단계에서 다음을 관리한다.

  • 소유자와 처리 목적
  • 스키마와 메타데이터
  • 접근권한과 보안등급
  • 품질규칙
  • 보유기간
  • 계보와 변경이력
  • 파기 기준

7. 데이터 품질 차원

차원의미오류 예
정확성실제 값과 맞음생년월일 오기
완전성필요한 값이 빠지지 않음필수 전화번호 NULL
유효성형식·범위·규칙을 충족음수 주문수량
일관성시스템·항목 사이 값이 모순되지 않음주문상태는 완료인데 완료일 없음
유일성동일 개체가 중복되지 않음같은 고객이 여러 ID로 등록
적시성필요한 시점에 최신 상태전일 잔액이 실시간 화면에 표시

데이터 품질은 “오류가 하나도 없다”가 아니라 업무 목적에 맞는 수준으로 측정·관리하는 활동이다.

8. 품질규칙 예시

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
Q1. 주문금액 >= 0
Q2. 배송완료일 >= 주문일
Q3. 고객ID는 고객 마스터에 존재
Q4. 거래번호는 유일
Q5. 필수 컬럼 NULL 비율 < 0.1%
Q6. 코드값은 표준 코드 목록 안에 존재

SQL 예:

SQL코드 영역 안에서 좌우로 이동할 수 있습니다.
-- 음수 주문금액 탐지
SELECT order_id, amount
FROM orders
WHERE amount < 0;

-- 중복 거래번호 탐지
SELECT transaction_no, COUNT(*)
FROM transactions
GROUP BY transaction_no
HAVING COUNT(*) > 1;

9. 데이터 프로파일링

프로파일링은 데이터의 분포·결측·중복·최솟값·최댓값·고유값 등을 요약해 실제 상태를 파악하는 활동이다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
컬럼: age
행 수: 100,000
NULL: 1,200
최소: -3      ← 오류 의심
최대: 214     ← 오류 의심
고유값: 173
평균: 42.1

도메인 지식 없이 수치만 보고 오류를 확정하면 안 된다. 예를 들어 거래금액 0은 무료 거래일 수도 있고 누락값 대체일 수도 있다.

10. 데이터 품질 개선 과정

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
품질규칙 정의
    ↓
프로파일링·측정
    ↓
오류 분류
    ↓
원천·업무·연계 원인 확인
    ↓
정정·재처리
    ↓
입력검증·표준·프로세스 개선
    ↓
품질지표 모니터링

분석용 데이터만 임시 수정하고 원천 시스템을 고치지 않으면 오류가 반복된다.

11. 데이터 품질 지표 계산과 판정

품질 차원은 이름만 외우지 말고 분모와 업무 규칙을 먼저 확인해야 한다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
완전성 = 필수값이 존재하는 건수 / 필수값이 요구되는 전체 건수
유효성 = 도메인·형식·범위 규칙을 만족한 건수 / 검사 대상 건수
유일성 = 중복되지 않은 업무 식별자 건수 / 검사 대상 식별자 건수

예를 들어 전체 1,000건 중 필수 대상이 아닌 50건을 제외하고, 필수값이 채워진 건수가 912건이면 완전성은 912/950=96%이다. 단순히 912/1000으로 계산하면 업무상 미적용 건수를 결측으로 잘못 처리한다.

여러 지표를 가중 합산해 품질점수를 만들 수도 있다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
완전성 98%(가중치 0.4), 유효성 95%(0.35), 유일성 99%(0.25)
가중 점수 = 98×0.4 + 95×0.35 + 99×0.25 = 97.2점

12. SQL을 이용한 프로파일링과 무결성 점검

SQL코드 영역 안에서 좌우로 이동할 수 있습니다.
-- 필수값 누락
select count(*)
from customer
where customer_name is null;

-- 업무키 중복
select resident_hash, count(*)
from customer
where resident_hash is not null
group by resident_hash
having count(*) > 1;

-- 참조 무결성 위반
select o.order_id
from orders o
left join customer c on c.customer_id = o.customer_id
where c.customer_id is null;

customer_id처럼 숫자로 저장되어도 덧셈 대상이 아닌 식별자는 범주형으로 다루는 것이 일반적이다. 우편번호·상품코드의 선행 0을 숫자 변환으로 잃는 문제가 발생할 수 있다.

13. 정확성·유효성·일관성의 구분

  • 2026-02-30은 날짜 형식처럼 보여도 존재하지 않는 날짜이므로 유효성 위반이다.
  • 형식과 범위를 만족한 주소라도 실제 거주지와 다르면 정확성 위반이다.
  • 주문 상태가 취소인데 배송완료일이 존재하면 교차 필드 일관성 위반이다.
  • 원천 시스템과 분석 마트의 고객 등급이 서로 다르면 시스템 간 일관성 문제일 수 있다.

14. 스키마 변화·계보·품질 개선의 안전성

컬럼 이름이나 타입이 바뀌는 스키마 드리프트는 파이프라인 오류뿐 아니라 지표 의미 변화를 일으킨다. 데이터 계보는 원천→변환→마트→리포트의 연결을 추적하여 변경 영향과 오류 전파 경로를 찾는다.

CODE코드 영역 안에서 좌우로 이동할 수 있습니다.
탐지 → 원인 분류 → 원본 보존 → 정제 규칙 적용 → 재검증 → 변경 이력·책임자 기록

잘못된 값을 무조건 삭제하면 표본 편향이 커질 수 있다. 오류 원인이 특정 고객군·지역·장치에 집중되어 있다면 삭제 후 분석결과가 모집단을 대표하지 못할 수 있으므로, 보정·별도 플래그·재수집 여부를 검토한다.

확인 문제

  1. 필수 대상 950건 중 값이 채워진 건수가 912건일 때 완전성은?
  2. 숫자로 저장된 고객번호를 일반적으로 범주형으로 보는 이유는?
  3. 형식은 맞지만 실제 주소가 틀린 경우 위반 차원은?
  4. 주문이 취소인데 배송완료일이 존재하는 오류는?
  5. 정제 전에 원본과 계보를 보존해야 하는 이유는?