{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## MVA 2018-19" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To download this notebook or its pdf version:\n", "\n", "http://geometrica.saclay.inria.fr/team/Fred.Chazal/MVA2018.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Documentation for the latest version of Gudhi: \n", "\n", "http://gudhi.gforge.inria.fr/python/latest/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Sensor data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Download the data at the following address: http://geometrica.saclay.inria.fr/team/Fred.Chazal/slides/data_acc.dat, save it as a file named [data_acc.dat](http://geometrica.saclay.inria.fr/team/Fred.Chazal/slides/data_acc.dat), and load it using the pickle module:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pickle as pickle\n", "import gudhi as gd\n", "import matplotlib.pyplot as plt\n", "from mpl_toolkits.mplot3d import Axes3D\n", "from sklearn import manifold\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.metrics import confusion_matrix\n", "from sklearn.cluster import KMeans\n", "\n", "f = open(\"data_acc.dat\",\"rb\")\n", "data = pickle.load(f,encoding=\"latin1\")\n", "f.close()\n", "data_A = data[0]\n", "data_B = data[1]\n", "data_C = data[2]\n", "label = data[3]\n", "\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The walk of 3 persons A, B and C has been recorded using the accelerometer sensor of a smartphone in their pocket, giving rise to 3 multivariate time series in $\\mathbb{R}^3$: each time series represents the 3 coordinates of the acceleration of the corresponding person in a coordinate system attached to the sensor (take care that, as the smartphone was carried in a possibly different position for each person, these time series cannot be compared coordinates by coordinates). Using a sliding window, each series has been split in a list of 100 time series made of 200 consecutive points, that are now stored in data_A, data_B and data_C." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Plot a few of the time series to get an idea of the corresponding point clouds in $\\mathbb{R}^3$. For example:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data_A_sample = data_A[0]\n", "plt.gca(projection='3d')\n", "plt.plot(data_A_sample [:,0],data_A_sample [:,1],data_A_sample [:,2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Compute and plot the persistence diagrams of the Vietoris-Rips and the alpha-complex filtrations, for a few examples of the time series." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Compute the 0-dimensional and 1-dimensional persistence diagrams (α-shape or Rips-Vietoris filtration) of all the time series. Compute the matrix of pairwise distances between the diagrams (as this may take a while, you can just select a subset of all the diagrams where each of the 3 classes A, B and C are represented). Visualize the pairwise distances via Multidimensional Scaling (use a different color for each class). You can use sklearn for that:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'B1' is not defined", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;31m#label_color contains the colors corresponding to the class of each dgm\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0mmds\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmanifold\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mMDS\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mn_components\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m3\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmax_iter\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m3000\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0meps\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m1e-9\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdissimilarity\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"precomputed\"\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mn_jobs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m \u001b[0mpos1\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmds\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mB1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0membedding_\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 5\u001b[0m \u001b[0mfig\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[0max\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mfig\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madd_subplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m111\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mprojection\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'3d'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mNameError\u001b[0m: name 'B1' is not defined" ] } ], "source": [ "# B is the pairwise distance matrix between 0 or 1-dim dgms\n", "#label_color contains the colors corresponding to the class of each dgm\n", "mds = manifold.MDS(n_components=3, max_iter=3000, eps=1e-9, dissimilarity=\"precomputed\", n_jobs=1)\n", "pos1 = mds.fit(B1).embedding_\n", "fig = plt.figure()\n", "ax = fig.add_subplot(111, projection='3d')\n", "ax.scatter(pos1[:,0], pos1[:, 1], pos1[:,2], marker = 'o', color=label_color)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Use the function below to embed the data in dimension 3×3 = 9 with a delay equal to 2 (time-delay embedding) and do the same experiments as previously, using the Vietoris-Rips filtration this time." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def sliding_window_data(x,edim,delay=1):\n", " \"\"\"time delay embedding of a d-dim times series into R^{d*edim}\n", " the time series is assumed to be periodic\n", " parameters:\n", " + x: a list of d lists of same length L or a dxL numpy array\n", " + edim: the number of points taken to build the embedding in R^{d*edim}\n", " + delay: embeeding given by (x[i],x[i+delay],...,x[i + (edim-1)*delay])\n", " Default value for delay is 1\n", " \"\"\"\n", " ts = np.asarray(x)\n", " if len(np.shape(ts)) == 1:\n", " ts = np.reshape(ts,(1,ts.shape[0]))\n", " ts_d = ts.shape[0]\n", " ts_length = ts.shape[1]\n", " #output = zeros((edim*ts_d,nb_pt))\n", " output = ts\n", " for i in range(edim-1):\n", " output = np.concatenate((output,np.roll(ts,-(i+1)*delay,axis=1)),axis=0)\n", " return output" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Persistence landscapes" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Landscape construction is currently only available in the C++ version of Gudhi. Here is a simple python implementation you can use for this class." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def landscapes_approx(diag,p_dim,x_min,x_max,nb_nodes,nb_ld):\n", " \"\"\"Compute a dicretization of the first nb_ld landscape of a \n", " p_dim-dimensional persistence diagram on a regular grid on the \n", " interval [x_min,x_max]. The output is a nb_ld x nb_nodes numpy\n", " array\n", " + diag: a persistence diagram (in the Gudhi format)\n", " + p_dim: the dimension in homology to consider\n", " \"\"\"\n", " landscape = np.zeros((nb_ld,nb_nodes))\n", " diag_dim = []\n", " for pair in diag: #get persistence points for homology in dimension dim\n", " if (pair[0] == p_dim):\n", " diag_dim.append(pair[1])\n", "\n", " step = (x_max - x_min) / (nb_nodes - 1)\n", " #Warning: naive and not the most efficient way to proceed!!!!!\n", " for i in range(nb_nodes):\n", " x = x_min + i * step\n", " t = x / np.sqrt(2)\n", " event_list = []\n", " for pair in diag_dim:\n", " b = pair[0]\n", " d = pair[1]\n", " if b <= t <= d:\n", " if t >= (d+b)/2:\n", " event_list.append((d-t)*np.sqrt(2))\n", " else:\n", " event_list.append((t-b)*np.sqrt(2))\n", " event_list.sort(reverse=True)\n", " event_list = np.asarray(event_list)\n", " for j in range(nb_ld):\n", " if(j z) \\leq \\alpha\\bigr\\}$\n", "1. Set $\\ell_n(t) = \\overline{\\lambda}_n(t) - \\frac{\\tilde Z(\\alpha)}{\\sqrt{n}}$ and $u_n(t) = \\overline{\\lambda}_n(t) + \\frac{\\tilde Z(\\alpha)}{\\sqrt{n}}$\n", "1. Return $\\ell_n(t), u_n(t)$" ] } ], "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.6.3" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": false, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }