|
|
@@ -0,0 +1,547 @@
|
|
|
+{
|
|
|
+ "cells": [
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 1,
|
|
|
+ "metadata": {},
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "data": {
|
|
|
+ "text/html": [
|
|
|
+ "<div>\n",
|
|
|
+ "<style scoped>\n",
|
|
|
+ " .dataframe tbody tr th:only-of-type {\n",
|
|
|
+ " vertical-align: middle;\n",
|
|
|
+ " }\n",
|
|
|
+ "\n",
|
|
|
+ " .dataframe tbody tr th {\n",
|
|
|
+ " vertical-align: top;\n",
|
|
|
+ " }\n",
|
|
|
+ "\n",
|
|
|
+ " .dataframe thead th {\n",
|
|
|
+ " text-align: right;\n",
|
|
|
+ " }\n",
|
|
|
+ "</style>\n",
|
|
|
+ "<table border=\"1\" class=\"dataframe\">\n",
|
|
|
+ " <thead>\n",
|
|
|
+ " <tr style=\"text-align: right;\">\n",
|
|
|
+ " <th></th>\n",
|
|
|
+ " <th>x1</th>\n",
|
|
|
+ " <th>x2</th>\n",
|
|
|
+ " <th>x3</th>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " </thead>\n",
|
|
|
+ " <tbody>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>0</th>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>0.894992</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>1</th>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>0.596078</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>2</th>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>0.435564</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>3</th>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>1.153073</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>4</th>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>1.340793</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>5</th>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>1.621597</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>6</th>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>2.139849</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>7</th>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>2.488654</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>8</th>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>2.049478</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>9</th>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>0.564523</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>10</th>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>0.270165</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>11</th>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>0.596075</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>12</th>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>1.291240</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>13</th>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>1.251871</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>14</th>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>1.110560</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>15</th>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>2.805694</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>16</th>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>2.465100</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>17</th>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>2.258865</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " </tbody>\n",
|
|
|
+ "</table>\n",
|
|
|
+ "</div>"
|
|
|
+ ],
|
|
|
+ "text/plain": [
|
|
|
+ " x1 x2 x3\n",
|
|
|
+ "0 0 0 0.894992\n",
|
|
|
+ "1 0 1 0.596078\n",
|
|
|
+ "2 0 2 0.435564\n",
|
|
|
+ "3 1 0 1.153073\n",
|
|
|
+ "4 1 1 1.340793\n",
|
|
|
+ "5 1 2 1.621597\n",
|
|
|
+ "6 2 0 2.139849\n",
|
|
|
+ "7 2 1 2.488654\n",
|
|
|
+ "8 2 2 2.049478\n",
|
|
|
+ "9 0 0 0.564523\n",
|
|
|
+ "10 0 1 0.270165\n",
|
|
|
+ "11 0 2 0.596075\n",
|
|
|
+ "12 1 0 1.291240\n",
|
|
|
+ "13 1 1 1.251871\n",
|
|
|
+ "14 1 2 1.110560\n",
|
|
|
+ "15 2 0 2.805694\n",
|
|
|
+ "16 2 1 2.465100\n",
|
|
|
+ "17 2 2 2.258865"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ "execution_count": 1,
|
|
|
+ "metadata": {},
|
|
|
+ "output_type": "execute_result"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "source": [
|
|
|
+ "import numpy as np\n",
|
|
|
+ "import pandas as pd\n",
|
|
|
+ "\n",
|
|
|
+ "\n",
|
|
|
+ "\n",
|
|
|
+ "# 生成模型数据,其中x1,x2为不相关的变量;x1,x3强相关\n",
|
|
|
+ "data = []\n",
|
|
|
+ "n = 2\n",
|
|
|
+ "np.random.seed(2046)\n",
|
|
|
+ "for i in range(0, 3):\n",
|
|
|
+ " for j in range(0, 3):\n",
|
|
|
+ " # x1,x2为不相关的变量\n",
|
|
|
+ " data.append({\"x1\": i, \"x2\": j})\n",
|
|
|
+ "data = pd.DataFrame(data * n)\n",
|
|
|
+ "# 生成强相关自变量\n",
|
|
|
+ "data[\"x3\"] = data[\"x1\"] + np.random.random(9 * n)\n",
|
|
|
+ "data"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 2,
|
|
|
+ "metadata": {},
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "data": {
|
|
|
+ "text/html": [
|
|
|
+ "<div>\n",
|
|
|
+ "<style scoped>\n",
|
|
|
+ " .dataframe tbody tr th:only-of-type {\n",
|
|
|
+ " vertical-align: middle;\n",
|
|
|
+ " }\n",
|
|
|
+ "\n",
|
|
|
+ " .dataframe tbody tr th {\n",
|
|
|
+ " vertical-align: top;\n",
|
|
|
+ " }\n",
|
|
|
+ "\n",
|
|
|
+ " .dataframe thead th {\n",
|
|
|
+ " text-align: right;\n",
|
|
|
+ " }\n",
|
|
|
+ "</style>\n",
|
|
|
+ "<table border=\"1\" class=\"dataframe\">\n",
|
|
|
+ " <thead>\n",
|
|
|
+ " <tr style=\"text-align: right;\">\n",
|
|
|
+ " <th></th>\n",
|
|
|
+ " <th>const</th>\n",
|
|
|
+ " <th>x1</th>\n",
|
|
|
+ " <th>x2</th>\n",
|
|
|
+ " <th>x3</th>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " </thead>\n",
|
|
|
+ " <tbody>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>0</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>0.894992</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>1</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>0.596078</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>2</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>0.435564</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>3</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>1.153073</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>4</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>1.340793</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>5</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>1.621597</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>6</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>2.139849</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>7</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>2.488654</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>8</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>2.049478</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>9</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>0.564523</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>10</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>0.270165</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>11</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>0.596075</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>12</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>1.291240</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>13</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>1.251871</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>14</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>1.110560</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>15</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>0</td>\n",
|
|
|
+ " <td>2.805694</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>16</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>1</td>\n",
|
|
|
+ " <td>2.465100</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>17</th>\n",
|
|
|
+ " <td>1.0</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>2</td>\n",
|
|
|
+ " <td>2.258865</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " </tbody>\n",
|
|
|
+ "</table>\n",
|
|
|
+ "</div>"
|
|
|
+ ],
|
|
|
+ "text/plain": [
|
|
|
+ " const x1 x2 x3\n",
|
|
|
+ "0 1.0 0 0 0.894992\n",
|
|
|
+ "1 1.0 0 1 0.596078\n",
|
|
|
+ "2 1.0 0 2 0.435564\n",
|
|
|
+ "3 1.0 1 0 1.153073\n",
|
|
|
+ "4 1.0 1 1 1.340793\n",
|
|
|
+ "5 1.0 1 2 1.621597\n",
|
|
|
+ "6 1.0 2 0 2.139849\n",
|
|
|
+ "7 1.0 2 1 2.488654\n",
|
|
|
+ "8 1.0 2 2 2.049478\n",
|
|
|
+ "9 1.0 0 0 0.564523\n",
|
|
|
+ "10 1.0 0 1 0.270165\n",
|
|
|
+ "11 1.0 0 2 0.596075\n",
|
|
|
+ "12 1.0 1 0 1.291240\n",
|
|
|
+ "13 1.0 1 1 1.251871\n",
|
|
|
+ "14 1.0 1 2 1.110560\n",
|
|
|
+ "15 1.0 2 0 2.805694\n",
|
|
|
+ "16 1.0 2 1 2.465100\n",
|
|
|
+ "17 1.0 2 2 2.258865"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ "execution_count": 2,
|
|
|
+ "metadata": {},
|
|
|
+ "output_type": "execute_result"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "source": [
|
|
|
+ "import statsmodels.api as sm\n",
|
|
|
+ "\n",
|
|
|
+ "\n",
|
|
|
+ "# 在数据中加入常数项(如果无)\n",
|
|
|
+ "X = sm.add_constant(data[[\"x1\", \"x2\", \"x3\"]])\n",
|
|
|
+ "X"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 3,
|
|
|
+ "metadata": {},
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "name": "stdout",
|
|
|
+ "output_type": "stream",
|
|
|
+ "text": [
|
|
|
+ "variance inflation factor, VIF, for one exogenous variable\n",
|
|
|
+ "\n",
|
|
|
+ " The variance inflation factor is a measure for the increase of the\n",
|
|
|
+ " variance of the parameter estimates if an additional variable, given by\n",
|
|
|
+ " exog_idx is added to the linear regression. It is a measure for\n",
|
|
|
+ " multicollinearity of the design matrix, exog.\n",
|
|
|
+ "\n",
|
|
|
+ " One recommendation is that if VIF is greater than 5, then the explanatory\n",
|
|
|
+ " variable given by exog_idx is highly collinear with the other explanatory\n",
|
|
|
+ " variables, and the parameter estimates will have large standard errors\n",
|
|
|
+ " because of this.\n",
|
|
|
+ "\n",
|
|
|
+ " Parameters\n",
|
|
|
+ " ----------\n",
|
|
|
+ " exog : ndarray\n",
|
|
|
+ " design matrix with all explanatory variables, as for example used in\n",
|
|
|
+ " regression\n",
|
|
|
+ " exog_idx : int\n",
|
|
|
+ " index of the exogenous variable in the columns of exog\n",
|
|
|
+ "\n",
|
|
|
+ " Returns\n",
|
|
|
+ " -------\n",
|
|
|
+ " vif : float\n",
|
|
|
+ " variance inflation factor\n",
|
|
|
+ "\n",
|
|
|
+ " Notes\n",
|
|
|
+ " -----\n",
|
|
|
+ " This function does not save the auxiliary regression.\n",
|
|
|
+ "\n",
|
|
|
+ " See Also\n",
|
|
|
+ " --------\n",
|
|
|
+ " xxx : class for regression diagnostics TODO: doesn't exist yet\n",
|
|
|
+ "\n",
|
|
|
+ " References\n",
|
|
|
+ " ----------\n",
|
|
|
+ " http://en.wikipedia.org/wiki/Variance_inflation_factor\n",
|
|
|
+ "\n",
|
|
|
+ " \n"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "source": [
|
|
|
+ "from statsmodels.stats.outliers_influence import variance_inflation_factor\n",
|
|
|
+ "\n",
|
|
|
+ "\n",
|
|
|
+ "print(variance_inflation_factor.__doc__)"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "cell_type": "code",
|
|
|
+ "execution_count": 4,
|
|
|
+ "metadata": {},
|
|
|
+ "outputs": [
|
|
|
+ {
|
|
|
+ "data": {
|
|
|
+ "text/html": [
|
|
|
+ "<div>\n",
|
|
|
+ "<style scoped>\n",
|
|
|
+ " .dataframe tbody tr th:only-of-type {\n",
|
|
|
+ " vertical-align: middle;\n",
|
|
|
+ " }\n",
|
|
|
+ "\n",
|
|
|
+ " .dataframe tbody tr th {\n",
|
|
|
+ " vertical-align: top;\n",
|
|
|
+ " }\n",
|
|
|
+ "\n",
|
|
|
+ " .dataframe thead th {\n",
|
|
|
+ " text-align: right;\n",
|
|
|
+ " }\n",
|
|
|
+ "</style>\n",
|
|
|
+ "<table border=\"1\" class=\"dataframe\">\n",
|
|
|
+ " <thead>\n",
|
|
|
+ " <tr style=\"text-align: right;\">\n",
|
|
|
+ " <th></th>\n",
|
|
|
+ " <th>VIF Factor</th>\n",
|
|
|
+ " <th>features</th>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " </thead>\n",
|
|
|
+ " <tbody>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>0</th>\n",
|
|
|
+ " <td>11.049590</td>\n",
|
|
|
+ " <td>const</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>1</th>\n",
|
|
|
+ " <td>12.907932</td>\n",
|
|
|
+ " <td>x1</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>2</th>\n",
|
|
|
+ " <td>1.061102</td>\n",
|
|
|
+ " <td>x2</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " <tr>\n",
|
|
|
+ " <th>3</th>\n",
|
|
|
+ " <td>12.969034</td>\n",
|
|
|
+ " <td>x3</td>\n",
|
|
|
+ " </tr>\n",
|
|
|
+ " </tbody>\n",
|
|
|
+ "</table>\n",
|
|
|
+ "</div>"
|
|
|
+ ],
|
|
|
+ "text/plain": [
|
|
|
+ " VIF Factor features\n",
|
|
|
+ "0 11.049590 const\n",
|
|
|
+ "1 12.907932 x1\n",
|
|
|
+ "2 1.061102 x2\n",
|
|
|
+ "3 12.969034 x3"
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ "execution_count": 4,
|
|
|
+ "metadata": {},
|
|
|
+ "output_type": "execute_result"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "source": [
|
|
|
+ "vif = pd.DataFrame()\n",
|
|
|
+ "vif[\"VIF Factor\"] = [variance_inflation_factor(X.values, i) for i in range(X.shape[1])]\n",
|
|
|
+ "vif[\"features\"] = X.columns\n",
|
|
|
+ "vif"
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ "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.6"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "nbformat": 4,
|
|
|
+ "nbformat_minor": 2
|
|
|
+}
|