{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# kneed -- knee detection in Python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the purposes of the walkthrough, import `DataGenerator` to create simulated datasets. \n", "In practice, the `KneeLocator` class will be used to identify the knee point." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "from kneed.data_generator import DataGenerator as dg\n", "from kneed.knee_locator import KneeLocator\n", "\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/kevin/projects/kneed/kneed/knee_locator.py:171: UserWarning: No knee/elbow found\n", " warnings.warn('No knee/elbow found')\n" ] } ], "source": [ "x = [3.07, 3.38, 3.55, 3.68, 3.78, 3.81, 3.85, 3.88, 3.9, 3.93]\n", "y = [0.0, 0.3, 0.47, 0.6, 0.69, 0.78, 0.845, 0.903, 0.95, 1.0]\n", "kl = KneeLocator(x, y, S=1.0, curve='convex', direction='increasing', interp_method='interp1d')" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.03488372, 0.05813953, 0.09302326, 0.13953488,\n", " 0.1744186 , 0.29069767, 0.44186047, 0.63953488, 1. ])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kl.x_normalized" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.1111111111111111" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.diff(kl.x_normalized).mean()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.09555555555555559" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.diff(x).mean()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "from scipy.signal import argrelextrema" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([5]),)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "argrelextrema(kl.y_difference, np.greater)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([], dtype=int64),)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "argrelextrema(kl.y_difference, np.less)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.1355814])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kl.y_difference_maxima" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(kl.x_normalized, kl.y_normalized);\n", "plt.plot(kl.x_difference, kl.y_difference);" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "np.random.seed(23) # only for the walkthrough" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "x,y = dg.noisy_gaussian(N=1000)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([24.14475503, 24.92443938, 24.93769683, 25.37559952, 25.45830214]),\n", " array([0. , 0.001, 0.002, 0.003, 0.004]))" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x[:5],y[:5]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The knee is located by passing `x` and `y` values to `knee_locator`. \n", "`S` is the sensitivity parameter \n", "`curve`='concave'" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "kneedle = KneeLocator(x, y, S=1.0, curve='concave', direction='increasing', interp_method='polynomial')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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bLA4G/Tt2zft+//+97/07t07rY7PyJEj2bNnz1kXYKUKpjLOwRRruBs5cqTXIRgPWYsggF555RXKlSvHP//5TzZs2JB2vFOnTkyePJkPPviASZMm0adPH+69916aNWvGwYMHqVatGhMnTiQxMZGWLVtSvXp1qlevzuLFi4FTyzinpKTQq1cvqlevTlRUFO+99x7g6sTUq1ePVq1acf3113PvvfemlWtYtmwZtWrVonLlysTGxnLgwIHT3ie9jz76KG0VcceOHU/6mVIVLlw4LYY6derQrFkzKlSowDPPPMPw4cPTrvNvKb355ptpr326ctrGmKwXmh/XPKhDvXz5ciZMmMDKlStJTk6matWqVKtW7aRrOnfuzKJFi2jatGlaxc3ChQunTd275557ePzxx/nnP//J9u3badSoEevWuRp8/mWcR44cSZEiRVi2bBnHjh2jdu3a3HbbbYCrzxMfH89VV11F7dq1Wbx4MbGxsbRt25aJEydSvXp19u/fT4ECBfjwww8zvI//xvDx8fH079+f7777jmLFip1Tyekff/yRNWvWUKZMGVasWEGPHj145BG3jGTSpEnMnj2bOXPmsGnTJn744QdUlWbNmvHtt99y8803n8dfigmULl26ANYyCFehmQg8sHDhQlq0aEHBggUBV3b5fM2dO/ekktL79+9P2zDGv4zznDlzWLVqVdon8n379rFp0yby5s1LbGxsWs2Y6Ohotm7dSpEiRbjyyiupXr06ABdffPEZ7+OfCL755htat25NsWLFgHMrOR0bG5t2jypVqvDnn3/y22+/kZiYSNGiRSlZsiSDBw9mzpw5VKlSBYCDBw+yadMmSwQe2bhxo9chGA+FZiII0tWRJ06cYOnSpeTPn/+Uc/5lnFWVoUOH0qhRo5OuWbBgwSmlsFMrhGbkdPc5F/4lp0+cOMHx48czjBWgdevWTJ48md9//z1t/wVVpXfv3nTtagvLjfGajREEyM0338zUqVM5cuQIBw4c4Isvzr9k0m233Za27SOcfrVno0aNePfdd0lKSgLcp7lDhw6d9r7ly5dn586dLFu2DIADBw6QnJx8TvepX78+n376Kbt37wYyLjk9ffr0tHtkpG3btkyYMIHJkyfTunXrtJ9h1KhRaS2eX3/9lT///PO09zDGZJ3QbBF4oGrVqrRt25bKlStz+eWXp3XDnI8h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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "kneedle.plot_knee_normalized()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "kneedle.plot_knee()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "61.79633224617477" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kneedle.knee" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are plotting functions to visualize the knee point on the raw data and the normalized data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Average Knee for NoisyGaussian from 50 random iterations" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "knees = []\n", "for i in range(50):\n", " x,y = dg.noisy_gaussian(N=1000)\n", " kneedle = KneeLocator(x, y, direction='increasing', curve='concave', interp_method='polynomial')\n", " knees.append(kneedle.knee)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "61.08842395242671" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.mean(knees)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Test all type of functions" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.arange(0,10)\n", "y_convex_inc = np.array([1,2,3,4,5,10,15,20,40,100])\n", "y_convex_dec = y_convex_inc[::-1]\n", "y_concave_dec = 100 - y_convex_inc\n", "y_concave_inc = 100 - y_convex_dec\n", "\n", "kn = KneeLocator(x, y_convex_inc, curve='convex')\n", "knee_yconvinc = kn.knee\n", "\n", "kn = KneeLocator(x, y_convex_dec, curve='convex', direction='decreasing')\n", "knee_yconvdec = kn.knee\n", "\n", "kn = KneeLocator(x, y_concave_inc, curve='concave')\n", "knee_yconcinc = kn.knee\n", "\n", "kn = KneeLocator(x, y_concave_dec, curve='concave', direction='decreasing')\n", "knee_yconcdec = kn.knee\n", "\n", "f, axes = plt.subplots(2, 2, figsize=(10,10));\n", "yconvinc = axes[0][0]\n", "yconvdec = axes[0][1]\n", "yconcinc = axes[1][0]\n", "yconcdec = axes[1][1]\n", "\n", "sns.lineplot(x, y_convex_inc, ax=axes[0][0])\n", "yconvinc.vlines(x=knee_yconvinc, ymin=0, ymax=100, linestyle='--')\n", "yconvinc.set_title(\"curve='convex', direction='increasing'\")\n", "\n", "sns.lineplot(x, y_convex_dec, ax=axes[0][1])\n", "yconvdec.vlines(x=knee_yconvdec, ymin=0, ymax=100, linestyle='--')\n", "yconvdec.set_title(\"curve='convex', direction='decreasing'\")\n", "\n", "sns.lineplot(x, y_concave_inc, ax=axes[1][0])\n", "yconcinc.vlines(x=knee_yconcinc, ymin=0, ymax=100, linestyle='--')\n", "yconcinc.set_title(\"curve='concave', direction='increasing'\")\n", "\n", "sns.lineplot(x, y_concave_dec, ax=axes[1][1])\n", "yconcdec.vlines(x=knee_yconcdec, ymin=0, ymax=100, linestyle='--')\n", "yconcdec.set_title(\"curve='concave', direction='decreasing'\");" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Polynomial line fit" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An example of a \"bumpy\" line where the traditional `interp1d` spline fitting method does not provide the best estimate for the point of maximum curvature. \n", "We demonstrate that setting the parameter `interp_method='polynomial'` will choose the right point by smoothing the line." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "x = list(range(90))\n", "y = [\n", " 7304.99, 6978.98, 6666.61, 6463.2, 6326.53, 6048.79, 6032.79, 5762.01, 5742.77,\n", " 5398.22, 5256.84, 5226.98, 5001.72, 4941.98, 4854.24, 4734.61, 4558.75, 4491.1,\n", " 4411.61, 4333.01, 4234.63, 4139.1, 4056.8, 4022.49, 3867.96, 3808.27, 3745.27,\n", " 3692.34, 3645.55, 3618.28, 3574.26, 3504.31, 3452.44, 3401.2, 3382.37, 3340.67,\n", " 3301.08, 3247.59, 3190.27, 3179.99, 3154.24, 3089.54, 3045.62, 2988.99, 2993.61,\n", " 2941.35, 2875.6, 2866.33, 2834.12, 2785.15, 2759.65, 2763.2, 2720.14, 2660.14,\n", " 2690.22, 2635.71, 2632.92, 2574.63, 2555.97, 2545.72, 2513.38, 2491.57, 2496.05,\n", " 2466.45, 2442.72, 2420.53, 2381.54, 2388.09, 2340.61, 2335.03, 2318.93, 2319.05,\n", " 2308.23, 2262.23, 2235.78, 2259.27, 2221.05, 2202.69, 2184.29, 2170.07, 2160.05,\n", " 2127.68, 2134.73, 2101.96, 2101.44, 2066.4, 2074.25, 2063.68, 2048.12, 2031.87\n", "]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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lStJSEhg5cqVFChQgKpVq3LPPfdQqFAhBg8ezKxZsyhSpAgvvvgir7zyCgMGDOCee+7hyy+/pHTp0owbN47HH3+cUaNGsXv3bvLly0fx4sVP2UJXF9/+Y+nSpfz8888ULlyY+vXr0759e0SE999/nyVLluCc48orr6RZs2Y0adKEl19+mXvvvZf4+Hj+/vtvjh07xrx582jatKnf378xZyolRZfOJybqx/r12gtl7lzYvDnzr8mbF6pVg0mTgtNWNrcI6YTulcTERDp37sznn39O9erVWblyJS1atKC47xZ79erV2bx5M/v27WP16tU0btwYgKSkJBo1asTatWv5+eefadWqFQApKSlp/U9mzpyZ1vf8VK1vq1SpckI8rVq1oqRvwmyXLl2YP38+IsJ1112XVtro0qUL8+bNo0+fPixfvpwDBw5QoEAB6tatS3x8PPPmzUsbueeEDRs2AHDZZZfl2Gsa7333nda4fZ0f0px/vs77vu8+nfud2nHknHM0kV96ae6YVhhsIZ3QsxpRFy5cOMvjpUqVOq0ReXrFixenQoUKzJ8/n+rVqwNk2tLWOUerVq0YM2bMCV//008/UaNGDRYtWnTStadPn84DDzwAnLr1bermEKkyjtgzPk4vX758VKpUidGjR3PVVVdRq1YtvvvuOzZs2JCjvVNSUlJy7LWM95KStKPg0KFQuTK89hpccIEm8nLldDZKFj+2JkCshp6J/Pnz88UXX/Dhhx/y6aefnvK8hg0bsmDBgrTR6F9//cW6deuoWrUqiYmJaQn92LFjrFq1CuccP/74I9HR0YD/LXS/+eYb/vzzT44cOcKkSZNo3LgxTZo0YdKkSRw+fJi//vqLL774giZNmgDQpEkThg4dStOmTWnSpAnvvPMOderUyfIXgTH+WrlSb1CWK6f9vTt10vr3Sy/B7bfrnPF774UePXTueOXKlsxzSkiP0L1UpEgRpk6dSqtWrdL24MyodOnSjB49mhtuuCFth57BgwdTpUoVJkyYwL333sv+/ftJTk6mX79+HDly5ITE6m8L3QYNGnD99dezdetWbr75ZmJitNFaXFwcDRo0SLtW6s5BTZo0YciQITRq1IgiRYpQsGDBtGRvzJlKTNRR+LvvatmkXTvti7J5Mxw/bvXvUJBt+9xgyY3tcwcPHsxll11Gz549vQ4l6FI32K5atWqm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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "kneedle = KneeLocator(x, y, S=1.0, curve='convex', direction='decreasing')\n", "kneedle.plot_knee_normalized()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "kneedle = KneeLocator(x, y, S=1.0, curve='convex', direction='decreasing', interp_method='polynomial')\n", "kneedle.plot_knee_normalized()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "kneed", "language": "python", "name": "kneed" }, "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.7.13" }, "pycharm": { "stem_cell": { "cell_type": "raw", "source": [], "metadata": { "collapsed": false } } } }, "nbformat": 4, "nbformat_minor": 2 }