ForecastingPipelineWrapperBase Класс

Базовый класс для оболочки модели прогнозирования.

Наследование
ForecastingPipelineWrapperBase

Конструктор

ForecastingPipelineWrapperBase(ts_transformer: TimeSeriesTransformer | None = None, y_transformer: Pipeline | None = None, metadata: Dict[str, Any] | None = None)

Параметры

ts_transformer
значение по умолчанию: None
y_transformer
значение по умолчанию: None
metadata
значение по умолчанию: None

Методы

align_output_to_input

Выравнивание преобразованного кадра выходных данных в кадр входных данных.

Примечание. Преобразованный кадр будет изменен по ссылке, копия не создается. :param X_input: кадр входных данных. :param transformed: кадр данных после преобразования. :returns: преобразованный кадр данных с исходным индексом, но с сортировкой, как в X_input.

fit

Подгонайте модель с помощью входных данных X и y.

forecast

Выполнение прогноза по кадру данных X_pred.

forecast_quantiles

Получение прогноза и квантилей из подходящего конвейера.

is_grain_dropped

Возвращает значение True, если интервал будет сброшен.

preaggregate_data_set

Статистическая обработка набора данных прогноза.

Примечание. Этот метод не гарантирует, что для набора данных будет выполнена статистическая обработка. Это произойдет только в том случае, если набор данных содержит дублирующиеся метки времени или даты вне сетки. :param df: набор данных для статистической обработки. :patam y: целевые значения. :param is_training_set: если значение равно True, данные представляют обучающий набор. :return: агрегированный или неповрежденный набор данных, если статистическая обработка не требуется.

preprocess_pred_X_y

Предварительная обработка прогноза X и y.

rolling_evaluation

Формирование прогнозов по скользящему источнику для данного тестового набора.

Каждая итерация создает прогноз для следующих "max_horizon" периодов по отношению к текущему источнику, а затем перемещает источник по горизонту. Контекст прогнозирования для каждого прогноза задается таким образом, чтобы в прогнозе использовались фактические целевые значения до текущего времени источника для создания функций задержки.

Эта функция возвращает сцепленный кадр данных из скользящих прогнозов, объединенный с фактическими данными из тестового набора.

Этот метод является нерекомендуемым и будет удален в следующем выпуске. Вместо этого используйте rolling_forecast().

rolling_forecast

Создание прогнозов по скользящей основе по тестовой набору.

Каждая итерация делает прогноз максимальных периодов горизонта вперед, используя сведения до текущего источника, а затем перемещает источник на "шаг" периоды времени. Контекст прогнозирования для каждого прогноза задается таким образом, чтобы средство прогнозирования использовало фактические целевые значения до текущего времени источника для создания признаков обратного просмотра.

Эта функция возвращает кадр данных с скользящими прогнозами, объединенными с фактическими данными из тестового набора. Столбцы в возвращаемом кадре данных:

  • Столбцы идентификаторов timeseries (необязательно). При указании пользователем будут использоваться имена заданных столбцов.

  • Столбец источника прогноза, предоставляющий время начала для каждой строки.

    Имя столбца: хранится как переменная-член объекта forecast_origin_column_name.

  • Столбец времени. Будет использоваться имя столбца, заданное пользователем.

  • Столбец "Значения прогноза". Имя столбца: сохраняется как элемент объекта forecast_column_name

  • Столбец фактических значений. Имя столбца: сохраняется как элемент объекта actual_column_name

short_grain_handling

Возвращает значение True, если для модели включена обработка коротких или отсутствующих интервалов.

static_preaggregate_data_set

Статистическая обработка набора данных прогноза.

Примечание. Этот метод не гарантирует, что для набора данных будет выполнена статистическая обработка. Это произойдет только в том случае, если набор данных содержит дублирующиеся метки времени или даты вне сетки. :param ts_transformer: преобразователь временных рядов, используемый для обучения. :param time_column_name: имя столбца времени. :param grain_column_names: список имен столбцов интервалов. :param df: набор данных для статистической обработки. :patam y: целевые значения. :param is_training_set: если значение равно True, данные представляют обучающий набор. :return: агрегированный или неповрежденный набор данных, если статистическая обработка не требуется.

align_output_to_input

Выравнивание преобразованного кадра выходных данных в кадр входных данных.

Примечание. Преобразованный кадр будет изменен по ссылке, копия не создается. :param X_input: кадр входных данных. :param transformed: кадр данных после преобразования. :returns: преобразованный кадр данных с исходным индексом, но с сортировкой, как в X_input.

align_output_to_input(X_input: DataFrame, transformed: DataFrame) -> DataFrame

Параметры

X_input
Обязательно
transformed
Обязательно

fit

Подгонайте модель с помощью входных данных X и y.

fit(X: DataFrame, y: ndarray) -> ForecastingPipelineWrapperBase

Параметры

X
Обязательно

