{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "Collapsed": "false", "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "# import some basic libraries\n", "import numpy as np\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "# 5. Additional Statistics Functions\n", "\n", "`pymer4` also comes with some flexible routines for various statistical operations such as permutation testing, bootstrapping of arbitrary functions and equivalence testing. Here are a few examples:\n" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "Permutation Tests\n", "-----------------\n", "`pymer4` can compute a wide variety of one and two-sample permutation tests including mean differences, t-statistics, effect size comparisons, and correlations\n", "\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "Collapsed": "false", "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "(-3.529814975986372, 0.001996007984031936)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Import stats functions\n", "from pymer4.stats import perm_test\n", "# Also fix the random number generator for reproducibility\n", "np.random.seed(10)\n", "\n", "# Generate two samples of data: X (M~2, SD~10, N=100) and Y (M~2.5, SD~1, N=100)\n", "x = np.random.normal(loc=2, size=100)\n", "y = np.random.normal(loc=2.5, size=100)\n", "\n", "# Between groups t-test. The first value is the t-stat and the \n", "# second is the permuted p-value\n", "result = perm_test(x, y, stat=\"tstat\", n_perm=500, n_jobs=1)\n", "result" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "Collapsed": "false", "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "(0.04469246924692469, 0.6786427145708582)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Spearman rank correlation. The first values is spearman's rho\n", "# and the second is the permuted p-value\n", "result = perm_test(x, y, stat=\"spearmanr\", n_perm=500, n_jobs=1)\n", "result" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "Bootstrap Comparisons\n", "----------------------\n", "`pymer4` can compute a bootstrap comparison using any arbitrary function that takes as input either one or two 1d numpy arrays, and returns a single value.\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "Collapsed": "false", "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "(-0.4928648709628707, (-0.8719792375122976, -0.09680478598285287))" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Import stats function\n", "from pymer4.stats import boot_func\n", "\n", "\n", "# Define a simple function for a median difference test\n", "def med_diff(x, y):\n", " return np.median(x) - np.median(y)\n", "\n", "\n", "# Between groups median test with resampling\n", "# The first value is the median difference and the \n", "# second is the lower and upper 95% confidence interval\n", "result = boot_func(x, y, func=med_diff)\n", "result" ] }, { "cell_type": "markdown", "metadata": { "Collapsed": "false" }, "source": [ "TOST Equivalence Tests\n", "----------------------\n", "`pymer4` also has experimental support for [two-one-sided equivalence tests](https://bit.ly/33wsB5i/).\n", "\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "Collapsed": "false", "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "original: {'m': -0.005770606287536645, 't': -0.4781080137390306, 'p': 0.6533466533466533}\n", "\n", "lower: {'m': -0.1, 't': 7.807122166868652, 'p': 5.9293193911969926e-08}\n", "\n", "upper: {'m': 0.1, 't': -8.763338194346712, 'p': 8.999109365849837e-09}\n", "\n", "cohens_d: {'m': -0.17019805423837045, 'CI_lb': -0.8348542426833095, 'CI_ub': 0.5990340538537716}\n", "\n", "In_Equivalence_Range: True\n", "\n", "Means_Are_Different: False\n", "\n" ] }, { "data": { "image/png": "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jDE58ga822atbeNvNAAquyr3jLMxZqYkWWsPx0iiAADgp+k4Y0xoIMGvrbVf+hoNDovglHahqbOO8jMWAFVLlUucJbUPBAIBeV31AFRDmZmZWrp0qTIzMzPlPZ8GAHEtXrxYZ5wRHnfuqdCbm2++2Z+AcNi1bt1a27ZtK/6z1uL/EqAyck0/etjxjDMAAAAAAA5VscUZAACg1Hr37i3GdqnePvvsM79DAFBF0eIMAAAAAIADLc4AqpwlS5b4HQIAAACqEVqcAQAAAABwIHEGAAAAAMCBxBkAAAAAAAcSZwAAAAAAHEicAaCKysnJkTFGxpioU6z07t1bxhj17t07ZhmHDh3SpEmT1L17dzVo0EA1atSIus2+ffs0btw4nXrqqapXr1643sGDB5frPqHyyM/PD3/Pka8uXbr4HRqQtC1btkQ9r3/zm9/4HRqASo7EGUCZLFmypMjFR506dbRnz56Etm3Xrl2RbZ944okKjhbFXXHFFfrtb3+rlStXau/evVHnuD148KDOPvts3XPPPXr//ff1ww8/+BCp29///nf98pe/VIsWLZSWlqZjjz1WAwYM0KJFi8q1nn379unhhx9Wt27d1LhxY9WtW1ft2rXTTTfdpM2bNydczjfffKOxY8fqlFNOUYMGDVS/fn116tRJI0eO1I4dO0oV01dffaXx48ere/fuatasmVJTU9WyZUt1795dd9xxh1auXFna3TxsXnvtNV1yySU69thjlZaWpvT0dP3qV7/SSy+9VK71HDp0SE8++aR69+6tpk2bKi0tTccdd5yysrK0evXqhOIcN26c+vfvr44dO6pp06aqVauWGjRooJNPPlkjRozQ2rVryzXmRGzcuFE33HCD2rZtq7p166px48bq0aOHHnnkER04cKBc6yrLd1VQUKANGzZo+vTpuuGGG9SlSxfVrl07/Lf/nXfeKXU8BQUFmjVrli6++GK1adNGaWlpatSokTp06KCrrrpKOTk5KigoSGZXASA6a22VeknKDQQCFkDlsHjxYiupyGvatGlxt1u2bFmJ7SZPnnwYIv7pmD59evjYbd26tcTnmZmZVpLNzMyMun3kd3DeeefZhQsX2g8//NCuW7fOfvrpp+H1Zs6cGV7vqquusosXL7br1q2z69ats9u3b6+gvUvMvn37bN++fUucS5Gvm266qVzq2rJliz3xxBNj1lOnTh377LPPxi1n5cqVNj09PWY5DRs2tAsXLkwoppycHNugQQPn/l9yySVJ7e/BgweLHMPQd75ly5akyotUUFBghw0b5oz74osvtgcOHChzXV9//bXt1q1bzHpq1qxpH3jgAWcZqampzlglWWOMveWWW+yhQ4fKHHMipk2b5oyrU6dO9rPPPitzPeXxXU2bNs25/dtvv12qmDZv3mxPO+20uN/J999/X2LbAwcOhM/ldevW2WbNmllJdsiQIaU+NgAqnO+5Z+TL9wBKHTCJM1CpRCbOaWlpVpLt1atX3O2GDx8eTjZInJMTL3GOZ+zYseHE4bvvvou5XlZWlpVkmzVrZg8ePFiGiMvf5ZdfHj4GvXr1si+99JJdtWqVfeaZZ2ynTp3Cn40dO7ZM9ezdu9e2a9cuXN61115r33jjDfvuu+/ahx56yDZq1MhKsikpKXbRokUxy/n8889t06ZNw+veeuutdunSpfadd96xY8aMCf8O1atXz65fv94Z02OPPRaOJz093d577732jTfesLm5uXbevHn2L3/5iz3rrLPsZZddltQ+RybO48aNS6qMWEaOHBku++STT7YzZ860q1atsi+88ILt2bNn+LOsrKwy1ZOfn29PP/30cHkXXHCBnT9/vn3vvffsE088YVu1ahX+7Omnn45ZztFHH21/9atf2Xvvvdc+99xzdvHixXb16tV27ty5dtSoUeHvVJIdNWpUmWJOxD//+U9bo0YNK8keffTRduLEiXbFihV24cKF9qqrrgrH0rlzZ/vDDz+Uqa7y+K6efPLJ8Hq1atWygUDAdu7cOanEefPmzeEbTzVr1rTXXHONffHFF+2qVavs4sWL7dNPP22HDBliGzduHDVxLq5ly5YkzkDl5XvuGfnyPYBSB0ziDFQqkYnzZZddFm55cSVy+/fvtw0bNrSSiiQ+JM6lU9bEOdSKlJ6e7lzv3HPPtZJsz549k4y0YixatCi8/3379rX5+flFPt+7d2/44rx27dpJHaOQ0aNHh+uK1jq5YcMGW7duXSvJdujQoUQsIYMGDQqXM2vWrKj7FEqIzjnnnJjxrFy50tasWTO8nitBSLbVtqIS53//+982JSXFSrIZGRklEru8vDx79tlnh+tetmxZ0nVFtnRef/31JT7fsWOHbd68uZVkmzRpYvfs2RO1nHg3jHbv3m3btGkTPte+/fbbpGOOJy8vz55wwglWkj3yyCPt5s2bS6wzZsyY8H7ff//9SddVXt/V8uXL7aOPPmpXrFhh9+/fb621dtSoUaVOnA8ePGhPPfVUK3k9M959913nugUFBXHLJHEGKjXfc8/IF884Ayg3mZmZat26tay1mjFjRsz1/vGPf+jbb79VamqqBgwYcBgjRKTQM5C1atUql/UOtwkTJkiSUlJSNHnyZNWsWbPI5/Xr19ejjz4qScrLy9Nf/vKXpOrJy8vTpEmTJEkdOnTQ7bffXmKdjh076rbbbpMkbdq0SfPmzSuxzo4dO/Tcc89Jkvr06aPLLrusxDpnnnmmBg0aJEl6/fXX9cEHH0SN6brrrtOhQ4fUsmVLvfjii6pXr17M+GvXrh1nDw+viRMnKj8/X5L02GOPqW7dukU+r1WrlqZMmSJjjKTC7zkZDz30kCSpUaNG4feRWrRoofHjx0uSvv76a02fPj1qOSkpKc56mjRpoiFDhkjyzpeKfK785Zdf1ieffCJJuuuuu/Szn/2sxDp/+MMfdPzxx0vyjvehQ4eSqqu8vqsePXropptuUrdu3ZSamppULJL0+OOPh58lnzZtmrp37x5z3ZSUlHBcAFAeSJwBlBtjjAYOHChJevbZZ2Ou98wzz0iS+vbtq4YNGyZc/pYtW/T73/9eJ510ko466iilpaWpdevWuvLKK/XWW285t/322281ffp0DRo0SB07dlS9evVUu3ZtNW/eXH369NHUqVOVl5cXc/vPPvssPJBNTk6OJGnRokW68MILlZ6ertTUVB177LHKysrSli1bEt6neDGPHDlS7du3V506ddS0aVOdffbZeuGFFxLaPtao2qH9ePrppyVJ27ZtKzHCbOT+Ll26VJK0dOnSEuv5Zc+ePXrzzTclSeeee66OOeaYqOudccYZOu644yRJr7zySlJ1LVq0KDzgXVZWlmrUiP5f57XXXht+H62uOXPmhAcrCiVZyZSzfPnycPJw66236sgjj0xgLyoHa61effVVSd5NiFiJz/HHH6/MzExJ3qBUP/74Y6nr2rRpkz766CNJ0uWXX14i6QuJ/CzZc0TybtSE7N+/P+ly4nn55Zcleb/HWVlZUdepWbOmrr76akneDYG333671PUczu8qUX/9618lSSeddJIuvvjiCqsHAKIhcQZQrkIXa5s3b47a6rJ7924tWLCgyLqJeOCBB9SxY0dNnDhR69at0549e3TgwAF9/vnnev7555WZmanrr78+ZsvKqaeeqmuvvVYzZ87Upk2b9MMPP+jgwYP66quvtHDhQg0fPlzdu3fXl19+mVA8o0aN0tlnn605c+Zo586dysvL0/bt25WTk6NAIKB333034X2LZtOmTercubMefPBB/fvf/9b+/fu1e/duLVq0SAMGDCiSXFUWgwYNKtMouaXx3nvvhW90hC7aYwndONi2bZu2b99e6roi98VVV+vWrcNJerT9T7ScHj16KC0tLWY5f//738PvI3tsfPPNN/r444/1zXfFf6gAACAASURBVDffxCzbb1u2bAn/jrmmSZO8mx6SN5L5mjVrSl1Xose7Tp066tatmyTp3XffTap1tqCgoMgNrfbt25e6jESF9qt9+/Zq1qxZzPVCxy9ym9I4nN9VItauXRseuT6yt8b+/fv1ySef6Isvvki6ZR0AEkHiDKBcnXjiieratauk6K3OM2fOVH5+vpo0aaJf/vKXCZV577336q677tLBgwfVoUMHTZo0SQsXLlRubq5eeOEF9enTR5L0xBNPaOTIkVHLOHTokLp166Zx48Zp3rx5WrVqlZYtW6YZM2bovPPOk+RdmF1++eVx43nyySc1fvx4/fznP9eMGTO0atUqLVmyRDfeeKOMMfr+++81aNAgHTx4MKH9K27v3r3q06dPeFqiX//615o/f75Wr16t559/XqeddpqmT5+uxx9/PKny161bp3Xr1umCCy6QJKWnp4d/Fnq1bNky/D40b2+XLl1KrOeXjRs3ht937NjRuW5kEhO5XTJ1dejQIaG6tm7dWqLVMVRO48aN1bRp05hl1K5dO5yAR4t3xYoVkqRWrVqpZcuWeuqpp9SpUyc1btxY7dq1U+PGjdW2bVvdf//9Fdr6lwy/vrdE68rLywt3g44nPz9f27dv15w5c9S7d28tW7ZMknTeeefpxBNPLHW8idizZ0/470JlPH7J1pWI0HkveTeX1q9frwsuuED169dX27Ztdcwxx6hRo0a64oortGnTpgqJAUD15n5oBwCScPXVV+u9997TrFmzNHHixCLPxoa6aV9xxRUJPTO7evVqjR07VpJ0++2364EHHijSVTYQCOjSSy/VnXfeqT/96U/685//rKFDh6pdu3ZFynnzzTejPgvYs2dPDRw4UNOn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vCLP8Eazbt26Isc70ZkDknHxxRfr+OOPlyT98Y9/1JYtW0qsc99994VbXX/3u99FbUV/4403wsfvN7/5TdS6yuu7Ki8jR46U5LXu33jjjVFvYmVnZ4e7yg8ZMiTuVGQAkCj+mgCo1Lp166b77rtPd999t7744gtlZGQoKytL5513nlq2bKmDBw9q+/btWrlypV566SV9+umnmjt3rk466aRwGVdffbVuv/127dixQz169NCdd96pzp07a//+/XrzzTf1yCOP6MCBAwoEApWiu/Y999yj2bNna/v27brnnnu0YcMGDR48WE2bNtXHH3+siRMnauXKlerSpYtWr17td7i+OfPMM3X55Zdr1qxZmjt3rs466yzdcsstOvbYY7Vp0yY98MAD4W76o0aNUps2bZKu64477tDs2bO1efNm3Xnnndq8ebOuvPJKHXHEEVq2bJnuv/9+/fjjj0pJSdGkSZNidvcdP368Fi5cqF27dmngwIFatWqV+vfvr5o1a+r111/Xgw8+qIKCAtWrV08TJ06MGc+ECRO0ZMkS7d69WxdddJFuuukm9evXT/Xq1dP777+vBx98UB9//LEk6ZZbbtEpp5yS9L6Xt3bt2um2227TAw88oNzcXPXs2VN33nmn2rVrp23btunhhx/W8uXLJXlTC/Xs2TPpugYPHqycnBy98847mjx5snbu3Knhw4ercePGWrt2re6///5wT5OHH3443LMg0oIFC3TxxRerT58+Ouecc9SpUyc1atRI+fn52rp1q1577TXNnDkzPBDXsGHDlJmZmXTM8dSqVUuPPfaY+vbtq71796pnz54aNWqUevToob179+rZZ58NtzZ36tSpSEJfWuX1XVlr9fTTTxf5WeQNzn/9619FbgCkp6dHnaf+/PPP14ABAzR79mw9//zz+vLLL3XjjTfquOOO086dO/X000+Hb0gdd9xxuueee5LedwAoITSabFV5ScoNBAIWQOWwePFiK8lKspMnT66w7R9//HFbp06d8LqxXjVq1LCLFy8usm1eXp4999xzY25Tp04dO3v2bHvNNddYSbZ169Yl6t+6dWt4/enTpzv3KTMz00qymZmZpT4eIevXr7fNmzePGfM111xjn3rqqfDy1q1bSx2Ha3+T2Z+BAweG43n77bcT29Ey2rdvn+3bt6/znLjxxhttQUFBmePesmWLPfHEE53n0TPPPBM35pUrV9oWLVrELKdhw4Z24cKFcctZtWqVPeaYY5z7ft1119mDBw/GLSuagwcPhssZN25cUmXEcujQITt06FBn7BdffLE9cOBAzDJGjRoVXvfZZ5+Nud7u3bttt27dYtZTs2ZN+8ADD8TcfsSIEXH/7kiyKSkpduTIkfbQoUNlOjaJmjZtmk1NTY0ZT6dOnexnn30Wc/vXX389vO6QIUNirlce31XkuZTI66yzzopZ1r59++yFF17o3L59+/Z2y5YtCR3Hli1bxj0GAHzje+4Z+aKrNoAq4frrr9fWrVs1duxYnX766Tr66KOVkpKiunXr6oQTTlD//v31yCOPaNu2berdu3eRbWvVqqX58+fr0UcfVZcuXVS3bl3VqVNHbdu21XXXXac1a9aEu75WFp06ddKGDRt0xx136Gc/+5lSU1PVpEkTnXHGGXruueeUk5MTd7qq6iAtLU1z587VrFmz1KdPHzVr1ky1a9dWy5Ytdemll+qNN97QpEmTyuVYnXDCCVqzZo0mTJigrl27qmHDhuHzaMSIEXr//fcT6qLbtWtXrV+/XmPGjNFJJ52k+vXr64gjjlDHjh11xx13aP369c75rEO6dOmi9evX6/7771dGRoaOOuoopaamqlWrVrryyiv11ltvafLkyZWyq2qNGjU0depULViwQBdddJFatmyp2rVrq3nz5jr//PP14osv6qWXXgpP71QWTZo00bJlyzRlyhT16tVLTZo0UWpqqlq3bq1rrrlGK1as0J133hlz+3HjxunFF1/UiBEj1LVrV7Vq1UppaWlKS0tTixYtdMYZZyg7O1ubN2/WH//4x/CjJRVtyJAhWrNmja677jqdcMIJSktLU8OGDdW9e3dNnDhRq1evVuvWrctcz+H8rhKRlpamV155Ra+88or69++v9PR01apVS40bN1ZmZqYee+wxvf/++0mPjg4AsRhbxeYBNcbkBgKBQGhqGwAAUP7y8/PDI5ePGzdOo0eP9jkioPwdc8wx+uKLLzRkyBBNmzbN73AAFFWpWggq321oAABQqezatUvr16+X5I12T2seqqq8vDxt3rw5vBwaCR0A4iFxBgAATpMmTdKkSZMkeVOmVedB6VC1ff755xU6XRiAny6ecQYAAAAAwIEWZ1RrxZ+Vz8jI8CkSAChpx44dRZbT09MPW90pKSlR58kF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VmhOknvuuSdXXnllzj777Ozbty+33377lCsFAKbBEWdm2r59+1YMHzhwYKRKgJ3immuuyUUXXZTPfe5zU1/2KaeckssuuyznnntukuSqq65aMX7Pnj1TXyfAkbAvxSbaVkecBWdmWtXK/8ed9v8AbK0rrrgiF154Yfc3zEdq165dufzyy3PBBRfc63JULk8FbDf2pdhE2yo46xwMAA7BFVdckec973mbvlN411135bnPfa6dTwDYRvzGGQAO4pprrsmFF164ZWG2tZYLL7wwn/nMZ7ZkfQBAn+AMAB233XZbLrrook09PXstd999d97+9rfnzjvv3NL1AgD3JjgDQMdLXvKSTekI7FDcfvvtefe73z3KugGAbxGcAWAd1113Xd7whjeMWsMNN9yQm2++edQaAGDWCc4AsI5XvepVY5eQJHn/+98/dgkAMNMEZwBYw80335x3vOMdY5eRJPnUpz6V2267bewyAGBmuY4zM821B+HIrf4/grXYvsLRyb4Um2hb7WA44gwAAAAdgjMAAAB0CM4AAADQITgDAABAh+AMAAAAHbvGLgDGdP31149dAgDAjmVfilkhODPT5ufnxy4BAGDHsi/FrHCqNgAAAHQIzgAAANAhOAMAAECH4AwAAAAdOgdjph04cGDF8L59+0aqBHau1trYJWyKl73sZfm1X/u1scv4Xy6++OK88Y1vHLsMgBXsSzEraqft8FTV4tzc3Nzi4uLYpXAUqKoVwzvt/wHYPDfffHMe8pCH5J577hm7lFRVXvSiF+XVr3712KUArGBfik1UB59k6zhVGwDWcOqpp+YZz3jG2GUkSR7xiEfkxBNPHLsMAJhZgjMArOPFL37x2CUkSc4888yxSwCAmSY4A8A6zj777LzwhS8ctYa5ubmceuqpo9YAALNOcAaAjle+8pU55ZRTRln3iSeemKc+9amjrBsA+BbBGQA6TjjhhLzpTW/Kscceu6Xr3bVrV84///wcd9xxW7peAODeBGcAOIjzzjsvl19++b16j90sVZXLL788D37wg7dkfQBAn+AMAIfgOc95Tt785jdv+pHnXbt25S1veUsuuOCCTV0PAHDoBGcAOETPec5zcvXVV2/ab55POeWUXH311UIzAGwzgjMAbMB5552XG2+8MXv37p3qcvft25cbb7wx55577lSXCwAcOcEZADbohBNOyIED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\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 382, "width": 487 }, "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Import stats function\n", "from pymer4.stats import tost_equivalence\n", "\n", "# Generate some data\n", "lower, upper = -0.1, 0.1\n", "x, y = np.random.normal(0.145, 0.025, 35), np.random.normal(0.16, 0.05, 17)\n", "result = tost_equivalence(x, y, lower, upper, plot=True)\n", "# Print the results dictionary nicely\n", "for k, v in result.items():\n", " print(f\"{k}: {v}\\n\")" ] } ], "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.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }