Поделиться через


ForecastingPipelineWrapperBase Класс

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

Конструктор

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

Параметры

Имя Описание
ts_transformer
Default value: None
y_transformer
Default value: None
metadata
Default value: None

Методы

align_output_to_input

Выровняйте преобразованный кадр выходных данных с входным кадром данных.

Примечание. Преобразование будет изменено по ссылке, копирование не создается. :p aram X_input: входной кадр данных. :p aram преобразован: кадр данных после преобразования. :возвращает: трансфотмированный кадр данных с исходным индексом, но отсортирован как в X_input.

fit

Вместите модель с входными данными X и y.

forecast

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

forecast_quantiles

Получите прогноз и квантили из установленного конвейера.

is_grain_dropped

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

preaggregate_data_set

Агрегирует набор данных прогнозирования.

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

preprocess_pred_X_y

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

rolling_evaluation

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

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

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

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

rolling_forecast

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

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

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

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

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

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

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

  • Столбец прогнозируемых значений. Имя столбца: хранящееся в качестве члена объекта forecast_column_name

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

short_grain_handling

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

static_preaggregate_data_set

Агрегирует набор данных прогнозирования.

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

align_output_to_input

Выровняйте преобразованный кадр выходных данных с входным кадром данных.

Примечание. Преобразование будет изменено по ссылке, копирование не создается. :p aram X_input: входной кадр данных. :p aram преобразован: кадр данных после преобразования. :возвращает: трансфотмированный кадр данных с исходным индексом, но отсортирован как в 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

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

Default value: None
y_pred

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

Default value: None
forecast_destination
<xref:pandas.Timestamp>

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

Default value: None
ignore_data_errors

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

Default value: 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

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

Default value: None
y_pred

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

Default value: None
quantiles
float или list of <xref:floats>

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

Default value: None
forecast_destination
<xref:pandas.Timestamp>

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

Default value: None
ignore_data_errors

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

Default value: False

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

Тип Описание

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

is_grain_dropped

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

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

Параметры

Имя Описание
grain
Обязательно

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

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

Тип Описание

Значение true, если зерно будет удалено.

preaggregate_data_set

Агрегирует набор данных прогнозирования.

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

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

Параметры

Имя Описание
df
Обязательно
y
Default value: None
is_training_set
Default value: 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
Default value: None
y_pred
Default value: None
forecast_destination
Default value: 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

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

Default value: False

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

Тип Описание

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

rolling_forecast

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

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

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

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

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

    Имя столбца: хранится как переменная члена объекта 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

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

Default value: 1
ignore_data_errors

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

Default value: False

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

Тип Описание
<xref:pd.DataFrame>

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

short_grain_handling

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

short_grain_handling() -> bool

static_preaggregate_data_set

Агрегирует набор данных прогнозирования.

Заметка: Этот метод не гарантирует, что набор данных будет агрегирован. Это произойдет только в том случае, если набор данных содержит повторяющиеся метки времени или даты вне сетки. :p aram ts_transformer: таймерий tranformer, используемый для обучения. :p aram time_column_name: имя столбца времени. :p aram grain_column_names: список имен столбцов зерна. :p aram df: набор данных для агрегирования. :p atam y: целевые значения. :p aram is_training_set: если верно, данные представляют набор обучения. :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
Default value: None
is_training_set
Default value: False

Атрибуты

actual_column_name

forecast_column_name

forecast_origin_column_name

grain_column_list

max_horizon

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

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.'