데이터의 대푯값은 데이터를 하나의 특정수로 표현할 수 있다는 점에서 유용합니다.
다만 대푯값만으로 데이터를 접근하기에는 부족합니다.
예를 들어 데이터가 평균 주위에 몰려있는 경우라면,
평균을 대푯값으로 정하여 데이터를 파악할 수 있습니다.
그러나 데이터 평균 주위에는 데이터가 없고,
단순히 최댓값과 최솟값 주위에 데이터가 몰려있고,
이 값들을 단순 평균하여 나온 평균은 그 데이터를 대표한다고 보기 어렵습니다.
그래서 산포도를 활용합니다.
산포도란 개별 관측값들이 대푯값으로부터 흩어진 정도를 보여주며,
대푯값만으로는 부족한 데이터를 보다 잘 이해할 수 있도록 돕습니다.
산포도에는 범위, 사분위범위, 평균편차, 사분편차, 분산, 표준편차 등이 있습니다.
산포도를 통해 서로 다른 데이터들을 비교하는 경우,
단위나 기준이 다르면 비교하기 어렵습니다.
이때 상대적인 산포도인 사분위편차계수, 평균편차계수, 변동계수 등을 활용합니다.
상대적 산포도는 모두 중앙값이나 평균으로 나누어 계수를 구하며,
이를 통해 단위나 기준을 상쇄하므로, 비교가 용이합니다.
분산(V ; Variance)
편차는 각각의 데이터에서 평균을 뺀 것을 뜻합니다.
이 편차들을 모두 더하면 합이 0이 되므로, 산포도를 파악하는데 도움이 되지 않습니다.
그래서 각각의 편차를 제곱하여 합한 후 평균을 구하여 분산을 구합니다.
numpy의 mean을 통해 데이터의 평균을 구한 후,
각 데이터값을 평균으로 뺀 후 제곱(**2)을 합니다.
이러한 값들의 평균을 구하기 위해,
모두 더한 후 len함수를 이용해 데이터의 개수로 나눠줍니다.
이 데이터의 분산은 125입니다.
개별 데이터들을 모두 입력하지 않고 for문을 통해 하나씩 가져와서 분산을 구해보도록 하겠습니다.
우선 기본이 되는 조건식은 다음과 같습니다.
우선 len 함수를 통해 데이터의 개수를 구한 후,
range함수를 통해 0부터 1, 2, 3과 같은 정수를 만들어서 하나씩 데이터를 가져올 준비를 합니다.
range함수 안에 데이터의 개수인 4가 들어갔으므로 0을 포함하는 4개의 정수를 가져옵니다.
즉 0, 1, 2, 3을 가져옵니다.
data[i]에는 우선 data[0]이 되며, data에서 첫번째 값인 10을 가져옵니다.
여기에 np.mean을 통해 데이터의 평균인 25를 빼주면 -15라는 값이 됩니다.
나머지 데이터도 같은 연산을 통해 구합니다.
다만 위의 값을 모두 더하면 0이 되므로, 데이터의 퍼진 정도를 아는데 도움이 되지 않습니다.
그래서 조건식을 통해 구해진 값들에 제곱을 해서,
각각의 퍼진 정도가 모두 양수로 표현되도록 합니다.
그리고 나온 값들을 sum을 통해 모두 더한 후,
데이터의 개수를 구하는 len을 통해 나온 수로 나눠주면 분산을 구할 수 있습니다.
분산의 수식을 이해하기 위해 조건식을 활용하였으나,
분산을 간단히 구하기 위해서는 numpy의 var를 활용하면 됩니다.
표준편차(SD ; Standard Deviation)
분산은 편차를 제곱한 값이므로, 데이터의 퍼진 정도가 제곱이 되어 있습니다.
이를 원래의 수준으로 되돌리기 위해, 루트를 씌워서 제곱근을 구합니다.
이렇게 구해진 값을 표준편차라고 합니다.
위에서 구해진 분산에 루트를 씌우는 방법은 numpy의 sqrt를 이용합니다.
sqrt는 square root의 약자로서 루트, 즉 제곱근을 의미합니다.
보다 수식적인 표현방법을 선호한다면, 다음과 같은 방법도 있으며,
결과는 동일합니다.
표준편차를 간단히 구하기 위해서는 numpy의 std를 활용합니다.
std는 standard deviation의 약자로 표준편차를 의미합니다.
분산 및 표준편차는 산포도를 파악하는 가장 일반적인 기준이며,
대푯값만으로 알 수 없었던 데이터의 분포를 알 수 있는 통계량입니다.
'기초통계 > 산포도' 카테고리의 다른 글
[python/파이썬] 산포도로서 변동계수 (0) | 2023.01.01 |
---|---|
[python/파이썬] 산포도로서 평균편차계수 (0) | 2023.01.01 |
[python/파이썬] 산포도로서 사분위편차계수 (0) | 2023.01.01 |
[python/파이썬] 산포도로서 사분편차 (0) | 2022.12.31 |
[python/파이썬] 산포도로서 평균편차 (0) | 2022.12.30 |
[python/파이썬] 산포도로서 범위 및 사분위범위 (0) | 2022.12.30 |