당당한 수학

산술 평균 계산하기(Incremental mean)

당당한하수 2021. 1. 10. 16:31

산술 평균은 우리가 흔히 사용하는 평균을 의미한다.

 

산술 평균 예시

$A = {a_1, a_2, a_3, ... ,a_n}$

$mean(A)$ = $(a_1 + a_2 + a_3) \over n$

 

산술 평균 계산식 1

$mean_n$ = $1 \over n$ $\sum_{i=1}^n a_i$

위의 식은 직관적으로 이해하기는 좋지만, 실제로 계산 과정을 보면 비효율적인 측면이 있다.

  • 평균을 계산하기 위해서 모든 값을 기억하고 있어야 한다.
  • 새로운 값 $a_{n+1}$이 들어왔을 때, 새롭게 평균을 계산해야 한다.

산술 평균 계산식 2

위의 단점을 보완하기 위해서, 다음과 같이 계산할 수 있다.

$sum(A) = a_1 + a_2 + a_3 ... + a_n$

$mean(A)$ = $sum(A) \over n$

sum(A)라는 변수를 사용하여 누적된 값을 저장하고, a의 개수에 대한 값 n을 기억하고 있다가 평균을 계산할 때 사용한다.

이렇게 구성하면, 새로운 값 $a_{n+1}$이 들어왔을 때, sum(A)에 새로운 값을 더해주고 n을 1증가시켜 주면 된다.

  • $sum(A)_{new}$ = $sum(A)_{old}$ + $a_{n+1}$
  • $n_{new} = n_{old}+1$
  • $mean(A)$ = $sum(A)_{new} \over n_{new}$

위의 식은 기존의 값을 모두 알고 있을 필요가 없다는 점과 새로운 값에 대한 대응이 쉽다는 장점이 있다.

하지만, sum(A)의 값이 기하급수적으로 증가하는 경우에 하나의 변수에 sum(A)를 저장하기 어려울 수 있다.

예) sum(A) = 9999999999999999999999999...

이러한 점을 보완하기 위한 방법이 Incremental mean or average이다.

 

산술 평균 계산식 3

$mean_n = mean_{n-1}$ + $1 \over n$$(a_n - mean_{n-1})$

  • 증명...
    • $mean_n$ = $1 \over n$ $\sum_{i=1}^n a_i$
                       = $1 \over n$$a_n$ + $1 \over n$ $\sum_{i=1}^{n-1} a_i$ 
                       = $1 \over n$$a_n$ + ${{n-1} \over n}{1 \over {n-1}}{\sum_{i=1}^{n-1}a_i}$
                       = ${1 \over n}a_n + {{n-1} \over n} mean_{n-1}$
                       = $mean_{n-1} - {1 \over n}mean_{n-1} + {1 \over n}a_n$
                       = $mean_{n-1} + {1 \over n}{(a_n - mean_{n-1})}$

위의 식을 사용하면, 이제 sum(A)가 아닌 mean(A)와 n 값만 기억하면 새로운 값에 대한 산술 평균을 계산할 수 있다.

새로운 a의 값이 기존 평균과 큰 차이가 없다면, mean(A)가 가지는 값의 범위는 일정할 것이다. 그렇다면 우리는 n이 가질 수 있는 값의 크기 만큼의 평균을 계산 가능하게 된다.

'당당한 수학' 카테고리의 다른 글

로그 연산  (0) 2021.01.27
벡터의 뺄셈  (0) 2021.01.13
코사인 법칙 (law of cosine)  (0) 2021.01.13
벡터의 덧셈  (0) 2021.01.13
라그랑주 (Lagrange) 승수법  (0) 2021.01.01