지수 가중 평균의 표준 편차


10

지수 가중 평균을 계산하기 위해 Python에서 간단한 함수를 작성했습니다.

def test():
  x = [1,2,3,4,5]
  alpha = 0.98
  s_old = x[0]

  for i in range(1, len(x)):
    s = alpha * x[i] + (1- alpha) * s_old
    s_old = s

  return s

그러나 해당 SD를 어떻게 계산할 수 있습니까?


평균의 표준 오차 또는 공정의 표준 편차에 대한 추정치 이후입니까?
Glen_b-복지국 모니카

@Glen_b 나는 이것을 "표준 편차"의 배수에 의해 지수 가중 평균에서 얼마나 많이 벗어나는지 확인하려고 노력하고 있습니다. 어느 것을 추천 하시겠습니까?
Mariska

1
내가 볼 수 있듯이이 질문의 근본적인 갈등 (또는 불일치)이 있습니다. 사람들은 직렬 상관 관계를 특성화하고 정량화하기 위해 데이터를 분석 할 필요가 없을 때 EWM을 사용하지만이 질문에 답하려면 직렬 상관 관계 추정 해야 합니다. 근데 왜 먼저 EWM을 사용하겠습니까?
whuber

답변:


12

다음과 같은 반복 공식을 사용할 수 있습니다.

σi2=Si=(1α)(Si1+α(xiμi1)2)

여기서 는 번째 단계 에서의 관측치 이며 은 추정 EWM이며 은 이전 분산 추정치입니다. 증명 및 의사 코드는 여기 9 항을 참조하십시오 .xiiμi1Si1


위의 공식과 목록 [1,2,3,4,5]를 사용하여 SD = 0.144를 얻었지만 일반 샘플 SD는 1.58입니다. 서로 다른 두 SD 사이에는 10 배의 요소가 있습니다. 이것이 정상입니까?
Mariska

3
을 사용 하면 평균 = 4.98도 얻을 수 있습니다. :) 이러한 계수를 사용하면 마지막 측정에 거의 모든 가중치를 적용합니다. 보다 현실적인 값은 0에 가까우며,이 경우 장거리 평균을 설명합니다. 예를 들어, 시도 하지만 실제로는 더 많은 측정을 평균화해야하므로 주변의 값 이 더 현실적입니다. α=0.98αα=0.2α=0.01
Roman Shapovalov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.