{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Time Series Encoder-Decoder" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Loading required package: daltoolbox\n", "\n", "Registered S3 method overwritten by 'quantmod':\n", " method from\n", " as.zoo.data.frame zoo \n", "\n", "\n", "Attaching package: ‘daltoolbox’\n", "\n", "\n", "The following object is masked from ‘package:base’:\n", "\n", " transform\n", "\n", "\n" ] } ], "source": [ "# DAL ToolBox\n", "# version 1.01.727\n", "\n", "source(\"https://raw.githubusercontent.com/cefet-rj-dal/daltoolbox/main/jupyter.R\")\n", "\n", "#loading DAL\n", "load_library(\"daltoolbox\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Series for studying" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "data(sin_data)\n", "sin_data$y[39] <- sin_data$y[39]*6" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\n", "
A matrix: 3 × 5 of type dbl
t4t3t2t1t0
0.00000000.24740400.47942550.68163880.8414710
0.24740400.47942550.68163880.84147100.9489846
0.47942550.68163880.84147100.94898460.9974950
\n" ], "text/latex": [ "A matrix: 3 × 5 of type dbl\n", "\\begin{tabular}{lllll}\n", " t4 & t3 & t2 & t1 & t0\\\\\n", "\\hline\n", "\t 0.0000000 & 0.2474040 & 0.4794255 & 0.6816388 & 0.8414710\\\\\n", "\t 0.2474040 & 0.4794255 & 0.6816388 & 0.8414710 & 0.9489846\\\\\n", "\t 0.4794255 & 0.6816388 & 0.8414710 & 0.9489846 & 0.9974950\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "A matrix: 3 × 5 of type dbl\n", "\n", "| t4 | t3 | t2 | t1 | t0 |\n", "|---|---|---|---|---|\n", "| 0.0000000 | 0.2474040 | 0.4794255 | 0.6816388 | 0.8414710 |\n", "| 0.2474040 | 0.4794255 | 0.6816388 | 0.8414710 | 0.9489846 |\n", "| 0.4794255 | 0.6816388 | 0.8414710 | 0.9489846 | 0.9974950 |\n", "\n" ], "text/plain": [ " t4 t3 t2 t1 t0 \n", "[1,] 0.0000000 0.2474040 0.4794255 0.6816388 0.8414710\n", "[2,] 0.2474040 0.4794255 0.6816388 0.8414710 0.9489846\n", "[3,] 0.4794255 0.6816388 0.8414710 0.9489846 0.9974950" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sw_size <- 5\n", "ts <- ts_data(sin_data$y, sw_size)\n", "ts_head(ts, 3)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAADAFBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OU\nlJSVlZWWlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWm\npqanp6eoqKipqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4\nuLi5ubm6urq7u7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnK\nysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc\n3Nzd3d3e3t7f39/g4ODh4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u\n7u7v7+/w8PDx8fHy8vLz8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7////i\nsF19AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nO3deYCN1RsH8OfObt/X0KpISpFK\nKZRSes1IUpYhEUokWRMiS+VnDZVkJ6WSSmVpVbIWIlv2rMk6xmz3/mbee2fmznLnbs85zznv\n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\nRK5CYII=", "text/plain": [ "plot without title" ] }, "metadata": { "image/png": { "height": 420, "width": 420 } }, "output_type": "display_data" } ], "source": [ "library(ggplot2)\n", "plot_ts(x=sin_data$x, y=sin_data$y) + theme(text = element_text(size=16))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### data sampling" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "samp <- ts_sample(ts, test_size = 5)\n", "train <- as.data.frame(samp$train)\n", "test <- as.data.frame(samp$test)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Model training" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "auto <- autoenc_encode_decode(5, 3)\n", "auto <- fit(auto, train)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Evaluation of encoding" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " t4 t3 t2 t1 t0\n", "1 0.0000000 0.2474040 0.4794255 0.6816388 0.8414710\n", "2 0.2474040 0.4794255 0.6816388 0.8414710 0.9489846\n", "3 0.4794255 0.6816388 0.8414710 0.9489846 0.9974950\n", "4 0.6816388 0.8414710 0.9489846 0.9974950 0.9839859\n", "5 0.8414710 0.9489846 0.9974950 0.9839859 0.9092974\n", "6 0.9489846 0.9974950 0.9839859 0.9092974 0.7780732\n", " [,1] [,2] [,3] [,4] [,5]\n", "[1,] -0.004191756 0.2462921 0.4814242 0.6770536 0.8459271\n", "[2,] 0.248961478 0.4771790 0.6811147 0.8404140 0.9493391\n", "[3,] 0.481032491 0.6820769 0.8419251 0.9513780 0.9946754\n", "[4,] 0.681217909 0.8471168 0.9524983 1.0001717 0.9831275\n", "[5,] 0.836946726 0.9465855 0.9962497 0.9818403 0.9088043\n", "[6,] 0.950629234 0.9961782 0.9842113 0.9097705 0.7801622\n" ] } ], "source": [ "print(head(train))\n", "result <- transform(auto, train)\n", "print(head(result))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Encoding of test" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " t4 t3 t2 t1 t0\n", "1 0.9893582 0.9226042 0.7984871 0.6247240 0.4121185\n", "2 0.9226042 0.7984871 0.6247240 0.4121185 0.1738895\n", "3 0.7984871 0.6247240 0.4121185 0.1738895 -0.4509067\n", "4 0.6247240 0.4121185 0.1738895 -0.4509067 -0.3195192\n", "5 0.4121185 0.1738895 -0.4509067 -0.3195192 -0.5440211\n", " [,1] [,2] [,3] [,4] [,5]\n", "[1,] 0.9789732 0.91938663 0.79106337 0.61892200 0.4130753\n", "[2,] 0.9214174 0.80100203 0.63157320 0.41815925 0.1717837\n", "[3,] 0.8788599 0.65549433 0.32314265 0.01232578 -0.3259693\n", "[4,] 0.5911755 0.33225980 0.09802489 -0.17992663 -0.4334857\n", "[5,] 0.3195642 0.06253581 -0.22450969 -0.47189766 -0.6820623\n" ] } ], "source": [ "print(head(test))\n", "result <- transform(auto, test)\n", "print(head(result))\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "4.4.2" } }, "nbformat": 4, "nbformat_minor": 4 }