Входные данные X.

y
Обязательно

Входные данные y.

forecast

Выполнение прогноза по кадру данных X_pred.

forecast(X_pred: DataFrame | None = None, y_pred: ndarray | DataFrame | None = None, forecast_destination: Timestamp | None = None, ignore_data_errors: bool = False) -> Tuple[ndarray, DataFrame]

Параметры

X_pred
значение по умолчанию: None

прогнозируемый кадр данных, объединяющий X_past и X_future в режиме непрерывного времени. Пустые значения в X_pred будут учитываться.

y_pred
значение по умолчанию: None

целевое значение, объединяющее определенные значения для y_past и отсутствующие значения для Y_future. Если нет, прогнозы будут выполняться для каждого X_pred.

forecast_destination
<xref:pandas.Timestamp>
значение по умолчанию: None

Forecast_destination: значение метки времени. Прогнозы будут выполнятся на протяжении всего времени forecast_destination для всех граней. Входные данные словаря {интервал времени -> метка времени} приниматься не будут. Если параметру forecast_destination значение не задано, будет применяться последнее время в X_pred для каждого интервала времени.

ignore_data_errors
bool
значение по умолчанию: False

Пропуск ошибок в данных пользователя.

Возвращаемое значение

Y_pred, при этом подкадр, соответствующий Y_future, заполнится соответствующими прогнозами. Все отсутствующие значения в Y_past будут заполнены учтенными.

Возвращаемый тип

forecast_quantiles

Получение прогноза и квантилей из подходящего конвейера.

forecast_quantiles(X_pred: DataFrame | None = None, y_pred: ndarray | DataFrame | None = None, quantiles: float | List[float] | None = None, forecast_destination: Timestamp | None = None, ignore_data_errors: bool = False) -> DataFrame

Параметры

X_pred
значение по умолчанию: None

прогнозируемый кадр данных, объединяющий X_past и X_future в режиме непрерывного времени. Пустые значения в X_pred будут учитываться.

y_pred
значение по умолчанию: None

целевое значение, объединяющее определенные значения для y_past и отсутствующие значения для Y_future. Если нет, прогнозы будут выполняться для каждого X_pred.

quantiles
float или list of <xref:floats>
значение по умолчанию: None

Список квантили, по которым мы хотим прогнозировать.

forecast_destination
<xref:pandas.Timestamp>
значение по умолчанию: None

Forecast_destination: значение метки времени. Прогнозы будут выполнятся на протяжении всего времени forecast_destination для всех граней. Входные данные словаря {интервал времени -> метка времени} приниматься не будут. Если параметру forecast_destination значение не задано, будет применяться последнее время в X_pred для каждого интервала времени.

ignore_data_errors
bool
значение по умолчанию: False

Пропуск ошибок в данных пользователя.

Возвращаемое значение

Кадр данных, содержащий столбцы и прогнозы, сделанные в запрошенных квантили.

is_grain_dropped

Возвращает значение True, если интервал будет сброшен.

is_grain_dropped(grain: Tuple[str] | str | List[str]) -> bool

Параметры

grain
Обязательно

Интервал для проверки, если он будет сброшен.

Возвращаемое значение

Значение True, если интервал будет сброшен.

preaggregate_data_set

Статистическая обработка набора данных прогноза.

Примечание. Этот метод не гарантирует, что для набора данных будет выполнена статистическая обработка. Это произойдет только в том случае, если набор данных содержит дублирующиеся метки времени или даты вне сетки. :param df: набор данных для статистической обработки. :patam y: целевые значения. :param is_training_set: если значение равно True, данные представляют обучающий набор. :return: агрегированный или неповрежденный набор данных, если статистическая обработка не требуется.

preaggregate_data_set(df: DataFrame, y: ndarray | None = None, is_training_set: bool = False) -> Tuple[DataFrame, ndarray | None]

Параметры

df
Обязательно
y
значение по умолчанию: None
is_training_set
значение по умолчанию: False

preprocess_pred_X_y

Предварительная обработка прогноза X и y.

preprocess_pred_X_y(X_pred: DataFrame | None = None, y_pred: ndarray | DataFrame | None = None, forecast_destination: Timestamp | None = None) -> Tuple[DataFrame, DataFrame | ndarray, Dict[str, Any]]

Параметры

X_pred
значение по умолчанию: None
y_pred
значение по умолчанию: None
forecast_destination
значение по умолчанию: None

rolling_evaluation

Формирование прогнозов по скользящему источнику для данного тестового набора.

Каждая итерация создает прогноз для следующих "max_horizon" периодов по отношению к текущему источнику, а затем перемещает источник по горизонту. Контекст прогнозирования для каждого прогноза задается таким образом, чтобы в прогнозе использовались фактические целевые значения до текущего времени источника для создания функций задержки.

Эта функция возвращает сцепленный кадр данных из скользящих прогнозов, объединенный с фактическими данными из тестового набора.

