확률적 데이터
Contents
2.1. 확률적 데이터#
2.1.1. 측정#
데이터는 처음부터 그냥 존재하는 것이 아니라 사람의 행위에 의해 얻어지는 것이다. 현실세계에서 데이터를 얻는 측정(measure)이라고 한다. 예를 들어 어떤 식당의 일일 매출액이라는 데이터를 얻어내는 과정은 측정이라고 할 수 있다. 대부분의 경우 반복하여 측정을 실시할 수 있기 때문에 데이터는 복수의 값을 가지게 된다. 다음은 열흘동안 어떤 식당의 일매출액을 측정한 값이다. 이 데이터는 10개의 값을 가진다. (여기에서 매출액의 단위는 만원이고 매출액이 10만원 단위의 값만 가진다고 가정한다.)
날짜 |
일매출액 |
---|---|
2022.1.1 |
30 |
2022.1.2 |
10 |
2022.1.3 |
30 |
2022.1.4 |
20 |
2022.1.5 |
40 |
2022.1.6 |
30 |
2022.1.7 |
20 |
2022.1.8 |
50 |
2022.1.9 |
30 |
2022.1.10 |
40 |
2.1.2. 확률적 데이터#
측정에 의해 얻어지는 데이터의 대부분은 다음과 같은 특징을 가진다. (사실 다음 특성은 측정에 의해 얻지는 데이터 뿐 아니라 추론에 의해 도출되는 데이터도 마찬가지이다. 그러나 이 절에서는 우선 설명을 단순화하기 위해 측정에 의해 얻어지는 데이터로 국한하여 생각하자.)
반복적으로 얻을 수 있다.
측정할 때마다 얻어지는 값이 바뀌는 경우가 대부분이다.
다음번에 다시 측정할 때 어떤 값이 나올지 정확히는 알 수 없다.
위에서 예로 든 식당의 일매출액도 같은 특징을 가진다. 매일 매일 반복적으로 값이 나오며 이 값은 어제와 오늘이 다른 경우가 대부분이다. 또한 내일의 일매출액에 대해서도 정확한 값을 예측할 수 없다. 이러한 특징을 가지는 데이터를 확률적 데이터(probabilistic data, random data)라고 한다. 사실 데이터 분석의 대상이 되는 모든 데이터가 확률적 데이터라고 해도 무방할 것이다.
2.1.3. 확률변수와 값#
측정을 통해 데이터를 얻어내는 과정은 자판기에서 물건이 나오는 것에 비유할 수 있다. 자판기의 버튼을 누를 때마다 상품이 하나씩 나오는 것처럼 우리가 측정행위를 하면 값(value)이 하나씩 나오게 된다. 이 때 우리가 관심을 가져야 할 것은 자판기로부터 나오는 상품 즉, 데이터의 값 뿐아니라 그 값을 만들어내는 자판기다. 자판기는 일종의 데이터 값 생성기(data-value-generator)라고 부를 수 있다. 데이터 과학에서는 이러한 데이터 생성기를 확률변수(variable)라고 부른다. 다른 수학 분야나 프로그래밍의 분야에서는 변수가 특정한 하나의 값을 대표하는 것이지만 데이터 과학에서 말하는 확률변수는 여러가지 다양한 값을 만들어내는 생성기라고 보면 된다. 데이터를 다룰 때는 확률변수와 그 확률변수가 만들어낼 수 있는 값을 구분하여 생각해야 한다. 위의 예에서 “일매출액”은 확률변수이고 10, 20 등의 숫자는 해당 확률변수가 생성한 값이다.
확률변수에서 값을 측정하는 과정을 샘플링(sampling) 혹은 표본화라고도 부른다. 또한 확률변수에서 측정한 데이터를 표본값(sample value)이라 한다. 표본값은 경우에 따라 그냥 값(value)이라고도 부른다. 이 책에서는 두 가지 용어를 혼용하여 사용할 것이다.
수학기호로 표시할 때 확률변수는 \(x\) 등으로 표시하고 값은 해당 문자에 아랫첨자를 붙여 \(x_1, x_2\) 등으로 표시하는 경우가 많다. 하지만 이러한 수학기호는 여러가지 상황에 따라 달라진다. 어떤 경우에는 확률변수를 대문자로, 값은 소문자로 사용하는 경우도 있다. 따라서 특정한 기호가 확률변수를 나타내는지 생성된 데이터를 나타내는지는 문맥에 따라 구분해야 한다.

