Как прогнозировать промежуточный прогресс для пошаговой задачи? На сайте долгоиграющая задача выполняется шагами: серия ajax вызовов. Каждый выполняется секунд 12–18. Пользователю хочется показывать что-то часто обновляемое, предсказуемое, типа живого прогресса, мелкими шагами.Попробовал сделать линейно: предполжил, что progress = f(time) это просто k * time. При поступлении следующего ответа, этот k корректируется исходя из последней полученной точки. fiddle – имитация, время выполнения очередной пачки случайно +- 4 сек. Похоже, линейность — неправильный подход: если реальный шаг внезапно тормозит, по сравнению с предыдущими, мой прогресс откатывается назад, когда приходят, наконец, реальные данные. Как можно относительно реалистично угадывать прогресс, опираясь на дискретные шаги?
Для более реалистичного прогнозирования промежуточного прогресса для пошаговой задачи, можно использовать методы сглаживания данных. Например, метод скользящего среднего может помочь учитывать изменения в скорости выполнения задачи.
Для этого можно хранить историю времени выполнения каждого шага и вычислять среднее значение времени выполнения за последние несколько шагов. Это позволит сгладить возможные выбросы в данных и предсказывать промежуточный прогресс более точно.
Кроме того, можно использовать методы машинного обучения, такие как регрессия, для прогнозирования промежуточного прогресса на основе исторических данных о времени выполнения шагов.
Использование таких подходов может помочь более точно предсказывать прогресс выполнения задачи и отображать его пользователю в виде живого прогресса.
Для более реалистичного прогнозирования промежуточного прогресса для пошаговой задачи, можно использовать методы сглаживания данных. Например, метод скользящего среднего может помочь учитывать изменения в скорости выполнения задачи.
Для этого можно хранить историю времени выполнения каждого шага и вычислять среднее значение времени выполнения за последние несколько шагов. Это позволит сгладить возможные выбросы в данных и предсказывать промежуточный прогресс более точно.
Кроме того, можно использовать методы машинного обучения, такие как регрессия, для прогнозирования промежуточного прогресса на основе исторических данных о времени выполнения шагов.
Использование таких подходов может помочь более точно предсказывать прогресс выполнения задачи и отображать его пользователю в виде живого прогресса.