ค่าเบี่ยงเบนมาตรฐานของค่าเฉลี่ยถ่วงน้ำหนักแบบเอ็กซ์โปเนนเชียล


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 -Reinstate Monica

@Glen_b ฉันพยายามใช้สิ่งนี้เพื่อดูว่าราคาหุ้นเบี่ยงเบนจากค่าเฉลี่ยถ่วงน้ำหนักชี้แจงโดยหลาย ๆ ค่าของ "ส่วนเบี่ยงเบนมาตรฐาน" คุณจะแนะนำแบบไหน
Mariska

1
จากสิ่งที่ฉันเห็นมีความขัดแย้งพื้นฐาน (หรือความไม่สอดคล้องกัน) ที่แฝงอยู่ในคำถามนี้ ผู้คนใช้ EWM เมื่อพวกเขาไม่สนใจวิเคราะห์ข้อมูลเพื่อระบุลักษณะและปริมาณความสัมพันธ์แบบอนุกรม แต่เพื่อที่จะตอบคำถามนี้จะต้องมีการประมาณความสัมพันธ์แบบอนุกรม แต่ทำไมคุณถึงใช้ EWM ตั้งแต่แรก?
whuber

คำตอบ:


12

คุณสามารถใช้สูตรการทำซ้ำต่อไปนี้:

σผม2=Sผม=(1-α)(Sผม-1+α(xผม-μผม-1)2)

ที่นี่xผมผมμผม-1Sผม-1


ใช้สูตรข้างต้นและรายการ [1,2,3,4,5] ฉันได้ SD = 0.144 ในขณะที่ SD ตัวอย่างปกติคือ 1.58 มีปัจจัย 10x ระหว่างสอง SD ที่แตกต่างกัน เป็นเรื่องปกติหรือไม่
Mariska

3
การใช้คุณจะได้รับค่าเฉลี่ย = 4.98 ซึ่งก็ไร้ประโยชน์เช่นกัน :) การใช้สัมประสิทธิ์เช่นนี้คุณให้น้ำหนักเกือบทั้งหมดในการวัดครั้งสุดท้าย ค่าที่สมจริงยิ่งกว่าของαนั้นใกล้กับศูนย์ในกรณีนั้นค่าเฉลี่ยระยะยาว สำหรับตัวอย่างของคุณลองαα=0.98αα=0.2α=0.01
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.