본문 바로가기

Study/수학과통계

0. 평균과 표준편차

1. 평균

평균은 이론적으로 무게 중심을 이야기 하며, 데이터들을 가장잘 설명할 수 있는 값이라고 생각한다.

우리가 잘 알고있듯이 데이터들(값들)이 있을때, 모든 값을 더한 다음 데이터 양(n)을 나누어 계산한다.

평균의 영어표기법 mean을 따라 m의 그리스문자 $\mu$(모집단에서 주로사용) 혹은 $\bar{x}$(표본)로 표기한다.

 

$$\bar{x} = \frac{1}{n}\sum_{i=1}^{n}{i}$$

 

평균을 파이썬으로 구현

x = [1,2,3,4,5,6,7,8,9,10]
x_bar1 = sum(x) / len(x)

summ = 0
for i in range(len(x)):
    summ += x[i]
x_bar2 = summ / len(x)

print(x_bar1, x_bar2)

 

2. 표준편차

표준편차는 편차(기준에서 벗어난 정도)의 표준(기준)이다. 

다시말해 데이터들은 일정한 기준(대표적으로 평균)이 있고, 모두 같은 값이 아니라면 기준으로부터 일정 수준 떨어져 있게된다.(편차)

이때, 각 데이터들의 편차를 대표하는 값이 표준편차이다.

보통 표준편차의 영문표기 Standard Deviation을 따서

$std$ 혹은 $s$(표본-sample일때 주로 사용)  $\sigma$(모집단-population일때 주로 사용)로 표현한다. 

 

$$std = \sqrt{\frac{1}{n-1}\sum_{i=1}^{n}({x_{i}-\bar{x}})}$$

혹은

$$std = \sqrt{\frac{1}{n}\sum_{i=1}^{n}({x_{i}-\bar{x}})}$$

이렇게 두가지로 표현된다. n이 커졌을때, n-1과 n의 차이는 무의미 해지지만, 일반적으로 n-1이 많이 사용된다.

 

표준편차도 파이썬으로 구현해보자

import numpy as np

X = [1,2,3,4,5,6,7,8,9,10]
xbar = sum(X)/ len(X)

std1 = np.std(X,ddof = 1)

summ = 0
for i in range(len(X)):
    summ += (X[i] - xbar) * (X[i] - xbar)

std2 = np.sqrt(summ/(len(X)-1))
print(std1,std2)

numpy.std를 통해 한문장으로 구현한것과, for루프를 통해 sum을 수행하여 구현할 수 있다.

이때, numpy.std의 ddof 는 n에서 몇을 뺀 값으로 나눌 것인가를 의미한다

(기본값 = 0, ddof =1은 (n-1)로 나눌 것을 의미함

 

또한, 각 값에서 평균값의 차를 제곱할때, **를 사용하지 않은 이유는 **도 결국 함수사용이기 때문에 단순 곱셈으로 묶어주는것이 연산속도가 빠르다고 배웠기 때문이다. 타자 칠 시간 많은 댛핟생

 

$$ \sum_{i=1}^{n}{x} = n\bar{x},\ \ \  n\bar{x} = \frac{1}{n}\sum_{i=1}^{n}{x}$$

또한, 위 성질을 이용해서 sum식을 풀어내면,

 

$$ \sum_{i=1}^{n}({x_{i}-\bar{x}}^{2}) = \sum_{i=1}^{n}(x_{i}^{2} -2\cdot \bar{x}x_{i} + \bar{x}^{2})$$

$$ = \sum({x_{i}}^{2}) - 2\bar{x}\cdot n\bar{x} + n\bar{x}^{2}$$

$$ = \sum({x_{i}}^{2}) - n\bar{x}^{2}$$

 

가 되고 이는 다시 

$$std = \sqrt{\frac{1}{n-1}[\sum({x_{i}^{2}}) - n \bar{x}^{2}]}$$

으로 표현된다

 

'Study > 수학과통계' 카테고리의 다른 글

시계열 데이터 Time Series Data  (0) 2020.11.01
선형회귀분석 Linear Regression , SSE, OLS  (0) 2020.10.23
Two sample t - test  (0) 2020.10.21
p-value와 t분포  (0) 2020.10.19
통계적추론 ~ 귀무가설  (0) 2020.10.16