У меня есть поток поступающих данных, и я хочу реализовать скользящее среднее на лету. Если все элементы в скользящем среднем имеют одинаковый вес, это довольно легко реализовать с помощью «очереди», но я хочу, чтобы самые последние элементы имели более высокие веса, а распределение этих весов является линейным (не экспоненциальным).
Например, если скользящее среднее имеет длину 5, текущее значение должно иметь вес «1», предыдущее значение должно иметь вес «0,8» и т. Д. До пятого элемента в очереди, который должен иметь вес «0,2». «; поэтому весовой вектор: [0.2, 0.4, 0.6, 0.8, 1.0]
.
Мне было интересно, если кто-нибудь знает, как реализовать это Python. Если есть более быстрый способ сделать это, пожалуйста, порекомендуйте это мне; эффективность важна для моей конкретной работы.