Свёртка в NumPy
Функция np.convolve скользит
окном вдоль массива и на каждом
шаге собирает результат из перекрывающихся
участков. Режим same сохраняет
длину исходного ряда.
Окно из двух единиц суммирует соседние значения на каждой позиции; деление на длину окна дало бы простое среднее соседей, но здесь можно оставить сумму как есть.
Посмотрим на короткий ряд:
import numpy as np
series = np.array([1, 2, 3, 4])
window = np.array([1, 1])
smooth = np.convolve(series, window, mode='same')
print(smooth) # выведет [1 3 5 7]
Для ряда signal [1, 0, 1, 0]
и окна [1, 1] в режиме
same получите результат
скользящего суммирования
и выведите его.
Для ряда data [2, 3, 4]
и окна [1, 2, 1] с режимом
same постройте результат
свёртки и выведите его.