You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

502 lines
12 KiB

{
"schemaVersion": "1.0",
"$id": "experiment_schema.json",
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"predict_numeric_fields",
"predict_categorical_fields",
"detect_numeric_outliers",
"detect_categorical_outliers",
"forecast_time_series",
"smart_forecast",
"smart_outlier_detection",
"smart_clustering",
"smart_prediction",
"cluster_numeric_events"
]
},
"hasSchedule": {
"type": "string",
"pattern": "^[0|1]$"
},
"hasAlerts": {
"type": "string",
"pattern": "^[0|1]$"
},
"hasEnabledAlerts": {
"type": "string",
"pattern": "^[0|1]$"
},
"alertIds": {
"type": "array"
},
"description": {
"type": "string"
},
"notes": {
"type": "string"
},
"searchStages": {
"type": "array",
"items": {
"anyOf": [
{ "$ref": "#/definitions/search_stage_dataset" },
{ "$ref": "#/definitions/search_stage_metrics" },
{ "$ref": "#/definitions/search_stage_fit" },
{ "$ref": "#/definitions/search_stage_extracttime" },
{ "$ref": "#/definitions/search_stage_joinlookup" },
{ "$ref": "#/definitions/search_stage_predict" },
{ "$ref": "#/definitions/search_stage_anomalydetection" },
{ "$ref": "#/definitions/search_stage_outlierdetection" },
{ "$ref": "#/definitions/search_stage_spl" }
]
}
}
},
"additionalProperties": false,
"required": ["title", "type"],
"definitions": {
"search_stage_dataset": {
"type": "object",
"properties": {
"guid": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["dataset"]
},
"role": {
"type": "string",
"enum": ["datasource"]
},
"datasetName": {
"type": "string"
},
"datasetType": {
"type": "string"
},
"searchString": {
"type": "string"
},
"earliestTime": {
"type": "string"
},
"latestTime": {
"type": "string"
}
},
"additionalProperties": false,
"required": ["guid", "type", "role", "datasetName", "datasetType"]
},
"search_stage_extracttime": {
"type": "object",
"properties": {
"guid": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["extracttime"]
},
"role": {
"type": "string",
"enum": ["preprocessing"]
},
"earliestTime": {
"type": "string"
},
"latestTime": {
"type": "string"
}
},
"additionalProperties": false,
"required": ["guid", "type", "role"]
},
"search_stage_metrics": {
"type": "object",
"properties": {
"guid": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["metrics"]
},
"role": {
"type": "string",
"enum": ["datasource"]
},
"metrics": {
"type": "array",
"items": {
"type": "object",
"properties": {
"aggregation": {
"type": "string",
"minLength": 1
},
"as": {
"type": "string",
"minLength": 1
},
"indexes": {
"type": "array",
"items": {
"type": "string"
}
},
"name": {
"type": "string",
"minLength": 1
},
"splitField": {
"type": "string"
},
"splitLimit": {
"type": "number"
},
"splitType": {
"type": "string"
}
},
"additionalProperties": false,
"required": ["aggregation", "as", "indexes", "name"]
},
"minItems": 1
},
"searchString": {
"type": "string"
},
"span": {
"type": "string",
"minLength": 1
},
"earliestTime": {
"type": "string"
},
"latestTime": {
"type": "string"
}
},
"additionalProperties": false,
"required": ["guid", "type", "role", "metrics", "span"]
},
"search_stage_fit": {
"type": "object",
"properties": {
"guid": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["fit"]
},
"role": {
"type": "string",
"enum": ["main", "preprocessing"]
},
"algorithm": {
"type": "string",
"minLength": 1
},
"algorithmParams": {
"type": "object",
"additionalProperties": { "type": ["string", "boolean", "number"] }
},
"targetVariable": {
"type": "string"
},
"targetVariables": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"featureVariables": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"splitBy": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"modelName": {
"type": "string",
"minLength": 1
},
"trainingFraction": {
"type": "integer",
"minimum": 10,
"maximum": 100,
"multipleOf": 10
},
"earliestTime": {
"type": "string"
},
"latestTime": {
"type": "string"
}
},
"additionalProperties": false,
"required": ["guid", "type", "role", "algorithm", "algorithmParams"],
"anyOf": [
{
"properties": {
"targetVariable": {
"type": "string",
"minLength": 1
}
},
"required": ["targetVariable"]
},
{
"properties": {
"targetVariables": {
"type": "array",
"minItems": 1
}
},
"required": ["targetVariables"]
}, {
"properties": {
"featureVariables": {
"type": "array",
"minItems": 1
}
},
"required": ["featureVariables"]
}
]
},
"search_stage_joinlookup": {
"type": "object",
"properties": {
"guid": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["joinlookup"]
},
"role": {
"type": "string",
"enum": ["preprocessing"]
},
"lookupId": {
"type": "string",
"minLength": 1
},
"lookupName": {
"type": "string",
"minLength": 1
},
"lookupField": {
"type": "string",
"minLength": 1
},
"eventField": {
"type": "string",
"minLength": 1
},
"additionalLookupFields": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
}
},
"timeFormat": {
"type": "string"
},
"earliestTime": {
"type": "string"
},
"latestTime": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"guid",
"lookupId",
"lookupName",
"lookupField",
"eventField",
"additionalLookupFields"
]
},
"search_stage_predict": {
"type": "object",
"properties": {
"guid": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["predict"]
},
"role": {
"type": "string",
"enum": ["main"]
},
"params": {
"type": "object",
"additionalProperties": { "type": ["string", "boolean", "number"] }
},
"fields": {
"type": "array",
"minItems": 1,
"maxItems": 1,
"items": {
"type": "string",
"minLength": 1
}
},
"earliestTime": {
"type": "string"
},
"latestTime": {
"type": "string"
}
},
"additionalProperties": false,
"required": ["guid", "type", "role", "params", "fields"]
},
"search_stage_anomalydetection": {
"type": "object",
"properties": {
"guid": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["anomalydetection"]
},
"role": {
"type": "string",
"enum": ["main"]
},
"params": {
"type": "object",
"additionalProperties": { "type": ["string", "boolean", "number"] }
},
"fields": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
}
},
"earliestTime": {
"type": "string"
},
"latestTime": {
"type": "string"
}
},
"additionalProperties": false,
"required": ["guid", "type", "role", "params", "fields"]
},
"search_stage_outlierdetection": {
"properties": {
"guid": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["outlierdetection"]
},
"role": {
"type": "string",
"enum": ["main"]
},
"outlierFields": {
"type": "array",
"minItems": 1,
"maxItems": 1,
"description": "The outlier variables. Currently allows for at most 1, but may be expanded to support more in the future.",
"items": {
"type": "string",
"minLength": 1
}
},
"thresholdMethod": {
"type": "string",
"minLength": 1
},
"thresholdMultiplier": {
"type": "number",
"minimum": 1
},
"windowSize": {
"type": "integer",
"minimum": 1,
"description": "The size (in points) of the sliding window. If omitted, don't use a sliding window."
},
"useCurrentPoint": {
"type": "boolean"
},
"splitByFields": {
"type": "array",
"minItems": 0,
"maxItems": 5,
"items": {
"type": "string",
"minLength": 1
}
},
"earliestTime": {
"type": "string"
},
"latestTime": {
"type": "string"
}
},
"additionalProperties": false,
"required": ["guid", "type", "role", "outlierFields", "thresholdMethod", "thresholdMultiplier", "useCurrentPoint", "splitByFields"]
},
"search_stage_spl": {
"type": "object",
"properties": {
"guid": {
"type": "string"
},
"type": {
"type": "string",
"enum": ["spl"]
},
"role": {
"type": "string",
"enum": ["datasource"]
},
"searchString": {
"type": "string"
},
"earliestTime": {
"type": "string"
},
"latestTime": {
"type": "string"
}
},
"additionalProperties": false,
"required": ["guid", "type", "role", "searchString", "earliestTime", "latestTime"]
}
}
}