{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# chi2_and_cramels_v" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np\n", "import pandas as pd\n", "import scipy.stats\n", "import matplotlib.pyplot as plt\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[34, 61, 53],\n", " [38, 40, 74]])" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# マンガでわかる統計学: p127- 133\n", "observed = np.array([\n", " [34, 61, 53],\n", " [38, 40, 74]\n", "])\n", "observed" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def my_chi2_contingency(observed):\n", " \"\"\"pearson chi2\n", "\n", " observed type is ndarray.\n", " observed shape length is 2.\n", " \"\"\"\n", " n = observed.sum()\n", " colsum = observed.sum(axis=1, keepdims=True)\n", " rowsum = observed.sum(axis=0, keepdims=True)\n", " outer = colsum @ rowsum\n", "\n", " # not using np.dot\n", " outer = np.outer(observed.sum(axis=1),\n", " observed.sum(axis=0))\n", "\n", " expected = outer / n\n", " with np.errstate(divide=\"ignore\", invalid=\"ignore\"):\n", " terms = (observed - expected) ** 2 / expected\n", " chi2 = np.sum(terms)\n", "\n", " dof = np.product(np.array(observed.shape) - 1)\n", " p = 1 - scipy.stats.chi2.cdf(chi2, dof)\n", "\n", " \"\"\"\n", " # scipy\n", " dof = expected.size - sum(expected.shape) + expected.ndim - 1\n", " size = observed.size\n", " ddof = np.array(size - 1 - dof)\n", " num_obs = scipy.stats.stats._count(terms, axis=None)\n", " \n", " print(\"dof:\", dof)\n", " print(\"size\", size)\n", " print(\"ddof:\", ddof)\n", " print(\"num_obs:\", num_obs)\n", " print(\"num_obs - 1 - ddof:\", num_obs - 1 - ddof)\n", " p = scipy.stats.chi2.sf(chi2, num_obs - 1 - ddof)\n", " \"\"\"\n", "\n", " return (chi2, p, dof, expected)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "((8.0090903057107159,\n", " 0.018232580410070073,\n", " 2,\n", " array([[ 35.52 , 49.82666667, 62.65333333],\n", " [ 36.48 , 51.17333333, 64.34666667]])),\n", " '',\n", " (8.0090903057107159,\n", " 0.018232580410070032,\n", " 2,\n", " array([[ 35.52 , 49.82666667, 62.65333333],\n", " [ 36.48 , 51.17333333, 64.34666667]])))" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(\n", " scipy.stats.chi2_contingency(observed),\n", " \"\",\n", " my_chi2_contingency(observed),\n", ")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def cramers_v(observed):\n", " chi2, _, _, _ = my_chi2_contingency(observed)\n", " n = observed.sum()\n", " return np.sqrt(chi2 / (n * (min(observed.shape) - 1)))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "(0.0, 1.0)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(\n", " cramers_v(np.array([\n", " [34, 61, 53],\n", " [34, 61, 53],\n", " ])),\n", " cramers_v(np.array([\n", " [34, 61, 0],\n", " [0, 0, 53],\n", " ]))\n", ")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def cramers_v_list(mesh_a1, mesh_a2):\n", " a1 = mesh_a1.flatten()\n", " a2 = mesh_a2.flatten()\n", " b = np.c_[a1, a2, 100 - a1, 100 - a2]\n", " return np.apply_along_axis(\n", " lambda x: cramers_v(x.reshape(2, 2, order=\"F\")), \n", " axis=1, arr=b\n", " )\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "(-5, 105)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nqTVgAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a = np.arange(0, 100 + 1)\n", "mesh_a1, mesh_a2 = np.meshgrid(a, a)\n", "quad_contour_set = plt.contour(mesh_a1, mesh_a2,\n", " cramers_v_list(mesh_a1, mesh_a2).reshape(mesh_a1.shape))\n", "\n", "plt.colorbar(quad_contour_set, )\n", "plt.xlim((-5, 105))\n", "plt.ylim((-5, 105))" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python [default]", "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.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }