Scap.Service (1.0)

Download OpenAPI specification:

Forecasting

Загрузить временной ряд.

Authorizations:
Bearer
Request Body schema:
required
id
string or null <uuid>

Уникальный идентификатор временного ряда. Если временной ряд с таким идентификатором уже существует - он будет перезаписан (пришла уточненная история продаж).

name
required
string non-empty

Человеко-читаемое наименование временного ряда.

granularity
integer <int32> (Granularity)
Enum: "None" "Day" "Week" "Month" "Year"

Период агрегации временного ряда. Возможные значения [None,Day,Week,Month,Year]

object (SeriesData)

Таблица данных

Responses

Request samples

Content type
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "granularity": "None",
  • "data": {
    }
}

Response samples

Content type
application/json
"string"

Получить временной ряд по уникальному идентификатору.

Authorizations:
Bearer
path Parameters
id
required
string <uuid>

Уникальный идентификатор временного ряда

Responses

Response samples

Content type
application/json
"string"

Удалить временной ряд по уникальному идентификатору.

Authorizations:
Bearer
path Parameters
id
required
string <uuid>

Уникальный идентификатор временного ряда

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

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

Authorizations:
Bearer
query Parameters
filterName
string

Фильтр рядов по наименованию.

filterGranularity
integer <int32> (Granularity)
Enum: "None" "Day" "Week" "Month" "Year"

Фильтр рядов по гранулярности.

dateStart
string <date>

Фильтр рядов по дате начала (позднее чем).

dateEnd
string <date>

Фильтр рядов по дате окончания (ранее чем).

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Добавить шаблон очистки данных ряда от выбросов.

Authorizations:
Bearer
Request Body schema:
required
pattern
required
string non-empty

Наименование шаблона.

description
required
string non-empty

Описание шаблона.

type
required
integer <int32> (CleaningType)
Enum: "None" "MovingAverage" "MovingMedian" "ExponentialSmoothing" "Bound" "Mean" "InterQuantile" "Hampel"

Тип алгоритма для сглаживания временного ряда. Возможные значения [None,MovingAverage,MovingMedian,ExponentialSmoothing,Bound,Mean,InterQuantile,Hampel]

action
required
integer <int32> (OutlierAction)
Enum: "None" "Null" "Board" "Previous" "Next" "Average" "Median"

Действие при обнаружении выброса. Возможные значения [None,Null,Board,Previous,Next,Average,Median]

object (FloatInterval)

Интервал допустимых значений, при CleaningType.Bound.

object (SlidingWindowParams)

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

object (ExponentialSmoothingParams)

Параметры экспоненциального сглаживания.

object (StandartDeviationParams)

Допустимые отклонения.

interQuartileMultiplier
integer <int32>

Интерквантильный множитель, рекомендуемое значение 1.5, при сглаживании через интерквантильный размах, для распределений далеких от нормального.

Responses

Request samples

Content type
{
  • "pattern": "string",
  • "description": "string",
  • "type": "None",
  • "action": "None",
  • "allowedValuesRange": {
    },
  • "slidingWindowParams": {
    },
  • "exponentialSmoothingParams": {
    },
  • "standartDeviationParams": {
    },
  • "interQuartileMultiplier": 0
}

Response samples

Content type
application/json
"string"

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

Authorizations:
Bearer
query Parameters
patternFilter
string

Фильтр шаблонов по наименованию.

cleaningTypeFilter
integer <int32> (CleaningType)
Enum: "None" "MovingAverage" "MovingMedian" "ExponentialSmoothing" "Bound" "Mean" "InterQuantile" "Hampel"

Фильтр типа сглаживания.

outlierActionFilter
integer <int32> (OutlierAction)
Enum: "None" "Null" "Board" "Previous" "Next" "Average" "Median"

Фильтр алгоритма действий.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Удалить загруженный шаблон очистки данных ряда от выбросов.

Authorizations:
Bearer
path Parameters
id
required
string <uuid>

Уникальный идентификатор шаблона.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

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

Authorizations:
Bearer
Request Body schema:
required
pattern
required
string non-empty

Наименование шаблона.

description
required
string non-empty

Описание шаблона.

fillingType
required
integer <int32> (FillingType)
Enum: "Const" "Average" "ForwardFill" "BackwardFill" "MovingAverage" "TrendLinearRegression" "Classification" "Median" "Mode"

Тип заполнения пропусков. Возможные значения: [Const,Average,ForwardFill,BackwardFill,MovingAverage,TrendLinearRegression,Median,Mode].

object (PointValue)

Константа которой будут заполняться числовые пропуски для типа FillingType.Const. Может быть заполнено или sValue или nValue.

leftInterval
integer <int32>

