DataFrame type. And you must specify the sliding_window and device in params. \n",
+ "\n",
+ "Moreover, please note that in mvad, timestamp of the training data is optional."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "d5da3531",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "from anomaly_detector import MultivariateAnomalyDetector\n",
+ "\n",
+ "import json\n",
+ "from pprint import pprint\n",
+ "\n",
+ "data_size = 1000\n",
+ "var_num = 20\n",
+ "\n",
+ "training_data = np.random.randn(data_size, var_num)\n",
+ "columns = [f\"variable_{i}\" for i in range(var_num)]\n",
+ "training_data = pd.DataFrame(training_data, columns=columns)\n",
+ "\n",
+ "# Optional\n",
+ "timestamps = pd.date_range(start=\"2023-01-03\", periods=data_size, freq=\"H\")\n",
+ "training_data[\"timestamp\"] = timestamps.strftime(\"%Y-%m-%dT%H:%M:%SZ\")\n",
+ "training_data = training_data.set_index(\"timestamp\", drop=True)\n",
+ "\n",
+ "params = {\"sliding_window\": 200, \"device\": \"cpu\"}\n",
+ "\n",
+ "model = MultivariateAnomalyDetector()\n",
+ "\n",
+ "# Train model\n",
+ "model.fit(training_data, params=params)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "b918d943",
+ "metadata": {},
+ "source": [
+ "### 2. Inference"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "f3a010d7",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "eval_data = np.random.randn(201, var_num)\n",
+ "eval_data[-1, :] += 100\n",
+ "eval_data = pd.DataFrame(eval_data, columns=columns)\n",
+ "\n",
+ "# Optional\n",
+ "timestamps = pd.date_range(start=\"2023-01-03\", periods=201, freq=\"H\")\n",
+ "eval_data[\"timestamp\"] = timestamps.strftime(\"%Y-%m-%dT%H:%M:%SZ\")\n",
+ "eval_data = eval_data.set_index(\"timestamp\", drop=True)\n",
+ "\n",
+ "# prediction\n",
+ "results = model.predict(data=eval_data, context=None)\n",
+ "\n",
+ "pprint(results)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "1cc129ba",
+ "metadata": {},
+ "source": [
+ "## Univariate Anomaly Detection"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "5d12be4c",
+ "metadata": {},
+ "source": [
+ "### Inference\n",
+ "\n",
+ "Please note that the univariate anomaly detection does not need to train before inference, and timestamp of the eval_data must be specified."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "232963b5",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "from anomaly_detector import EntireAnomalyDetector\n",
+ "\n",
+ "params = {\n",
+ " \"granularity\": \"monthly\", \n",
+ " \"maxAnomalyRatio\": 0.25, \n",
+ " \"sensitivity\": 95, \n",
+ " \"imputeMode\": \"auto\"\n",
+ "}\n",
+ "\n",
+ "\n",
+ "model = EntireAnomalyDetector()\n",
+ "\n",
+ "eval_data = np.ones(20)\n",
+ "eval_data[-1] = 0\n",
+ "eval_data = pd.DataFrame(eval_data, columns=[\"value\"])\n",
+ "\n",
+ "timestamps = pd.date_range(start=\"1962-01-01\", periods=20, freq=\"ME\")\n",
+ "eval_data[\"timestamp\"] = timestamps\n",
+ "\n",
+ "results = model.predict(\n",
+ " data=eval_data,\n",
+ " params=params,\n",
+ " context=None\n",
+ ")\n",
+ "print(results)\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.13"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/example-data/README.md b/example-data/README.md
deleted file mode 100644
index 196226c..0000000
--- a/example-data/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Please don't use the sample data in this folder for the preview feature "multivariate anomaly detection", those sample data is for the previous univariate anomaly detection only.
-To learn more on the multivariate preview APIs:
-1. Read the blog: https://aka.ms/ADMultivariateBlog
-2. Understand API flow through Jupyter Notebook: https://aka.ms/ad-multivariate-python-demo
-3. QuickStarts: https://aka.ms/ADMultivariateQuickstarts
-4. Best practices: https://aka.ms/ADBestPractices
-5. Build predictive maintenance solution: https://aka.ms/ADBuildPMSolution
diff --git a/example-data/example-data.xlsx b/example-data/example-data.xlsx
deleted file mode 100644
index bc71a0d..0000000
Binary files a/example-data/example-data.xlsx and /dev/null differ
diff --git a/ipython-notebook/API Sample/Batch anomaly detection with the Anomaly Detector API.ipynb b/ipython-notebook/API Sample/Batch anomaly detection with the Anomaly Detector API.ipynb
index f7a2bb7..099f3d4 100644
--- a/ipython-notebook/API Sample/Batch anomaly detection with the Anomaly Detector API.ipynb
+++ b/ipython-notebook/API Sample/Batch anomaly detection with the Anomaly Detector API.ipynb
@@ -19,17 +19,26 @@
"* Anomaly detection boundaries \n"
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "To start sending requests to the Anomaly Detector API, paste your Anomaly Detector resource access key below,\n",
+ "and replace the endpoint variable with the endpoint for your region or your on-premise container endpoint. \n",
+ "\n",
+ "Endpoint examples:\n",
+ "\n",
+ "`https://westus2.api.cognitive.microsoft.com/anomalydetector/v1.0/timeseries/entire/detect`\n",
+ "\n",
+ "`http://127.0.0.1:5000/anomalydetector/v1.0/timeseries/entire/detect`"
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "# To start sending requests to the Anomaly Detector API, paste your Anomaly Detector resource access key below,\n",
- "# and replace the endpoint variable with the endpoint for your region or your on-premise container endpoint. \n",
- "# Endpoint examples:\n",
- "# https://westus2.api.cognitive.microsoft.com/anomalydetector/v1.0/timeseries/entire/detect\n",
- "# http://127.0.0.1:5000/anomalydetector/v1.0/timeseries/entire/detect\n",
"apikey = '[Placeholder: Your Anomaly Detector resource access key]' \n",
"endpoint = '[Placeholder: Your Anomaly Detector resource endpoint]/anomalydetector/v1.0/timeseries/entire/detect'"
]
@@ -116,9 +125,9 @@
" lowerband = response['expectedValues'] -response['lowerMargins']\n",
" band_x = np.append(label, label[::-1])\n",
" band_y = np.append(lowerband, upperband[::-1])\n",
- " boundary = p.patch(band_x, band_y, color=Blues4[2], fill_alpha=0.5, line_width=1, legend='Boundary')\n",
- " p.line(label, values, legend='Value', color=\"#2222aa\", line_width=1)\n",
- " p.line(label, response['expectedValues'], legend='ExpectedValue', line_width=1, line_dash=\"dotdash\", line_color='olivedrab')\n",
+ " boundary = p.patch(band_x, band_y, color=Blues4[2], fill_alpha=0.5, line_width=1, legend_label='Boundary')\n",
+ " p.line(label, values, legend_label='Value', color=\"#2222aa\", line_width=1)\n",
+ " p.line(label, response['expectedValues'], legend_label='ExpectedValue', line_width=1, line_dash=\"dotdash\", line_color='olivedrab')\n",
" anom_source = ColumnDataSource(dict(x=anomaly_labels, y=anomalies))\n",
" anoms = p.circle('x', 'y', size=5, color='tomato', source=anom_source)\n",
" p.legend.border_line_width = 1\n",
@@ -149,7 +158,7 @@
"outputs": [],
"source": [
"# Hourly Sample\n",
- "sample_data = json.load(open('univariate_sample_hourly.json'))\n",
+ "sample_data = json.load(open('../../sampledata/univariate/univariate_sample_hourly.json'))\n",
"sample_data['granularity'] = 'hourly'\n",
"sample_data['period'] = 24\n",
"# 95 sensitivity\n",
@@ -190,7 +199,7 @@
"outputs": [],
"source": [
"#daily sample\n",
- "sample_data = json.load(open('univariate_sample_daily.json'))\n",
+ "sample_data = json.load(open('../../sampledata/univariate/univariate_sample_daily.json'))\n",
"sample_data['granularity'] = 'daily'\n",
"# 95 sensitivity\n",
"build_figure(sample_data,95)"
@@ -215,11 +224,18 @@
"# 85 sensitivity\n",
"build_figure(sample_data,80)"
]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {
"kernelspec": {
- "display_name": "Python 3",
+ "display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
@@ -233,9 +249,14 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.1"
+ "version": "3.10.9"
+ },
+ "vscode": {
+ "interpreter": {
+ "hash": "530dd268f570c5cdc0ceeb4c9b04e15d56fa20bfd35f8d335952cdbe40d1c280"
+ }
}
},
"nbformat": 4,
- "nbformat_minor": 2
-}
\ No newline at end of file
+ "nbformat_minor": 4
+}
diff --git a/ipython-notebook/API Sample/Latest point detection with the Anomaly Detector API.ipynb b/ipython-notebook/API Sample/Latest point detection with the Anomaly Detector API.ipynb
index 81620ba..87765b4 100644
--- a/ipython-notebook/API Sample/Latest point detection with the Anomaly Detector API.ipynb
+++ b/ipython-notebook/API Sample/Latest point detection with the Anomaly Detector API.ipynb
@@ -23,17 +23,26 @@
"The following example simulates using the Anomaly Detector API on streaming data. Sections of the example time series are sent to the API over multiple iterations, and the anomaly status of each section's last data point is saved. The data set used in this example has a pattern that repeats roughly every 7 data points (the `period` in the request's JSON file), so for best results, the data set is sent in groups of 29 points (`4 * | \n", + " | timestamp | \n", + "errors | \n", + "value.isAnomaly | \n", + "value.severity | \n", + "value.score | \n", + "value.interpretation | \n", + "
|---|---|---|---|---|---|---|
| 0 | \n", + "2021-01-02T12:00:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.334692 | \n", + "[] | \n", + "
| 1 | \n", + "2021-01-02T12:01:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.243070 | \n", + "[] | \n", + "
| 2 | \n", + "2021-01-02T12:02:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.161920 | \n", + "[] | \n", + "
| 3 | \n", + "2021-01-02T12:03:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.236542 | \n", + "[] | \n", + "
| 4 | \n", + "2021-01-02T12:04:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.246817 | \n", + "[] | \n", + "
| ... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
| 716 | \n", + "2021-01-02T23:56:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.249148 | \n", + "[] | \n", + "
| 717 | \n", + "2021-01-02T23:57:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.339415 | \n", + "[] | \n", + "
| 718 | \n", + "2021-01-02T23:58:00Z | \n", + "[] | \n", + "True | \n", + "0.29821 | \n", + "0.512410 | \n", + "[{'variable': 'series_1', 'contributionScore':... | \n", + "
| 719 | \n", + "2021-01-02T23:59:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.449597 | \n", + "[] | \n", + "
| 720 | \n", + "2021-01-03T00:00:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.309907 | \n", + "[] | \n", + "
721 rows × 6 columns
\n", + "| \n", + " | timestamp | \n", + "errors | \n", + "value.isAnomaly | \n", + "value.severity | \n", + "value.score | \n", + "value.interpretation | \n", + "
|---|---|---|---|---|---|---|
| 0 | \n", + "2021-01-03T01:59:00Z | \n", + "[] | \n", + "False | \n", + "0.0 | \n", + "0.269177 | \n", + "[] | \n", + "
| \n", + " | modelId | \n", + "modelInfo.displayName | \n", + "modelInfo.status | \n", + "modelInfo.dataSource | \n", + "currentCount | \n", + "maxCount | \n", + "
|---|---|---|---|---|---|---|
| 0 | \n", + "eb65081c-5a2d-11ed-863d-b618fab0ff58 | \n", + "SampleRequest | \n", + "READY | \n", + "https://mvaddataset.blob.core.windows.net/samp... | \n", + "5 | \n", + "1000 | \n", + "
| 1 | \n", + "57c9ca66-5a23-11ed-b4b9-b618fab0ff58 | \n", + "SampleRequest | \n", + "READY | \n", + "https://mvaddataset.blob.core.windows.net/samp... | \n", + "5 | \n", + "1000 | \n", + "
| 2 | \n", + "497c7936-5a23-11ed-9bbf-b618fab0ff58 | \n", + "SampleRequest | \n", + "FAILED | \n", + "https://mvaddataset.blob.core.windows.net/samp... | \n", + "5 | \n", + "1000 | \n", + "
| 3 | \n", + "823a5184-59ca-11ed-b4b9-b618fab0ff58 | \n", + "SampleRequest | \n", + "READY | \n", + "https://mvaddataset.blob.core.windows.net/samp... | \n", + "5 | \n", + "1000 | \n", + "
| 4 | \n", + "843545b6-59ca-11ed-9ceb-eef3b1e88e05 | \n", + "SampleRequest | \n", + "READY | \n", + "https://mvaddataset.blob.core.windows.net/samp... | \n", + "5 | \n", + "1000 | \n", + "
| \n", + " | timestamp | \n", + "errors | \n", + "value.isAnomaly | \n", + "value.severity | \n", + "value.score | \n", + "value.interpretation | \n", + "series_0 | \n", + "series_1 | \n", + "series_2 | \n", + "series_3 | \n", + "series_4 | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "2021-01-02T12:00:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.334692 | \n", + "[] | \n", + "1.406643 | \n", + "0.038892 | \n", + "-0.900322 | \n", + "-0.496920 | \n", + "1.835452 | \n", + "
| 1 | \n", + "2021-01-02T12:01:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.243070 | \n", + "[] | \n", + "0.498293 | \n", + "-1.203895 | \n", + "-0.015028 | \n", + "0.639817 | \n", + "1.336381 | \n", + "
| 2 | \n", + "2021-01-02T12:02:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.161920 | \n", + "[] | \n", + "0.482624 | \n", + "0.117251 | \n", + "-0.346558 | \n", + "0.380744 | \n", + "1.216002 | \n", + "
| 3 | \n", + "2021-01-02T12:03:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.236542 | \n", + "[] | \n", + "0.135886 | \n", + "0.175647 | \n", + "0.529109 | \n", + "-1.525938 | \n", + "-0.921328 | \n", + "
| 4 | \n", + "2021-01-02T12:04:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.246817 | \n", + "[] | \n", + "-1.056639 | \n", + "-1.452493 | \n", + "-0.204444 | \n", + "-0.408568 | \n", + "-0.532862 | \n", + "
| ... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
| 716 | \n", + "2021-01-02T23:56:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.249148 | \n", + "[] | \n", + "-0.496276 | \n", + "-0.327522 | \n", + "-0.982608 | \n", + "-1.152828 | \n", + "0.732866 | \n", + "
| 717 | \n", + "2021-01-02T23:57:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.339415 | \n", + "[] | \n", + "0.833020 | \n", + "0.285757 | \n", + "-1.691492 | \n", + "-1.481046 | \n", + "0.214137 | \n", + "
| 718 | \n", + "2021-01-02T23:58:00Z | \n", + "[] | \n", + "True | \n", + "0.29821 | \n", + "0.512410 | \n", + "[{'variable': 'series_1', 'contributionScore':... | \n", + "0.864732 | \n", + "2.680365 | \n", + "1.244429 | \n", + "0.827081 | \n", + "-1.171265 | \n", + "
| 719 | \n", + "2021-01-02T23:59:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.449597 | \n", + "[] | \n", + "-0.742697 | \n", + "-1.620215 | \n", + "-1.778069 | \n", + "-1.627223 | \n", + "0.172657 | \n", + "
| 720 | \n", + "2021-01-03T00:00:00Z | \n", + "[] | \n", + "False | \n", + "0.00000 | \n", + "0.309907 | \n", + "[] | \n", + "0.885926 | \n", + "-1.223856 | \n", + "1.427294 | \n", + "0.658113 | \n", + "0.172317 | \n", + "
721 rows × 11 columns
\n", + "| \n", + " | timestamp | \n", + "errors | \n", + "value.isAnomaly | \n", + "value.severity | \n", + "value.score | \n", + "value.interpretation | \n", + "series_0 | \n", + "series_1 | \n", + "series_2 | \n", + "series_3 | \n", + "series_4 | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|
| 6 | \n", + "2021-01-02T12:06:00Z | \n", + "[] | \n", + "True | \n", + "0.330952 | \n", + "0.568668 | \n", + "[{'variable': 'series_2', 'contributionScore':... | \n", + "-0.539582 | \n", + "-1.688357 | \n", + "-2.036156 | \n", + "1.608503 | \n", + "-1.618857 | \n", + "
| 68 | \n", + "2021-01-02T13:08:00Z | \n", + "[] | \n", + "True | \n", + "0.295207 | \n", + "0.507248 | \n", + "[{'variable': 'series_1', 'contributionScore':... | \n", + "-1.107553 | \n", + "2.708357 | \n", + "-0.265096 | \n", + "1.114120 | \n", + "1.574517 | \n", + "
| 79 | \n", + "2021-01-02T13:19:00Z | \n", + "[] | \n", + "True | \n", + "0.369776 | \n", + "0.635379 | \n", + "[{'variable': 'series_0', 'contributionScore':... | \n", + "2.542432 | \n", + "-0.147229 | \n", + "-1.951820 | \n", + "-2.131433 | \n", + "0.616188 | \n", + "
| 82 | \n", + "2021-01-02T13:22:00Z | \n", + "[] | \n", + "True | \n", + "0.298748 | \n", + "0.513333 | \n", + "[{'variable': 'series_2', 'contributionScore':... | \n", + "0.557954 | \n", + "1.096061 | \n", + "-2.216703 | \n", + "2.217523 | \n", + "-0.166912 | \n", + "
| 89 | \n", + "2021-01-02T13:29:00Z | \n", + "[] | \n", + "True | \n", + "0.307050 | \n", + "0.527599 | \n", + "[{'variable': 'series_3', 'contributionScore':... | \n", + "-0.671966 | \n", + "1.534570 | \n", + "1.272315 | \n", + "-1.707646 | \n", + "-1.931589 | \n", + "
| \n", + " | variable | \n", + "contributionScore | \n", + "correlationChanges.changedVariables | \n", + "
|---|---|---|---|
| 0 | \n", + "series_1 | \n", + "0.444387 | \n", + "[series_3, series_4] | \n", + "
| 1 | \n", + "series_4 | \n", + "0.207096 | \n", + "[series_3, series_4] | \n", + "
| 2 | \n", + "series_3 | \n", + "0.162231 | \n", + "[series_3, series_4] | \n", + "
| 3 | \n", + "series_0 | \n", + "0.157490 | \n", + "[series_3, series_4] | \n", + "
| 4 | \n", + "series_2 | \n", + "0.028796 | \n", + "[series_3, series_4] | \n", + "
| \n", + " | opticalLFiltered | \n", + "opticalRFiltered | \n", + "pumpPressure | \n", + "rotational | \n", + "vibrationHorizon | \n", + "
|---|---|---|---|---|---|
| timestamp | \n", + "\n", + " | \n", + " | \n", + " | \n", + " | \n", + " |
| 2021-02-18T13:50:00Z | \n", + "0.093917 | \n", + "0.081611 | \n", + "0.959366 | \n", + "0.004735 | \n", + "0.934785 | \n", + "
| 2021-02-18T14:00:00Z | \n", + "0.087634 | \n", + "0.085192 | \n", + "0.957706 | \n", + "0.027995 | \n", + "0.933875 | \n", + "
| 2021-02-18T14:10:00Z | \n", + "0.108739 | \n", + "0.117380 | \n", + "0.954204 | \n", + "0.049488 | \n", + "0.923942 | \n", + "
| 2021-02-18T14:20:00Z | \n", + "0.127014 | \n", + "0.145632 | \n", + "0.947601 | \n", + "0.079059 | \n", + "0.944030 | \n", + "
| 2021-02-18T14:30:00Z | \n", + "0.156628 | \n", + "0.138406 | \n", + "0.951069 | \n", + "0.088172 | \n", + "0.923689 | \n", + "
| ... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
| 2021-09-14T22:40:00Z | \n", + "0.000000 | \n", + "0.000000 | \n", + "0.950000 | \n", + "0.000000 | \n", + "0.850000 | \n", + "
| 2021-09-14T22:50:00Z | \n", + "0.000000 | \n", + "0.000000 | \n", + "0.950000 | \n", + "0.000000 | \n", + "0.850000 | \n", + "
| 2021-09-14T23:00:00Z | \n", + "0.000000 | \n", + "0.000000 | \n", + "0.950000 | \n", + "0.000000 | \n", + "0.850000 | \n", + "
| 2021-09-14T23:10:00Z | \n", + "0.000000 | \n", + "0.000000 | \n", + "0.950000 | \n", + "0.000000 | \n", + "0.850000 | \n", + "
| 2021-09-14T23:20:00Z | \n", + "0.000000 | \n", + "0.000000 | \n", + "0.950000 | \n", + "0.000000 | \n", + "0.850000 | \n", + "
30010 rows × 5 columns
\n", + "| \n", + " | model_id | \n", + "status | \n", + "
|---|---|---|
| 0 | \n", + "cd5170c8-ab59-11ec-a670-b2e8cb708e18 | \n", + "READY | \n", + "
| 1 | \n", + "9db32770-ab50-11ec-a670-b2e8cb708e18 | \n", + "READY | \n", + "
| 2 | \n", + "8d8811a6-ab48-11ec-b575-b2e8cb708e18 | \n", + "READY | \n", + "
| 3 | \n", + "ee90bdb4-ab47-11ec-822b-b2e8cb708e18 | \n", + "FAILED | \n", + "
| 4 | \n", + "6e7d9b7e-ab47-11ec-b714-e2151d0110f3 | \n", + "FAILED | \n", + "
| \n", + " | timestamp | \n", + "is_anomaly | \n", + "severity | \n", + "score | \n", + "
|---|---|---|---|---|
| 0 | \n", + "2021-09-12T13:30:00Z | \n", + "False | \n", + "0.010384 | \n", + "0.017843 | \n", + "
| 1 | \n", + "2021-09-12T13:40:00Z | \n", + "False | \n", + "0.010384 | \n", + "0.017843 | \n", + "
| 2 | \n", + "2021-09-12T13:50:00Z | \n", + "False | \n", + "0.010384 | \n", + "0.017843 | \n", + "
| 3 | \n", + "2021-09-12T14:00:00Z | \n", + "False | \n", + "0.010384 | \n", + "0.017843 | \n", + "
| 4 | \n", + "2021-09-12T14:10:00Z | \n", + "False | \n", + "0.010384 | \n", + "0.017843 | \n", + "
| 5 | \n", + "2021-09-12T14:20:00Z | \n", + "False | \n", + "0.010384 | \n", + "0.017843 | \n", + "
| 6 | \n", + "2021-09-12T14:30:00Z | \n", + "False | \n", + "0.010384 | \n", + "0.017843 | \n", + "
| 7 | \n", + "2021-09-12T14:40:00Z | \n", + "False | \n", + "0.010384 | \n", + "0.017843 | \n", + "
| 8 | \n", + "2021-09-12T14:50:00Z | \n", + "True | \n", + "0.076399 | \n", + "0.131275 | \n", + "
| 9 | \n", + "2021-09-12T15:00:00Z | \n", + "True | \n", + "0.087801 | \n", + "0.150866 | \n", + "
| \n", + " | opticalLFiltered | \n", + "opticalRFiltered | \n", + "pumpPressure | \n", + "rotational | \n", + "vibrationHorizon | \n", + "
|---|---|---|---|---|---|
| timestamp | \n", + "\n", + " | \n", + " | \n", + " | \n", + " | \n", + " |
| 2021-09-01T00:00:00Z | \n", + "0.750092 | \n", + "0.766778 | \n", + "0.303229 | \n", + "0.303962 | \n", + "0.460510 | \n", + "
| 2021-09-01T00:10:00Z | \n", + "0.743859 | \n", + "0.766981 | \n", + "0.260823 | \n", + "0.278101 | \n", + "0.415097 | \n", + "
| 2021-09-01T00:20:00Z | \n", + "0.762221 | \n", + "0.771264 | \n", + "0.230553 | \n", + "0.321643 | \n", + "0.441945 | \n", + "
| 2021-09-01T00:30:00Z | \n", + "0.788647 | \n", + "0.773422 | \n", + "0.263202 | \n", + "0.277294 | \n", + "0.465198 | \n", + "
| 2021-09-01T00:40:00Z | \n", + "0.806244 | \n", + "0.812657 | \n", + "0.239769 | \n", + "0.295336 | \n", + "0.443462 | \n", + "
| ... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
| 2021-09-14T22:40:00Z | \n", + "0.000000 | \n", + "0.000000 | \n", + "0.950000 | \n", + "0.000000 | \n", + "0.850000 | \n", + "
| 2021-09-14T22:50:00Z | \n", + "0.000000 | \n", + "0.000000 | \n", + "0.950000 | \n", + "0.000000 | \n", + "0.850000 | \n", + "
| 2021-09-14T23:00:00Z | \n", + "0.000000 | \n", + "0.000000 | \n", + "0.950000 | \n", + "0.000000 | \n", + "0.850000 | \n", + "
| 2021-09-14T23:10:00Z | \n", + "0.000000 | \n", + "0.000000 | \n", + "0.950000 | \n", + "0.000000 | \n", + "0.850000 | \n", + "
| 2021-09-14T23:20:00Z | \n", + "0.000000 | \n", + "0.000000 | \n", + "0.950000 | \n", + "0.000000 | \n", + "0.850000 | \n", + "
2013 rows × 5 columns
\n", + "\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"\\n\"+\n", - " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", - " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", - " \"
\\n\"+\n", - " \"\\n\"+\n",
- " \"from bokeh.resources import INLINE\\n\"+\n",
- " \"output_notebook(resources=INLINE)\\n\"+\n",
- " \"\\n\"+\n",
- " \"\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"| \n", + " | timestamp | \n", + "isAnomaly | \n", + "severity | \n", + "score | \n", + "interpretation | \n", + "
|---|---|---|---|---|---|
| 0 | \n", + "2021-01-02T09:00:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.419382 | \n", + "[] | \n", + "
| 1 | \n", + "2021-01-02T09:01:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.252619 | \n", + "[] | \n", + "
| 2 | \n", + "2021-01-02T09:02:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.322591 | \n", + "[] | \n", + "
| 3 | \n", + "2021-01-02T09:03:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.369014 | \n", + "[] | \n", + "
| 4 | \n", + "2021-01-02T09:04:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.306100 | \n", + "[] | \n", + "
| ... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
| 896 | \n", + "2021-01-02T23:56:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.253038 | \n", + "[] | \n", + "
| 897 | \n", + "2021-01-02T23:57:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.340814 | \n", + "[] | \n", + "
| 898 | \n", + "2021-01-02T23:58:00Z | \n", + "True | \n", + "0.296033 | \n", + "0.508668 | \n", + "[{'variable': 'series_1', 'contributionScore':... | \n", + "
| 899 | \n", + "2021-01-02T23:59:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.454258 | \n", + "[] | \n", + "
| 900 | \n", + "2021-01-03T00:00:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.307010 | \n", + "[] | \n", + "
901 rows × 5 columns
\n", + "| \n", + " | modelId | \n", + "dataSource | \n", + "dataSchema | \n", + "startTime | \n", + "endTime | \n", + "displayName | \n", + "slidingWindow | \n", + "alignPolicy | \n", + "status | \n", + "errors | \n", + "diagnosticsInfo | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "077fffcc-8042-11ed-a094-46b61874dd0d | \n", + "https://mvaddataset.blob.core.windows.net/samp... | \n", + "OneTable | \n", + "2021-01-01T00:00:00Z | \n", + "2021-01-02T09:00:00Z | \n", + "sample | \n", + "200 | \n", + "{'alignMode': 'Outer', 'fillNAMethod': 'Linear... | \n", + "READY | \n", + "[] | \n", + "{'modelState': {'epochIds': [10, 20, 30, 40, 5... | \n", + "
| 1 | \n", + "0e95b9c6-801c-11ed-9600-46b61874dd0d | \n", + "https://mvaddataset.blob.core.windows.net/samp... | \n", + "OneTable | \n", + "2021-01-01T00:00:00Z | \n", + "2021-01-02T09:00:00Z | \n", + "sample | \n", + "200 | \n", + "{'alignMode': 'Outer', 'fillNAMethod': 'Linear... | \n", + "READY | \n", + "[] | \n", + "{'modelState': {'epochIds': [10, 20, 30, 40, 5... | \n", + "
| 2 | \n", + "a374e39e-8014-11ed-81d0-c2c5096ea4c3 | \n", + "https://mvaddataset.blob.core.windows.net/samp... | \n", + "OneTable | \n", + "2021-01-02T00:00:00Z | \n", + "2021-01-02T05:00:00Z | \n", + "sample | \n", + "200 | \n", + "{'alignMode': 'Outer', 'fillNAMethod': 'Linear... | \n", + "READY | \n", + "[] | \n", + "{'modelState': {'epochIds': [10, 20, 30, 40, 5... | \n", + "
| 3 | \n", + "70b7b266-8013-11ed-9600-46b61874dd0d | \n", + "https://mvaddataset.blob.core.windows.net/samp... | \n", + "OneTable | \n", + "2021-01-02T00:00:00Z | \n", + "2021-01-02T05:00:00Z | \n", + "sample | \n", + "200 | \n", + "{'alignMode': 'Outer', 'fillNAMethod': 'Linear... | \n", + "READY | \n", + "[] | \n", + "{'modelState': {'epochIds': [10, 20, 30, 40, 5... | \n", + "
| 4 | \n", + "f4e04f06-8001-11ed-84c9-c2c5096ea4c3 | \n", + "https://mvaddataset.blob.core.windows.net/samp... | \n", + "OneTable | \n", + "2021-01-02T00:00:00Z | \n", + "2021-01-02T05:00:00Z | \n", + "sample | \n", + "200 | \n", + "{'alignMode': 'Outer', 'fillNAMethod': 'Linear... | \n", + "READY | \n", + "[] | \n", + "{'modelState': {'epochIds': [10, 20, 30, 40, 5... | \n", + "
| \n", + " | timestamp | \n", + "isAnomaly | \n", + "severity | \n", + "score | \n", + "interpretation | \n", + "series_0 | \n", + "series_1 | \n", + "series_2 | \n", + "series_3 | \n", + "series_4 | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "2021-01-02T09:00:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.419382 | \n", + "[] | \n", + "1.205363 | \n", + "-0.082452 | \n", + "-0.679936 | \n", + "-2.427059 | \n", + "-0.901315 | \n", + "
| 1 | \n", + "2021-01-02T09:01:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.252619 | \n", + "[] | \n", + "-0.832825 | \n", + "0.511269 | \n", + "0.781305 | \n", + "-0.978200 | \n", + "-0.583167 | \n", + "
| 2 | \n", + "2021-01-02T09:02:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.322591 | \n", + "[] | \n", + "1.017443 | \n", + "-0.090590 | \n", + "-0.332330 | \n", + "-2.185502 | \n", + "-0.549980 | \n", + "
| 3 | \n", + "2021-01-02T09:03:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.369014 | \n", + "[] | \n", + "0.340099 | \n", + "-1.288155 | \n", + "0.902764 | \n", + "-2.049652 | \n", + "-0.303337 | \n", + "
| 4 | \n", + "2021-01-02T09:04:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.306100 | \n", + "[] | \n", + "-0.445510 | \n", + "-1.082052 | \n", + "-0.691915 | \n", + "-1.140514 | \n", + "-1.181026 | \n", + "
| ... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "... | \n", + "
| 896 | \n", + "2021-01-02T23:56:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.253038 | \n", + "[] | \n", + "-0.496276 | \n", + "-0.327522 | \n", + "-0.982608 | \n", + "-1.152828 | \n", + "0.732866 | \n", + "
| 897 | \n", + "2021-01-02T23:57:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.340814 | \n", + "[] | \n", + "0.833020 | \n", + "0.285757 | \n", + "-1.691492 | \n", + "-1.481046 | \n", + "0.214137 | \n", + "
| 898 | \n", + "2021-01-02T23:58:00Z | \n", + "True | \n", + "0.296033 | \n", + "0.508668 | \n", + "[{'variable': 'series_1', 'contributionScore':... | \n", + "0.864732 | \n", + "2.680365 | \n", + "1.244429 | \n", + "0.827081 | \n", + "-1.171265 | \n", + "
| 899 | \n", + "2021-01-02T23:59:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.454258 | \n", + "[] | \n", + "-0.742697 | \n", + "-1.620215 | \n", + "-1.778069 | \n", + "-1.627223 | \n", + "0.172657 | \n", + "
| 900 | \n", + "2021-01-03T00:00:00Z | \n", + "False | \n", + "0.000000 | \n", + "0.307010 | \n", + "[] | \n", + "0.885926 | \n", + "-1.223856 | \n", + "1.427294 | \n", + "0.658113 | \n", + "0.172317 | \n", + "
901 rows × 10 columns
\n", + "| \n", + " | timestamp | \n", + "isAnomaly | \n", + "severity | \n", + "score | \n", + "interpretation | \n", + "series_0 | \n", + "series_1 | \n", + "series_2 | \n", + "series_3 | \n", + "series_4 | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|
| 6 | \n", + "2021-01-02T09:06:00Z | \n", + "True | \n", + "0.299029 | \n", + "0.513817 | \n", + "[{'variable': 'series_1', 'contributionScore':... | \n", + "-0.780282 | \n", + "2.986235 | \n", + "-0.957419 | \n", + "1.407516 | \n", + "0.419483 | \n", + "
| 13 | \n", + "2021-01-02T09:13:00Z | \n", + "True | \n", + "0.330084 | \n", + "0.567177 | \n", + "[{'variable': 'series_4', 'contributionScore':... | \n", + "-1.192829 | \n", + "-1.049519 | \n", + "-0.904737 | \n", + "-0.519764 | \n", + "3.436035 | \n", + "
| 41 | \n", + "2021-01-02T09:41:00Z | \n", + "True | \n", + "0.316140 | \n", + "0.543218 | \n", + "[{'variable': 'series_3', 'contributionScore':... | \n", + "2.386084 | \n", + "0.120218 | \n", + "0.752255 | \n", + "2.492716 | \n", + "0.588779 | \n", + "
| 45 | \n", + "2021-01-02T09:45:00Z | \n", + "True | \n", + "0.346528 | \n", + "0.595433 | \n", + "[{'variable': 'series_2', 'contributionScore':... | \n", + "-2.056664 | \n", + "1.578338 | \n", + "-2.614383 | \n", + "0.418353 | \n", + "-0.618969 | \n", + "
| \n", + " | variable | \n", + "contributionScore | \n", + "correlationChanges.changedVariables | \n", + "
|---|---|---|---|
| 0 | \n", + "series_4 | \n", + "0.543004 | \n", + "[series_3] | \n", + "
| 1 | \n", + "series_0 | \n", + "0.155167 | \n", + "[series_3] | \n", + "
| 2 | \n", + "series_1 | \n", + "0.119975 | \n", + "[series_3] | \n", + "
| 3 | \n", + "series_2 | \n", + "0.113266 | \n", + "[series_3] | \n", + "
| 4 | \n", + "series_3 | \n", + "0.068589 | \n", + "[series_3] | \n", + "
\\n\"+\n", + " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", + " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", + " \"
\\n\"+\n", + " \"\\n\"+\n",
+ " \"from bokeh.resources import INLINE\\n\"+\n",
+ " \"output_notebook(resources=INLINE)\\n\"+\n",
+ " \"\\n\"+\n",
+ " \"\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"
\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"