2.1.4. 확률분포#
데이터 분석의 가장 기본 가정은 모든 확률변수에 대해 다음과 같은 확률분포라는 것이 존재한다는 가정이다.
확률변수는 확률분포(probability distribution)라는 규칙에 의해 데이터를 생성해 낸다. 다만 이 확률분포라는 규칙은 사람이 직접 관측할 수 없고 측정으로 얻어낸 값으로부터 추측할 수 있을 뿐이다.
확률변수 \(x\)에 대한 확률분포는 수학기호로 \(p_x\)로 표시한다. 확률분포의 대상이 되는 확률변수가 무엇인지 명확한 경우에는 아랫첨자를 생략하고 그냥 \(p\)로 나타내는 경우도 있다.

2.1.5. 확률분포함수#
확률분포는 확률변수 \(x\)가 가질 수 있는 모든 값에 대해 그 값이 발생할 가능성을 지정한 규칙이다. 따라서 다음 그림과 같이 값을 입력으로 가지고 그 값이 발생할 가능성을 출력으로 가지는 함수로 표현할 수 있다. 수학적으로 확률변수 \(x\)에 대한 확률분포함수는 \(p_x(x)\) 또는 \(p(x)\)로 표시한다.

이 “값에 대응하는 가능성”을 확률(probability) 또는 확률밀도(probability density)라고 부른다. 값의 유형이 범주형일 경우에는 확률이라 하고 값의 유형이 수치형일 때는 확률밀도라고 한다. 따라서 데이터의 유형에 따라 확률분포함수는 다음과 같이 두가지 종류가 있을 수 있다.
데이터가 범주형인 경우 : 확률질량함수
데이터가 수치형인 경우 : 확률밀도함수
2.1.5.1. 확률질량함수#
예를 들어 위에서 말한 식당의 일매출액이 10, 20, 30, 40, 50의 다섯가지 경우만 가능하고 다른 값은 나올 수 없다고 가정하자. 그러면 일매출액의 값은 다섯 종류의 값만 가질수 있는 범주형 데이터라고 할 수 있다. 이러한 범주형 데이터의 확률분포함수는 다음과 같은 표의 형태로 만들 수 있다.
일매출액 |
확률 |
---|---|
10 |
0.1 |
20 |
0.2 |
30 |
0.4 |
40 |
0.2 |
50 |
0.1 |
이 표는 일매출액의 값을 입력으로 가지고 확률을 출력으로 가지는 함수라고 할 수 있다. 이러한 함수를 확률질량함수(probability mass function)라고 한다.

이 함수를 그래프로 표시하면 다음과 같다.

2.1.5.2. 확률밀도함수#
데이터가 수치형인 경우에는 나올 수 있는 값의 종류가 무한하게 많으므로 위와 같이 표로 표시할 수 없다. 이 경우에는 확률밀도함수(probability density function)라는 것을 사용한다. 확률밀도함수는 확률질량함수처럼 데이터가 가질 수 있는 값을 입력으로 받지만 출력은 확률이 아니라 확률밀도(probability density)다. 확률이 범주형 값의 신뢰도를 나타내는 것처럼 확률밀도는 수치형 값의 신뢰도를 나타내는 값이지만 확률과는 다음과 같은 점이 다르다.
확률은 0과 1사이의 값만을 가질 수 있지만 확률밀도는 0 이상인 임의의 양수값을 가질 수 있다.
특정 구간의 확률밀도값을 적분하면 해당 구간의 값이 나올 확률이 된다.
음의 무한대부터 양의 무한대까지의 모든 확률밀도를 적분하면 1이 된다.

2.1.6. 확률분포추정#
데이터 분석의 문제는 측정한 표본값 \(x_1, x_2, \ldots\)로부터 확률변수 \(x\)의 확률분포(함수) \(p(x)\)를 찾아내는 것이다. 이를 확률분포추정(estimation of probability distribution) 문제라고 한다. 확률분포를 알아내면 사실상 해당 확률변수로부터 나올 수 있는 값을 재현하여 생성할 수 있으므로 더 이상 측정이 필요없다고 볼 수 있다. 따라서 확률분포추정은 데이터 분석에 있어 가장 기본적이고 중요한 문제라고 할 수 있다. 다음 절부터는 이 문제를 푸는 방법을 설명한다.
