diff --git a/notebooks/minimal-viable-alteration.ipynb b/notebooks/minimal-viable-alteration.ipynb index 15d8866..bd7d933 100644 --- a/notebooks/minimal-viable-alteration.ipynb +++ b/notebooks/minimal-viable-alteration.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 15, + "execution_count": 66, "metadata": { "collapsed": true }, @@ -17,7 +17,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 67, "outputs": [], "source": [ "def read_xy(path: str):\n", @@ -35,7 +35,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 68, "outputs": [], "source": [ "def read_all(load_dir: str):\n", @@ -48,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 69, "outputs": [ { "name": "stderr", @@ -63,7 +63,7 @@ "text/plain": " x y N r cr fd\n0 0 0 1 0.000000 0.000000 -0.000000\n1 -1 0 2 1.000000 1.000000 inf\n2 -2 0 3 2.000000 2.000000 1.584963\n3 1 0 4 1.000000 2.000000 2.000000\n4 -3 0 5 3.000000 3.000000 1.464974\n.. .. .. ... ... ... ...\n995 -18 -4 996 18.439089 54.120237 1.729739\n996 -47 -19 997 50.695167 54.120237 1.729990\n997 -3 20 998 20.223748 54.120237 1.730241\n998 -40 14 999 42.379240 54.120237 1.730492\n999 35 -3 1000 35.128336 54.120237 1.730743\n\n[1000 rows x 6 columns]", "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
xyNrcrfd
00010.0000000.000000-0.000000
1-1021.0000001.000000inf
2-2032.0000002.0000001.584963
31041.0000002.0000002.000000
4-3053.0000003.0000001.464974
.....................
995-18-499618.43908954.1202371.729739
996-47-1999750.69516754.1202371.729990
997-32099820.22374854.1202371.730241
998-401499942.37924054.1202371.730492
99935-3100035.12833654.1202371.730743
\n

1000 rows × 6 columns

\n
" }, - "execution_count": 24, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" } @@ -78,7 +78,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 70, "outputs": [ { "name": "stderr", @@ -296,7 +296,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 71, "outputs": [ { "data": { @@ -319,11 +319,11 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 120, "outputs": [], "source": [ "def convergent_tail_index(series, tol):\n", - " diffs = np.abs(np.ediff1d(a.fd))\n", + " diffs = np.abs(np.ediff1d(series))\n", " for i in range(0, len(diffs)):\n", " if np.max(diffs[i:]) <= tol:\n", " return i\n", @@ -337,12 +337,12 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 121, "outputs": [], "source": [ - "def compute_fd(df):\n", - " tail_index = convergent_tail_index(df.fd, 0.05)\n", - " return np.mean(a.fd[tail_index:])" + "def compute_fd(df, tol = 0.05):\n", + " tail_index = convergent_tail_index(df.fd, tol)\n", + " return np.mean(df.fd[tail_index:])" ], "metadata": { "collapsed": false @@ -350,36 +350,41 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 122, "outputs": [ { "data": { - "text/plain": "[]" + "text/plain": "[1.6972188780546005,\n 1.741736844787361,\n 1.732135584521786,\n 1.7152613146304656,\n 1.728836880434697,\n 1.7300514834031597,\n 1.748421194691431,\n 1.7287640430180986,\n 1.7123919318562837,\n 1.7739930888022366,\n 1.7584717697837762,\n 1.7009044749656368,\n 1.7316986067539795,\n 1.7397504422026655,\n 1.714607675170586,\n 1.7541336557600284,\n 1.6944449486837003,\n 1.7413017386225582,\n 1.7586824633086955,\n 1.7621333897577298,\n 1.731409604427308,\n 1.7040785354660994,\n 1.720970435833901,\n 1.7493817381438628,\n 1.7194584712458039,\n 1.7371705652881426,\n 1.7476735580577902,\n 1.7453410966666576,\n 1.7405812458466108,\n 1.7318723528446751,\n 1.7363887686944106,\n 1.7082895630235775,\n 1.7398588474316838,\n 1.7071844051847547,\n 1.730417361421785,\n 1.7562821657346117,\n 1.6970380009288513,\n 1.727847271689809,\n 1.7344987347694254,\n 1.6917005260543316,\n 1.736465228691966,\n 1.7463067343476375,\n 1.7327131263137254,\n 1.7320567534823674,\n 1.7119737361873444,\n 1.7157273693563924,\n 1.7290841054382464,\n 1.7647982477471926,\n 1.7562017718859915,\n 1.6950468500096474,\n 1.747725564486872,\n 1.7252896867263523,\n 1.7671445124216143,\n 1.7693744566230807,\n 1.7059184138844365,\n 1.7090900521487329,\n 1.7231096018794785,\n 1.7209694721543376,\n 1.7678252294196048,\n 1.7316721866238294,\n 1.7262902265337214,\n 1.7377991339529295,\n 1.770592027972686,\n 1.6973207132946366,\n 1.7180222330856505,\n 1.7350278763310734,\n 1.7371312165639443,\n 1.7199230950584823,\n 1.7102785432584966,\n 1.7244790713772096,\n 1.7351634054665168,\n 1.713486860504405,\n 1.7568987349317238,\n 1.7136332033996875,\n 1.7343403134354431,\n 1.7238926108882633,\n 1.7090981817183717,\n 1.703302194004836,\n 1.7446644371287279,\n 1.7379078424212124,\n 1.7644224392368066,\n 1.7411749383649393,\n 1.7387938040773043,\n 1.7587053030420463,\n 1.7723295858624455,\n 1.7207158077979385,\n 1.712275781859355,\n 1.684724599409851,\n 1.7184172924395567,\n 1.7291500326282283,\n 1.764249287056465,\n 1.6995609808553767,\n 1.7141798221829627,\n 1.7337439700388064,\n 1.7367204835781522,\n 1.7532684630386097,\n 1.722663761530065,\n 1.7281346013788716]" }, - "execution_count": 52, + "execution_count": 122, "metadata": {}, "output_type": "execute_result" - }, - { - "data": { - "text/plain": "
", - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAGdCAYAAADqsoKGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAnjklEQVR4nO3df3BV5YH/8c9NIBdYyI0JkB+QHwhFKAjNEo0Rq7JkhOhEskFcASGQqKtGVshINaJ0aeuGsk4L7lK72034MYVlywApdQtbiCWB3QCGmiKyBkNSA+SHSzS5JOCFkuf7h+P59hbQXAgJPL5fM2fGe85zzn3uMyN5z73nJi5jjBEAAMBNLqinJwAAANAViBoAAGAFogYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAVujV0xPoLh0dHaqvr9eAAQPkcrl6ejoAAKATjDE6c+aMYmJiFBT05e/FfG2ipr6+XrGxsT09DQAAcBVOnDihoUOHfumYr03UDBgwQNLnixIaGtrDswEAAJ3h9XoVGxvr/Bz/Ml+bqPniI6fQ0FCiBgCAm0xnbh3hRmEAAGAFogYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGAFogYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGAFogYAAFiBqAEAAFYgagAAgBWIGgAAYIWAo6asrEzp6emKiYmRy+VScXHxl46fN2+eXC7XJduYMWOcMQkJCZcdk5ub64y5//77Lzn+9NNPBzp9AABgqYCjpr29XePHj9fq1as7NX7VqlVqaGhwthMnTig8PFwzZsxwxrzzzjt+Y3bt2iVJfmMk6cknn/Qbt2LFikCnDwAALNUr0BPS0tKUlpbW6fEej0cej8d5XFxcrE8//VTz58939g0aNMjvnOXLl2v48OG67777/Pb369dPUVFRgU4ZAAB8DXT7PTWFhYVKTU1VfHz8ZY+fP39eP//5z5WdnS2Xy+V3bMOGDRo4cKDGjh2r/Px8nT17tjumDAAAbgIBv1NzLerr67Vjxw5t3LjximOKi4vV0tKiefPm+e2fNWuW4uPjFRMTo8OHD+vFF19UVVWVtm7detnr+Hw++Xw+57HX6+2S1wAAAG5M3Ro169atU1hYmDIyMq44prCwUGlpaYqJifHb/9RTTzn/ffvttys6OlqTJ0/W8ePHNXz48EuuU1BQoGXLlnXZ3AEAwI2t2z5+MsaoqKhIc+bMUUhIyGXHfPTRR9q9e7eeeOKJr7xecnKyJKm6uvqyx/Pz89Xa2upsJ06cuPrJAwCAG163vVNTWlqq6upq5eTkXHHMmjVrNHjwYD300ENfeb3KykpJUnR09GWPu91uud3uq5orAAC4+QQcNW1tbX7vjtTW1qqyslLh4eGKi4tTfn6+Tp06pfXr1/udV1hYqOTkZI0dO/ay1+3o6NCaNWuUlZWlXr38p3X8+HFt3LhRDz74oCIiInT48GEtWrRI9957r8aNGxfoSwAAABYKOGoqKio0adIk53FeXp4kKSsrS2vXrlVDQ4Pq6ur8zmltbdWWLVu0atWqK1539+7dqqurU3Z29iXHQkJCtHv3bq1cuVLt7e2KjY3V9OnT9corrwQ6fQAAYCmXMcb09CS6g9frlcfjUWtrq0JDQ3t6OgAAoBMC+fnN334CAABWIGoAAIAViBoAAGAFogYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGAFogYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGAFogYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGCFgKOmrKxM6enpiomJkcvlUnFx8ZeOnzdvnlwu1yXbmDFjnDF///d/f8nxUaNG+V3ns88+U25uriIiItS/f39Nnz5dTU1NgU4fAABYKuCoaW9v1/jx47V69epOjV+1apUaGhqc7cSJEwoPD9eMGTP8xo0ZM8Zv3L59+/yOL1q0SL/61a+0efNmlZaWqr6+XpmZmYFOHwAAWKpXoCekpaUpLS2t0+M9Ho88Ho/zuLi4WJ9++qnmz5/vP5FevRQVFXXZa7S2tqqwsFAbN27UX/3VX0mS1qxZo9GjR2v//v266667An0ZAADAMt1+T01hYaFSU1MVHx/vt//DDz9UTEyMbr31Vs2ePVt1dXXOsUOHDunChQtKTU119o0aNUpxcXEqLy+/7PP4fD55vV6/DQAA2Ktbo6a+vl47duzQE0884bc/OTlZa9eu1c6dO/Xmm2+qtrZW3/72t3XmzBlJUmNjo0JCQhQWFuZ3XmRkpBobGy/7XAUFBc67RB6PR7GxsdflNQEAgBtDt0bNunXrFBYWpoyMDL/9aWlpmjFjhsaNG6cpU6bo17/+tVpaWvSLX/ziqp8rPz9fra2tznbixIlrnD0AALiRBXxPzdUyxqioqEhz5sxRSEjIl44NCwvTyJEjVV1dLUmKiorS+fPn1dLS4vduTVNT0xXvw3G73XK73V02fwAAcGPrtndqSktLVV1drZycnK8c29bWpuPHjys6OlqSNGHCBPXu3VslJSXOmKqqKtXV1SklJeW6zRkAANw8An6npq2tzXkHRZJqa2tVWVmp8PBwxcXFKT8/X6dOndL69ev9zissLFRycrLGjh17yTVfeOEFpaenKz4+XvX19frud7+r4OBgzZw5U9Ln36DKyclRXl6ewsPDFRoaqgULFiglJYVvPgEAAElXETUVFRWaNGmS8zgvL0+SlJWVpbVr16qhocHvm0vS51/J3rJli1atWnXZa548eVIzZ85Uc3OzBg0apHvuuUf79+/XoEGDnDE//vGPFRQUpOnTp8vn82nKlCn6yU9+Euj0AQCApVzGGNPTk+gOXq9XHo9Hra2tCg0N7enpAACATgjk5zd/+wkAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGAFogYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGAFogYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGAFogYAAFiBqAEAAFYIOGrKysqUnp6umJgYuVwuFRcXf+n4efPmyeVyXbKNGTPGGVNQUKA77rhDAwYM0ODBg5WRkaGqqiq/69x///2XXOPpp58OdPoAAMBSAUdNe3u7xo8fr9WrV3dq/KpVq9TQ0OBsJ06cUHh4uGbMmOGMKS0tVW5urvbv369du3bpwoULeuCBB9Te3u53rSeffNLvWitWrAh0+gAAwFK9Aj0hLS1NaWlpnR7v8Xjk8Xicx8XFxfr00081f/58Z9/OnTv9zlm7dq0GDx6sQ4cO6d5773X29+vXT1FRUYFOGQAAfA10+z01hYWFSk1NVXx8/BXHtLa2SpLCw8P99m/YsEEDBw7U2LFjlZ+fr7Nnz17xGj6fT16v128DAAD2CvidmmtRX1+vHTt2aOPGjVcc09HRoYULF2rixIkaO3ass3/WrFmKj49XTEyMDh8+rBdffFFVVVXaunXrZa9TUFCgZcuWdflrAAAAN6ZujZp169YpLCxMGRkZVxyTm5urI0eOaN++fX77n3rqKee/b7/9dkVHR2vy5Mk6fvy4hg8ffsl18vPzlZeX5zz2er2KjY299hcBAABuSN0WNcYYFRUVac6cOQoJCbnsmOeee05vvfWWysrKNHTo0C+9XnJysiSpurr6slHjdrvldruvfeIAAOCm0G1RU1paqurqauXk5FxyzBijBQsWaNu2bdqzZ4+GDRv2lderrKyUJEVHR3f1VAEAwE0o4Khpa2tTdXW187i2tlaVlZUKDw9XXFyc8vPzderUKa1fv97vvMLCQiUnJ/vdJ/OF3Nxcbdy4Ub/85S81YMAANTY2Svr8m1N9+/bV8ePHtXHjRj344IOKiIjQ4cOHtWjRIt17770aN25coC8BAABYKOCoqaio0KRJk5zHX9y3kpWVpbVr16qhoUF1dXV+57S2tmrLli1atWrVZa/55ptvSvr8F+z9qTVr1mjevHkKCQnR7t27tXLlSrW3tys2NlbTp0/XK6+8Euj0AQCApVzGGNPTk+gOXq9XHo9Hra2tCg0N7enpAACATgjk5zd/+wkAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGAFogYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGAFogYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGAFogYAAFiBqAEAAFYgagAAgBUCjpqysjKlp6crJiZGLpdLxcXFXzp+3rx5crlcl2xjxozxG7d69WolJCSoT58+Sk5O1sGDB/2Of/bZZ8rNzVVERIT69++v6dOnq6mpKdDpAwAAS/UK9IT29naNHz9e2dnZyszM/Mrxq1at0vLly53Hf/zjHzV+/HjNmDHD2fcf//EfysvL009/+lMlJydr5cqVmjJliqqqqjR48GBJ0qJFi/Sf//mf2rx5szwej5577jllZmbqv//7vwN9CV3KGKNzFy726BwAALhR9O0dLJfL1SPP7TLGmKs+2eXStm3blJGR0elziouLlZmZqdraWsXHx0uSkpOTdccdd+if//mfJUkdHR2KjY3VggUL9NJLL6m1tVWDBg3Sxo0b9cgjj0iSPvjgA40ePVrl5eW66667vvJ5vV6vPB6PWltbFRoaGviLvYKz5/+oby79ry67HgAAN7Oj35uifiEBv2dyRYH8/O72e2oKCwuVmprqBM358+d16NAhpaam/v9JBQUpNTVV5eXlkqRDhw7pwoULfmNGjRqluLg4Z8yf8/l88nq9fhsAALBX16VUJ9TX12vHjh3auHGjs+/06dO6ePGiIiMj/cZGRkbqgw8+kCQ1NjYqJCREYWFhl4xpbGy87HMVFBRo2bJlXfsCLqNv72Ad/d6U6/48AADcDPr2Du6x5+7WqFm3bp3CwsIC+rjqauXn5ysvL8957PV6FRsb2+XP43K5uvRtNgAAcHW67aexMUZFRUWaM2eOQkJCnP0DBw5UcHDwJd9kampqUlRUlCQpKipK58+fV0tLi9+7NX865s+53W653e6ufyEAAOCG1G331JSWlqq6ulo5OTl++0NCQjRhwgSVlJQ4+zo6OlRSUqKUlBRJ0oQJE9S7d2+/MVVVVaqrq3PGAACAr7eA36lpa2tTdXW187i2tlaVlZUKDw9XXFyc8vPzderUKa1fv97vvMLCQiUnJ2vs2LGXXDMvL09ZWVlKSkrSnXfeqZUrV6q9vV3z58+XJHk8HuXk5CgvL0/h4eEKDQ3VggULlJKS0qlvPgEAAPsFHDUVFRWaNGmS8/iL+1aysrK0du1aNTQ0qK6uzu+c1tZWbdmyRatWrbrsNf/mb/5G//d//6elS5eqsbFR3/rWt7Rz506/m4d//OMfKygoSNOnT5fP59OUKVP0k5/8JNDpAwAAS13T76m5mVyv31MDAACunxv699QAAABcD0QNAACwAlEDAACsQNQAAAArEDUAAMAKRA0AALACUQMAAKxA1AAAACsQNQAAwApEDQAAsAJRAwAArEDUAAAAKxA1AADACkQNAACwAlEDAACsQNQAAAArEDUAAMAKRA0AALACUQMAAKxA1AAAACsQNQAAwApEDQAAsAJRAwAArEDUAAAAKxA1AADACkQNAACwAlEDAACsQNQAAAArEDUAAMAKRA0AALACUQMAAKxA1AAAACsQNQAAwApEDQAAsAJRAwAArEDUAAAAKxA1AADACkQNAACwQsBRU1ZWpvT0dMXExMjlcqm4uPgrz/H5fFqyZIni4+PldruVkJCgoqIi5/j9998vl8t1yfbQQw85Y+bNm3fJ8alTpwY6fQAAYKlegZ7Q3t6u8ePHKzs7W5mZmZ0659FHH1VTU5MKCws1YsQINTQ0qKOjwzm+detWnT9/3nnc3Nys8ePHa8aMGX7XmTp1qtasWeM8drvdgU4fAABYKuCoSUtLU1paWqfH79y5U6WlpaqpqVF4eLgkKSEhwW/MF/u/sGnTJvXr1++SqHG73YqKigp0ygAA4Gvgut9Ts337diUlJWnFihUaMmSIRo4cqRdeeEHnzp274jmFhYV67LHH9Bd/8Rd++/fs2aPBgwfrtttu0zPPPKPm5uYrXsPn88nr9fptAADAXgG/UxOompoa7du3T3369NG2bdt0+vRpPfvss2pubvb7KOkLBw8e1JEjR1RYWOi3f+rUqcrMzNSwYcN0/Phxvfzyy0pLS1N5ebmCg4MvuU5BQYGWLVt23V4XAAC4sbiMMeaqT3a5tG3bNmVkZFxxzAMPPKC9e/eqsbFRHo9H0uf30DzyyCNqb29X3759/cb/7d/+rcrLy3X48OEvfe6amhoNHz5cu3fv1uTJky857vP55PP5nMder1exsbFqbW1VaGhoAK8SAAD0FK/XK4/H06mf39f946fo6GgNGTLECRpJGj16tIwxOnnypN/Y9vZ2bdq0STk5OV953VtvvVUDBw5UdXX1ZY+73W6Fhob6bQAAwF7XPWomTpyo+vp6tbW1OfuOHTumoKAgDR061G/s5s2b5fP59Pjjj3/ldU+ePKnm5mZFR0d3+ZwBAMDNJ+CoaWtrU2VlpSorKyVJtbW1qqysVF1dnSQpPz9fc+fOdcbPmjVLERERmj9/vo4ePaqysjItXrxY2dnZl3z0VFhYqIyMDEVERFzynIsXL9b+/fv1hz/8QSUlJZo2bZpGjBihKVOmBPoSAACAhQKOmoqKCiUmJioxMVGSlJeXp8TERC1dulSS1NDQ4ASOJPXv31+7du1SS0uLkpKSNHv2bKWnp+uNN97wu25VVZX27dt32Y+egoODdfjwYT388MMaOXKkcnJyNGHCBO3du5ffVQMAACRd443CN5NAbjQCAAA3hhvqRmEAAIDuQNQAAAArEDUAAMAKRA0AALACUQMAAKxA1AAAACsQNQAAwApEDQAAsAJRAwAArEDUAAAAKxA1AADACkQNAACwAlEDAACsQNQAAAArEDUAAMAKRA0AALACUQMAAKxA1AAAACsQNQAAwApEDQAAsAJRAwAArEDUAAAAKxA1AADACkQNAACwAlEDAACsQNQAAAArEDUAAMAKRA0AALACUQMAAKxA1AAAACsQNQAAwApEDQAAsAJRAwAArEDUAAAAKxA1AADACkQNAACwAlEDAACsQNQAAAArBBw1ZWVlSk9PV0xMjFwul4qLi7/yHJ/PpyVLlig+Pl5ut1sJCQkqKipyjq9du1Yul8tv69Onj981jDFaunSpoqOj1bdvX6WmpurDDz8MdPoAAMBSvQI9ob29XePHj1d2drYyMzM7dc6jjz6qpqYmFRYWasSIEWpoaFBHR4ffmNDQUFVVVTmPXS6X3/EVK1bojTfe0Lp16zRs2DC9+uqrmjJlio4ePXpJAAEAgK+fgKMmLS1NaWlpnR6/c+dOlZaWqqamRuHh4ZKkhISES8a5XC5FRUVd9hrGGK1cuVKvvPKKpk2bJklav369IiMjVVxcrMceeyzQlwEAACxz3e+p2b59u5KSkrRixQoNGTJEI0eO1AsvvKBz5875jWtra1N8fLxiY2M1bdo0vf/++86x2tpaNTY2KjU11dnn8XiUnJys8vLy6/0SAADATSDgd2oCVVNTo3379qlPnz7atm2bTp8+rWeffVbNzc1as2aNJOm2225TUVGRxo0bp9bWVr3++uu6++679f7772vo0KFqbGyUJEVGRvpdOzIy0jn253w+n3w+n/PY6/Vep1cIAABuBNf9nZqOjg65XC5t2LBBd955px588EH96Ec/0rp165x3a1JSUjR37lx961vf0n333aetW7dq0KBB+pd/+Zerft6CggJ5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z5eOcZnOpI8FOjo6VF9frwEDBsjlcnXptb1er2JjY3XixAmFhoZ26bXhj7XuPqx192Gtuw9r3X26aq2NMTpz5oxiYmIUFPTld818bd6pCQoK0tChQ6/rc4SGhvI/STdhrbsPa919WOvuw1p3n65Y6696h+YL3CgMAACsQNQAAAArEDVdwO1267vf/a7cbndPT8V6rHX3Ya27D2vdfVjr7tMTa/21uVEYAADYjXdqAACAFYgaAABgBaIGAABYgagBAABWIGqu0erVq5WQkKA+ffooOTlZBw8e7Okp3fQKCgp0xx13aMCAARo8eLAyMjJUVVXlN+azzz5Tbm6uIiIi1L9/f02fPl1NTU09NGN7LF++XC6XSwsXLnT2sdZd59SpU3r88ccVERGhvn376vbbb1dFRYVz3BijpUuXKjo6Wn379lVqaqo+/PDDHpzxzenixYt69dVXNWzYMPXt21fDhw/X97//fb+/HcRaX72ysjKlp6crJiZGLpdLxcXFfsc7s7affPKJZs+erdDQUIWFhSknJ0dtbW3XPjmDq7Zp0yYTEhJiioqKzPvvv2+efPJJExYWZpqamnp6aje1KVOmmDVr1pgjR46YyspK8+CDD5q4uDjT1tbmjHn66adNbGysKSkpMRUVFeauu+4yd999dw/O+uZ38OBBk5CQYMaNG2eef/55Zz9r3TU++eQTEx8fb+bNm2cOHDhgampqzH/913+Z6upqZ8zy5cuNx+MxxcXF5ve//715+OGHzbBhw8y5c+d6cOY3n9dee81ERESYt956y9TW1prNmzeb/v37m1WrVjljWOur9+tf/9osWbLEbN261Ugy27Zt8zvembWdOnWqGT9+vNm/f7/Zu3evGTFihJk5c+Y1z42ouQZ33nmnyc3NdR5fvHjRxMTEmIKCgh6clX0+/vhjI8mUlpYaY4xpaWkxvXv3Nps3b3bG/O///q+RZMrLy3tqmje1M2fOmG984xtm165d5r777nOihrXuOi+++KK55557rni8o6PDREVFmX/8x3909rW0tBi3223+/d//vTumaI2HHnrIZGdn++3LzMw0s2fPNsaw1l3pz6OmM2t79OhRI8m88847zpgdO3YYl8tlTp06dU3z4eOnq3T+/HkdOnRIqampzr6goCClpqaqvLy8B2dmn9bWVklSeHi4JOnQoUO6cOGC39qPGjVKcXFxrP1Vys3N1UMPPeS3phJr3ZW2b9+upKQkzZgxQ4MHD1ZiYqJ+9rOfOcdra2vV2Njot9Yej0fJycmsdYDuvvtulZSU6NixY5Kk3//+99q3b5/S0tIksdbXU2fWtry8XGFhYUpKSnLGpKamKigoSAcOHLim5//a/EHLrnb69GldvHhRkZGRfvsjIyP1wQcf9NCs7NPR0aGFCxdq4sSJGjt2rCSpsbFRISEhCgsL8xsbGRmpxsbGHpjlzW3Tpk363e9+p3feeeeSY6x116mpqdGbb76pvLw8vfzyy3rnnXf0d3/3dwoJCVFWVpaznpf7N4W1DsxLL70kr9erUaNGKTg4WBcvXtRrr72m2bNnSxJrfR11Zm0bGxs1ePBgv+O9evVSeHj4Na8/UYMbWm5uro4cOaJ9+/b19FSsdOLECT3//PPatWuX+vTp09PTsVpHR4eSkpL0D//wD5KkxMREHTlyRD/96U+VlZXVw7Ozyy9+8Qtt2LBBGzdu1JgxY1RZWamFCxcqJiaGtbYcHz9dpYEDByo4OPiSb4E0NTUpKiqqh2Zll+eee05vvfWWfvvb32ro0KHO/qioKJ0/f14tLS1+41n7wB06dEgff/yx/vIv/1K9evVSr169VFpaqjfeeEO9evVSZGQka91FoqOj9c1vftNv3+jRo1VXVydJznryb8q1W7x4sV566SU99thjuv322zVnzhwtWrRIBQUFkljr66kzaxsVFaWPP/7Y7/gf//hHffLJJ9e8/kTNVQoJCdGECRNUUlLi7Ovo6FBJSYlSUlJ6cGY3P2OMnnvuOW3btk1vv/22hg0b5nd8woQJ6t27t9/aV1VVqa6ujrUP0OTJk/Xee++psrLS2ZKSkjR79mznv1nrrjFx4sRLfjXBsWPHFB8fL0kaNmyYoqKi/Nba6/XqwIEDrHWAzp49q6Ag/x9vwcHB6ujokMRaX0+dWduUlBS1tLTo0KFDzpi3335bHR0dSk5OvrYJXNNtxl9zmzZtMm6326xdu9YcPXrUPPXUUyYsLMw0Njb29NRuas8884zxeDxmz549pqGhwdnOnj3rjHn66adNXFycefvtt01FRYVJSUkxKSkpPThre/zpt5+MYa27ysGDB02vXr3Ma6+9Zj788EOzYcMG069fP/Pzn//cGbN8+XITFhZmfvnLX5rDhw+badOm8TXjq5CVlWWGDBnifKV769atZuDAgeY73/mOM4a1vnpnzpwx7777rnn33XeNJPOjH/3IvPvuu+ajjz4yxnRubadOnWoSExPNgQMHzL59+8w3vvENvtJ9I/inf/onExcXZ0JCQsydd95p9u/f39NTuulJuuy2Zs0aZ8y5c+fMs88+a2655RbTr18/89d//demoaGh5yZtkT+PGta66/zqV78yY8eONW6324waNcr867/+q9/xjo4O8+qrr5rIyEjjdrvN5MmTTVVVVQ/N9ubl9XrN888/b+Li4kyfPn3MrbfeapYsWWJ8Pp8zhrW+er/97W8v+290VlaWMaZza9vc3Gxmzpxp+vfvb0JDQ838+fPNmTNnrnluLmP+5FcsAgAA3KS4pwYAAFiBqAEAAFYgagAAgBWIGgAAYAWiBgAAWIGoAQAAViBqAACAFYgaAABgBaIGAABYgagBAABWIGoAAIAViBoAAGCF/wdjg/woHIa15gAAAABJRU5ErkJggg==" - }, - "metadata": {}, - "output_type": "display_data" } ], "source": [ - "plt.plot([compute_fd(df) for df in dfs])" + "fds = [compute_fd(df, 0.001) for df in dfs]\n", + "fds_clean = [f for f in fds if f < np.inf]\n", + "fds_clean" ], "metadata": { "collapsed": false } }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 124, + "outputs": [ + { + "data": { + "text/plain": "(1.7311567309540636, 0.020648406595153657)" + }, + "execution_count": 124, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "Interesting that this produces the same value, I suppose we have convergence to the accuracy of a double?" + "np.mean(fds_clean), np.std(fds_clean)" ], "metadata": { "collapsed": false