{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "bbf8df52", "metadata": {}, "outputs": [], "source": [ "# !pip install fABBA\n", "# !git clone https://github.com/nla-group/ABBA.git" ] }, { "cell_type": "markdown", "id": "552aad3a", "metadata": {}, "source": [ "## Run ABBA" ] }, { "cell_type": "code", "execution_count": 2, "id": "11fb01c9", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 100/100 [07:51<00:00, 4.71s/it]\n" ] } ], "source": [ "import time\n", "import numpy as np\n", "import pandas as pd\n", "from tqdm import tqdm\n", "from ABBA.ABBA import ABBA\n", "from sklearn.metrics import mean_squared_error\n", "\n", "np.random.seed(1)\n", "\n", "length = 5000\n", "mu, sigma = 0, 1 # mean and standard deviation\n", "data_df = np.zeros((100, length))\n", "runtime = np.zeros((100, 2)) # symbols: 10, 100, 1000\n", "accuracy = np.zeros((100, 2)) # symbols: 10, 100, 1000\n", "k_symbols = [100, 1000]\n", "TOL = 0.5\n", "\n", "for i in tqdm(range(100)):\n", " ts = np.random.normal(mu, sigma, length)\n", " data_df[i] = ts\n", " \n", " st = time.time()\n", " abba = ABBA(min_k=k_symbols[0], max_k=k_symbols[0], tol=TOL, verbose=0, scl=1)\n", " string, centers = abba.transform(ts)\n", " reconstructed_ts = abba.inverse_transform(string, centers, ts[0])\n", " runtime[i, 0] = time.time() - st\n", " accuracy[i, 0] = mean_squared_error(ts, reconstructed_ts, squared=False)\n", " \n", " st = time.time()\n", " abba = ABBA(min_k=k_symbols[1], max_k=k_symbols[1], tol=TOL, verbose=0, scl=1)\n", " string, centers = abba.transform(ts)\n", " reconstructed_ts = abba.inverse_transform(string, centers, ts[0])\n", " runtime[i, 1] = time.time() - st\n", " accuracy[i, 1] = mean_squared_error(ts, reconstructed_ts, squared=False)\n", "\n", " \n", "pd.DataFrame(data_df).to_csv(\"ts_test.csv\", index=False)\n", "pd.DataFrame(runtime).to_csv(\"runtime.csv\", index=False)\n", "pd.DataFrame(accuracy).to_csv(\"accuracy.csv\", index=False)" ] }, { "cell_type": "code", "execution_count": null, "id": "123a6112", "metadata": {}, "outputs": [], "source": [] } ], "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.8.8" } }, "nbformat": 4, "nbformat_minor": 5 }