Размер интервала слева для типов FillingType.MovingAverage и FillingType.TrendLinearRegression.

rightInterval
integer <int32>

Размер интервала справа для типов FillingType.MovingAverage и FillingType.TrendLinearRegression.

Responses

Request samples

Content type
{
  • "pattern": "string",
  • "description": "string",
  • "fillingType": "Const",
  • "constant": {
    },
  • "leftInterval": 0,
  • "rightInterval": 0
}

Response samples

Content type
application/json
"string"

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

Authorizations:
Bearer
query Parameters
patternFilter
string

Фильтр шаблонов по наименованию.

fillingTypeFilter
integer <int32> (FillingType)
Enum: "Const" "Average" "ForwardFill" "BackwardFill" "MovingAverage" "TrendLinearRegression" "Classification" "Median" "Mode"

Фильтр типа заполнения пропусков.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Удалить загруженный шаблон заполнения пропусков в ряде.

Authorizations:
Bearer
path Parameters
id
required
string <uuid>

Уникальный идентификатор шаблона.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Добавить шаблон агрегирования данных ряда по временным интервалам.

Authorizations:
Bearer
Request Body schema:
required
pattern
required
string non-empty

Наименование шаблона.

description
required
string non-empty

Описание шаблона.

aggregationByDayOfWeek
integer <int32> (DayOfWeek)
Enum: "Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"
granularity
required
integer <int32> (Granularity)
Enum: "None" "Day" "Week" "Month" "Year"

Период агрегации временного ряда. Возможные значения [None,Day,Week,Month,Year]

leanToEnd
boolean

????

object (DateInterval)

Responses

Request samples

Content type
{
  • "pattern": "string",
  • "description": "string",
  • "aggregationByDayOfWeek": "Sunday",
  • "granularity": "None",
  • "leanToEnd": true,
  • "aggregationHorizon": {
    }
}

Response samples

Content type
application/json
"string"

Получить загруженные шаблоны агрегирования данных ряда по временным интервалам.

Authorizations:
Bearer
query Parameters
patternFilter
string

Фильтр шаблонов по наименованию.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Удалить загруженный шаблон агрегирования данных ряда.

Authorizations:
Bearer
path Parameters
id
required
string <uuid>

Уникальный идентификатор шаблона.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Добавить модель прогнозирования.

Authorizations:
Bearer
Request Body schema:
required
id
required
string non-empty

Уникальный идентификатор модели.

description
required
string non-empty

Описание модели для пользователя.

lib
required
string non-empty

Исходная библиотека, содержащая модель.

name
required
string non-empty

Название модели в исходной библиотеке.

object or null

Настраиваемые гиперпараметры модели.

trainingWindow
required
string non-empty

Интервал предыстории ряда в количестве отсчетов, необходимый для обучения модели.

Responses

Request samples

Content type
{
  • "id": "string",
  • "description": "string",
  • "lib": "string",
  • "name": "string",
  • "hyperParams": {
    },
  • "trainingWindow": "string"
}

Response samples

Content type
application/json
"string"

Получить загруженные модели прогнозирования.

Authorizations:
Bearer
query Parameters
nameFilter
string

Фильтр шаблонов по наименованию.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Удалить модель прогнозирования.

Authorizations:
Bearer
path Parameters
id
required
string <uuid>

Уникальный идентификатор шаблона.

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Трансформировать ряд последовательно применяя шаблоны трансформаций из тела запроса.

Authorizations:
Bearer
Request Body schema:
required
sourceSeriesId
string <uuid>

Уникальный идентификатор исходного временного ряда.

resultSeriesId
string <uuid>

Уникальный идентификатор нового временного ряда.

resultSeriesName
string or null

Человеко-читаемое наименование нового временного ряда.

dateStart
string or null <date-time>

Дата отсечения начала ряда. Все данные до этой даты в новом ряду будут игнорированы. Пример: 2011-02-20T00:00:00+03:00

dateEnd
string or null <date-time>

Дата отсечения окончания ряда. Все данные после этой даты в новом ряду будут игнорированы. Пример: 2011-02-20T00:00:00+03:00

Array of objects or null (TransformationParam)

Список правил трансформации, последовательно применяемых к ряду. Следует помнить, что элементы массива Transformations должны содержать строго 1 шаблон трансформации одного из возможных типов шаблонов (например fillMissingFields или aggregationParams)

Responses

Request samples

Content type
{
  • "sourceSeriesId": "26d7f2df-262a-4c91-acc3-faa53cd57c4f",
  • "resultSeriesId": "09ff240d-171c-4dac-ae0b-eb579ed9ac23",
  • "resultSeriesName": "string",
  • "dateStart": "2019-08-24T14:15:22Z",
  • "dateEnd": "2019-08-24T14:15:22Z",
  • "transformations": [
    ]
}

