Предсказание числовой последовательности

Погрузись в магию предсказания числовой последовательности! Найди скрытые закономерности, взломай математический код и предскажи следующие числа.

Дата публикации: 28 апреля 2026

Что такое числовая последовательность и зачем её предсказывать?

Числовая последовательность — это упорядоченный набор чисел, в котором каждое число называют элементом или членом последовательности. Примеры окружают нас повсюду:

  • Курсы валют или акций на бирже;
  • Температура воздуха, измеренная каждый час;
  • Число пользователей сайта по дням;
  • Рост бактерий в лабораторной колонии.

Возможность предсказывать следующее значение последовательности позволяет:

  • Оптимизировать закупки и производство;
  • Формировать инвестиционные стратегии;
  • Диагностировать отказ оборудования;
  • Строить алгоритмы искусственного интеллекта.

Классификация последовательностей

По происхождению

  • Детерминированные — последовательности, заданные формулой или рекуррентным правилом. Пример: числа Фибоначчи Fn = Fn-1 + Fn-2.
  • Стохастические — включают случайную составляющую. Пример: цены закрытия акций.
  • Псевдослучайные — генерируются алгоритмом и выглядят случайными, но полностью воспроизводимы при известном начальном состоянии.

По размеру шага

  • Дискретные — значения заданы в целых моментах времени (ежедневные продажи).
  • Непрерывные — измерения можно брать сколь угодно часто (температура с высокочастотным датчиком).

Основные методы предсказания

Классические статистические модели

Скользящее среднее

Простой метод сглаживания, при котором следующее значение равно среднему из k предыдущих:

Ŷn+1 = (Yn + Yn-1 + … + Yn-k+1) / k

Подходит для краткосрочных прогнозов при медленно меняющемся тренде.

Экспоненциальное сглаживание

Даёт больший вес свежим данным:

Ŷn+1 = α · Yn + (1-α) · Ŷn

Где α ∈ (0, 1) — параметр «забывания».

ARIMA

Комбинирует авторегрессию (AR), интегрирование (I) и скользящее среднее (MA):

Yt = c + Σ φi Yt-i + Σ θj εt-j + εt

Требует стационарности ряда и калибровки трёх параметров (p, d, q).

Машинное обучение

Деревья решений и случайные леса

Дерево решений разбивает пространство признаков (например, последние k значений) на области и предсказывает среднее в листе. Случайный лес усредняет множество деревьев, повышая устойчивость.

LSTM и GRU

Рекуррентные нейросети с долгой краткосрочной памятью (LSTM) и аналогичные Gated Recurrent Units хорошо справляются с долгими зависимостями:

  • Принимают на вход вектор предыдущих значений;
  • Управляют потоком информации через «забывающие» и «входные» вентили;
  • Выдают как точечный прогноз, так и доверительный интервал.

Prophet от Meta

Библиотека fbprophet в Python автоматически находит тренд, сезонность и праздничные эффекты, требуя лишь CSV с двумя колонками: ds (дата) и y (значение).

Генераторы псевдослучайных чисел: можно ли их предсказать?

Линейный конгруэнтный генератор задаётся формулой:

Xn+1 = (a·Xn + c) mod m

Если знать константы a, c, m и хотя бы одно значение Xk, то всю последовательность легко восстановить. Более сложные алгоритмы, такие как Mersenne Twister, имеют период 219937−1, но при наличии 624 последовательных чисел их состояние можно полностью реконструировать с помощью обратного вычисления (см; «php_mt_reload»).

Практический пример: предсказываем курс доллара на Python

Ниже минимальный фрагмент кода, демонстрирующий работу Prophet.

import pandas as pd
from prophet import Prophet

df = pd.read_csv('usd_rub.csv') # датафрейм с колонками ds, y
model = Prophet
model.fit(df)

future = model.make_future_dataframe(periods=30)
forecast = model.predict(future)
model.plot(forecast).savefig('forecast.png')

Оценка качества прогноза

  • MAE — средняя абсолютная ошибка;
  • RMSE, среднеквадратичное отклонение;
  • MAPE, средняя абсолютная процентная ошибка.

Часто данные делят на обучающую (70 %), валидационную (15 %) и тестовую (15 %) выборки, чтобы избежать переобучения.

Избегаем подводных камней

  1. Переобучение, модель запоминает шум вместо закономерности.
  2. Нестационарность — тренд может меняться, требуя периодической переоценки.
  3. Выбросы — экстремумы сильно влияют на средние метрики.
  4. Датасдвиг, распределение в будущем может отличаться от прошлого (например, экономические санкции).

Предсказание числовых последовательностей — это пересечение статистики, информатики и предметной экспертизы. Простые скользящие средние подходят для грубых прогнозов, ARIMA — для стационарных рядов, а LSTM и Prophet, для сложных нелинейных зависимостей. Главное — правильно выбрать модель, подготовить данные и не забывать проверять прогнозы в реальной жизни.