Этот метод является нерекомендуемым и будет удален в следующем выпуске. Вместо этого используйте rolling_forecast().

rolling_evaluation(X_pred: DataFrame, y_pred: DataFrame | ndarray, ignore_data_errors: bool = False) -> Tuple[ndarray, DataFrame]

Параметры

X_pred
Обязательно

прогнозируемый кадр данных, объединяющий X_past и X_future в режиме непрерывного времени. Пустые значения в X_pred будут учитываться.

y_pred
Обязательно

целевое значение, соответствующее X_pred.

ignore_data_errors
значение по умолчанию: False

Пропуск ошибок в данных пользователя.

Возвращаемое значение

Y_pred, при этом подкадр, соответствующий Y_future, заполнится соответствующими прогнозами. Все отсутствующие значения в Y_past будут заполнены учтенными.

Возвращаемый тип

rolling_forecast

Создание прогнозов по скользящей основе по тестовой набору.

Каждая итерация делает прогноз максимальных периодов горизонта вперед, используя сведения до текущего источника, а затем перемещает источник на "шаг" периоды времени. Контекст прогнозирования для каждого прогноза задается таким образом, чтобы средство прогнозирования использовало фактические целевые значения до текущего времени источника для создания признаков обратного просмотра.

Эта функция возвращает кадр данных с скользящими прогнозами, объединенными с фактическими данными из тестового набора. Столбцы в возвращаемом кадре данных:

  • Столбцы идентификаторов timeseries (необязательно). При указании пользователем будут использоваться имена заданных столбцов.

  • Столбец источника прогноза, предоставляющий время начала для каждой строки.

    Имя столбца: хранится как переменная-член объекта forecast_origin_column_name.

  • Столбец времени. Будет использоваться имя столбца, заданное пользователем.

  • Столбец "Значения прогноза". Имя столбца: сохраняется как элемент объекта forecast_column_name

  • Столбец фактических значений. Имя столбца: сохраняется как элемент объекта actual_column_name

rolling_forecast(X_pred: DataFrame, y_pred: ndarray, step: int = 1, ignore_data_errors: bool = False) -> DataFrame

Параметры

X_pred
<xref:pd.DataFrame>
Обязательно

Кадр данных прогнозирования

y_pred
<xref:np.ndarray>
Обязательно

целевые значения, соответствующие строкам в X_pred

step
int
значение по умолчанию: 1

Количество периодов для продвижения окна прогнозирования в каждой итерации.

ignore_data_errors
bool
значение по умолчанию: False

Пропуск ошибок в данных пользователя.

Возвращаемое значение

Кадр данных скользящего прогноза

Возвращаемый тип

<xref:pd.DataFrame>

short_grain_handling

Возвращает значение True, если для модели включена обработка коротких или отсутствующих интервалов.

short_grain_handling() -> bool

static_preaggregate_data_set

Статистическая обработка набора данных прогноза.

Примечание. Этот метод не гарантирует, что для набора данных будет выполнена статистическая обработка. Это произойдет только в том случае, если набор данных содержит дублирующиеся метки времени или даты вне сетки. :param ts_transformer: преобразователь временных рядов, используемый для обучения. :param time_column_name: имя столбца времени. :param grain_column_names: список имен столбцов интервалов. :param df: набор данных для статистической обработки. :patam y: целевые значения. :param is_training_set: если значение равно True, данные представляют обучающий набор. :return: агрегированный или неповрежденный набор данных, если статистическая обработка не требуется.

static static_preaggregate_data_set(ts_transformer: TimeSeriesTransformer, time_column_name: str, grain_column_names: List[str], df: DataFrame, y: ndarray | None = None, is_training_set: bool = False) -> Tuple[DataFrame, ndarray | None]

Параметры

ts_transformer
Обязательно
time_column_name
Обязательно
grain_column_names
Обязательно
df
Обязательно
y
значение по умолчанию: None
is_training_set
значение по умолчанию: False

Атрибуты

actual_column_name

forecast_column_name

forecast_origin_column_name

grain_column_list

max_horizon

Возвращает максимальный горизонт, используемый в модели.

origin_col_name

Возвращает имя исходного столбца.

target_lags

Возвращает значение задержек целевого объекта (если имеются).

target_rolling_window_size

Возвращает размер скользящего окна.

time_column_name

Возвращает имя столбца времени.

user_target_column_name

y_max_dict

Возврат словаря с максимальными целевыми значениями по идентификатору временных рядов

y_min_dict

Возврат словаря с минимальными целевыми значениями по идентификатору временных рядов

FATAL_NO_TARGET_IMPUTER

FATAL_NO_TARGET_IMPUTER = 'No target imputers were found in TimeSeriesTransformer.'

FATAL_NO_TS_TRANSFORM

FATAL_NO_TS_TRANSFORM = 'The time series transform is absent. Please try training model again.'