Я провожу некоторые исследования и внедряю скользящее среднее в Python на основе этого математического выражения:
Где: n = образец и W1= Окно
Я реализовал так:
def movingAverage(signal, window):
sum = 0
mAver = []
k = int((window-1)/2)
for i in np.arange(k, len(signal)-k):
for ii in np.arange(i-k, i+k):
sum = sum + signal[ii]
#end-for
mAver.append(sum / window)
sum = 0
#end-for
zeros = [0]*k
mAver = zeros + mAver + zeros
return mAver
Это работает очень хорошо.Но я пытаюсь найти способ реализовать вариант k
, чтобы минимизировать потерю сигнала в начале и в конце (сейчас я использую список с нулями).
Может кто-нибудь помочья