Response samples

Content type
application/json
"string"

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

Authorizations:
Bearer
Request Body schema:
required
debug
boolean

Режим отладки. В этом режиме выгружаем отладочные данные на сервер.

seriesId
string <uuid>

Уникальный идентификатор ряда прогнозирования.

seasons
Array of integers or null <int32> [ items <int32 > ]

Сезонность, для учета моделями. Некоторые модели учитывают только одно значение сезонности. По умолчанию, используется последние значение коллекции. Типовые значения для дневной гранулярности [7], недельной [4, 52], месячной [12].

quantiles
Array of numbers or null <float> [ items <float > ]

уровни для вероятностного прогнозирования. При незаполненном значении будет возвращаться наиболее вероятное значение прогнозируемой величины, т.е. прогноз 0,5 квантили. При заполненных значениях, например [0.9], в результирующем наборе будет не только столбик model, но и столбик model-0.9, значение которого будет больше model. model-0.9 характеризует верхнюю границу доверительного интервала (т.е. вероятность попадания прогнозируемой величины в интервал от -∞ до 0.9). Например в случае прогнозирования запасов, если хранить запасы на уровне 0.9 то с 90% вероятностью запасов хватит для удовлетворения спроса.

horizon
integer <int32>

Горизонт прогнозирования. Например значение 12 при недельной гранулярности, прогнозирует на 12 недель (3 месяца) с шагом в неделю.

target
string or null

Параметр из временного ряда, который требуется прогнозировать.

Array of objects or null (ValidateDate)

Даты валидации.

baseModel
string or null

Название шаблона базовой модели (т.е. модели с которой будет сравниваться качество прогнозирование остальных моделей).

metric
integer <int32> (Metric)
Enum: "MAE" "MAPE" "RMSE" "SMAPE" "RMSSE" "SQL" "WQL" "MASE" "MSE" "RMSLE" "WAPW"

Метрика оценки качества, функция потерь. Допустимые значения MAE, MAPE, RMSE, SMAPE, RMSSE, SQL, WQL, MASE, MSE, RMSLE, WAPE.

models
Array of strings or null

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

useFileds
Array of strings or null
startDate
string or null

Дата начала прогнозирования.

object (PredictionIntervalsDto)

Responses

Request samples

Content type
{
  • "debug": true,
  • "seriesId": "9a4d45ee-59e9-44a5-8e84-1878a49320e7",
  • "seasons": [
    ],
  • "quantiles": [
    ],
  • "horizon": 0,
  • "target": "string",
  • "validateDate": [
    ],
  • "baseModel": "string",
  • "metric": "MAE",
  • "models": [
    ],
  • "useFileds": [
    ],
  • "startDate": "string",
  • "predictionIntervals": {
    }
}

Response samples

Content type
application/json
"string"

Получить результаты прогнозирования.

Authorizations:
Bearer
path Parameters
id
required
string <uuid>

Уникальный идентификатор модели.

Responses

Response samples

Content type
application/json
{
  • "forecastId": "adf361dc-c315-4d95-9d4e-0103e5dca9f7",
  • "name": "string",
  • "data": {
    },
  • "minError": 0.1,
  • "modelsQuality": [
    ],
  • "patterns": [
    ],
  • "seasons": [
    ],
  • "quantiles": [
    ],
  • "horizon": 0,
  • "target": "string",
  • "validateDate": [
    ],
  • "baseModel": "string",
  • "metric": "MAE",
  • "forecastKeys": [
    ],
  • "invalidModels": [
    ]
}

Скопировать подготовленные шаблоны обработки рядов и шаблоны моделей.

Копирование предустановленных шаблонов. Шаблоны с неуникальными идентификаторами в разрезе ForecastingAdmin перезаписываются.

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Загрузить подготовленные шаблоны обработки рядов и шаблоны моделей.

Доступен для пользователя с ролью ForecastingAdmin. Загрузка шаблонов с правами на чтение для всех пользователей. Шаблоны с неуникальными идентификаторами в разрезе ForecastingAdmin перезаписываются.

Authorizations:
Bearer
Request Body schema:
required
Array of objects or null (CleanOutliersRules)

Шаблоны очистки от выбросов.

Array of objects or null (FillMissingRules)

Шаблоны заполнения пропусков.

Array of objects or null (AggregationRules)

Шаблоны правил агрегации.

Array of objects or null (FitModel)

Шаблоны моделей.

Responses

Request samples

Content type
{
  • "cleanOutliersRules": [
    ],
  • "fillMissingRules": [
    ],
  • "aggregationRules": [
    ],
  • "fitModel": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}