2017-12-29 14 views
1

나는 변화하는 값의 평균을 계산하려고하는데, 이전 값을 모두 배열에 저장하지 않고 반복하고 싶습니다. 이것은 정확한 평균 또는 지수 이동 평균 공식입니까?

는 I이 화학식

n은 value 변경의 개수
avg = avg + (value - avg)/n 

알았다.

TL; DR

질문이 수식은 다른 결과를 얻을 수있는 경우, 또는 (I 그들을 비교할 때 것으로 보인다) 평균을 계산 의 법선 방향과 동일한 경우 인 특정한 상황에서?

이 공식의 정확한 이름은 무엇인지 확실하지 않습니다. "평균 실행,"평균 이동 ","이동 평균 "등을 보았습니다. 그 결과는 완전히 같아 보입니다. 각 역사 value 저장을 합산하고 n로 나누어으로 - "정상적인 평균을"즉

어떤 혼란하는 사람들이 때때로이 공식 내 마음에 당신이있어 더처럼 들린다는 "이동 평균"을 부르는 것입니다. 이전 값의 하위 집합을 사용하여 평균값을 계산합니다. 다른 사람은 exponential moving average (see comment by Julia on OP)이라고 말합니다.

+0

이동 평균을 계산하려면 평균을 계산할 창 내에있는 값의 수를 최소한 저장해야합니다. 지금까지의 모든 값에 대한 평균값은 모든 값을 저장하지 않고 계산할 수 있습니다. – MrSmith42

답변

2

이 공식은 일반적인 평균 계산 방법과 동일합니까?

avg가 처음 0으로 설정되면 무한 정밀도로이 수식은 실제로 첫 번째 n 샘플의 합계를 계산합니다.

이 명확 참일 때 N = 1 (1 개) 시료의 평균 교체 사용할 수 있기 때문에 : 큰 값

avg' = avg + (value - avg)/n 
    = 0 + (value - 0)/1 
    = value 

(그 N-1에 해당하는 가정, 즉 평균 = (X [1] + ... + x [n-1])/(n-1))로된다. 이어서

:

avg' = avg + (x[n] - avg)/n 
     = (n-1)*avg/n + x[n]/n 
     = (x[1]+...+x[n-1])/n + x[n]/n 
     = (x[1]+...+x[n])/n 

그래서 평균의 새로운 값은 제 N 샘플들의 평균과 동일하다.

이동 평균입니까?

일반적으로 "이동 평균"으로 사람들은 simple moving average을 참조합니다.

이 공식은 실제로 cumulative moving average으로 알려져 있습니다.