Сули предлагает передовые базовые модели для прогнозирования временных рядов, позволяющие делать точные прогнозы с нулевой вероятностью с минимальной настройкой. Наши модели на базе трансформатора автоматизируют процесс, устраняя необходимость ручного обучения и сложных конфигураций.
Документация · Сообщить об ошибке · Присоединяйтесь к нашему Slack · Twitter
Чтобы начать использовать Sulie SDK, вам понадобится ключ API, который можно сгенерировать с помощью Sulie Dashboard :
Когда ваш ключ API готов, вы готовы приступить к прогнозированию.
Чтобы установить Sulie SDK, просто запустите:
pip install sulie==1.0.6
После установки инициализируйте SDK, используя свой ключ API, чтобы начать прогнозирование с помощью Mimosa:
from sulie import Sulie
# Initialize the Sulie client
client = Sulie ( api_key = "YOUR_API_KEY" )
Создавайте точные прогнозы временных рядов, используя возможности нулевого вывода Mimosa. Этот подход идеален, когда вам нужны быстрые и надежные прогнозы без обучения модели.
import pandas as pd
# Example time series data
df = pd . DataFrame ({
'timestamp' : pd . date_range ( start = '2023-01-01' , periods = 1000 , freq = 'H' ),
'demand' : [ ... ], # Demand data
'location' : [ 'Plant A' , ...] # Data for different locations
})
# Forecast demand for each location over the next 24 hours
forecast = client . forecast (
dataset = df ,
target = 'demand' ,
group_by = 'location' ,
date = 'timestamp' ,
frequency = 'H' ,
horizon = 24 , # Predict 24 hours ahead
num_samples = 100 # Generate probabilistic forecasts
)
print ( forecast )
Объект Forecast
включает три списка: low
, median
и high
, соответствующие различным уровням достоверности прогнозов. Это поможет вам понять диапазон возможных результатов: от консервативного до оптимистичного.
Вы также можете визуализировать прогнозы напрямую, вызвав функцию построения графика:
forecast . plot ()
Это быстро создает диаграмму, показывающую диапазоны прогнозов, что позволяет легко выявлять тенденции и изменчивость результатов. Идеально подходит для быстрого и четкого анализа.
Имя | Описание | По умолчанию |
---|---|---|
dataset | Dataset или pd.DataFrame содержащий данные временных рядов. | Необходимый |
target | Имя столбца для прогнозной переменной. | Необходимый |
group_by | Имя столбца для группировки данных (например, по разным местоположениям). | None |
date | Имя столбца отметки времени. | None |
frequency | Частота временного ряда (например, H — почасово). | None |
horizon | Временные шаги для прогнозирования на будущее. | 24 |
num_samples | Количество выборок вероятностного прогноза. | 100 |
Благодаря автоматической точной настройке вы можете оптимизировать Mimosa для уникальных наборов данных и бизнес-кейсов. В процессе точной настройки для оценки используется взвешенная квантильная потеря (WQL) , что обеспечивает высокую точность.
# Fine-tune Mimosa on custom dataset
fine_tune_job = client . fine_tune (
dataset = df ,
target = "demand" ,
description = "Fine-tune for Plant A demand prediction"
)
# Check the fine-tuning job status
print ( f"Job status: { fine_tune_job . status } " )
Имя | Описание | По умолчанию |
---|---|---|
dataset | Dataset или pd.DataFrame с данными временных рядов. | Необходимый |
target | Целевая переменная для оптимизации. | Необходимый |
group_by | Имя столбца, по которому нужно сгруппировать серию DataFrame. | None |
description | Описание работы по доработке. | None |
После завершения тонкой настройки модель автоматически развертывается и становится доступной для прогнозирования.
API набора данных Sulie позволяет вам управлять наборами данных и управлять их версиями, делая их доступными для прогнозирования и точной настройки между командами.
# Upload a dataset to Sulie
dataset = client . upload_dataset (
name = "product-sales-data-v1" ,
df = df ,
mode = "append" # Choose 'append' or 'overwrite'
)
# List available datasets
datasets = client . list_datasets ()
print ( f"Available datasets: { datasets } " )
Примечание
Наборы данных являются дополнительной функцией. Чтобы делать прогнозы или даже точно настраивать базовую модель, вы также можете передать DataFrame
Pandas в функции forecast
и fine_tune
.
Для новых прогнозов можно выбрать точно настроенные модели с помощью list_custom_models
или get_model
.
# List custom and fine-tuned models
custom_models = client . list_custom_models ()
# Select and forecast with a fine-tuned model
model_name = custom_models [ 0 ]. name
custom_model = client . get_model ( model_name )
# Forecast using the selected model
forecast_custom = custom_model . forecast (
dataset = df ,
target = 'demand' ,
group_by = 'location' ,
date = 'timestamp' ,
frequency = 'H' ,
horizon = 24 ,
num_samples = 50
)
print ( forecast_custom )