From 951f2934273a0dbf3bc6b4e9cf65cdf5d9d36f72 Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Wed, 3 Jul 2019 00:09:58 +0800 Subject: [PATCH 01/42] Add files via upload --- ...44\261\351\242\204\346\265\213(VAE).ipynb" | 2085 +++++++++++++++++ 1 file changed, 2085 insertions(+) create mode 100644 "\347\224\250\346\210\267\346\265\201\345\244\261\351\242\204\346\265\213(VAE).ipynb" diff --git "a/\347\224\250\346\210\267\346\265\201\345\244\261\351\242\204\346\265\213(VAE).ipynb" "b/\347\224\250\346\210\267\346\265\201\345\244\261\351\242\204\346\265\213(VAE).ipynb" new file mode 100644 index 0000000..c1ea8d2 --- /dev/null +++ "b/\347\224\250\346\210\267\346\265\201\345\244\261\351\242\204\346\265\213(VAE).ipynb" @@ -0,0 +1,2085 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "from sklearn.preprocessing import StandardScaler,MinMaxScaler\n", + "import collections\n", + "%matplotlib inline\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "from sklearn import preprocessing\n", + "from sklearn.metrics import (confusion_matrix, precision_recall_curve, auc,\n", + " roc_curve, recall_score, classification_report, f1_score,\n", + " precision_recall_fscore_support, accuracy_score)\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.preprocessing import StandardScaler,MinMaxScaler\n", + "from keras.layers import Input, Dense, Lambda\n", + "from keras.models import Model\n", + "from keras.objectives import binary_crossentropy\n", + "from keras.callbacks import LearningRateScheduler\n", + "from keras.utils.vis_utils import model_to_dot\n", + "from keras.callbacks import EarlyStopping, ModelCheckpoint\n", + "import keras.backend as K\n", + "from keras.callbacks import Callback\n", + "import matplotlib\n", + "matplotlib.rcParams['figure.figsize'] = (10.0, 6.0)" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "data": { + "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", + " \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", + "
customerIDgenderSeniorCitizenPartnerDependentstenurePhoneServiceMultipleLinesInternetServiceOnlineSecurity...DeviceProtectionTechSupportStreamingTVStreamingMoviesContractPaperlessBillingPaymentMethodMonthlyChargesTotalChargesChurn
07590-VHVEGFemale0YesNo1NoNo phone serviceDSLNo...NoNoNoNoMonth-to-monthYesElectronic check29.8529.85No
15575-GNVDEMale0NoNo34YesNoDSLYes...YesNoNoNoOne yearNoMailed check56.951889.5No
23668-QPYBKMale0NoNo2YesNoDSLYes...NoNoNoNoMonth-to-monthYesMailed check53.85108.15Yes
37795-CFOCWMale0NoNo45NoNo phone serviceDSLYes...YesYesNoNoOne yearNoBank transfer (automatic)42.301840.75No
49237-HQITUFemale0NoNo2YesNoFiber opticNo...NoNoNoNoMonth-to-monthYesElectronic check70.70151.65Yes
\n", + "

5 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " customerID gender SeniorCitizen Partner Dependents tenure PhoneService \\\n", + "0 7590-VHVEG Female 0 Yes No 1 No \n", + "1 5575-GNVDE Male 0 No No 34 Yes \n", + "2 3668-QPYBK Male 0 No No 2 Yes \n", + "3 7795-CFOCW Male 0 No No 45 No \n", + "4 9237-HQITU Female 0 No No 2 Yes \n", + "\n", + " MultipleLines InternetService OnlineSecurity ... DeviceProtection \\\n", + "0 No phone service DSL No ... No \n", + "1 No DSL Yes ... Yes \n", + "2 No DSL Yes ... No \n", + "3 No phone service DSL Yes ... Yes \n", + "4 No Fiber optic No ... No \n", + "\n", + " TechSupport StreamingTV StreamingMovies Contract PaperlessBilling \\\n", + "0 No No No Month-to-month Yes \n", + "1 No No No One year No \n", + "2 No No No Month-to-month Yes \n", + "3 Yes No No One year No \n", + "4 No No No Month-to-month Yes \n", + "\n", + " PaymentMethod MonthlyCharges TotalCharges Churn \n", + "0 Electronic check 29.85 29.85 No \n", + "1 Mailed check 56.95 1889.5 No \n", + "2 Mailed check 53.85 108.15 Yes \n", + "3 Bank transfer (automatic) 42.30 1840.75 No \n", + "4 Electronic check 70.70 151.65 Yes \n", + "\n", + "[5 rows x 21 columns]" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv('./data/WA_Fn-UseC_-Telco-Customer-Churn.csv')\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 7043 entries, 0 to 7042\n", + "Data columns (total 21 columns):\n", + "customerID 7043 non-null object\n", + "gender 7043 non-null object\n", + "SeniorCitizen 7043 non-null int64\n", + "Partner 7043 non-null object\n", + "Dependents 7043 non-null object\n", + "tenure 7043 non-null int64\n", + "PhoneService 7043 non-null object\n", + "MultipleLines 7043 non-null object\n", + "InternetService 7043 non-null object\n", + "OnlineSecurity 7043 non-null object\n", + "OnlineBackup 7043 non-null object\n", + "DeviceProtection 7043 non-null object\n", + "TechSupport 7043 non-null object\n", + "StreamingTV 7043 non-null object\n", + "StreamingMovies 7043 non-null object\n", + "Contract 7043 non-null object\n", + "PaperlessBilling 7043 non-null object\n", + "PaymentMethod 7043 non-null object\n", + "MonthlyCharges 7043 non-null float64\n", + "TotalCharges 7043 non-null object\n", + "Churn 7043 non-null object\n", + "dtypes: float64(1), int64(2), object(18)\n", + "memory usage: 1.1+ MB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 7043 entries, 0 to 7042\n", + "Data columns (total 21 columns):\n", + "customerID 7043 non-null object\n", + "gender 7043 non-null object\n", + "SeniorCitizen 7043 non-null int64\n", + "Partner 7043 non-null object\n", + "Dependents 7043 non-null object\n", + "tenure 7043 non-null int64\n", + "PhoneService 7043 non-null object\n", + "MultipleLines 7043 non-null object\n", + "InternetService 7043 non-null object\n", + "OnlineSecurity 7043 non-null object\n", + "OnlineBackup 7043 non-null object\n", + "DeviceProtection 7043 non-null object\n", + "TechSupport 7043 non-null object\n", + "StreamingTV 7043 non-null object\n", + "StreamingMovies 7043 non-null object\n", + "Contract 7043 non-null object\n", + "PaperlessBilling 7043 non-null object\n", + "PaymentMethod 7043 non-null object\n", + "MonthlyCharges 7043 non-null float64\n", + "TotalCharges 7032 non-null float64\n", + "Churn 7043 non-null object\n", + "dtypes: float64(2), int64(2), object(17)\n", + "memory usage: 1.1+ MB\n" + ] + } + ], + "source": [ + "df['TotalCharges'] = pd.to_numeric(df['TotalCharges'], errors='coerce')\n", + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['customerID', 'gender', 'Partner', 'Dependents', 'PhoneService', 'MultipleLines', 'InternetService', 'OnlineSecurity', 'OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', 'StreamingMovies', 'Contract', 'PaperlessBilling', 'PaymentMethod', 'Churn']\n" + ] + } + ], + "source": [ + "print([key for key in dict(df.dtypes) if dict(df.dtypes)[key] in ['object'] ])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Gender " + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Churn No Yes\n", + "gender \n", + "Female 2549 939\n", + "Male 2625 930\n", + "Gender Counter({'Male': 3555, 'Female': 3488})\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "gender_plot = df.groupby(['gender', 'Churn']).size().reset_index().pivot(columns='Churn', index='gender', values=0)\n", + "print(gender_plot)\n", + "gender_plot.plot(x=gender_plot.index, kind='bar', stacked=True);\n", + "print('Gender', collections.Counter(df['gender']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Partner" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Churn No Yes\n", + "Partner \n", + "No 2441 1200\n", + "Yes 2733 669\n", + "Partner Counter({'No': 3641, 'Yes': 3402})\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "partner_plot = df.groupby(['Partner', 'Churn']).size().reset_index().pivot(columns='Churn', index='Partner', values=0)\n", + "partner_plot.plot(x=partner_plot.index, kind='bar', stacked=True);\n", + "print(partner_plot)\n", + "print('Partner', collections.Counter(df['Partner']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Dependents" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Dependents Counter({'No': 4933, 'Yes': 2110})\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAAF+CAYAAAAlX6amAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAG1dJREFUeJzt3Xu0nXV95/HPlyQQBpVrZFmCDaV0DSA2YoouL11qaLjUCnSBIhYYZZmx4ohLnY6XThNq7RKtxWE5lWLBRosCI1KY1ooRUcdbJQgFhHEIlEsWCuHaImIN/OaP80APkuScwMlv55y8Xmtlnf38nt9+zm/zx/Ht8zx772qtBQCAfrYZ9QIAALY2AgwAoDMBBgDQmQADAOhMgAEAdCbAAAA6E2AAAJ0JMACAzgQYAEBns0e9gI3Zbbfd2oIFC0a9DACACV155ZV3t9bmTWbuFh1gCxYsyKpVq0a9DACACVXVrZOd6xIkAEBnAgwAoDMBBgDQ2RZ9DxgAMP39/Oc/z5o1a/Lwww+PeilTYu7cuZk/f37mzJnzlI8hwACAzWrNmjV55jOfmQULFqSqRr2cp6W1lnvuuSdr1qzJXnvt9ZSP4xIkALBZPfzww9l1112nfXwlSVVl1113fdpn8yYVYFV1S1VdW1VXV9WqYWyXqlpZVTcOP3cexquqzqiq1VV1TVUdOO44Jw7zb6yqE5/WygGAaWMmxNdjpuK1bMoZsFe21ha21hYN2+9JcllrbZ8klw3bSXJYkn2Gf0uTfGJY7C5JliV5UZKDkix7LNoAALYmT+cS5BFJVgyPVyQ5ctz4p9uY7ybZqaqek+SQJCtba/e21u5LsjLJoU/j9wMAM9SPf/zjHHvssdl7772z33775fDDD89ZZ52VV7/61aNe2pSYbIC1JF+uqiuraukwtntr7UdJMvx89jC+R5Lbxz13zTC2oXEAgMe11nLUUUflFa94RW666aZcf/31+dM//dPceeedT+u469atm6IVPn2TfRfkS1trd1TVs5OsrKr/u5G567sw2jYy/sQnjwXe0iR57nOfO8nlAQAzxeWXX545c+bkLW95y+NjCxcuzP3335/LLrssRx99dK677rq88IUvzN/8zd+kqh7/+sLddtstq1atyrvf/e587Wtfy/Lly3PHHXfklltuyW677ZYlS5bkkksuyUMPPZSbbropRx11VD784Q93f42TOgPWWrtj+HlXkosydg/XncOlxQw/7xqmr0my57inz09yx0bGf/F3ndVaW9RaWzRv3qS+zxIAmEEei6v1ueqqq/Kxj30s119/fW6++eZ861vfmvB4V155ZS6++OJ89rOfTZJcffXVOf/883Pttdfm/PPPz+233z7BEabehAFWVTtU1TMfe5xkSZLrklyS5LF3Mp6Y5OLh8SVJThjeDfniJA8MlygvTbKkqnYebr5fMowBAEzKQQcdlPnz52ebbbbJwoULc8stt0z4nNe85jXZfvvtH99evHhxdtxxx8ydOzf77bdfbr110t+hPWUmcwly9yQXDW+5nJ3ks621L1XVFUkuqKqTktyW5Jhh/heTHJ5kdZKHkrwxSVpr91bVB5JcMcz749bavVP2SgCAGWH//ffP5z//+fXu22677R5/PGvWrMfv65o9e3YeffTRJHnSZ3TtsMMOkzpGTxMGWGvt5iS/vp7xe5IsXs94S3LyBo51TpJzNn2ZPMHyHUe9AqaT5Q+MegUAm+RVr3pV3ve+9+WTn/xk3vzmNydJrrjiinz961/f4HMWLFiQK6+8MocddlguvPDCXkt9ynwSPgCwRamqXHTRRVm5cmX23nvv7L///lm+fHl+6Zd+aYPPWbZsWU455ZS8/OUvz6xZszqu9qmpsRNWW6ZFixa1VatWjXoZWx5nwNgUzoABI3bDDTdk3333HfUyptT6XlNVXTnuA+s3yhkwAIDOBBgAQGcCDACgMwEGANCZAAMA6EyAAQB0Ntkv4wYAmBIL3vP3U3q8Wz702xPOqaq8853vzEc/+tEkyZ/92Z/lwQcfzPLly6d0LZPlDBgAMONtt912+cIXvpC777571EtJIsAAgK3A7Nmzs3Tp0px++ulP2nfrrbdm8eLFef7zn5/Fixfntttu2+zrEWAAwFbh5JNPzrnnnpsHHnjiN4S87W1vywknnJBrrrkmb3jDG/L2t799s69FgAEAW4VnPetZOeGEE3LGGWc8Yfw73/lOjjvuuCTJ8ccfn29+85ubfS0CDADYarzjHe/I2WefnZ/85CcbnFNVm30dAgwA2Grssssuee1rX5uzzz778bGXvOQlOe+885Ik5557bl72spdt9nX4GAoAoKvJfGzE5vSud70rH//4xx/fPuOMM/KmN70pH/nI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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "dependents_plot = df.groupby(['Dependents', 'Churn']).size().reset_index().pivot(columns='Churn', index='Dependents', values=0)\n", + "dependents_plot.plot(x=dependents_plot.index, kind='bar', stacked=True);\n", + "print('Dependents', collections.Counter(df['Dependents']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# phoneservice" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Churn No Yes\n", + "PhoneService \n", + "No 512 170\n", + "Yes 4662 1699\n", + "PhoneService Counter({'Yes': 6361, 'No': 682})\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "phoneservice_plot = df.groupby(['PhoneService', 'Churn']).size().reset_index().pivot(columns='Churn', index='PhoneService', values=0)\n", + "phoneservice_plot.plot(x=phoneservice_plot.index, kind='bar', stacked=True);\n", + "print(phoneservice_plot)\n", + "print('PhoneService', collections.Counter(df['PhoneService']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# MultipleLines" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Churn No Yes\n", + "MultipleLines \n", + "No 2541 849\n", + "No phone service 512 170\n", + "Yes 2121 850\n", + "MultipleLines Counter({'No': 3390, 'Yes': 2971, 'No phone service': 682})\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAAHDCAYAAACDC6YNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3XvUnXV95/33hyQmPIgKGB0g0SCTqqA2YhoZlS4EhtM8FnXEA5TwKJ1UCwqj0xbrMyZI7dJ6WmXpaOMQDi40T5bIMrUoQz20Qz2QBGIMUMaoCHdBSIJQI0IJfJ8/9hV6E+4kd5I7v5373u/XWnvtfX2v33Xt74UxfPhdh52qQpIkSe3s0+8GJEmSBo0BTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktTY5H43sD3Pfvaza9asWf1uQ5IkaYdWrVq1oaqmj2bsXh3AZs2axcqVK/vdhiRJ0g4l+flox+7wFGSSaUluTPLDJLckuairX57kZ0lWd685XT1JLkmyLsmaJEcN29fZSX7cvc7elYOTJEka70YzA/YIcFxVbUoyBbghyde7dX9cVV/eavwpwOzu9Urgs8ArkxwILATmAgWsSrK8qn45FgciSZI0XuxwBqx6NnWLU7pXbWeT04Aru+2+DzwrycHAScD1VXV/F7quB07evfYlSZLGn1FdA5ZkErAK+PfAZ6rqB0neBXw4yQeBbwIXVtUjwKHAXcM2H+pq26pv/V0LgAUAz3ve83b6gCRJ0t7l0UcfZWhoiIcffrjfrYyJadOmMWPGDKZMmbLL+xhVAKuqx4A5SZ4FXJPkJcD7gV8ATwMWA38KfAjISLvYTn3r71rc7Y+5c+dub6ZNkiSNA0NDQ+y///7MmjWLZKQ4MH5UFRs3bmRoaIjDDjtsl/ezU88Bq6oHgO8AJ1fVPd1pxkeAy4B53bAhYOawzWYAd2+nLkmSJrCHH36Ygw46aNyHL4AkHHTQQbs9mzeauyCndzNfJNkXOAH4p+66LtL7p/l6YG23yXJgfnc35NHAg1V1D3AdcGKSA5IcAJzY1SRJ0gQ3EcLXFmNxLKM5BXkwcEV3Hdg+wLKq+lqSbyWZTu/U4mrgnd34a4FTgXXAQ8DbAarq/iQXAyu6cR+qqvt3+wgkSZLGmR0GsKpaA7x8hPpx2xhfwLnbWLcEWLKTPUqSpAHzi1/8ggsuuIAVK1YwdepUZs2axetf/3qWL1/O1772tX63t9v8LUhJkrRXqSre8IY3cOyxx/KTn/yEW2+9lb/4i7/g3nvv3a39bt68eYw63H0GMEmStFf59re/zZQpU3jnO9/5RG3OnDkcc8wxbNq0iTe96U286EUv4swzz6R34q3384UbNmwAYOXKlRx77LEALFq0iAULFnDiiScyf/58Lr/8ct74xjdy8sknM3v2bP7kT/6k+fHBXv5bkJIkafCsXbuWV7ziFSOuu/nmm7nllls45JBDePWrX80//uM/8prXvGa7+1u1ahU33HAD++67L5dffjmrV6/m5ptvZurUqbzwhS/k3e9+NzNnztzuPsaaM2CSJGncmDdvHjNmzGCfffZhzpw53HHHHTvc5vd+7/fYd999n1g+/vjjeeYzn8m0adM44ogj+PnPR/0b2mPGGbA9ZdEz+93B4Fn0YL87kCSNgSOPPJIvf3nrn5rumTp16hOfJ02a9MR1XZMnT+bxxx8HeMozuvbbb79R7aMlZ8AkSdJe5bjjjuORRx7h85///BO1FStW8Pd///fb3GbWrFmsWrUKgKuvvnqP97i7DGCSJGmvkoRrrrmG66+/nsMPP5wjjzySRYsWccghh2xzm4ULF3L++edzzDHHMGnSpIbd7ppsuXtgbzR37txauXJlv9vYNZ6CbM9TkJK0V7rtttt48Ytf3O82xtRIx5RkVVXNHc32zoBJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxnwSviRJamrWhX87pvu74yP/aYdjkvDe976XT3ziEwB8/OMfZ9OmTSxatGhMexktZ8AkSdKEN3XqVL7yla+wYcOGfrcCGMAkSdIAmDx5MgsWLOBTn/rUU9b9/Oc/5/jjj+dlL3sZxx9/PHfeeece78cAJkmSBsK5557LVVddxYMPPvmXU8477zzmz5/PmjVrOPPMM3nPe96zx3sxgEmSpIHwjGc8g/nz53PJJZc8qf69732PM844A4CzzjqLG264YY/3YgCTJEkD44ILLuDSSy/l17/+9TbHJNnjfRjAJEnSwDjwwAN585vfzKWXXvpE7VWvehVLly4F4KqrruI1r3nNHu/Dx1BIkqSmRvPYiD3pfe97H5/+9KefWL7kkkt4xzvewcc+9jGmT5/OZZddtsd7MIBJkqQJb9OmTU98fu5zn8tDDz30xPKsWbP41re+1bQfT0FKkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxnwMhSRJamvRM8d4fw9ud3VVccwxx/CBD3yAU045BYBly5axZMkSvvGNb4xtL6NkAJMkSRNaEj73uc9x+umn89rXvpbHHnuMD3zgA30LX+ApSEmSNABe8pKX8LrXvY6PfvSjXHTRRcyfP5/DDz+cK664gnnz5jFnzhz+6I/+iMcff5zNmzdz1lln8dKXvpSXvOQlT/nx7rHgDJgkSRoICxcu5KijjuJpT3saK1euZO3atVxzzTV897vfZfLkySxYsIClS5dy+OGHs2HDBn70ox8B8MADD4x5LwYwSZI0EPbbbz/e8pa38PSnP52pU6fyd3/3d6xYsYK5c+cC8Jvf/IaZM2dy0kkncfvtt3P++edz6qmncuKJJ455LwYwSZI0MPbZZx/22ad3BVZV8Y53vIOLL774KePWrFnD17/+dS655BKuvvpqFi9ePLZ9jOneJEmSxokTTjiBZcuWsWHDBgA2btzInXfeyfr166kqTj/9dC666CJuuummMf9uZ8AkSVJbO3hsRCsvfelLWbhwISeccAKPP/44U6ZM4XOf+xyTJk3inHPOoapIwkc/+tEx/+4dBrAk04B/AKZ2479cVQuTHAYsBQ4EbgLOqqp/TTIVuBJ4BbAReEtV3dHt6/3AOcBjwHuq6roxPyJJkqRtWLRo0ZOWzzjjDM4444ynjLv55pv3aB+jOQX5CHBcVf02MAc4OcnRwEeBT1XVbOCX9IIV3fsvq+rfA5/qxpHkCOCtwJHAycD/SDJpLA9GkiRpPNhhAKueTd3ilO5VwHHAl7v6FcDru8+ndct0649Pkq6+tKoeqaqfAeuAeWNyFJIkSePIqC7CTzIpyWrgPuB64CfAA1W1uRsyBBzafT4UuAugW/8gcNDw+gjbDP+uBUlWJlm5fv36nT8iSZK016mqfrcwZsbiWEYVwKrqsaqaA8ygN2v14pGGde/Zxrpt1bf+rsVVNbeq5k6fPn007UmSpL3YtGnT2Lhx44QIYVXFxo0bmTZt2m7tZ6fugqyqB5J8BzgaeFaSyd0s1wzg7m7YEDATGEoyGXgmcP+w+hbDt5EkSRPUjBkzGBoaYqKc2Zo2bRozZszYrX2M5i7I6cCjXfjaFziB3oX13wbeRO9OyLOBr3abLO+Wv9et/1ZVVZLlwBeTfBI4BJgN3Lhb3UuStKctema/Oxj3pgCH7cwGe8ljKvak0cyAHQxc0d2xuA+wrKq+luRWYGmSPwduBi7txl8KfCHJOnozX28FqKpbkiwDbgU2A+dW1WNjeziSJEl7vx0GsKpaA7x8hPpPGeEuxqp6GDh9G/v6MPDhnW9TkiRp4vCniCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLU2OR+NzBRzXr4i/1uYeDc0e8GJEkapR3OgCWZmeTbSW5LckuS87v6oiT/nGR19zp12DbvT7Iuye1JThpWP7mrrUty4Z45JEmSpL3baGbANgPvq6qbkuwPrEpyfbfuU1X18eGDkxwBvBU4EjgE+Lskv9Wt/gzwH4EhYEWS5VV161gciCRJ0nixwwBWVfcA93Sff5XkNuDQ7WxyGrC0qh4BfpZkHTCvW7euqn4KkGRpN9YAJkmSBspOXYSfZBbwcuAHXem8JGuSLElyQFc7FLhr2GZDXW1b9a2/Y0GSlUlWrl+/fmfakyRJGhdGHcCSPB24Grigqv4F+CxwODCH3gzZJ7YMHWHz2k79yYWqxVU1t6rmTp8+fbTtSZIkjRujugsyyRR64euqqvoKQFXdO2z954GvdYtDwMxhm88A7u4+b6suSZI0MEZzF2SAS4HbquqTw+oHDxv2BmBt93k58NYkU5McBswGbgRWALOTHJbkafQu1F8+NochSZI0foxmBuzVwFnAj5Ks7mp/BrwtyRx6pxHvAP4QoKpuSbKM3sX1m4Fzq+oxgCTnAdcBk4AlVXXLGB6LJEnSuDCauyBvYOTrt67dzjYfBj48Qv3a7W0nSZI0CPwpIkmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWpscr8bkCRpbzbr4S/2u4WBc0e/G2jAGTBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpsR0GsCQzk3w7yW1Jbklyflc/MMn1SX7cvR/Q1ZPkkiTrkqxJctSwfZ3djf9xkrP33GFJkiTtvUYzA7YZeF9VvRg4Gjg3yRHAhcA3q2o28M1uGeAUYHb3WgB8FnqBDVgIvBKYByzcEtokSZIGyQ4DWFXdU1U3dZ9/BdwGHAqcBlzRDbsCeH33+TTgyur5PvCsJAcDJwHXV9X9VfVL4Hrg5DE9GkmSpHFgp64BSzILeDnwA+C5VXUP9EIa8Jxu2KHAXcM2G+pq26pv/R0LkqxMsnL9+vU7054kSdK4MOoAluTpwNXABVX1L9sbOkKttlN/cqFqcVXNraq506dPH217kiRJ48aoAliSKfTC11VV9ZWufG93apHu/b6uPgTMHLb5DODu7dQlSZIGymjuggxwKXBbVX1y2KrlwJY7Gc8GvjqsPr+7G/Jo4MHuFOV1wIlJDuguvj+xq0mSJA2UyaMY82rgLOBHSVZ3tT8DPgIsS3IOcCdwerfuWuBUYB3wEPB2gKq6P8nFwIpu3Ieq6v4xOQpJkqRxZIcBrKpuYOTrtwCOH2F8AeduY19LgCU706AkSdJE45PwJUmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktTYDgNYkiVJ7kuydlhtUZJ/TrK6e506bN37k6xLcnuSk4bVT+5q65JcOPaHIkmSND6MZgbscuDkEeqfqqo53etagCRHAG8Fjuy2+R9JJiWZBHwGOAU4AnhbN1aSJGngTN7RgKr6hySzRrm/04ClVfUI8LMk64B53bp1VfVTgCRLu7G37nTHkiRJ49zuXAN2XpI13SnKA7raocBdw8YMdbVt1SVJkgbOrgawzwKHA3OAe4BPdPWMMLa2U3+KJAuSrEyycv369bvYniRJ0t5rlwJYVd1bVY9V1ePA5/m304xDwMxhQ2cAd2+nPtK+F1fV3KqaO3369F1pT5Ikaa+2SwEsycHDFt8AbLlDcjnw1iRTkxwGzAZuBFYAs5McluRp9C7UX77rbUuSJI1fO7wIP8mXgGOBZycZAhYCxyaZQ+804h3AHwJU1S1JltG7uH4zcG5VPdbt5zzgOmASsKSqbhnzo5EkSRoHRnMX5NtGKF+6nfEfBj48Qv1a4Nqd6k6SJGkC8kn4kiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktTYDgNYkiVJ7kuydljtwCTXJ/lx935AV0+SS5KsS7ImyVHDtjm7G//jJGfvmcORJEna+41mBuxy4OStahcC36yq2cA3u2WAU4DZ3WsB8FnoBTZgIfBKYB6wcEtokyRJGjQ7DGBV9Q/A/VuVTwOu6D5fAbx+WP3K6vk+8KwkBwMnAddX1f1V9Uvgep4a6iRJkgbCrl4D9tyqugege39OVz8UuGvYuKGutq36UyRZkGRlkpXr16/fxfYkSZL2XmN9EX5GqNV26k8tVi2uqrlVNXf69Olj2pwkSdLeYFcD2L3dqUW69/u6+hAwc9i4GcDd26lLkiQNnF0NYMuBLXcyng18dVh9fnc35NHAg90pyuuAE5Mc0F18f2JXkyRJGjiTdzQgyZeAY4FnJxmidzfjR4BlSc4B7gRO74ZfC5wKrAMeAt4OUFX3J7kYWNGN+1BVbX1hvyRJ0kDYYQCrqrdtY9XxI4wt4Nxt7GcJsGSnupMkSZqAfBK+JElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpscn9bkDSOLbomf3uYPAserDfHUgaA86ASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKmx3QpgSe5I8qMkq5Os7GoHJrk+yY+79wO6epJckmRdkjVJjhqLA5AkSRpvxmIG7LVVNaeq5nbLFwLfrKrZwDe7ZYBTgNndawHw2TH4bkmSpHFn8h7Y52nAsd3nK4DvAH/a1a+sqgK+n+RZSQ6uqnv2QA+SGpj18Bf73cLAuaPfDUgaE7s7A1bA/0qyKsmCrvbcLaGqe39OVz8UuGvYtkNd7UmSLEiyMsnK9evX72Z7kiRJe5/dnQF7dVXdneQ5wPVJ/mk7YzNCrZ5SqFoMLAaYO3fuU9ZLkiSNd7s1A1ZVd3fv9wHXAPOAe5McDNC939cNHwJmDtt8BnD37ny/JEnSeLTLASzJfkn23/IZOBFYCywHzu6GnQ18tfu8HJjf3Q15NPCg139JkqRBtDunIJ8LXJNky36+WFXfSLICWJbkHOBO4PRu/LXAqcA64CHg7bvx3ZIkSePWLgewqvop8Nsj1DcCx49QL+DcXf0+SZKkicIn4UuSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSY80DWJKTk9yeZF2SC1t/vyRJUr81DWBJJgGfAU4BjgDeluSIlj1IkiT1W+sZsHnAuqr6aVX9K7AUOK1xD5IkSX01ufH3HQrcNWx5CHjl8AFJFgALusVNSW5v1Jt6ng1s6HcTuyIf7XcHGkf8c65B4J/z9p4/2oGtA1hGqNWTFqoWA4vbtKOtJVlZVXP73Ye0J/nnXIPAP+d7t9anIIeAmcOWZwB3N+5BkiSpr1oHsBXA7CSHJXka8FZgeeMeJEmS+qrpKciq2pzkPOA6YBKwpKpuadmDdsjTvxoE/jnXIPDP+V4sVbXjUZIkSRozPglfkiSpMQOYJElSYwYwSZKkxgxgkgZCkn2TvLDffUh7SpLzkjyj+/zXSW5Mcny/+9LIDGAiyYwk1yRZn+TeJFcnmdHvvqSxkuR1wGrgG93ynCQ+AkcTzYKq+pckJ9L75Zl3AX/Z5560DQYwAVxG73lsB9P7P+3fdDVpolhE77doHwCoqtXArD72I+0JWx5rcApwWVWtwn/P77X8H0YA06vqsqra3L0uB6b3uylpDG2uqgf73YS0h/0wybXA64CvJ3k6W/3cn/YerX8LUnunDUl+H/hSt/w2YGMf+5HG2tokZwCTkswG3gN8t889SWPt7cArgHVV9VCSZwPn9LknbYMzYAJ4B/Bm4BfAPcCbupo0UbwbOBJ4BPgi8CBwQV87ksZYVT0GvIDetV8A++K/5/daPglfkqQJIMmngSnA71bVi5McCFxXVb/T59Y0Ak9BDrAkH9zO6qqqi5s1I+1BSa4HTq+qB7rlA4ClVXVSfzuTxtSrquqoJDcDVNX9SZ7W76Y0MgPYYPv1CLX96F0zcBBgANNE8ewt4Qugqn6Z5Dn9bEjaAx5Nsg/dhfdJDgIe729L2hYD2ACrqk9s+Zxkf+B8ehdxLgU+sa3tpHHo8STPq6o7AZI8H+8O08TzGeBqYHqSi+hd23tRf1vSthjABlx3jcB7gTOBK4CjquqX/e1KGnMfAG5I8vfd8u8CC/rYjzRmukdP/FFVXZlkFXACEHqn3df2tzttixfhD7AkHwPeCCwGPlNVm/rckrTHdLfkH03vX0zfq6oNfW5JGhNJ3gz8Ob3/iP7Lqnq0zy1pFAxgAyzJ4/Ruy9/Mk0/HhN5F+M/oS2PSGEnyoqr6pyRHjbS+qm5q3ZO0JyTZD/ggcDLwBYZd+1VVn+xXX9o2T0EOsKry+TCa6N5L71TjSNc0FnBc23akPeZRejdWTQX2x4vv93rOgEmSNI4lORn4JL3f9P1QVT3U55Y0CgYwSRNekh/Su7t3WVX9pN/9SGMpyf8G3llVt/S7F42eAUzShNc9duIt3etx4P+jF8bu7GtjkgaWAUzSQOl+jPu/A2dW1aR+9yNpMHkRvqSBkGQWvQdTvgV4DPiTfvYjabAZwCRNeEl+QO9HipfRezjlT/vckqQBZwCTNKF1v413TVV9pN+9SNIWPgdK0oRWVY8Dp/a7D0kazovwJU14Sf478Bt6dz/+eku9qu7vW1OSBpoBTNKEl+RnI5Srql7QvBlJwgAmSZLUnNeASZrwkvxfSf7fJIu75dlJ/u9+9yVpcBnAJA2Cy4B/BV7VLQ8Bf96/diQNOgOYpEFweFX9JfAoQFX9Bkh/W5I0yAxgkgbBvybZFyiAJIcDj/S3JUmDzAexShoEC4FvADOTXAW8Gvh/+tqRpIHmXZCSBkKSg4Cj6Z16/H5VbehzS5IGmKcgJU14SV4NPFxVfws8C/izJM/vc1uSBpgBTNIg+CzwUJLfBv4Y+DlwZX9bkjTIDGCSBsHm6l1vcRpwSVX9FbB/n3uSNMC8CF/SIPhVkvcDvw/8bpJJwJQ+9yRpgDkDJmkQvIXeYyfOqapfAIcCH+tvS5IGmXdBSpIkNeYMmCRJUmMGMEmSpMYMYJIGQpJ9k7yw331IEhjAJA2AJK8DVtP7OSKSzEmyvL9dSRpkBjBJg2ARMA94AKCqVgOz+tiPpAFnAJM0CDZX1YP9bkKStvBBrJIGwdokZwCTkswG3gN8t889SRpgzoBJGgTvBo6k9zDWLwH/AlzQ144kDTQfxCpJktSYpyAlTXhJfgv4b/QuvH/i772qOq5fPUkabM6ASZrwkvwQ+BywCnhsS72qVvWtKUkDzQAmacJLsqqqXtHvPiRpCwOYpAkvySLgPuAaehfiA1BV9/erJ0mDzQAmacJL8rMRylVVL2jejCRhAJMkSWrOuyAlTXhJpgDvAn63K30H+OuqerRvTUkaaM6ASZrwkvxPYApwRVc6C3isqv6gf11JGmQGMEkTXpIfVtVv76gmSa34U0SSBsFjSQ7fspDkBQx7HpgkteY1YJIGwR8D307yUyDA84G397clSYPMU5CSBkKSqcAL6QWwf6qqR3awiSTtMQYwSQMhyat46m9BXtm3hiQNNE9BSprwknwBOBxYzb9d+1WAAUxSXzgDJmnCS3IbcET5F56kvYR3QUoaBGuBf9fvJiRpC09BSpqwkvwNvVON+wO3JrmRJ/8Y9+/1qzdJg80AJmki+3i/G5CkkXgNmKSBkOTfAfPozYitqKpf9LklSQPMa8AkTXhJ/gC4EXgj8Cbg+0ne0d+uJA0yZ8AkTXhJbgdeVVUbu+WDgO9W1Qv725mkQeUMmKRBMAT8atjyr4C7+tSLJDkDJmniS3Il8FLgq/SuATuN3inJ/wNQVZ/sX3eSBpF3QUoaBD/pXlt8tXvfvw+9SJIzYJIkSa3U+9AlAAAD6klEQVR5DZgkSVJjBjBJkqTGDGCSJEmNGcAkTXhJZiS5Jsn6JPcmuTrJjH73JWlwGcAkDYLLgOXAwcChwN90NUnqC++ClDThJVldVXN2VJOkVpwBkzQINiT5/SSTutfvAxv73ZSkweUMmKQJL8nzgE8D/4Hek/C/C5xfVT/va2OSBpYBTJIkqTF/ikjShJXkg9tZXVV1cbNmJGkYZ8AkTVhJ3jdCeT/gHOCgqnp645YkCTCASRoQSfYHzqcXvpYBn6iq+/rblaRB5SlISRNakgOB9wJnAlcAR1XVL/vblaRBZwCTNGEl+RjwRmAx8NKq2tTnliQJ8BSkpAksyePAI8Bmeo+feGIVvYvwn9GXxiQNPAOYJElSYz4JX5IkqTEDmCRJUmMGMEmSpMYMYJKaS1JJvjBseXKS9Um+NoptN3Xvs5KcMaw+N8klO9h2VpK1uzImyYeSnLCj/iRpNHwMhaR++DXwkiT7VtVvgP8I/PNO7mMWcAbwRYCqWgmsHMsmh6uq7f2skSTtFGfAJPXL14H/1H1+G/ClLSuSLEry34Ytr00ya6vtPwIck2R1kv+a5NgtM2jd9l9I8q0kP07yX7b+8iSTknwsyYoka5L84faaTXJ5kjd1n+9IclGSm5L8KMmLuvp+SZZ0+7w5yWld/cgkN3a9rkkyeyf/WUmaYAxgkvplKfDWJNOAlwE/2MntLwT+d1XNqapPjbD+ZfQC3n8APpjkkK3WnwM8WFW/A/wO8F+SHLYT37+hqo4CPgtsCYsfAL7V7fO1wMeS7Ae8E/irqpoDzAWGduJ7JE1ABjBJfVFVa+idRnwbcO0e+IqvVtVvqmoD8G1g3lbrTwTmJ1lNL/wdBOzMzNRXuvdV9I5jyz4v7Pb5HWAa8Dzge8CfJflT4PndaVdJA8xrwCT103Lg48Cx9ALQFpt58n8gTtuFfW/9lOmtlwO8u6que1Lxqac6t+WR7v0x/u3v0gD/uapu32rsbUl+QG9G7rokf1BV3xrl90iagJwBk9RPS4APVdWPtqrfARwFkOQoYKRTg78C9t/Ovk9LMi3JQfQC3oqt1l8HvCvJlO57fqs7Xbg7rgPenSTdPl/evb8A+GlVXUIvdL5sN79H0jhnAJPUN1U1VFV/NcKqq4EDu1N57wL+zwhj1gCbk/wwyX8dYf2NwN8C3wcurqq7t1r/P4FbgZu6x078Nf82k/XCJEPDXqeP8pAuBqYAa7p9XtzV3wKs7Y7nRcCVo9yfpAnK34KUNOEkWQRsqqqP97sXSRqJM2CSJEmNOQMmSZLUmDNgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1Nj/D1EJ+JFeqUeqAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "multiplelines_plot = df.groupby(['MultipleLines', 'Churn']).size().reset_index().pivot(columns='Churn', index='MultipleLines', values=0)\n", + "multiplelines_plot.plot(x=multiplelines_plot.index, kind='bar', stacked=True);\n", + "print(multiplelines_plot)\n", + "print('MultipleLines', collections.Counter(df['MultipleLines']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# InternetService" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Churn No Yes\n", + "InternetService \n", + "DSL 1962 459\n", + "Fiber optic 1799 1297\n", + "No 1413 113\n", + "InternetService Counter({'Fiber optic': 3096, 'DSL': 2421, 'No': 1526})\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAAGhCAYAAADGNwhcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3X20XmV55/HvDxISROTN6AISG4oRBdGIKaLADAICUhV1RBEKFKmpLSgU11isXZNYx44sscywdLSxINiFIgpUbPElItrB14QXA4jUqLxEKCSgFETQhGv+ePahh3CSHJJz7ufkPN/PWmedva997/1c23UW/rL3vfeTqkKSJEntbNHvBiRJkgaNAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLU2JR+N7A+z3zmM2v27Nn9bkOSJGmDrr322lVVNWM0Yyd0AJs9ezZLly7tdxuSJEkblOT20Y71FqQkSVJjBjBJkqTGDGCSJEmNTeg5YJIkafP3u9/9jhUrVvDII4/0u5UxMX36dGbOnMnUqVM3+hgGMEmSNK5WrFjBtttuy+zZs0nS73Y2SVVx3333sWLFCnbbbbeNPo63ICVJ0rh65JFH2GmnnTb78AWQhJ122mmTr+YZwCRJ0ribDOFryFiciwFMkiSpMQOYJEmacP793/+dY445ht13350999yTI488kkWLFvGa17ym362NCQOYJEmaUKqKN7zhDRx00EH89Kc/5Uc/+hF/+7d/yz333LNJx129evUYdbjpDGCSJGlCufrqq5k6dSrveMc7Hq/NnTuXAw88kIceeog3velNPP/5z+e4446jqoDe1xeuWrUKgKVLl3LQQQcBsHDhQubPn89hhx3GCSecwAUXXMAb3/hGjjjiCObMmcN73vOe5ucHvoZCkiRNMDfddBMvfelLR9x2/fXXc/PNN7PLLruw//778+1vf5sDDjhgvce79tprueaaa9h666254IILuOGGG7j++uuZNm0ae+yxB+985zuZNWvWeJzKOnkFTJIkbTb23XdfZs6cyRZbbMHcuXO57bbbNrjP6173OrbeeuvH1w855BC22247pk+fzp577sntt4/6O7THjFfAJG28hdv1u4PBs/CBfncgjbu99tqLL3zhCyNumzZt2uPLW2655ePzuqZMmcJjjz0G8KR3dG2zzTajOkZLXgGTJEkTysEHH8yjjz7KJz/5ycdrS5Ys4Vvf+tY695k9ezbXXnstAJdeeum497ipDGCSJGlCScLll1/O4sWL2X333dlrr71YuHAhu+yyyzr3WbBgAaeddhoHHnggW265ZcNuN06Gnh6YiObNm1dLly7tdxuS1sVbkO15C1KboVtuuYUXvOAF/W5jTI10Tkmurap5o9nfK2CSJEmNGcAkSZIaM4BJkiQ1tsEAlmR6kh8k+WGSm5O8v6vvluT7SX6S5HNJturq07r15d322cOO9d6ufmuSw8frpCRJkiay0VwBexQ4uKpeDMwFjkiyH3AWcE5VzQF+CZzcjT8Z+GVVPRc4pxtHkj2BY4C9gCOA/5tk4j+mIEmSNMY2GMCq56FudWr3U8DBwNBb0i4EXt8tH9Wt020/JEm6+sVV9WhV/RxYDuw7JmchSZK0GRnVm/C7K1XXAs8FPgb8FPhVVQ29OnYFsGu3vCtwJ0BVrU7yALBTV//esMMO32f4Z80H5gM85znPeYqnI0mSJrrZZ/7LmB7vtg/94QbHJOGMM87gIx/5CABnn302Dz30EAsXLhzTXkZrVJPwq2pNVc0FZtK7ajXSyzyGXiiWdWxbV33tz1pUVfOqat6MGTNG054kSdJ6TZs2jcsuu4xVq1b1uxXgKT4FWVW/Ar4J7Adsn2ToCtpM4K5ueQUwC6Dbvh1w//D6CPtIkiSNmylTpjB//nzOOeecJ227/fbbOeSQQ3jRi17EIYccwh133DHu/YzmKcgZSbbvlrcGDgVuAa4G3tQNOxH4Yrd8RbdOt/0b1Xvd/hXAMd1TkrsBc4AfjNWJSJIkrc8pp5zCRRddxAMPPPEbJU499VROOOEEli1bxnHHHce73vWuce9lNFfAdgauTrIMWAIsrqp/Bv4SOCPJcnpzvM7rxp8H7NTVzwDOBKiqm4FLgB8BXwFOqao1Y3kykiRJ6/KMZzyDE044gXPPPfcJ9e9+97sce+yxABx//PFcc801497LBifhV9Uy4CUj1H/GCE8xVtUjwNHrONYHgQ8+9TYlSZI23emnn84+++zDSSedtM4xvZc3jC/fhC9JkgbGjjvuyJvf/GbOO++8x2uveMUruPjiiwG46KKLOOCAA8a9j1G9hkKSJGmsjOa1EePp3e9+Nx/96EcfXz/33HN529vexoc//GFmzJjBpz71qXHvwQAmSZImvYceeujx5Wc/+9k8/PDDj6/Pnj2bb3zjG0378RakJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaszXUEiSpLYWbjfGx3tgvZurigMPPJD3ve99vPrVrwbgkksu4fzzz+crX/nK2PYySgYwSZI0qSXhE5/4BEcffTSvfOUrWbNmDe973/v6Fr7AW5CSJGkAvPCFL+S1r30tZ511Fu9///s54YQT2H333bnwwgvZd999mTt3Ln/+53/OY489xurVqzn++OPZe++9eeELX/ikL+8eC14BkyRJA2HBggXss88+bLXVVixdupSbbrqJyy+/nO985ztMmTKF+fPnc/HFF7P77ruzatUqbrzxRgB+9atfjXkvBjBJkjQQttlmG97ylrfw9Kc/nWnTpvH1r3+dJUuWMG/ePAB+85vfMGvWLA4//HBuvfVWTjvtNI488kgOO+ywMe/FACZJkgbGFltswRZb9GZgVRVve9vb+MAHPvCkccuWLePLX/4y5557LpdeeimLFi0a2z7G9GiSJEmbiUMPPZRLLrmEVatWAXDfffdxxx13sHLlSqqKo48+mve///1cd911Y/7ZXgGTJEltbeC1Ea3svffeLFiwgEMPPZTHHnuMqVOn8olPfIItt9ySk08+maoiCWedddaYf7YBTJIkDYyFCxc+Yf3YY4/l2GOPfdK466+/flz78BakJElSYwYwSZKkxgxgkiRp3FVVv1sYM2NxLgYwSZI0rqZPn8599903KUJYVXHfffcxffr0TTqOk/AlSdK4mjlzJitWrGDlypX9bmVMTJ8+nZkzZ27SMQxgkiRpXE2dOpXddtut321MKN6ClCRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqbIMBLMmsJFcnuSXJzUlO6+oLk/wiyQ3dz5HD9nlvkuVJbk1y+LD6EV1teZIzx+eUJEmSJrYpoxizGnh3VV2XZFvg2iSLu23nVNXZwwcn2RM4BtgL2AX4epLndZs/BrwKWAEsSXJFVf1oLE5EkiRpc7HBAFZVdwN3d8sPJrkF2HU9uxwFXFxVjwI/T7Ic2LfbtryqfgaQ5OJurAFMkiQNlKc0ByzJbOAlwPe70qlJliU5P8kOXW1X4M5hu63oauuqr/0Z85MsTbJ05cqVT6U9SZKkzcKoA1iSpwOXAqdX1X8AHwd2B+bSu0L2kaGhI+xe66k/sVC1qKrmVdW8GTNmjLY9SZKkzcZo5oCRZCq98HVRVV0GUFX3DNv+SeCfu9UVwKxhu88E7uqW11WXJEkaGKN5CjLAecAtVfV3w+o7Dxv2BuCmbvkK4Jgk05LsBswBfgAsAeYk2S3JVvQm6l8xNqchSZK0+RjNFbD9geOBG5Pc0NX+Cnhrkrn0biPeBvwpQFXdnOQSepPrVwOnVNUagCSnAl8FtgTOr6qbx/BcJEmSNgujeQryGkaev3Xlevb5IPDBEepXrm8/SZKkQeCb8CVJkhozgEmSJDU2qqcgtREWbtfvDgbPwgf63YEkSaPiFTBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1NgGA1iSWUmuTnJLkpuTnNbVd0yyOMlPut87dPUkOTfJ8iTLkuwz7FgnduN/kuTE8TstSZKkiWs0V8BWA++uqhcA+wGnJNkTOBO4qqrmAFd16wCvBuZ0P/OBj0MvsAELgJcB+wILhkKbJEnSINlgAKuqu6vqum75QeAWYFfgKODCbtiFwOu75aOAT1fP94Dtk+wMHA4srqr7q+qXwGLgiDE9G0mSpM3AU5oDlmQ28BLg+8Czq+pu6IU04FndsF2BO4fttqKrrau+9mfMT7I0ydKVK1c+lfYkSZI2C6MOYEmeDlwKnF5V/7G+oSPUaj31JxaqFlXVvKqaN2PGjNG2J0mStNkYVQBLMpVe+Lqoqi7ryvd0txbpft/b1VcAs4btPhO4az11SZKkgTKapyADnAfcUlV/N2zTFcDQk4wnAl8cVj+hexpyP+CB7hblV4HDkuzQTb4/rKtJkiQNlCmjGLM/cDxwY5IbutpfAR8CLklyMnAHcHS37UrgSGA58DBwEkBV3Z/kA8CSbtzfVNX9Y3IWE9DsRz7T7xYGzm39bkCSpFHaYACrqmsYef4WwCEjjC/glHUc63zg/KfSoCRJ0mTjm/AlSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMam9LsBSZuv2Y98pt8tDJzb+t2ApDHhFTBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGNhjAkpyf5N4kNw2rLUzyiyQ3dD9HDtv23iTLk9ya5PBh9SO62vIkZ479qUiSJG0epoxizAXAR4FPr1U/p6rOHl5IsidwDLAXsAvw9STP6zZ/DHgVsAJYkuSKqvrRJvQuSdL4W7hdvzsYPAsf6HcH426DAayq/jXJ7FEe7yjg4qp6FPh5kuXAvt225VX1M4AkF3djDWCSJGngbMocsFOTLOtuUe7Q1XYF7hw2ZkVXW1ddkiRp4GxsAPs4sDswF7gb+EhXzwhjaz31J0kyP8nSJEtXrly5ke1JkiRNXBsVwKrqnqpaU1WPAZ/kP28zrgBmDRs6E7hrPfWRjr2oquZV1bwZM2ZsTHuSJEkT2kYFsCQ7D1t9AzD0hOQVwDFJpiXZDZgD/ABYAsxJsluSrehN1L9i49uWJEnafG1wEn6SzwIHAc9MsgJYAByUZC6924i3AX8KUFU3J7mE3uT61cApVbWmO86pwFeBLYHzq+rmMT8bSZKkzcBonoJ86wjl89Yz/oPAB0eoXwlc+ZS6kyRJmoR8E74kSVJjBjBJkqTGDGCSJEmNjeariCRJGlizH/lMv1sYOLf1u4EGvAImSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhrbYABLcn6Se5PcNKy2Y5LFSX7S/d6hqyfJuUmWJ1mWZJ9h+5zYjf9JkhPH53QkSZImvtFcAbsAOGKt2pnAVVU1B7iqWwd4NTCn+5kPfBx6gQ1YALwM2BdYMBTaJEmSBs0GA1hV/Stw/1rlo4ALu+ULgdcPq3+6er4HbJ9kZ+BwYHFV3V9VvwQW8+RQJ0mSNBA2dg7Ys6vqboDu97O6+q7AncPGrehq66o/SZL5SZYmWbpy5cqNbE+SJGniGutJ+BmhVuupP7lYtaiq5lXVvBkzZoxpc5IkSRPBxgawe7pbi3S/7+3qK4BZw8bNBO5aT12SJGngbGwAuwIYepLxROCLw+ondE9D7gc80N2i/CpwWJIdusn3h3U1SZKkgTNlQwOSfBY4CHhmkhX0nmb8EHBJkpOBO4Cju+FXAkcCy4GHgZMAqur+JB8AlnTj/qaq1p7YL0mSNBA2GMCq6q3r2HTICGMLOGUdxzkfOP8pdSdJkjQJ+SZ8SZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGNimAJbktyY1JbkiytKvtmGRxkp90v3fo6klybpLlSZYl2WcsTkCSJGlzMxZXwF5ZVXOral63fiZwVVXNAa7q1gFeDczpfuYDHx+Dz5YkSdrsjMctyKOAC7vlC4HXD6t/unq+B2yfZOdx+HxJkqQJbVMDWAFfS3Jtkvld7dlVdTdA9/tZXX1X4M5h+67oak+QZH6SpUmWrly5chPbkyRJmnimbOL++1fVXUmeBSxO8uP1jM0ItXpSoWoRsAhg3rx5T9ouSZK0udukK2BVdVf3+17gcmBf4J6hW4vd73u74SuAWcN2nwnctSmfL0mStDna6ACWZJsk2w4tA4cBNwFXACd2w04EvtgtXwGc0D0NuR/wwNCtSkmSpEGyKbcgnw1cnmToOJ+pqq8kWQJckuRk4A7g6G78lcCRwHLgYeCkTfhsSZKkzdZGB7Cq+hnw4hHq9wGHjFAv4JSN/TxJkqTJwjfhS5IkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ11jyAJTkiya1Jlic5s/XnS5Ik9VvTAJZkS+BjwKuBPYG3JtmzZQ+SJEn91voK2L7A8qr6WVX9FrgYOKpxD5IkSX01pfHn7QrcOWx9BfCy4QOSzAfmd6sPJbm1UW/qeSawqt9NbIyc1e8OtBnx71yDwL/z9n5vtANbB7CMUKsnrFQtAha1aUdrS7K0qub1uw9pPPl3rkHg3/nE1voW5Apg1rD1mcBdjXuQJEnqq9YBbAkwJ8luSbYCjgGuaNyDJElSXzW9BVlVq5OcCnwV2BI4v6pubtmDNsjbvxoE/p1rEPh3PoGlqjY8SpIkSWPGN+FLkiQ1ZgCTJElqzAAmSZLUmAFMI0pyer97kMZKkm2SbDFsfYskT+tnT5IGmwFM63JGvxuQxtBVwPDA9TTg633qRRo3SWYmuTzJyiT3JLk0ycx+96UnM4BpXUb61gJpczW9qh4aWumWvQKmyehT9N6vuTO9r//7UlfTBGMA07r4fhJNJr9Oss/QSpKXAr/pYz/SeJlRVZ+qqtXdzwXAjH43pSdr/V2QmkCSPMjIQSvA1o3bkcbT6cDnkwx99dnOwFv62I80XlYl+SPgs936W4H7+tiP1sEXsUoaCEmmAnvQ+wfGj6vqd31uSRpzSZ4DfBR4Ob1/YH8HOK2qbu9rY3oSA9gA654C+93Q/xEl2QM4Eritqi7va3PSGEhycFV9I8kbR9peVZe17kmSwFuQg+4rwMnAT5I8F/gucBHwmiQvq6oz+9qdtOn+K/AN4LUjbCvAAKZJIcn/WM/mqqoPNGtGo+IVsAGW5Maq2rtb/gCwY1WdkmQr4NqhbdLmLsluVfXzDdWkzVWSd49Q3obeP7J3qqqnN25JG+BTkINtePo+GFgMUFW/BR7rS0fS+Lh0hNoXmnchjZOq+sjQD7CI3oNUJwEXA7/f1+Y0Im9BDrZlSc4GfgE8F/gaQJLt+9qVNEaSPB/YC9hurXlgzwCm96craXwk2ZHeS7SPAy4E9qmqX/a3K62LAWywvR04DZgNHFZVD3f1PYGz+9WUNIb2AF4DbM8T54E9SO/vX5oUknwYeCO9q197D3/xsCYm54AJgCQzAKpqZb97kcZakpdX1Xf73Yc0XpI8BjwKrOaJ00tCbxL+M/rSmNbJOWADLD0LkqwEfgz8W/f9Yet7mkbaHN2T5Evd3/e9Sb6YxHkxmjSqaouq2rqqtq2qZwz72dbwNTEZwAbb6cABwL5VtVNV7QC8DNg/yV/0tzVpTH0GuITeG/B3AT7Pf74pXJKa8xbkAEtyPfCqqlq1Vn0G8LWqekl/OpPGVpLvV9XL1qp9r6r261dPkgabk/AH29S1wxf05oF1X9siTRZXJzmT3iP5Re97IP+le2qMqrq/n81JGjxeARtgSa6rqn2e6jZpc5NkfS9crapyPpikpgxgAyzJGuDXI20CpleVV8EkSRoHBjBJk153S/3PgP/Slb4J/P3QF9FLUmsGMEmTXpJ/AKbSezs4wPHAmqr6k/51JWmQGcAkTXpJflhVL95QTZJa8T1gkgbBmiS7D610L2Fd08d+JA04X0MhaRD8d3qvovgZvYdMfg84qb8tSRpk3oKUNBCSTKP35dwBflxVj/a5JUkDzAAmSZLUmHPAJEmSGjOASZrU0jOr331I0nAGMEmTWvXmWfxTv/uQpOEMYJIGwfeS/EG/m5CkIU7ClzTpJfkRvScgb6P3/aehd3HsRf3sS9LgMoBJmvSS/N5I9aq6vXUvkgTegpQ0ALqgNQs4uFt+GP/7J6mPvAImadJLsgCYB+xRVc9Lsgvw+arav8+tSRpQ/gtQ0iB4A/A6evO/qKq7gG372pGkgWYAkzQIftu9jqIAkmzT534kDTgDmKRBcEmSvwe2T/J24OvAJ/vck6QB5hwwSQMhyauAw7rVr1XV4n72I2mwTel3A5LUyI3A1vRuQ97Y514kDThvQUqa9JL8CfAD4I3Am+i9Gf9t/e1K0iDzFqSkSS/JrcArquq+bn0n4DtVtUd/O5M0qLwCJmkQrAAeHLb+IHBnn3qRJOeASZq8kpzRLf4C+H6SL9KbA3YUvVuSktQXBjBJk9nQy1Z/2v0M+WIfepGkxzkHTJIkqTGvgEmatJL876o6PcmX6N6CP1xVva4PbUmSAUzSpPaP3e+z+9qFJK3FW5CSJq0kz6mqO/rdhyStzddQSJrM/mloIcml/WxEkoYzgEmazDJs+ff71oUkrcUAJmkyq3UsS1JfOQdM0qSVZA3wa3pXwrYGHh7aBFRVPaNfvUkabAYwSZKkxrwFKUmS1JgBTJIkqTEDmCRJUmMGMEnjKslDoxhzepKnNehldpJjh60/LclFSW5MclOSa5I8fYw+68ok24/FsSRNPgYwSRPB6cBTCmBJttyIz5kNHDts/TTgnqrau6peCJwM/G4seqiqI6vqVxvRo6QBYACT1ESSg5J8M8kXkvy4u/KUJO8CdgGuTnJ1N/awJN9Ncl2Szw9dlUpyW5L/keQa4OjueGcl+UGSf0tyYDduyyQfTrIkybIkf9q18SHgwCQ3JPkLYGfgF0M9VtWtVfVod4w/6o57Q5K/HwpbSR5K8jdJvg/8VZJL1jrHLw3r9Znd8gldHz9M8o9dbUaSS7selyTZf/z+15c00RjAJLX0EnpXu/ak92b6/avqXOAu4JVV9coutPw1cGhV7QMsBc4YdoxHquqAqrq4W59SVft2x13Q1U4GHqiqPwD+AHh7kt2AM4H/V1Vzq+oc4HzgL7uw9z+TzAFI8gLgLV1/c4E1wHHdsbcBbqqqlwH/C9gvyTbdtrcAnxt+wkn2At4HHFxVL6Z31Q3g/wDndD3+N+AfNuJ/T0mbqSn9bkDSQPlBVa0ASHIDvVuC16w1Zj96Ae3bSQC2Ar47bPvn1hp/Wff72u54AIcBL0rypm59O2AO8NvhO1bVDUl+vxt/KLAkycuBQ4CXduvQe4nrvd1ua4BLu/1XJ/kK8NokXwD+EHjPWv0dDHyhqlZ1+9zf1Q8F9uyOD/CMJNtW1YNImvQMYJJaenTY8hpG/m9QgMVV9dZ1HOPX6zjm8OMFeGdVffUJB04OWvtgVfUQvRB3WZLHgCPpBbULq+q9I3z+I1W1Ztj654BTgPuBJSMEqDDy1yBtAby8qn4zwjZJk5y3ICVNBA8C23bL3wP2T/JcePxJxec9xeN9FfizJFO7Yzyvu004/HNIsn+SHbrlrehdebsduAp4U5Jnddt2TPJ76/isbwL7AG/nyVfn6I715iQ7DR1UvXW4AAAAwUlEQVSrq38NOHVYL3Of4jlK2ox5BUzSRLAI+HKSu7t5YH8MfDbJtG77XwP/9hSO9w/0bkdel949vpXA64FlwOokPwQuAO4DPt6N2QL4F+DSqqokfw18LckW9J6MPIVeOHuCqlqT5J+BPwZOHGH7zUk+CHyr+27K67ux7wI+lmQZvf8W/yvwjqdwjpI2Y34XpCRJUmPegpQkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIa+/99SvurRhWkygAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "internetservice_plot = df.groupby(['InternetService', 'Churn']).size().reset_index().pivot(columns='Churn', index='InternetService', values=0)\n", + "internetservice_plot.plot(x=internetservice_plot.index, kind='bar', stacked=True);\n", + "print(internetservice_plot)\n", + "print('InternetService', collections.Counter(df['InternetService']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# OnlineSecurity" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Churn No Yes\n", + "OnlineSecurity \n", + "No 2037 1461\n", + "No internet service 1413 113\n", + "Yes 1724 295\n", + "OnlineSecurity Counter({'No': 3498, 'Yes': 2019, 'No internet service': 1526})\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "onlinesecurity_plot = df.groupby(['OnlineSecurity', 'Churn']).size().reset_index().pivot(columns='Churn', index='OnlineSecurity', values=0)\n", + "onlinesecurity_plot.plot(x=onlinesecurity_plot.index, kind='bar', stacked=True);\n", + "print(onlinesecurity_plot)\n", + "print('OnlineSecurity', collections.Counter(df['OnlineSecurity']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# OnlineBackup" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Churn No Yes\n", + "OnlineBackup \n", + "No 1855 1233\n", + "No internet service 1413 113\n", + "Yes 1906 523\n", + "OnlineBackup Counter({'No': 3088, 'Yes': 2429, 'No internet service': 1526})\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "onlinebackup_plot = df.groupby(['OnlineBackup', 'Churn']).size().reset_index().pivot(columns='Churn', index='OnlineBackup', values=0)\n", + "onlinebackup_plot.plot(x=onlinebackup_plot.index, kind='bar', stacked=True);\n", + "print(onlinebackup_plot)\n", + "print('OnlineBackup', collections.Counter(df['OnlineBackup']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# DeviceProtection" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Churn No Yes\n", + "DeviceProtection \n", + "No 1884 1211\n", + "No internet service 1413 113\n", + "Yes 1877 545\n", + "DeviceProtection Counter({'No': 3095, 'Yes': 2422, 'No internet service': 1526})\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAAHMCAYAAAByXRTYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xu0nXV95/H3hyQkiIBcIgWCDRNTlVtTTKmKzEJBbuMVQREKVFmmF1AsrtWhOtMErV1SRVcZHWksN2dRaSpSaQdF8Dp4qUkAA5FhSC1gCoUkIkgRauA7f+zn0EM4SQ7JOb99cvb7tdZZez/f57K/Dx6TT57n9/x2qgpJkiS1s12/G5AkSRo0BjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSY1P73cCm7LHHHjV79ux+tyFJkrRZy5cvX1tVM0ez7YQOYLNnz2bZsmX9bkOSJGmzktwz2m29BSlJktSYAUySJKkxA5gkSVJjE3oMmCRJ2vb98pe/ZPXq1Tz++OP9bmVMzJgxg1mzZjFt2rQtPoYBTJIkjavVq1ez0047MXv2bJL0u52tUlWsW7eO1atXs99++23xcbwFKUmSxtXjjz/O7rvvvs2HL4Ak7L777lt9Nc8AJkmSxt1kCF9DxuJcDGCSJEmNGcAkSdKE86//+q+cfPLJzJkzh/3335/jjz+exYsX8/rXv77frY0JA5gkSZpQqoq3vOUtHHHEEfzTP/0TP/rRj/izP/szHnjgga067vr168eow61nAJMkSRPKN77xDaZNm8bv/d7vPV2bN28ehx9+OI8++ignnngiL33pSzn11FOpKqD39YVr164FYNmyZRxxxBEALFq0iAULFnD00Udz+umnc/nll3PCCSdw7LHHMnfuXP7oj/6o+fmB01BIkqQJ5vbbb+flL3/5iOtuueUWVq5cyd57781hhx3Gd77zHV796ldv8njLly/npptuYocdduDyyy/n1ltv5ZZbbmH69Om85CUv4T3veQ/77rvveJzKRnkFTJIkbTMOPfRQZs2axXbbbce8efO4++67N7vPG9/4RnbYYYenl4888kh22WUXZsyYwf77788994z6O7THjAFMkiRNKAcccADLly8fcd306dOffj9lypSnx3VNnTqVp556CuBZc3TtuOOOozpGS96CHC+Ldul3B4Nn0cP97kCSNAZe+9rX8oEPfIDPfvazvPvd7wZg6dKlfOtb39roPrNnz2b58uUcd9xxXH311a1a3WJeAZMkSRNKEq655hpuuOEG5syZwwEHHMCiRYvYe++9N7rPwoULOeecczj88MOZMmVKw263TIaeHpiI5s+fX8uWLet3G1vGK2DteQVMkiakO+64g5e97GX9bmNMjXROSZZX1fzR7O8VMEmSpMYMYJIkSY0ZwCRJkhrbbABLMiPJD5L8MMnKJOd39f2S/GOSu5L8TZLtu/r0bnlVt372sGP9cVe/M8kx43VSkiRJE9loroA9Aby2qn4dmAccm+QVwAXAJ6tqLvAQcGa3/ZnAQ1X1YuCT3XYk2R84GTgAOBb4n0km/mMKkiRJY2yzAax6Hu0Wp3U/BbwW+EJXvwJ4c/f+Td0y3fojk6SrX1VVT1TVPwOrgEPH5CwkSZK2IaOaiLW7UrUceDHwaeCfgJ9V1dDUsauBfbr3+wA/Aaiq9UkeBnbv6t8fdtjh+wz/rAXAAoAXvehFz/F0JEnSRDf7vP89pse7+6P/ZbPbJOHcc8/lwgsvBODjH/84jz76KIsWLRrTXkZrVIPwq+rJqpoHzKJ31WqkyTyGJhTLRtZtrL7hZy2uqvlVNX/mzJmjaU+SJGmTpk+fzhe/+EXWrl3b71aA5/gUZFX9DPgm8ArgBUmGrqDNAu7r3q8G9gXo1u8C/HR4fYR9JEmSxs3UqVNZsGABn/zkJ5+17p577uHII4/k4IMP5sgjj+Tee+8d935G8xTkzCQv6N7vABwF3AF8Azix2+wM4Evd+2u7Zbr1X6/edPvXAid3T0nuB8wFfjBWJyJJkrQpZ511FldeeSUPP/zMb045++yzOf3001mxYgWnnnoq733ve8e9l9FcAdsL+EaSFcBS4Iaq+gfgvwLnJllFb4zXJd32lwC7d/VzgfMAqmolsAT4EfAV4KyqenIsT0aSJGljdt55Z04//XQuuuiiZ9S/973vccoppwBw2mmncdNNN417L5sdhF9VK4DfGKH+Y0Z4irGqHgdO2sixPgJ85Lm3KUmStPXe9773ccghh/DOd75zo9v0Jm8YX86EL0mSBsZuu+3G2972Ni655JKna6961au46qqrALjyyit59atfPe59jGoaCkmSpLEymmkjxtP73/9+PvWpTz29fNFFF/Gud72Lj33sY8ycOZPLLrts3HswgEmSpEnv0Ucfffr9nnvuyWOPPfb08uzZs/n617/etB9vQUqSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGnIZCkiS1tWiXMT7ew5tcXVUcfvjhfPCDH+S4444DYMmSJVx66aV85StfGdteRskAJkmSJrUkXHzxxZx00km85jWv4cknn+SDH/xg38IXeAtSkiQNgAMPPJA3vOENXHDBBZx//vmcfvrpzJkzhyuuuIJDDz2UefPm8Qd/8Ac89dRTrF+/ntNOO42DDjqIAw888Flf3j0WvAImSZIGwsKFCznkkEPYfvvtWbZsGbfffjvXXHMN3/3ud5k6dSoLFizgqquuYs6cOaxdu5bbbrsNgJ/97Gdj3osBTJIkDYQdd9yRt7/97Tz/+c9n+vTp3HjjjSxdupT58+cD8Itf/IJ9992XY445hjvvvJNzzjmH448/nqOPPnrMezGASZKkgbHddtux3Xa9EVhVxbve9S4+/OEPP2u7FStW8OUvf5mLLrqIq6++msWLF49tH2N6NEmSpG3EUUcdxZIlS1i7di0A69at495772XNmjVUFSeddBLnn38+N99885h/tlfAJElSW5uZNqKVgw46iIULF3LUUUfx1FNPMW3aNC6++GKmTJnCmWeeSVWRhAsuuGDMP9sAJkmSBsaiRYuesXzKKadwyimnPGu7W265ZVz78BakJElSYwYwSZKkxgxgkiRp3FVVv1sYM2NxLgYwSZI0rmbMmMG6desmRQirKtatW8eMGTO26jgOwpckSeNq1qxZrF69mjVr1vS7lTExY8YMZs2atVXHMIBJkqRxNW3aNPbbb79+tzGheAtSkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKmxzQawJPsm+UaSO5KsTHJOV1+U5F+S3Nr9HD9snz9OsirJnUmOGVY/tqutSnLe+JySJEnSxDZ1FNusB95fVTcn2QlYnuSGbt0nq+rjwzdOsj9wMnAAsDdwY5Jf61Z/GngdsBpYmuTaqvrRWJyIJEnStmKzAayq7gfu797/PMkdwD6b2OVNwFVV9QTwz0lWAYd261ZV1Y8BklzVbWsAkyRJA+U5jQFLMhv4DeAfu9LZSVYkuTTJrl1tH+Anw3Zb3dU2VpckSRooow5gSZ4PXA28r6oeAT4DzAHm0btCduHQpiPsXpuob/g5C5IsS7JszZo1o21PkiRpmzGqAJZkGr3wdWVVfRGgqh6oqier6ings/zHbcbVwL7Ddp8F3LeJ+jNU1eKqml9V82fOnPlcz0eSJGnCG81TkAEuAe6oqk8Mq+81bLO3ALd3768FTk4yPcl+wFzgB8BSYG6S/ZJsT2+g/rVjcxqSJEnbjtE8BXkYcBpwW5Jbu9oHgHckmUfvNuLdwO8CVNXKJEvoDa5fD5xVVU8CJDkbuB6YAlxaVSvH8FwkSZK2CaN5CvImRh6/dd0m9vkI8JER6tdtaj9JkqRB4Ez4kiRJjRnAJEmSGhvNGDBJkgbXol363cHgWfRwvzsYd14BkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNbTaAJdk3yTeS3JFkZZJzuvpuSW5Iclf3umtXT5KLkqxKsiLJIcOOdUa3/V1Jzhi/05IkSZq4RnMFbD3w/qp6GfAK4Kwk+wPnAV+rqrnA17plgOOAud3PAuAz0AtswELgt4BDgYVDoU2SJGmQbDaAVdX9VXVz9/7nwB3APsCbgCu6za4A3ty9fxPwuer5PvCCJHsBxwA3VNVPq+oh4Abg2DE9G0mSpG3AcxoDlmQ28BvAPwJ7VtX90AtpwAu7zfYBfjJst9VdbWN1SZKkgTLqAJbk+cDVwPuq6pFNbTpCrTZR3/BzFiRZlmTZmjVrRtueJEnSNmNUASzJNHrh68qq+mJXfqC7tUj3+mBXXw3sO2z3WcB9m6g/Q1Utrqr5VTV/5syZz+VcJEmStgmjeQoywCXAHVX1iWGrrgWGnmQ8A/jSsPrp3dOQrwAe7m5RXg8cnWTXbvD90V1NkiRpoEwdxTaHAacBtyW5tat9APgosCTJmcC9wEnduuuA44FVwGPAOwGq6qdJPgws7bb7UFX9dEzOQpIkaRuy2QBWVTcx8vgtgCNH2L6AszZyrEuBS59Lg5IkSZONM+FLkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxkYzD5i2wOzH/7rfLQycu/vdgCRJo2QAkyRpE/wHdXt397uBBrwFKUmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktTYZgNYkkuTPJjk9mG1RUn+Jcmt3c/xw9b9cZJVSe5Mcsyw+rFdbVWS88b+VCRJkrYNU0exzeXAp4DPbVD/ZFV9fHghyf7AycABwN7AjUl+rVv9aeB1wGpgaZJrq+pHW9G7pH5btEu/Oxg8ix7udweSxsBmA1hVfTvJ7FEe703AVVX1BPDPSVYBh3brVlXVjwGSXNVtawCTJEkDZ2vGgJ2dZEV3i3LXrrYP8JNh26zuahurS5IkDZwtDWCfAeYA84D7gQu7ekbYtjZRf5YkC5IsS7JszZo1W9ieJEnSxLVFAayqHqiqJ6vqKeCz/MdtxtXAvsM2nQXct4n6SMdeXFXzq2r+zJkzt6Q9SZKkCW2LAliSvYYtvgUYekLyWuDkJNOT7AfMBX4ALAXmJtkvyfb0Bupfu+VtS5Ikbbs2Owg/yeeBI4A9kqwGFgJHJJlH7zbi3cDvAlTVyiRL6A2uXw+cVVVPdsc5G7gemAJcWlUrx/xsJEmStgGjeQryHSOUL9nE9h8BPjJC/TrguufUnSRJ0iTkTPiSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqbDTfBSlJI5r9+F/3u4WBc3e/G5A0JrwCJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGNhvAklya5MEktw+r7ZbkhiR3da+7dvUkuSjJqiQrkhwybJ8zuu3vSnLG+JyOJEnSxDeaK2CXA8duUDsP+FpVzQW+1i0DHAfM7X4WAJ+BXmADFgK/BRwKLBwKbZIkSYNmswGsqr4N/HSD8puAK7r3VwBvHlb/XPV8H3hBkr2AY4AbquqnVfUQcAPPDnWSJEkDYUvHgO1ZVfcDdK8v7Or7AD8Ztt3qrraxuiRJ0sAZ60H4GaFWm6g/+wDJgiTLkixbs2bNmDYnSZI0EWxpAHugu7VI9/pgV18N7Dtsu1nAfZuoP0tVLa6q+VU1f+bMmVvYniRJ0sS1pQHsWmDoScYzgC8Nq5/ePQ35CuDh7hbl9cDRSXbtBt8f3dUkSZIGztTNbZDk88ARwB5JVtN7mvGjwJIkZwL3Aid1m18HHA+sAh4D3glQVT9N8mFgabfdh6pqw4H9kiRJA2GzAayq3rGRVUeOsG0BZ23kOJcClz6n7iRJkiYhZ8KXJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktTYVgWwJHcnuS3JrUmWdbXdktyQ5K7uddeuniQXJVmVZEWSQ8biBCRJkrY1Y3EF7DVVNa+q5nfL5wFfq6q5wNe6ZYDjgLndzwLgM2Pw2ZIkSduc8bgF+Sbgiu79FcCbh9U/Vz3fB16QZK9x+HxJkqQJbWsDWAFfTbI8yYKutmdV3Q/Qvb6wq+8D/GTYvqu72jMkWZBkWZJla9as2cr2JEmSJp6pW7n/YVV1X5IXAjck+b+b2DYj1OpZharFwGKA+fPnP2u9JEnStm6rroBV1X3d64PANcChwANDtxa71we7zVcD+w7bfRZw39Z8viRJ0rZoiwNYkh2T7DT0HjgauB24Fjij2+wM4Evd+2uB07unIV8BPDx0q1KSJGmQbM0tyD2Ba5IMHeevq+orSZYCS5KcCdwLnNRtfx1wPLAKeAx451Z8tiRJ0jZriwNYVf0Y+PUR6uuAI0eoF3DWln6eJEnSZOFM+JIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjRnAJEmSGjOASZIkNWYAkyRJaswAJkmS1JgBTJIkqTEDmCRJUmMGMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJjBjBJkqTGDGCSJEmNGcAkSZIaM4BJkiQ1ZgCTJElqzAAmSZLUmAFMkiSpMQOYJElSYwYwSZKkxgxgkiRJjTUPYEmOTXJnklVJzmv9+ZIkSf3WNIAlmQJ8GjgO2B94R5L9W/YgSZLUb62vgB0KrKqqH1fVvwNXAW9q3IMkSVJfTW38efsAPxm2vBr4reEbJFkALOgWH01yZ6Pe1LMHsLbfTWyJXNDvDrQN8fdcg8Df8/Z+dbQbtg5gGaFWz1ioWgwsbtOONpRkWVXN73cf0njy91yDwN/zia31LcjVwL7DlmcB9zXuQZIkqa9aB7ClwNwk+yXZHjgZuLZxD5IkSX3V9BZkVa1PcjZwPTAFuLSqVrbsQZvl7V8NAn/PNQj8PZ/AUlWb30qSJEljxpnwJUmSGjOASZIkNWYAkyRJaswAJmnSS7JnkkuSfLlb3j/Jmf3uSxpLSc5OsnP3/i+T/CDJkf3uSyMzgIkks5Jck2RNkgeSXJ1kVr/7ksbQ5fSevt67W/5/wPv61o00PhZU1SNJjqb3zTO/D/x5n3vSRhjABHAZvfnY9qL3f9q/72rSZLFHVS0BnoLelDjAk/1tSRpzQ9MaHAdcVlXL8e/5Ccv/YQQws6ouq6r13c/lwMx+NyWNoX9LsjvdX1BJXgE83N+WpDH3wyTXAW8Avpzk+WzwdX+aOFp/F6QmprVJfhv4fLf8DmBdH/uRxtq59K7yzknyHXr/wDixvy1JY+6dwMuBVVX1WJI9AMc6TlBOxCqSvAj4FPBKev9a+i5wTlXd09fGpDGUZCrwEiDAnVX1yz63JI25JCcDc6rqI0n2BV7Y3YrUBGMAkzTpJTkLuLKqftYt7wq8o6r+Z387k8ZOkk8B04D/XFUvS7IbcH1V/WafW9MIDGADLMmfbGJ1VdWHmzUjjaMkt1bVvA1qt1TVb/SrJ2msJbm5qg4Z/rud5IdV9ev97k3P5hiwwfZvI9R2pDdmYHfAAKbJYrskqe5fnEmmANv3uSdprP0yyXb8x8Mmu9M9+auJxwA2wKrqwqH3SXYCzqE3iPMq4MKN7Sdtg64HliS5mN5fTr8HfKW/LUlj7tPA1cDMJOcDbwPO729L2hhvQQ64bozAucCpwBXAX1TVQ/3tShpb3VWB3wWOpDcI/6vAX1WVc4Fpm9dNPfEHVXV3kgOAo+j9nt9YVbf3tzttjAFsgCX5GHACsBj4dFU92ueWJEnPUZK3AX9K7x/Rf+4TvtsGA9gAS/IU8ASwnmdO1hd6g/B37ktj0hhJsqSq3pbkNkaYkLKqDu5DW9KYS7Ij8CfAscD/YtjYr6r6RL/60sY5BmyAVZXfhKDJ7pzu9fV97UIaf7+k92DVdGAnHHw/4RnAJE1aVXV/9/YEYElV/Us/+5HGQ5JjgU/Q+7aHQ6rqsT63pFEwgEkaBDsDX03yU3pP+X6hqh7oc0/SWPkgcFJVrex3Ixo9x4BJGhhJDgbeDrwVWF1VR/W5JUkDyjFAkgbJg8C/0vuy+Rf2uRdJA8wAJmnSS/L7Sb4JfA3YA3i3T0BK6ifHgEkaBC8C3ldVt/a7EUkCx4BJmuS6WfBXVNWB/e5FkoZ4C1LSpFZVTwE/TPKifvciSUO8BSlpEOwFrEzyA3qTVQJQVW/sX0uSBpkBTNIgOL/fDUjScI4BkzQQkvwqMLeqbkzyPGBKVf28331JGkyOAZM06SV5N/AF4C+70j7A3/WvI0mDzgAmaRCcBRwGPAJQVXfhRKyS+sgAJmkQPFFV/z60kGQq4PgLSX1jAJM0CL6V5APADkleB/wt8Pd97knSAHMQvqRJr5uM9UzgaCDA9cBflX8ASuoTA5ikgZJkN2BWVa3ody+SBpe3ICVNekm+mWTnLnzdClyW5BP97kvS4DKASRoEu1TVI8AJwGVV9XLgqD73JGmAGcAkDYKpSfYC3gb8Q7+bkSQDmKRB8CF6A+9XVdXSJP8JuKvPPUkaYA7ClyRJaswrYJIkSY0ZwCRJkhozgEma9JLsN5qaJLViAJM0CK4eofaF5l1IUmdqvxuQpPGS5KXAAcAuSU4YtmpnYEZ/upIkA5ikye0lwOuBFwBvGFb/OfDuvnQkSTgNhaQBkOSVVfW9fvchSUMcAyZpEKxL8rUktwMkOTjJf+t3U5IGlwFM0iD4LPDHwC8BqmoFcHJfO5I00AxgkgbB86rqBxvU1velE0nCACZpMKxNMgcogCQnAvf3tyVJg8xB+JImve7LtxcDrwIeAv4Z+O2quruffUkaXAYwSQMjyY7AdlX18373ImmwGcAkTXpJpgNvBWYzbP7DqvpQv3qSNNiciFXSIPgS8DCwHHiiz71IklfAJE1+SW6vqgP73YckDfEpSEmD4LtJDup3E5I0xCtgkia9JD8CXkzv6ccngABVVQf3tTFJA8sAJmnSS/KrI9Wr6p7WvUgSGMAkTXJJtgNWOAZM0kTiGDBJk1pVPQX8MMmL+t2LJA1xGgpJg2AvYGWSHwD/NlSsqjf2ryVJg8wAJmkQnN/vBiRpOMeASRoI3UD8uVV1Y5LnAVP8SiJJ/eIYMEmTXpJ3A18A/rIr7QP8Xf86kjToDGCSBsFZwGHAIwBVdRfwwr52JGmgGcAkDYInqurfhxaSTAUcfyGpbwxgkgbBt5J8ANghyeuAvwX+vs89SRpgDsKXNOl1k7GeCRxN72uIrq+qz/a3K0mDzAAmadJLck5V/cXmapLUircgJQ2CM0ao/U7rJiRpiBOxSpq0krwDOAXYL8m1w1btBKzrT1eSZACTNLl9F7gf2AO4cFj958CKvnQkSTgGTJIkqTnHgEma9JKckOSuJA8neSTJz5M80u++JA0ur4BJmvSSrALeUFV39LsXSQKvgEkaDA8YviRNJF4BkzTpJfkL4FfofQH3E0P1qvpi35qSNNB8ClLSINgZeIzeTPhDCjCASeoLr4BJkiQ15hUwSZNWkj+qqj9P8j/oXfF6hqp6bx/akiQDmKRJbWjg/bK+diFJG/AWpCRJUmNOQyFJktSYAUySJKkxA5gkSVJjBjBJk16SWUmuSbImyQNJrk4yq999SRpcBjBJg+Ay4FpgL2Af4O+7miT1hU9BSpr0ktxaVfM2V5OkVrwCJmkQrE3y20mmdD+/Dazrd1OSBpdXwCRNekleBHwKeCW9GfG/C5xTVff0tTFJA8sAJkmS1JhfRSRp0kryJ5tYXVX14WbNSNIwXgGTNGklef8I5R2BM4Hdq+r5jVuSJMAAJmlAJNkJOIde+FoCXFhVD/a3K0mDyluQkia1JLsB5wKnAlcAh1TVQ/3tStKgM4BJmrSSfAw4AVgMHFRVj/a5JUkCvAUpaRIiGFT7AAAEBklEQVRL8hTwBLCe3vQTT6+iNwh/5740JmngGcAkSZIacyZ8SZKkxgxgkiRJjRnAJEmSGjOASRpTSZ5McmuSlUl+mOTcJFv0Z02S+Uku2sJ9v5nkzq6H7yR5yXPc/3eS7L2Fnz07ySnDlrf4PCRNTgYwSWPtF1U1r6oOAF4HHA8s3JIDVdWyqnrvVvRyalX9Or35vz624cokUzax7+8AWxTAgNnA0wFsDM5D0iRjAJM0brqZ5hcAZ6dnSpKPJVmaZEWS3wVI8jdJjh/aL8nlSd6a5Igk/9DVnp/ksiS3dfu+tasfneR7SW5O8rdJRvp6oW8DL+62vzvJnyS5CTgpybwk3++OeU2SXZOcCMwHruyu5u2Q5OVJvpVkeZLrk+zVHe/FSW7srrTdnGQO8FHg8G7fP9zgPHZL8nfd530/ycFdfVGSS7srdz9OYmCTJjEDmKRxVVU/pvdnzQvpfQ3Qw1X1m8BvAu9Osh9wFfB2gCTbA0cC121wqP/e7XtQVR0MfD3JHsB/A46qqkOAZfRmvd/QG4Dbhi0/XlWvrqqrgM8B/7U75m3Awqr6QnesU6tqHr15xP4HcGJVvRy4FPhId6wrgU93V9peBdwPnAf8n+5K4Cc36OV84Jbu8z7Qff6QlwLHAIcCC5NM28h/VknbOGfCl9RCutejgYO7K0wAuwBzgS8DFyWZDhwLfLuqfpFk+DGOAk4eWqiqh5K8Htgf+E637fbA94btc2WSXwB3A+8ZVv8bgCS7AC+oqm919SuAvx2h/5cABwI3dJ8zBbi/+37Jfarqmq6nx7vjbuq/xauBt3bbfz3J7l0fAP+7qp4AnkjyILAnsHpTB5O0bTKASRpXSf4T8CTwIL0g9p6qun6E7b5J7+rP24HPj3Qonjmb/VDthqp6x0Y+/tSqWjZC/d9G1/0zPmdlVb3yGcVkS2bSHymdDZ3XE8NqT+Kf0dKk5S1ISeMmyUzgYuBT1fvajeuB3x+6tZbk15Ls2G1+FfBO4PBuuw19FTh72LF3Bb4PHJZkaHzX85L82mj7q6qHgYeSHN6VTgOGrob9HNipe38nMDPJK7vPmZbkgKp6BFid5M1dfXqS522w74a+Te+LwUlyBLC2O46kAWIAkzTWdhiahgK4kV5wOr9b91fAj4Cbk9wO/CX/cZXnq8B/Bm6sqn8f4bh/Cuya5PYkPwReU1Vr6D2t+PkkK+gFspc+x37PAD7W7T8P+FBXvxy4OMmt9G45nghc0H32rfTGe0EvtL232/+7wK8AK4D13cD8P9zg8xYB87vtP9p9vqQB43dBSpIkNeYVMEmSpMYMYJIkSY0ZwCRJkhozgEmSJDVmAJMkSWrMACZJktSYAUySJKkxA5gkSVJj/x/RrtfH/++DSwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "deviceprotection_plot = df.groupby(['DeviceProtection', 'Churn']).size().reset_index().pivot(columns='Churn', index='DeviceProtection', values=0)\n", + "deviceprotection_plot.plot(x=deviceprotection_plot.index, kind='bar', stacked=True);\n", + "print(deviceprotection_plot)\n", + "print('DeviceProtection', collections.Counter(df['DeviceProtection']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# TechSupport" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "TechSupport Counter({'No': 3473, 'Yes': 2044, 'No internet service': 1526})\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "techsupport_plot = df.groupby(['TechSupport', 'Churn']).size().reset_index().pivot(columns='Churn', index='TechSupport', values=0)\n", + "techsupport_plot.plot(x=techsupport_plot.index, kind='bar', stacked=True);\n", + "print('TechSupport', collections.Counter(df['TechSupport']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# StreamingTV" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "StreamingTV Counter({'No': 2810, 'Yes': 2707, 'No internet service': 1526})\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "streamingtv_plot = df.groupby(['StreamingTV', 'Churn']).size().reset_index().pivot(columns='Churn', index='StreamingTV', values=0)\n", + "streamingtv_plot.plot(x=streamingtv_plot.index, kind='bar', stacked=True);\n", + "print('StreamingTV', collections.Counter(df['StreamingTV']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# StreamingTV" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "StreamingMovies Counter({'No': 2785, 'Yes': 2732, 'No internet service': 1526})\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "streamingmovies_plot = df.groupby(['StreamingMovies', 'Churn']).size().reset_index().pivot(columns='Churn', index='StreamingMovies', values=0)\n", + "streamingmovies_plot.plot(x=streamingmovies_plot.index, kind='bar', stacked=True);\n", + "print('StreamingMovies', collections.Counter(df['StreamingMovies']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Contract" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Contract Counter({'Month-to-month': 3875, 'Two year': 1695, 'One year': 1473})\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAAG9CAYAAACyI8q8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xu0XXV97/33hyQkFJGbkUKSmhSjlZsBU6QCfRAot1rBVirCIRxhGD2FAo+2FnVYIhUrjxd6eFp14EMEHWgOp8oxh6IcVNCiFZJADASkRETYBSHhVhFBE77PH2sGd2AneydZe659eb/GWGOv+Z2/Odd3dazKJ3P+5pypKiRJktSebXrdgCRJ0nhjAJMkSWqZAUySJKllBjBJkqSWGcAkSZJaZgCTJElqmQFMkiSpZQYwSZKklhnAJEmSWjax1w1syste9rKaOXNmr9uQJEka1LJly9ZU1dShjB3RAWzmzJksXbq0121IkiQNKslPhzp2yKcgk0xIcluSa5rlWUluTnJPkv+RZNumPrlZXtWsn9lvH+9v6ncnOXroX0mSJGns2Jw5YOcAd/Vbvgi4uKpmA48DZzT1M4DHq+qVwMXNOJLsBZwE7A0cA3w6yYSta1+SJGn0GVIASzId+GPg/2uWAxwO/HMz5ArghOb98c0yzfojmvHHA4uq6tmq+gmwCjiwG19CkiRpNBnqHLB/AN4H7NAs7wo8UVVrm+U+YFrzfhrwAEBVrU3yZDN+GvCDfvvsv40kSRqjfv3rX9PX18czzzzT61a6YsqUKUyfPp1JkyZt8T4GDWBJ3gQ8UlXLkhy2vjzA0Bpk3aa26f9584H5AL/zO78zWHuSJGmE6+vrY4cddmDmzJl0ToqNXlXFo48+Sl9fH7Nmzdri/QzlFOTBwJuT3AcsonPq8R+AnZKsD3DTgQeb933ADIBm/Y7AY/3rA2zzvKq6tKrmVtXcqVOHdCWnJEkawZ555hl23XXXUR++AJKw6667bvXRvEEDWFW9v6qmV9VMOpPov11VpwA3AG9thp0GfK15v7hZpln/7aqqpn5Sc5XkLGA2cMtWdS9JkkaFsRC+1uvGd9ma+4D9DbAoyUeA24DLmvplwBeTrKJz5OskgKpameQq4E5gLXBmVa3bis+XJEkalTYrgFXVjcCNzft7GeAqxqp6BjhxI9tfCFy4uU1KkqTx5Wc/+xnnnnsuS5YsYfLkycycOZMTTjiBxYsXc8011/S6va3msyAlSdKIUlW85S1v4bDDDuPHP/4xd955Jx/96Ed5+OGHt2q/a9euHXxQSwxgkiRpRLnhhhuYNGkS7373u5+vzZkzh0MPPZSnnnqKt771rfze7/0ep5xyCp1p5p3HF65ZswaApUuXcthhhwGwYMEC5s+fz1FHHcW8efO4/PLL+dM//VOOOeYYZs+ezfve977Wvx+M8GdBSpKk8eeOO+7gda973YDrbrvtNlauXMkee+zBwQcfzPe+9z0OOeSQTe5v2bJl3HTTTWy33XZcfvnlLF++nNtuu43Jkyfz6le/mr/8y79kxowZm9xHt3kETJIkjRoHHngg06dPZ5tttmHOnDncd999g27z5je/me222+755SOOOIIdd9yRKVOmsNdee/HTnw75GdpdYwCTJEkjyt57782yZcsGXDd58uTn30+YMOH5eV0TJ07kueeeA3jRPbq23377Ie2jTZ6CHC4Ldux1B+PPgid73YEkqQsOP/xwPvCBD/C5z32Od77znQAsWbKE73znOxvdZubMmSxbtoxjjz2Wr3zlK221usU8AiZJkkaUJFx99dVcf/317Lnnnuy9994sWLCAPfbYY6PbnH/++ZxzzjkceuihTJgwocVut0zWXz0wEs2dO7eWLl3a6za2jEfA2ucRMEkake666y5e85rX9LqNrhroOyVZVlVzh7K9R8AkSZJaZgCTJElqmQFMkiSpZQYwSZKklhnAJEmSWmYAkyRJapk3YpUkSa2aed6/dHV/933sjwcdk4T3vOc9fPKTnwTgE5/4BE899RQLFizoai9D5REwSZI05k2ePJmvfvWrrFmzptetAAYwSZI0DkycOJH58+dz8cUXv2jdT3/6U4444gj2228/jjjiCO6///5h78cAJkmSxoUzzzyTK6+8kief3PDJKWeddRbz5s1jxYoVnHLKKZx99tnD3osBTJIkjQsvfelLmTdvHpdccskG9X/7t3/j5JNPBuDUU0/lpptuGvZeDGCSJGncOPfcc7nsssv4xS9+sdExSYa9DwOYJEkaN3bZZRf+/M//nMsuu+z52hve8AYWLVoEwJVXXskhhxwy7H14GwpJktSqodw2Yji9973v5R//8R+fX77kkks4/fTT+fjHP87UqVP5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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "contract_plot = df.groupby(['Contract', 'Churn']).size().reset_index().pivot(columns='Churn', index='Contract', values=0)\n", + "contract_plot.plot(x=contract_plot.index, kind='bar', stacked=True);\n", + "print('Contract', collections.Counter(df['Contract']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# PaperlessBilling" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PaperlessBilling Counter({'Yes': 4171, 'No': 2872})\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "paperlessbilling_plot = df.groupby(['PaperlessBilling', 'Churn']).size().reset_index().pivot(columns='Churn', index='PaperlessBilling', values=0)\n", + "paperlessbilling_plot.plot(x=paperlessbilling_plot.index, kind='bar', stacked=True);\n", + "print('PaperlessBilling', collections.Counter(df['PaperlessBilling']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# PaymentMethod" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Churn No Yes\n", + "PaymentMethod \n", + "Bank transfer (automatic) 1286 258\n", + "Credit card (automatic) 1290 232\n", + "Electronic check 1294 1071\n", + "Mailed check 1304 308\n", + "PaymentMethod Counter({'Electronic check': 2365, 'Mailed check': 1612, 'Bank transfer (automatic)': 1544, 'Credit card (automatic)': 1522})\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAAHuCAYAAAA4ObDlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xm0ZFV99//3pwdoZBKhISJIIyEqIGFo0SgmTDKpIFGcAaPLdkDAR/MYhzwLxGgkP6ORDBoMCEmIBoNEEkUZRHCWbkBGCWgYWlQGBZll+P7+qHOb6tu3p0v3Oaf6vl9r1ao6+5yq+hZU3/u5++yzd6oKSZIktWda1wVIkiRNNQYwSZKklhnAJEmSWmYAkyRJapkBTJIkqWUGMEmSpJYZwCRJklpmAJMkSWqZAUySJKllBjBJkqSWzei6gGXZZJNNas6cOV2XIUmStFwLFiy4o6pmr8ixvQ5gc+bMYf78+V2XIUmStFxJblrRYz0FKUmS1DIDmCRJUssMYJIkSS3r9RgwSZI0+h5++GEWLlzIgw8+2HUpq8SsWbPYYostmDlz5qRfwwAmSZJWq4ULF7L++uszZ84cknRdzhNSVdx5550sXLiQrbfeetKv4ylISZK0Wj344INsvPHGIx++AJKw8cYbP+HePAOYJEla7daE8DVmVXwWA5gkSeqdX/ziF7zmNa9hm222YbvttuPAAw/kpJNO4qUvfWnXpa0SBjBJktQrVcUhhxzCHnvswU9+8hOuueYaPvrRj/LLX/7yCb3uI488sooqfOIMYJIkqVcuvPBCZs6cydve9rZFbTvttBMvetGLuPfee3nlK1/Js571LF7/+tdTVcBg9Zw77rgDgPnz57PHHnsAcNxxxzFv3jz23XdfDj/8cE499VT++I//mP33359tt92W9773va1/PvAqSEmS1DNXXXUVu+6664T7LrvsMq6++mo233xzXvjCF/Kd73yH3XfffZmvt2DBAr797W+zzjrrcOqpp3L55Zdz2WWXsfbaa/PMZz6To446ii233HJ1fJSlsgdMkiSNjN12240tttiCadOmsdNOO3HjjTcu9zkHHXQQ66yzzqLtvffemw033JBZs2ax3XbbcdNNK7yE4ypjAJMkSb2y/fbbs2DBggn3rb322oseT58+fdG4rhkzZvDYY48BLDFFxLrrrrtCr9EmT0FKUpeO27DrCvrpuLu7rkAd2muvvfjABz7AZz/7Wd7ylrcAcMkll3DRRRct9Tlz5sxhwYIFHHDAAZx55pltlTpp9oBJkqReScJZZ53FeeedxzbbbMP222/Pcccdx+abb77U5xx77LEcc8wxvOhFL2L69OktVjs5Gbt6oI/mzp1b8+fP77oMSVp97AGbmD1ga5Rrr72WZz/72V2XsUpN9JmSLKiquSvyfHvAJEmSWmYAkyRJapkBTJIkqWUGMEmSpJYZwCRJklpmAJMkSWqZAUySJK3xkvCe97xn0fbHP/5xjjvuuM7qcSZ8SZLUqjnv+8oqfb0bP/aS5R6z9tpr86UvfYn3v//9bLLJJqv0/SfDHjBJkrTGmzFjBvPmzeOTn/zkEvtuuukm9t57b3bccUf23ntvbr755tVejwFMkiRNCUceeSSnn346d9+9+EoL73znOzn88MO54ooreP3rX8/RRx+92msxgEmSpClhgw024PDDD+fEE09crP173/ser3vd6wA47LDD+Pa3v73aazGASZKkKeNd73oXJ598Mvfdd99Sj0my2uswgEmSpCnjKU95Cq961as4+eSTF7W94AUv4Atf+AIAp59+Orvvvvtqr8MAJkmSppT3vOc93HHHHYu2TzzxRD73uc+x44478i//8i986lOfWu01OA2FJElq1YpMG7Gq3XvvvYseb7bZZtx///2LtufMmcM3vvGNVuuxB0ySJKllBjBJkqSWGcAkSZJaZgCTJElqmQFMkiSpZQYwSZKklhnAJEnSGq2q2H333TnnnHMWtZ1xxhnsv//+ndXkPGCSJKldx224il/v7mXuTsJnPvMZDj30UPbcc08effRRPvjBD/K1r31t1daxEuwBkyRJa7wddtiBl73sZZxwwgl86EMf4vDDD2ebbbbhtNNOY7fddmOnnXbiHe94B4899hiPPPIIhx12GM95znPYYYcdlli8e1WwB0ySJE0Jxx57LLvssgtrrbUW8+fP56qrruKss87iu9/9LjNmzGDevHl84QtfYJtttuGOO+7gyiuvBOCuu+5a5bUYwCRJ0pSw7rrr8upXv5r11luPtddem/PPP59LLrmEuXPnAvDAAw+w5ZZbst9++3HddddxzDHHcOCBB7Lvvvuu8loMYJIkacqYNm0a06YNRmBVFW9605v48Ic/vMRx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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "\n", + "paymentmethod_plot = df.groupby(['PaymentMethod', 'Churn']).size().reset_index().pivot(columns='Churn', index='PaymentMethod', values=0)\n", + "paymentmethod_plot.plot(x=paymentmethod_plot.index, kind='bar', stacked=True);\n", + "print(paymentmethod_plot)\n", + "print('PaymentMethod', collections.Counter(df['PaymentMethod']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# SeniorCitizen" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SeniorCitizen Counter({0: 5901, 1: 1142})\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "seniorcitizen_plot = df.groupby(['SeniorCitizen', 'Churn']).size().reset_index().pivot(columns='Churn', index='SeniorCitizen', values=0)\n", + "seniorcitizen_plot.plot(x=seniorcitizen_plot.index, kind='bar', stacked=True);\n", + "print('SeniorCitizen', collections.Counter(df['SeniorCitizen']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 探索数值型变量\n", + "\n", + "## Tenure" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmMAAAFpCAYAAADQuy+GAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xl8XXWd//HX997se7O2TZqm+0oXmrZQCkUQLMgiWHFhncFBVBz9MfqT0RGUUWf054iyjIiAIC6AIFKlgMpeCoWUpku6pmnaLF2yN/t2v78/zk0JIW1u2yTnLu/n45HHubn33HM+t1ve/Z7v+XyNtRYRERERcYfH7QJEREREIpnCmIiIiIiLFMZEREREXKQwJiIiIuIihTERERERFymMiYiIiLhIYUxERETERQpjIiIiIi5SGBMRERFxkcKYiIiIiIui3C7gRGRmZtqCggK3yxAREREZ0oYNG2qttVlD7RdSYaygoICioiK3yxAREREZkjFmXyD76TKliIiIiIsCCmPGmJXGmJ3GmFJjzG2DvB5rjHnC//p6Y0zBgNfzjTEtxpivB3pMERERkUgwZBgzxniB+4CLgNnAZ40xswfsdiPQYK2dCtwF/GjA63cBz5/gMUVERETCXiBzxpYApdbaMgBjzOPA5cC2fvtcDnzX//gp4F5jjLHWWmPMJ4AyoPUEjykiIiIjpLu7m8rKSjo6OtwuJeTFxcWRl5dHdHT0Sb0/kDCWC1T0+74SWHqsfay1PcaYJiDDGNMOfBO4APj6YPsf55giIiIyQiorK0lOTqagoABjjNvlhCxrLXV1dVRWVjJp0qSTOkYgc8YG+x2yAe7zPeAua23LSRzT2dGYm4wxRcaYopqamiGLFRERkaF1dHSQkZGhIHaKjDFkZGSc0ghjICNjlcCEft/nAdXH2KfSGBMFpAL1OKNdq4wxPwbSAJ8xpgPYEMAxAbDWPgA8AFBYWDhoYBMREZETpyA2PE711zGQkbF3gWnGmEnGmBjgM8DqAfusBq73P14FvGwdZ1trC6y1BcDPgB9aa+8N8JgiIiIiRz3yyCNUVw86djOoV199lUsuuWQEKxoeQ4Yxa20PcAvwIrAdeNJaW2KMudMYc5l/t4dw5oiVArcCx21VcaxjnvzHEBERkXB3omHsVPX09IzKeQLqwG+tXQOsGfDc7f0edwCfGuIY3x3qmCIiIhIZysvLueiii1i+fDnr1q0jNzeXZ599lvj4eIqLi7n55ptpa2tjypQpPPzww7z00ksUFRVx9dVXEx8fz1tvvUV8fPzR45WWlnLzzTdTU1OD1+vlj3/8IwAtLS2sWrWKrVu3smjRIn77299ijDm6qk9mZiZFRUV8/etf59VXX+W73/0u1dXVlJeXk5mZyYUXXsjq1atpa2tjz549XHHFFfz4xz8e1l+LkFoOSURERIbf9/5SwrbqI8N6zNnjU7jj0jnH3Wf37t384Q9/4Fe/+hVXXXUVTz/9NNdccw3XXXcd99xzDytWrOD222/ne9/7Hj/72c+49957+clPfkJhYeGHjnX11Vdz2223ccUVV9DR0YHP56OiooKNGzdSUlLC+PHjOeuss3jzzTdZvnz5cevasGEDa9euJT4+nkceeYTi4mI2btxIbGwsM2bM4Ctf+QoTJkw47jFOhJZDEhEREVdMmjSJBQsWALBo0SLKy8tpamqisbGRFStWAHD99dfz+uuvH/c4zc3NVFVVccUVVwBO36+EhAQAlixZQl5eHh6PhwULFlBeXj5kXZdddtkHRt3OP/98UlNTiYuLY/bs2ezbF9CSkwHTyJiMPGuhcR/sfxsaK6DwnyAx0+2qRETEb6gRrJESGxt79LHX66W9vf2kjmPtsZstDDxH3zywqKgofD4fwIfaUiQmJgZ0jOGikTEZOZ0t8Ocvwf/MhJ/Ph2e+AK98H363Cjqb3a5ORESCUGpqKmPGjOGNN94A4LHHHjs6SpacnExz84d/fqSkpJCXl8ef//xnADo7O2lrazvueQoKCtiwYQMATz/99HB+hBOmMCYj57X/huLfQeZ0WPpFuPQeOO87cGAzPP456Ol0u0IREQlCjz76KN/4xjeYN28excXF3H67c8/gDTfcwM0338yCBQs+NIr22GOPcffddzNv3jyWLVvGwYMHj3uOO+64g69+9aucffbZeL3eEfssgTDHG9oLNoWFhbaoqMjtMiQQh3fA/WfB5I/AWV/94Gt7XoK1d8Hsy2HVr8Hj7l8CEZFItH37dmbNmuV2GWFjsF9PY8wGa+2H7zYYQCNjMvyshee/AVFxsOiGD78+5XwovBG2PQvP/Zuzv4iISIRSGJPhV/IM7H0dFl4LcamD7zPnCpi7Cjb8GnY+P7r1iYiIBBGFMRlenS3w4rcgfQpMX3n8fRdeC4nZsO6e0alNREQkCCmMyfB6/cfQfACW3jz0XDCPF2ZdCvvXQdWG0alPREQkyCiMyfA5cgDe+l+Y8lHIDnBS6LSPQXQirLt3ZGsTEREJUgpjMnx2/BV83TD3k4G/JyYBpn/MmczfMLwdjUVEREKBwpgMn+2rITUf0k5wva5Zl4IB1t8/ImWJiEhouOGGG3jqqafcLmPUKYzJ8Gitg/I3If/ME39vYhZMXA7vPQrtjcNfm4iIRITe3l63SzgpCmMyPHY9D7YXJp5EGAOn1UVXqxPIREQkIvzmN79h3rx5zJ8/n2uvvRaA119/nWXLljF58uSjo2Svvvoql1xyydH33XLLLTzyyCOAs6zRnXfeyfLly/njH//Iueeeyze/+U2WLFnC9OnTjy6rFMy0ULgMj+2rISnHaWlxMjKmwth58PYvnKWTomKGtz4RETm252+Dg1uG95hjT4OL/vuYL5eUlPCDH/yAN998k8zMTOrr67n11ls5cOAAa9euZceOHVx22WWsWrVqyFPFxcWxdu1aAO6//356enp45513WLNmDd/73vf4xz/+MWwfayRoZExOXWcz7HkF8s8AY07+OLMuc9pilL0yfLWJiEhQevnll1m1ahWZmZkApKenA/CJT3wCj8fD7NmzOXToUEDH+vSnP/2B76+88koAFi1aRHl5+fAVPUI0MianbvffoLcL8ped2nFyFzltLravdu6wFBGR0XGcEayRYq3FDPIf+NjY2A/sAxAVFYXP5zv6fEdHxwfek5iYOOgxvF4vPT09w1bzSNHImJy67X+B+DGQNfPUjuONhrxC2LEGeoP/L4+IiJy8888/nyeffJK6ujoA6uvrj7nvxIkT2bZtG52dnTQ1NfHSSy+NVpmjQiNjcmq6O2DXizDpnKE77gdi4jLY+xrsexMmrzj144mISFCaM2cO3/72t1mxYgVer5eFCxcec98JEyZw1VVXMW/ePKZNm3bcfUOR6RsCDAWFhYW2qKjI7TKkv53Pwx8+Ax+9E3JPP/XjdXfAE1fD6dfBx39y6scTEZFBbd++nVmzAlwtRYY02K+nMWaDtbZwqPfqMqWcmu1/gZgk566Z4RAd54S6HX+BfvMDREREwpXCmJy83h7YuQbyFjvzvYbLxGXQfBCqNAoqIiLhT2FMTt6hLdDe4Ey6H055i8ET5dxVKSIiEuYUxuTkVbzrbLOGec5BTBKMWwDbVkMIzWkUEQk1oTRvPJid6q+jwpicvMp3ICHDWVtyuOWfCY37hr8jtIiIAE7X+rq6OgWyU2Stpa6ujri4uJM+hlpbyMnbvx6yZpxa1/1jyT8D3r7PuVQ5bt7wH19EJMLl5eVRWVlJTU2N26WEvLi4OPLy8k76/QpjcnKaD0HTfph2wcgcPy4VcuY6lyrP+4+ROYeISASLjo5m0qRJbpch6DKlnKzKd5ztqXbdP578M6F2J9TtGblziIiIuExhTE5OxXrwREPG1JE7R18TWS0cLiIiYUxhTE5OxTuQMWV4+4sNlDweknJgj8KYiIiEr4DCmDFmpTFmpzGm1Bhz2yCvxxpjnvC/vt4YU+B/fokxptj/tckYc0W/95QbY7b4X1N3z1DS0wXVxSN7iRKcGwPGzYe9r2vhcBERCVtDhjFjjBe4D7gImA181hgze8BuNwIN1tqpwF3Aj/zPbwUKrbULgJXAL40x/W8a+Ii1dkEg6zZJEDm4BXo7Rz6MAYxfCJ1HoHrjyJ9LRETEBYGMjC0BSq21ZdbaLuBx4PIB+1wOPOp//BRwvjHGWGvbrLV9QxpxgJqZhIOK9c52NMLY2PmA0bwxEREJW4GEsVygot/3lf7nBt3HH76agAwAY8xSY0wJsAW4uV84s8DfjDEbjDE3nfxHkFFX+Y7T6DUxc+TPFZfi3CSw5+WRP5eIiIgLAgljg3X0HDjCdcx9rLXrrbVzgMXAvxtj+lrUnmWtPR3n8ueXjTHnDHpyY24yxhQZY4rUmC5IVLwzOqNifcbNh8p3obN59M4pIiIySgIJY5XAhH7f5wHVx9rHPycsFajvv4O1djvQCsz1f1/t3x4GnsG5HPoh1toHrLWF1trCrKwRWHZHTkxTFRypGt0wNn4h+Hqg/M3RO6eIiMgoCSSMvQtMM8ZMMsbEAJ8BVg/YZzVwvf/xKuBla631vycKwBgzEZgBlBtjEo0xyf7nE4ELcSb7S7AbjWavA2XPAm+s5o2JiEhYGnI5JGttjzHmFuBFwAs8bK0tMcbcCRRZa1cDDwGPGWNKcUbEPuN/+3LgNmNMN+ADvmStrTXGTAaeMc6ahlHA7621Lwz3h5MRUPEueGMgffLondMbAzlzNG9MRETCUkBrU1pr1wBrBjx3e7/HHcCnBnnfY8BjgzxfBsw/0WIlCFS8AxnTRrbZ62DGLYANDzuXSVMH3j8iIiISutSBXwLX0wUHN0HWjNE/9/gFzrbs1dE/t4iIyAhSGJPA1e6C3i5InzL65x5TAHFpmjcmIiJhR2FMAnd4m7MdM3H0z208TouLslfA5xv984uIiIwQhTEJ3KGt4ImC1Dx3zj9uAbTWOiN0IiIiYUJhTAJ3aBuk5TuBzA05c53tPvUbExGR8KEwJoE7tBXSXLhE2Sd5LCRkKIyJiEhYURiTwLTVQ/MBZyK9W4xxRsfK3wSrNedFRCQ8KIxJYI5O3i9wtQxy5kDLQWjY624dIiIiw0RhTAJzKFjCWN+8sXXu1iEiIjJMFMYkMIe2QmwKxKe7W0fqBIhLVRgTEZGwoTAmgTm0zekv5qwn6h5jIHs2lK91tw4REZFhojAmQ/P54HCJ+5co++TMhcZ9zjqVIiIiIU5hTIbWuA+62yCtwO1KHDlznK0uVYqISBhQGJOhHSpxtsEyMjZmEkQnqt+YiIiEBYUxGdqhEsC42/C1P48XsmcpjImISFhQGJOhHS6BlHEQHed2Je/LmeusUdlS43YlIiIip0RhTIZ2cGvwzBfr0zdvbP9b7tYhIiJyihTG5Pi62pxu92OC5BJln4yp4I3VJH4REQl5CmNyfDU7wPqcSfPBxBsNWTNgn/qNiYhIaFMYk+M7uiZlkI2MgTNv7OBWaG90uxIREZGTpjAmx3eoBKLiIGms25V8WM5cwELFercrEREROWkKY3J8h0ogLd9pJxFssmaAJ0otLkREJKQpjMnxHSoJnv5iA0XFQuZ0KFcYExGR0KUwJsfWVg9ttc7IWLDKmQMHiqGr1e1KRERETorCmBxb7W5nm5rnbh3HkzMXfD1Q+a7blYiIiJwUhTE5tjp/GEsJ4jCWNQuMR/3GREQkZCmMybHV7gJPNCRlu13JscUkQPpkKFe/MRERCU0KY3JstaWQMj4476TsL2cOVBZBT6fblYiIiJwwhTE5ttqdkJLrdhVDyzkNejuh6j23KxERETlhCmMyuN5uaCgP7sn7fbJnO1v1GxMRkRCkMCaDa9jn3KWYGgIjY3EpkFagSfwiIhKSAgpjxpiVxpidxphSY8xtg7wea4x5wv/6emNMgf/5JcaYYv/XJmPMFYEeU1xWu8vZBvOdlP3lzIGKt6G3x+1KRERETsiQYcwY4wXuAy4CZgOfNcbMHrDbjUCDtXYqcBfwI//zW4FCa+0CYCXwS2NMVIDHFDf1tbUIhZExcMJYVysc3Ox2JSIiIickkJGxJUCptbbMWtsFPA5cPmCfy4FH/Y+fAs43xhhrbZu1tm+oIg6wJ3BMcVPtLogfAzFJblcSmJw5zlbzxkREJMQEEsZygYp+31f6nxt0H3/4agIyAIwxS40xJcAW4Gb/64EcU9xUuzt0LlECJGQ4bTg0b0xEREJMIGHMDPKcDXQfa+16a+0cYDHw78aYuACP6RzYmJuMMUXGmKKampoAypVhUbsrdC5R9smZ64Qxn8/tSkRERAIWSBirBCb0+z4PqD7WPsaYKCAVqO+/g7V2O9AKzA3wmH3ve8BaW2itLczKygqgXDllrXXQ3hAaPcb6y5kDHY1Qs93tSkRERAIWSBh7F5hmjJlkjIkBPgOsHrDPauB6/+NVwMvWWut/TxSAMWYiMAMoD/CY4pa6EFggfDA5c51tueaNiYhI6BgyjPnneN0CvAhsB5601pYYY+40xlzm3+0hIMMYUwrcCvS1qlgObDLGFAPPAF+y1tYe65jD+cHkFNSGwALhg0nKgcRsTeIXEZGQEhXITtbaNcCaAc/d3u9xB/CpQd73GPBYoMeUIBEKC4QfS84cJ4xZC2awqYkiIiLBRR345cPqQmSB8MHkzIHWGucziIiIhACFMfmw2l2hN3m/T85pzlaXKkVEJEQojMkHhdIC4YNJGe80q1W/MRERCREKY/JBDeWhs0D4YIxx7qosX+vMGxMREQlyCmPyQaG2QPhgcubAkSpo3O92JSIiIkNSGJMPqg3RHmP99fUb07wxEREJAQpj8kG1uyE+HWIS3a7k5KXlQ2yKwpiIiIQEhTH5oFC+k7KP8UD2bHXiFxGRkKAwJh9Utzt0J+/3lzMHGvbCkQNuVyIiInJcCmPyvvYG5yt5vNuVnLqx6jcmIiKhQWFM3le/19mmjHO3juEwZhJEJ6jfmIiIBD2FMXlffZmzTQ6DMObxQvYsp9+YiIhIEFMYk/f1jYwlj3W3juEy9jSo3Qkth92uRERE5JgUxuR99WWQkAlRcW5XMjzGznO2e193tw4REZHjUBiT99XvCY9LlH3Spzj90srfcLsSERGRY1IYk/fVl4XH5P0+Hq/Tjb/sNbcrEREROSaFMXF0NkNrTXiNjIFzqbJhLzRVul2JiIjIoBTGxHF08n4YhjGAvbpUKSIiwUlhTBx9bS1SwqDha39jJkJcqibxi4hI0FIYE8fRHmNh0taij/E488b2vgbWul2NiIjIhyiMiaO+DOLHOF3rw83Y+XCk6v3AKSIiEkQUxsRRXxZ+88X6jPPPG1OLCxERCUIKY+II5zCWkgsJGZo3JiIiQUlhTKCrDZoPhG8YM8ZZGknzxkREJAgpjAk0lDvbcGr4OtDYedBaCzU73K5ERETkAxTGpN+dlGHW1qK/cfOdrfqNiYhIkFEYk35hLIxHxpJynK+9WhpJRESCi8KYOGEsNgVik9yuZGSNm+/cUdnb43YlIiIiRymMSXjfSdnf+IXQ0QTV77ldiYiIyFEKYwL1e8J78n6fcQucjvylL7ldiYiIyFEKY5GupxOaqiJjZCw2GTKmKYyJiEhQCSiMGWNWGmN2GmNKjTG3DfJ6rDHmCf/r640xBf7nLzDGbDDGbPFvz+v3nlf9xyz2f2UP14eSE9CwD7DhfSdlf7mnQ/UGaG9wuxIREREggDBmjPEC9wEXAbOBzxpjZg/Y7UagwVo7FbgL+JH/+VrgUmvtacD1wGMD3ne1tXaB/+vwKXwOOVl9d1JGwmVKgPGng/VB2atuVyIiIgIENjK2BCi11pZZa7uAx4HLB+xzOfCo//FTwPnGGGOt3WitrfY/XwLEGWNih6NwGSaR0Naiv8zpEJOoS5UiIhI0AgljuUBFv+8r/c8Nuo+1tgdoAjIG7PNJYKO1trPfc7/2X6L8jjHGnFDlMjzqyyAmyWltEQk8Xhg73wljWhpJRESCQCBhbLCQNPCn2HH3McbMwbl0+YV+r1/tv3x5tv/r2kFPbsxNxpgiY0xRTU1NAOXKCelraxFJWTj3dGiuhpqdblciIiISUBirBCb0+z4PqD7WPsaYKCAVqPd/nwc8A1xnrd3T9wZrbZV/2wz8Hudy6IdYax+w1hZaawuzsrIC+UxyIur3RM4lyj7jT3e2e3SpUkRE3BdIGHsXmGaMmWSMiQE+A6wesM9qnAn6AKuAl6211hiTBjwH/Lu19s2+nY0xUcaYTP/jaOASYOupfRQ5Yb3d0FgROZP3+yRlQ2qe5o2JiEhQGDKM+eeA3QK8CGwHnrTWlhhj7jTGXObf7SEgwxhTCtwK9LW/uAWYCnxnQAuLWOBFY8xmoBioAn41nB9MAtC4H2xv5LS16G/8Qti3Frrb3a5EREQiXFQgO1lr1wBrBjx3e7/HHcCnBnnf94HvH+OwiwIvU0ZEpLW16G/86bD9L7BvHUw93+1qREQkgqkDfySLtLYW/eWcBp5o2POy25WIiEiEUxiLZPVlEB0PcWluVzL6ouMgZzbs/pvblYiISIRTGItkkdjWor+8JVC7C+r2DL2viIjICFEYi2R1EdjWor8JS53trhfcrUNERCKawlik6u1x7qaM5DCWPBbSCmDnmiF3FRERGSkKY5HqSCX4uiElAtta9DdhCex7C9rq3a5EREQilMJYpIrkOyn7m7DU6bVW+g+3KxERkQilMBapFMYcmdMgfowuVYqIiGsUxiJV/V7wxkJCutuVuMt4IG8x7P479HS5XY2IiEQghbFIdbSthf4IMGEpdLU4yyOJiIiMMv0kjlR1e5y7CQXGzXdGCXc+73YlIiISgRTGIpHPBw3lupOyT1QcjF8AO9aAtW5XIyIiEUZhLBI1V0Nvpybv9zdhqdPu49BWtysREZEIozAWifrupExRGDsqbzFgdKlSRERGncJYJDra1kKXKY+KHwNZM2D7arcrERGRCKMwFonqy8ATDQkZblcSXCaeBQe3aOFwEREZVQpjkai+zLmT0uN1u5LgUrDc2Zb8yd06REQkoiiMRaK6MrW1GExiFmTPhq0KYyIiMnoUxiKNtdBQpvlix1KwHA5vg5qdblciIiIRQmEs0rQcgu523Ul5LBPPAgyUPON2JSIiEiEUxiKNFgg/voQMyJkLW59WA1gRERkVCmORRm0thlawHGp3OZcrRURERpjCWKSpL3PuokzKdruS4DVxmbOAui5ViojIKFAYizT1ZZCUo7YWxxM/BsaepkuVIiIyKhTGIk19meaLBaLgbOfX6uBmtysREZEwpzAWSaxVGAtU/plgvOo5JiIiI05hLJK01UFns8JYIOJSYfxC2Pwk+HrdrkZERMKYwlgk6buTMkV3UgZk6vnQXA1lr7pdiYiIhDGFsUiiHmMnZsJSiE2G4t+5XYmIiIQxhbFIUl/mtGxIynG7ktDgjYGCc2D7X6G90e1qREQkTCmMRZL6Mqe/mDfa7UpCx9SPQm+n0+ZCRERkBAQUxowxK40xO40xpcaY2wZ5PdYY84T/9fXGmAL/8xcYYzYYY7b4t+f1e88i//Olxpi7jTFmuD6UHEOd7qQ8YRlTIa0ANupSpYiIjIwhw5gxxgvcB1wEzAY+a4yZPWC3G4EGa+1U4C7gR/7na4FLrbWnAdcDj/V7zy+Am4Bp/q+Vp/A5JBANCmMnzBhnIn/1Bji8w+1qREQkDAUyMrYEKLXWlllru4DHgcsH7HM58Kj/8VPA+cYYY63daK2t9j9fAsT5R9HGASnW2restRb4DfCJU/40cmxt9dDeoDB2MiZ/xFmxoPi3blciIiJhKJAwlgtU9Pu+0v/coPtYa3uAJiBjwD6fBDZaazv9+1cOcUwZTg17na0WCD9x8WmQuxg2PQ693W5XIyIiYSaQMDbYXK6BC/Yddx9jzBycS5dfOIFj9r33JmNMkTGmqKamJoByZVD1/jCWopGxkzL1fGitgdKX3K5ERETCTCBhrBKY0O/7PKD6WPsYY6KAVKDe/30e8AxwnbV2T7/984Y4JgDW2gestYXW2sKsrKwAypVB1ZcBBpLHul1JaMpbDHFp8N4jblciIiJhJpAw9i4wzRgzyRgTA3wGWD1gn9U4E/QBVgEvW2utMSYNeA74d2vtm307W2sPAM3GmDP8d1FeBzx7ip9FjqduDyRmOb2z5MR5omDaBbDrRWjY53Y1IiISRoYMY/45YLcALwLbgSettSXGmDuNMZf5d3sIyDDGlAK3An3tL24BpgLfMcYU+7+y/a99EXgQKAX2AM8P14eSQdSXaVTsVM242NkWPexuHSIiElaMczNjaCgsLLRFRUVulxGafjwZcgth2VfcriS0vfJDqNkBt26D6Hi3qxERkSBmjNlgrS0caj914I8EHU3QVqfJ+8Nh5iXQXg9b/+R2JSIiEiYUxiJBvdpaDJuxp0FaPrzzSwihUWUREQleCmORoL7M2arh66kzBmZcAgc2QaUumYuIyKlTGIsECmPDa8pHIDoR3nnA7UpERCQMKIxFgvq9kJAB0XFuVxIeouNh6nlQ8gy0HHa7GhERCXEKY5Ggfo/aWgy3GR8HXzcU/drtSkREJMQpjEWC+jJdohxuqXlOV/537oeuNrerERGREKYwFu66WqHlkO6kHAlzV0FbPWz8rduViIhICFMYC3daIHzk5MyB7Nmw7m7o7Xa7GhERCVEKY+FOd1KOrLmroKlCTWBFROSkKYyFO4WxkZVXCGkFsPan4PO5XY2IiIQghbFwV18GcWkQk+h2JeHJeGDuJ531Kne/6HY1IiISghTGwl19mdpajLRJ50BSDrzxP1oiSURETpjCWLir3Q0puW5XEd48XphzBVS+C/vWuV2NiIiEGIWxcNbZAi0HFcZGw9SPOpeDX/tvtysREZEQE+V2ATKC6kqdbarC2IiLioPTPgXv/grKXoPJK9yuSERChLWW0sMt7KlpZX99K/vq2qhr6aKwYAznzcxmclaS2yXKCFMYC2d9YUwjY6NjxkWw7c/w0n8688iMcbsiEQli1lpe21XD3S/t5r39jUefT46NIj7GywslB/n+c9spyEjgwjlj+fJHppIaH+1ixTJSFMbY9hGvAAAgAElEQVTCWV0pYNTWYrR4Y2Dep+Gte2HXizBjpdsViUgQstby6s4afvaPXWyqbCIzKYbrzyxgek4SOSlxJMY6P5prmjvYuL+R9yoaeGjtXl7YepBfXruIWeNSXP4EMtwUxsJZXalzl19UrNuVRI6pH4WtT8PL/wnTLgSPpmWKyPtaO3v49jNb+HNxNdnJsXz+7EmsmJZFlPfD/1ZkJcdx4ZyxXDhnLLsONfOzf+ziivve5L8/OY9PLNQVj3CinxThrHa3lkEabZ4omP85OLTVuWQpIuJXeriZy+5dy+pN1XxqUR7/c9V8zp+ZM2gQG2h6TjI/vOI0JmUl8rUnivnu6hJ6fWqlEy4UxsKVtc7IWEqe25VEnknnQFo+vPID6O1xuxoRCQLPFldx6b1vUtvSxb9fNIsrT88j6gRHztMSYvjWxbO4eO5YHllXzk//vnOEqpXRpjAWrloOQVcLpIx3u5LI4/HCgmucMLzpD25XIyIustby83/s5quPFzMxPYEfXnEac3NTT/p4UR4P155ZwEdmZHPfK3t4afuhYaxW3KIwFq6OtrXQyJgr8s+ErJnO3LHOFrerEREXWGv5wXPbuesfu1gxPYtvf3wW6Ykxw3LsG5YVMCkzkf/zRDH769qG5ZjiHoWxcFW729mqrYU7jIHFn3dGKNfe5XY1IjLKen2Wf//TFh5cu5eVc8Zy0zmTT/iy5PHERHn42vnT6LWWL/5uAx3dvcN2bBl9CmPhqq7UabWQmOl2JZErayZMPhfW3QON+92uRkRGSXevj689Uczj71ZwxcJcrjtzIp4R6DuYnRLHl86dSkn1Ee54tmTYjy+jR2EsXNWVOvPFjH6LXXX69c7273e4W4eIjIpen+XWJzfxl03VfHZJPlcVTsCMYAPo0/PH8IkFuTxRVKH5YyFMP6nDlRYIDw6JWTD3Sij5E+x/2+1qRGQE+XyWb/1py9Egdtn80bmB6pOLchmfGscP12ynu9c3KueU4aUwFo56u6Fxn8JYsJj7SSeUvXAb+PQPpUg4stZy51+38URRBVcuzB21IAbOHZafXZLPnppWHn9HUyJCkcJYOGrYB74eLRAeLKLi4PTroHojFP/O7WpEZAT8z9928ci6ci6eO5ZVi0b/LvZFE8cwe1wyP/37Lo50dI/6+eXUKIyFozrdSRl0Jq2A7Dnw9+9Aa53b1YjIMPrfV0u595VSzpuZzTVnTBzROWLHYozh6qUTaWjr5hev7hn188upCSiMGWNWGmN2GmNKjTG3DfJ6rDHmCf/r640xBf7nM4wxrxhjWowx9w54z6v+Yxb7v7KH4wMJ7/cYUxgLHsYDZ34ZOpvhb//hdjUiMkweXVfOj1/YyVlTMrjxrEmuBLE+k7OSWD41k4fe2Etlg3qPhZIhw5gxxgvcB1wEzAY+a4yZPWC3G4EGa+1U4C7gR/7nO4DvAF8/xuGvttYu8H8dPpkPIIOo3Q1xqRCb7HYl0l9aPsz5JGz6PZS95nY1InKKniyq4I7VJSwuGMPN507B43EviPX5zOIJAPzkRS2VFEqiAthnCVBqrS0DMMY8DlwObOu3z+XAd/2PnwLuNcYYa20rsNYYM3X4SpYh1ZWG9KhYY4dlc00vW2p6aeuxJEYbkqINiTEwKdXDvCwvUUHwj95JmXcVlL8Of/0afPEtiI5zuyIROQl/3VzNbU9vZl5eKl85b9qwNnQ9FRlJsVx82lj+XFzNTedMYfb4FLdLkgAEEsZygYp+31cCS4+1j7W2xxjTBGQAtUMc+9fGmF7gaeD71lotQT8canfDuHluV3FCKpt93F/cyWsVPVQ0v//HwGPAN+BPRUIULBkXxZnjvVxQEMXkNO8oV3sKomLhjC85c8fW/hQ+8i23KxKRE/TS9kN87fFipuckc+sF04n2BkcQ6/PxeeN5oeQgD64t46dXLXC7HAlAIGFssCGIgaEpkH0GutpaW2WMScYJY9cCv/nQyY25CbgJID8/f+hqI13HEWg9DCmhsSblgRYf923s5PEd3RhgcTacnwfT02BKKiRGQZcP2nugtRvKjsDmWthS18OrFT381/pOzhjv5XOzYvjYpChivSEwYjZ+odOZ/42fwpwrIXum2xWJSIDeLK3li799j4kZCXzjYzOIjQq+/wwmxUaxYno2q4ur+ebKmeSkaAQ+2AUSxiqBCf2+zwOqj7FPpTEmCkgF6o93UGttlX/bbIz5Pc7l0A+FMWvtA8ADAIWFhRo5G8rRyfuj1+PmZPT6LD8t6uRXm7vw+eDCfLhqGmTFf3jfWK/zlRYLuUlwtv+j1bbDy5Xw4v5e/vWldtLjDNfMjubGebGkxgZ5KCv8PFS9B3/+Itz4d/AG8ldRRNy0YV89n3+0iJzUWL65ciYJMcH79/aiuWP5W8lBfvNWOd/4mP7DF+wCGVt9F5hmjJlkjIkBPgOsHrDPasC/7gurgJePd8nRGBNljMn0P44GLgG2nmjxMog6/y3NqcE7MtbSZfmXF9u4b2MXy8fBA+fBl+cNHsSOJzPeCXC/Og/uXArTUi13v9fF8t8387OiTo50BnF2j09zLldWv+dcrhSRoLa1qokbfv0uaQnRfOuiWSTHRbtd0nHlpMSxuCCd3769n7auHrfLkSEMGcastT3ALcCLwHbgSWttiTHmTmPMZf7dHgIyjDGlwK3A0fYXxphy4KfADcaYSv+dmLHAi8aYzUAxUAX8avg+VgSr2+20UUge53Ylg6pu8fGp1a28VtHLl06Df1sIOQmndkyPgUXZcPsSuOccmJsOP9vQyfLfN/O/Gzvp6AnSUFaw3Ok/9tqPoLrY7WpE5Bh2HDzCNQ+tJy7ay7cvnkVaQozbJQXk4tPG0dTezdPvVbldigzBhNKc+cLCQltUVOR2GcHtqX+GfW/ClQ+6XcmHbKnp5cYX2mjpsty2yAlQI2VPE/x2J7xzCCYkG/7jzDguLIhytQfQoDqbYfWXITEbbnpNd1eKBJmtVU1c89B6PMbwnY/PZmxq6PwdtdZy++oSenp9vPxv5wZF641IY4zZYK0tHGq/4LoFRE7d4R1BOXl/b1MvV/+1FWMt/++skQ1i4Ez+v2MJfP8MMFi+8Ld2rn6ujZ31vSN74hMVmwxn/ivU7IBXfuB2NSLSz6aKRj73q7eJ8hhuvyS0ghg4XfkvnjuO8ro2XtqhVp7BTGEsnPT2OJcp04LrrtOmTsuNz7djgB8ug4JRbHuzMAvuPQdungtbDvdy8VOt3LG2ncaOIBoRziuE6Sth3T1Q/qbb1YgIsGFfA1c/6FyavP2S2SF7R+KSSelkJsXw4Btlbpcix6EwFk4ayqG3C9Imul3JUb0+y7++1Ma+Iz6+VQhjT3F+2MnweuDSSc6NAhdNhMdKulnxeDO/2dpFz8AmZm4pvNFp1Pv0P0PrUO35RGQkvVlay7UPrSc5LorbL5lNVnJoBjEAr8ewcs441u+tZ1v1EbfLkWNQGAsnNdudbdqE4+83iv5rfefRyfpzM9ytJSUGvnga3LMCCpLh9jc7uPipVtZVBcGdRtHxsOL/Qls9PPMF8PncrkgkIj2zsZLrH36HjKQY/uPjs8lIinW7pFO2YnoW0V7Dk0UVQ+8srlAYCyc1O5xtanCEsSd3dPHg5i4umwQrg2ewjoIU+MEZ8O1CaOr08bm/tvHlv7dR1exyAEqfDIs/D6X/gHU/d7cWkQhjreV/Xy3l/zyxiek5ydxxyRzSE0PjrsmhJMVFUViQzjMbq+joDrJ5swIojIWXwzsgKccZZXFZxREfd7zZwYJM+PzAZeWDgDGwbBz84ly4Zgb8Y18P5z/Rws83uNwKY/pFUHA2vPSfsO8t9+oQiSA9vT5uf7aEH7+wkzOnZHDbRTNJjA3ehq4n49zpWTS1d/P3bYfcLkUGoTAWTg5vD4pRMWst33qjHYCvLXDmbAWrWC98djrcfy4szoG7ijo5/4kWXijrxpW2L8bAmV+BpGynTYnmj4mMqLqWTq57+B0ee3sfl8wbxy0fmRp0a00Oh7m5qWQmxehSZZAKvz9xkaq3x1kKKQjupHxmdzdvVPZyw8wT76rvluwEuG0R/PBMiDaWm//ezjXPtbHLjVYYMQmw4pvQVgtPXg+93aNfg0gEKK5o5ON3r+Xd8nq+cM5krl46EU+w9SIcJh5jWDE9i7W7a6lqbHe7HBlAYSxcNJRDb6frYay23ced6zqYNQYuLnC1lJMyPxPu9rfC2HS4l5VPtXLba+0cah3l+WQZU50Rsn1r4YXbht5fRAJmreX36/fzqfvX4bOW7102l3NnjHDzwyCwYnoWFniqqNLtUmQAhbFw0Td53+Uw9p/rOmjpgn+d7yxTFIr6WmH86jy4tACe2tnNuY+38NN3O2jpGsVLl1M+AnOuhHcfhKJfj955RcJYXUsnX/zde3zrmS3MHpfC9z8xl0mZiW6XNSqykuOYm5vCH4sq8AVLWx8BFMbCR19bCxfnjL2yv5tnS3u4ahrkJ7tWxrBJiYGb5sL9H4HF2XD3e12c/YdmflncSXv3KP1Ddvr1kLsI1nwd9q0bnXOKhKkXSw5ywV2v849th/js4gn834/NDPoFv4fbudOzqWxs5+2yOrdLkX4UxsKFy3dSdvVabl/bwYQkuGqqKyWMmHGJ8M1FcNfZMDnZ6Z129h9aeHjLKNx56fHCOd+ApLHwxDXO5WgROSF1LZ3c+kQxX3hsA6nx0fzwitO4bEFuRK7VuLggncRYL09oIn9QURgLFzU7INW9NSmf2NFNRbPl87Mh2utaGSNqehrceQb8v7MgN9Fy57pOlv++hf/d2MmRzhEMZTFJcN5/OKsrPHYFtOp/tCKB6O718dDavZz7k1f5c3EVV56ey52Xz2FCugtLgQSJmCgPy6Zk8vyWgzS16eagYKEwFg58vVC727VlkNq6LT/f0MncjJFfADwYzE537rr8rzNhYpLlx+90cubvmvmvtzs4OFIT/VPz4LzvQFMl/P4q6GobmfOIhIk3dtew8mev859/3cakzER+/Mn5fGrRBKI8+rG3YnoWXb0+Xig54HYp4qc/leHA5Tspf721i9p2y/UznTZZkWJepjNSdvc5sCgLfrWpi7N+18IX/9bGuqqe4e9Tlj3buWRZ/R48dYPTzkREjrLW8mZpLZ/+5Vtc+9A7tHT28G8XTue2lTPJHRMifXZGweTMRMamxPFscbXbpYhfeLUYjlSH3Zu839hhub+4k6U5zohRJJqS6swpu34WrCmHv+3v4fm9PUxJ8/DZWdFcNjWa7IRh+n9P/pmw9GZ4+3/huf8Dl94dWQlYZBDWWl7bVcM9L5WyYX8DYxKiufaMiXx0Vg4xURpzGMgYw7IpGTyzsYrDRzrITgndhdDDhcJYOHBxgfBfFHfS0gXXzRz1UwedsQnwz7Ph6hnwRjWsKffx/bc6+eHbnSzP9XLl9BguKIgiMfoUw9OMi6GtDt77jTOf7GM/VCCTiNTU1s0fN1Twu/X72VvbSmZSDP90VgHnTs9WCBvCsimZ/GljFX/ZfIAbl09yu5yIpzAWDmp2QmI2RI/upNSDrT4e2drFR/KcxbfFEeuFj05wviqa4eVKeLWql6+93E6MF87K9XLBxGg+OjGK7MST/IGx4BrobndGyDxRcMGdCmQSEXp9lrfL6nhmYxV/3VRNR4+PadlJfHHFFJZNySAqDJcyGgm5Y+KZlJnIs8VVCmNBQGEsHBze7sqo2D3vddLrc0aCZHATkp3Ll9fOhG31sO4ArD/Uyyv7e/nWGzAnw8OZuVEsG+9l8bgokmMCDFTGwOJ/cW7eWHe3E8jOv12BTMJSr8+yYV8Df91czZotB6ht6SI+2sNZUzP56OwcCjIio2nrcDtzcga/f2c/5bWtFERI49tgpTAW6vrupJz58VE97aFWH0/u6ObCfOfynByfx8DcDOfrX+bAvmZYfwiKa308urWLBzeD18DMdA/zsr3Mz/IyL9vLtDQP0d5jBCxjYOkXwPbC2p86gewj31Igk7BQ29LJ67tqeGVnDa/vqqGpvZsYr4eF+WlcszSDBflpxEaFaR+dUbJsihPGVm+q5l/Pn+Z2ORFNYSzU9d1JOcqT9x/e0kWvD66cMqqnDQvGOJd1C1Lg09Ogsxd2NMCmWtjZ4OMvpT7+sN3p/xNlYFKqh2npHqameShI9TA+yUNusoexCYZorwfO+JITyl//MXS3wYXfVyCTkHPoSAfv7K3nnb31vF1Wx+7DLQCkxUczPy+VBRPSWDBhDPExCmDDJSMplpljk3m2uIqvnDcVo383XKMwFur67qQcxbYWRzotv93WxfLxTnd6OTWxXmeB8vmZzvc+CwdaYXejM4K2v9nHpkM+XiiD/l3MPAayEwy5SR7ykm7kurQoFr11LxUHDnB4xX+TnZpEVnIsceHahVdCks9nKa9rZduBI2yrPkJJtbOtaekEID7aw/SxyXx68QTm5aZSkJmIRyFhxCybksnDb+5l24EjzBmf6nY5EUthLNQdXSB89EbGfre9i9ZuWBVmyx4FC4+B3CTnq7+uXqhph8P+r5p2ONxmqWnv5Z2D8FzbNXzFG89Xy5+mZM9+Ptf9ZTqJISUuiuyUOHKSY8lOiSM7OZas5FhyUuLIHRNPfnoCGYkx+l+xDLuO7l52HWpmW/URth1wgtf2A0do6+oFwOsxTBgTz6xxyVyUOZbpOckUZCTijcBlityydHI6j75VzupN1QpjLlIYC3WHt4/qnZQdPZaHN3exMMvpryWjJ8Y7eEjr47OGI12r2FKexMr9v+HFtHt4OO8/OdgZS0NbF4ebO9l1uIWG1i56fB9sSJsQ42VCegIT0xPIT08gP8PZTs1OIjctXkFNhtTY1vWB0LWtuonSmlZ6/X/W4mO8FGQkcPa0LAoyEpiYkUjemHjnUru4JiUumnm5qawuruabH5sZket1BgOFsVB3cDOkj95tyc/s7qam3fK1+aN2SgmQx0BaLDBjJZUpSeSXPMBtVbew47yH6Ex+/5ZXay0tnT00tHVT29zJ4eYODjV3cvhIJ9sPHOHVXTV09bx/QTQ5LoqZY5OZNS6FWeNSmDk2mRljk0mI0T8fkchaS2VD+4DLjE1UN3Uc3Sc9MYaCjAQunTeegswECjISyUqO1eXGILVsaib3veI0zF1cEKHdu12mf01DWVcb1JXCvE+Pyul6fZYHNnUyNfX9+U0SnJrGLac7NoMJm+/itDVXsPPc+2nOWQI43beT46JJjosmf5AFk621NLZ3c+hIB5UN7eyra2N/fStPFlXQ0e2ENANMzEhgXl4aC/PTWJg/htnjUtRoM8z0Ba+NFY1sqmikpLqJbdVHONLhLMVlgPFp8RRkJrJiRvbREa/U+Gh3C5cTsih/DNFew3ObDyiMuURhLJQdKgHrg/TJo3K6v5f3sLfJctsi3awXCtrSZ7F3yZ3kF/+E2f+4hrKlP6Bm6qeGfJ8xhjEJMYxJiGHm2Pe7+fqspaa5k/31beyvb2NfXStrS2tZvclZ3y7G62Fubiqn+8PZwvw0xqXG6RJnCGnu6GZzZRPFFY1s3N/Ae/sbqW/tApzf3/z0eBYXpDMxI5GCjAQmpCfoBpEwEB/jZX5eGs9tOcDtl8zWpUoXKIyFsoObnG366PSX+OWmTsYlwLJxo3I6GQZdCWMpW/xdJmy+m6lvfZOk2mLKF9+O9cae8LE8xpCTEkdOStwH/vdc19JJ6eEWdh9uofRwC795ax8Prt0LQE5KLIUT0zl94hgWTdToWTDp9Vl2HWqmuKKR4v2NbNjfwJ7DLfTNJhyXGsec8SlMzU5iWnYyE9LjifLo9y5cnTE5g6J9DRTta2DJJI2OjTaFsVB2YDPEJkNi1oifatPhXjYe9vGFOU5zUgkdvugk9i38Jtl7nmTs7j+QVLeFXefcR2fy8NyBm5EUS0ZSLEsnZwDQ0+tjX30buw+1sPtwM++U1/PclgMAxEZ5mJeXyqKJ6SyaOIbT89PISDrxYCgn7vCRDjZWNFJc0ch7+xrYUtV09K7GpNgopmYnceXpeUzLTmJKVhJJcfrxEElOzx9DjNfDc5urFcZcoL9toezgZucS5ShcBnp0axfxUc56ixKCPF4OT/ss7anTyS35BfOeu5TSs/6HhgnnD/uporwepmQ5P9BXMhaA+tYudh9qZtehZnYfbuHBN8q4/zVnDGZiRgKL/CNniyaOYVp2slobnKKO7l62VjWxcX8jGysa2Li/kQP+CfZej2FiegLLp2YyNTuJqdlJjE3R5eRIFx/jZcGENNZsOcjtl87R38FRpjAWqnp74NA2mHHxiJ+qtt3HX/Z087F8SNC83JDWnL2IPUk/YMLmnzPz1X/h4PSr2bfoW/ii4kf0vOmJMSydnHF09Kyrx8fe2lZ/OGvmpe2H+dN7VYAzSrMwP41FE8cwPy+NOeNTyE6JG9H6Qpm1lr21rWzc33h0rteOg81H25dkJcUyNTuJj87KYWp2EgUZibpULIM6Y3I675TXU1Ref/TvqoyOgMKYMWYl8HPACzxorf3vAa/HAr8BFgF1wKetteXGmAzgKWAx8Ii19pZ+71kEPALEA2uAr1prP9j8SI6tdpezDNIoTN5/fHs33T64pGDETyWjoDshh72Lv0t26ZOM3fU7Ug+8ye6zf0ZrxrxRqyEmysMMf4sMcALF4eZOdvUbPVu7u/bo/KWspFjm5KYwd3wqc3NTmDM+lbwxkdn/7NCRDrZUNrGlyj/RvqKBI+3O3Y1x0c6o5MfnjWNqljPqlZYQ43LFEioW5o8hNsrDc1sOKIyNsiHDmDHGC9wHXABUAu8aY1Zba7f12+1GoMFaO9UY8xngR8CngQ7gO8Bc/1d/vwBuAt7GCWMrgedP7eNEkIObne0Ih7HuXstjJU6T1wnJI3oqGUXWG8OhGdfQkrWQ8SX3M/f5VVTNu4WqOTdjvaP/w9v0uzng7GnOHMi2rh7217Wxt66V8tpWympaeX1XDX39alPiopg+Nplp2UlMzU72TzRPCps7OK21HPQHr61VTvjaWvX+skEGmJCewKL8dP+vgdOgV3fCycmKi/Yyf0Iaa7Yc4A5dqhxVgYyMLQFKrbVlAMaYx4HLgf5h7HLgu/7HTwH3GmOMtbYVWGuM+cDCOcaYcUCKtfYt//e/AT6BwljgDmwGbwyk5o3oaf5W3sOhNssX5ozoacQlrelz2HPGfzFuxyNM2PQz0vc9T9kZ/0VL1gK3SyMhJoqZ41KYOe799hpdPT4qGtrYW+sEtKrGdv66+QDNHRX93uc9OhdqYnoiE9LjmZCeQN6YeHKS44IurPh8lqrGdkprWthzuIU9Na3sqXHuTO1rK+ExkJsWz8xxyVycOZZJmUlMzFBbCRl+Z0zKOLpg+5lTNDo2WgIJY7lARb/vK4Glx9rHWttjjGkCMoDa4xyzcsAxcwMpWPwOboIxBeAZ2X+MH9naxdgEKMwZ0dOIi3zRSVSddgtHcs5k3I5fM/eFT3Jw5vXsX/Bv+KKDayX4mKj3bw7o70h7N5WN7VQ1tFPV2E51Yzuv7ayhrrXqA/tFew25aX3hLIHs5Fgyk2KcO0IT39+mxkcPW2hr6+qhrqWL+tYuDjR1UN3YzoGmdqobOyirbaGsppXO/isexEYxPi2e+XmpTMxIZFJmIhMzEoiNUvCSkbcwP42YKA/PbalWGBtFgYSxwf5FGji3K5B9Tmp/Y8xNOJczyc/PP84hI4i1cHAL5J85oqfZVtfLuwd7uXG22llEgubsRbSmzyJn9xOM2/EI6ftfYN+ib1E38eNB3+U3JT6a2fHRzO43igbOSFptSyc1zZ0cbu6kprmDmpZOqhvb2VzZRFN796DH8xpDemIMSXFRJMR4SYx1tjFeD1Feg9fjIcpj8FlLr8/56u61tHf30NrZS0tnD62dPTS0dR1dtaC/GK+HjKQYxqbE8dFZOYxPi2d8Whzj0+JJidNdMuKeuGgvCyek8fyWg3zvsrm6VDlKAgljlUD/hgZ5QPUx9qk0xkQBqUD9EMfsf31tsGMCYK19AHgAoLCwUBP8ARr3Q0fTiDd7fXRrF7FeuEDtLCKGLyqBA7P+icZxyxi341Gmv/GvNO38LeVL7qBtzCy3yzthMVEef9AZ/G7RXp+luaObIx09HGnvpqm9myMd3f7HPXR099LR3Utzh7OOZ2+/8NXrs3g8Bq8xeD3OvLfYKA9x0V7SE2MYnxpHclw0KXFRJMdHkxIXTXpiDBlJMSTHRoXFvDYJT2dOzmD93nrW761j2RStfTcaAglj7wLTjDGTgCrgM8DnBuyzGrgeeAtYBbx8vDsjrbUHjDHNxpgzgPXAdcA9J1F/ZBqFyftNnZZnd3dzbi4k62asiNOeNoOypd9nTNUrZJc+ybznLuXQtM9QOe+rdMePfJPh0eL1GNISYnTHoUg/C/LTnLsqNx9QGBslQzabsdb2ALcALwLbgSettSXGmDuNMZf5d3sIyDDGlAK3Arf1vd8YUw78FLjBGFNpjJntf+mLwINAKbAHTd4P3IHNYDwwZuKIneKZ3d109MJFI3cKCXbGQ0Pe+ZSe9T/U532UnN1PsPCZFUwo/inerma3qxORERIb5eX0/DE8v/UgPb0fvswuwy+gPmPW2jU47Sf6P3d7v8cdwKArEFtrC47xfBEfbnchgTi42bmLMmpkGmFaa/ldSRfT02Ba2oicQkJIb3QSB2feQH3+SrJLnyRvy73k7PwtVXO/yKHpV+OLTnC7RBEZZksnp/P/27vz+LrqOv/jr+9dc+9NbvZ9aZMm3dc0LV2BsiqKBeEnOCoqOOoI4ugwjjD+ZtTRQWecURwcf4PgAMqiQrEotkChspau0H1LumRptma5uTe5+/3+/jjXWqBL2t7k3pt8no8Hj+SenPO938t5nPSd77rhUA8bD/eytFZax0aaLMOcjtq3j2gX5eaOKAf7Y9IqJt4l5GCA3z8AACAASURBVCyhdfadNF30XYJZlUzcdi/1zyynbNfPMIV9ya6eECKB5lbmkGE18Ycd7cmuyrggYSzdDB4Hb/uIhrHH9oRwWeHishF7C5HGAu4ajtbfzaEF/0wgs5IJb/879auWU7H9x1j8p1vNRgiRTuwWM/Oqclm7q126KkeBhLF0c2Lw/sjMpOzxx/jjoQiXV0CG7FwqzsCfM4Xm+m9waOF38GdPonLHT5i/ahk1G+4hw9OU7OoJIS7Q4up8+obCvHXoTIsjiESQf27TTfvIzqT87X5jH0rpohTD5c+upWXuXdgG28g/uobCQ6sobnyS/tLldEz5JH3lK8Akv2qESDdzKnNwWI0FYJfVybixkSQtY+nm2DbILAF74jeKjGnNY3tCzMyHKtmHUpyjkKuc9umf48Dyn9BVcyOu3t1M/dMXqH/mYip2/ATboIw9ESKd2CymE7Mqw9JVOaIkjKUTraF5IxROGZHiX2+N0uLV0iomLkjU5qZ70kc5sOw+mud8lbCjiMrtP6Z+1TKmvfgpCg79DlN4KNnVFEIMw6KafPqHwmxo6kl2VcY06TtIJ54W8HXAjOtGpPjH9oTItsHSkhEpXow3JjPeogV4ixZgHeokp/01ctpfo+6NrxG1OOmtvJLeqqvpL7uEmOXUK+QLIZJrdkUODquZ53a0c/HksbPgc6qRMJZOWjYZXwsTvy1Nx2CMdUcjXFcDVtmPWCRY2FlM96Qb6a75KM7+/eQce43c1pcoPLyaqNlBf/kl9FR9gP7yFURt0kcuRKqwWUzUT8hl7e4Ovnv9TKxm6VAbCRLG0knLRmOh19yJCS/61/vCRLUM3BcjTJkYyp1m7HMZuw1X317cXZtwd24kv3ktMZOV/tLlRotZ+aVjauslIdLVopo83mg8zuuNx1kxpSjZ1RmTJIylk5b4eDFTYpuuIjHNE3tD1BdCqSuhRQtxeiYzg/kzGcyfSfvUz+DwHMTduQl312by2l4GYDB3Gv1ly+kvXY63qAFttie50kKMP3MqcnDZzfz+nWMSxkaIhLF0EfRBxy6YdWPCi17fHKFjUHNb4ns/hRgeZcKfMwV/zhQ6J3+SDO8RMnt24OrZSemeX1C++wGi5gwGii+iv2w5ntLl+LNrQalk11yIMc9qNrFwYh5rd3fwvVAUh03GsiSahLF0cWwb6OiIjBd7bE+I/Ay4qDjhRQtx7pQi4K4m4K7mePVKTBE/zr69ZPbsJLNnB7nHXgEgbM9noHih8V/RQoZyJie81VgIYVgyqYD1+7t5eV8XH5pdmuzqjDkSxtJFy0bja+HUxBY7EOOVligfnwwyLlOkopjFga+wHl9hPQBWfzeunl24+veS1bWF/OY1AESsWXiLGuLhbAGDeTOkW1OIBJle6ibXaeXZ7W0SxkaAhLF00bIJcqrAnpnQYh/fG0IBV1cltFghRkzYUUh/xQr6K1YARjhz9u/H2bcXV/9+ctvWAxAzWRnMm4G3sB5fwTy8hfMIOUula1OI82AyKRbV5LNubycef5hshzXZVRpTJIylg1jMCGOVCxNabCiq+fW+MAuLoUCWeRJpKuwoxOMoxFO6DABz0GOEM89BHJ5GSvb/CtPeXwAQchThLazHWzAPX+E8BvNmErNkJLP6QqSNJZMKWLOrg+d3d/CxhspkV2dMkTCWDnoOQqA/4ePFnj8coTeg+eCchBYrRFJF7dl4ixfiLTb+eFGxCHZvczycHSSrexv5zWsBiJksDOVOj4ezuXgL5hHMrJTWMyFOYVKhixK3ndXvtEkYSzAJY+ngz+PFiqYntNhf7QlR7IR6WcpJjGHaZCGQXUMguwa4Goi3nnkacXgO4vQ0Utz4JKX7HwGMiQHewnl4C+biK5yHL38WMWtihwcIkY6UUiyeVMDqd9ro8gYoypJW5USRMJYOWjaC3Q3usoQVub83ysb2KJ+ZBiZpBBDjTNSejbdoPt6i+caBWBT7YCvOfqNr09W3h7zWdQBoZWIouw5fYf2JgOZ314CSGS9i/FkyKZ9n3m7jjzva+czS6mRXZ8yQMJYOmjcasygT2HXyy90hrCa4SlqahQCTmWDWBIJZE+irvAIAc9iHw9OEIz72rODwsxQffAIwZm76CubiLZyLr2AevoK5ROw5yfwEQoyKilwnE/KcrH7nmISxBJIwluqGeo0xY/WfTliRA0HNqgNhLi6DbJn5L8QpRa2Z+Arm4CuID6rUMWxD7Ub3Zn8jjoFGstvfQBEDwJ81MT5zcy7ewvr4umfyK1aMPUsm5fPE5haae4aoyncmuzpjgvymSHWtm42vCRy8v+pgmKEIXCt/1AgxfMpEyFVOyFVOf9klAJgiATIGDp0Yf5bb+hJFh1YBELU4492a840ZnIXziNrcyfwEQiTE0toCntzcwlPbWvnalZOTXZ0xQcJYqjv6prGqeEFtQorTWvPL3SEm50Cd9KoIcUFilgyG8qYzlBefXKM11kB3fOzZAZz9B8nueOtE69lQdl08mNXjLZxPwF0tMzdF2snPtDOrIpunt7byt5fXYZKBxxdMwliqa3rZaBVL0FpIb7ZFaeqP8bW5CSlOCHEypQg7ivA4ivCULgWM1jPHQBOO/gM4PQfJP/IHiht/DUDYnoO3wAhnvqL5+PJnE7PIon8i9V1cV8j96xvZcKiHpbUFya5O2pMwlsp8XdCxA+bdkrAiH9kdItsGyxM3MVMIcQYxSwaDeTMYzJthHNAxbIPtOOMtZ87+/eS1vWycqywM5U4zxqrlz2Qwbxb+nFq0SVY7F6llwcQ8XDYzT21tlTCWABLGUlmTsa0L5fUJKa7NG2Pd0Qg3TAKb7KcsRHIoE6HMckKZ5fSXG1s6mUNeHJ7GEwGt8NDTlBz4FQAxs53B3GkM5s3Elz+LwfyZ+N2T0GZbMj+FGOdsFhOLJ+WzZmc73145A3eG/MFwISSMpbLGdZCRA3k1CSnu8b0h0HDNhIQUJ4RIkKgty1hgtnCecUDHsA114Bg4TMbAYRzewxQ2PfWXgKYsBLIm4M+ZzFBOLf7syQxl1xJwV0tIE6PmksmFrNvbxXM72vn4Qtng+EJIGEtVsRg0vQRlcxOyuKQ/rHlsT4iFJVAkM5GFSG3KRMhVRshVdmLs2ckBzT7Yit3XSubxt8lrXotCG6cosxHSsiYSzKoikFlFIKuSYGYVwcxK2YdTJNSkwkzKcx38dkuLhLELJGEsVXVsh6EeKJufkOKePhimPwjXJ6aRTQgx2k4KaO86HA1hHzqG3dcWD2ltODyNZHe8iTkaeNe5IUchgcwqgq5ygpnlBF3lhFxlxmtXOTGr/KUmhk8pxSV1hTy+qZmmbh+TCmXbsPMlYSxVNb5kfC2bd8FFxbTmoR1B6nJgRt4FFyeESCHabCOQNZFA1sT3/EBjDnux+buwDXVi9XcZ3/u7yO58C+vRHpSOvuuSsC3HCGeZFQRPhLSyE8EtYs+TpTjEuyyrK+DJzc08tbWVf/jA1GRXJ21JGEtVTS9B3iRwXPhiYC8djXDYo/l6vfweFWLcUIqozY3f5saffYp1CnUMS7APa+A4Nv9xrIEerIFurP7jOHv3kH3s1fe1rEXNGYScpfGwFg9qWZUMZdcRcNdIN+g4lOu0Macyh6e3tnLXVVMwy5pj50XCWCoKDEDLJphxfUKK+/mOEEUOWFaakOKEEGOBMhHJyCeSkY8/Z8r7f6415sggVv9xrIH4f/HvbYPHcPXswBry/OV0ZSLoqmAoZzJDOXX4s+vwZ9fiz66VkDbGXTq5iB+tO8BLezu5akZJsquTloYVxpRSHwDuA8zAg1rr77/n53bgUWA+0APcpLU+Ev/Z3cBtQBS4U2v9fPz4EcAbPx7RWjck4POMDYdfhVgEyi58SYsd3VE2tUf53HQwX/g8ACHEeKEUUWsmUWsmAffEU58SDWHzd2IfbMPua8U+2Iazbx+5betPdIHGlIWhnMkn9vn05c8xWupMsr7OWDF/Qi75LhuPbjgqYew8nTWMKaXMwE+BK4FWYLNS6lmt9Z6TTrsN6NNa1yqlbgZ+ANyklJoO3AzMAMqAdUqpyVqfGKiwQmt9PIGfZ2xoegmsDii88P73B3cEcVrgapnoIoRIMG22EcysJJhZCcUn/SAWwTbUScZgKxneozg8TRQeXk3JwScAiFoc+PJmndhU3Vu8kIhd9mdLV2aT4vJpxfxmSwuNXT5qi2Qg/7kaTsvYQqBRa30IQCn1JLASODmMrQS+Ff/+KeB+pZSKH39Sax0EDiulGuPlbUhM9ccgreHgOiiZA+YLW0SvzRvjuaYIH6kGp6zHJ4QYLSbLiYVtB4ovMo7pGLahTmNrKE8jDk8Tpft+QfmeB9AohnKnMFC8CE/xIglnaeiyqUWs2tbKLzcc4dsrZya7OmlnOGGsHGg56XUrcNHpztFaR5RSHiA/fvyt91xbHv9eAy8opTTwP1rrB869+mNQTxN4mmHqhy+4qId3hQD4SPUFFyWEEBdGmQi5Sgm5SvGULjMOxcI4PE04+/bi6ttL8YHHKd338LvDWcliBoovImpzJ/kDiDPJdlhZXJPPb7e2ctfVU8iSFfnPyXDC2KmmRuhhnnOma5dqrY8ppYqAF5VS+7TWr77vzZX6PPB5gKqqcdDX1vii8fUCt0Dq9cd4bE+I5WWyyKsQIjVpk5Wh3KkM5U7lONefPpwpE4N5M/GULMZTsgRvUYNsqJ6CrppRwmuNx1m1rY1PL5mY7OqkleGEsVag8qTXFcCx05zTqpSyANlA75mu1Vr/+WuXUuoZjO7L94WxeIvZAwANDQ3vDYFjz86nIbcasi5sEOTPd4TwR+CmugTVSwghRtjpwpmrdxeu3j2U7nmI8t3/Q8xkwVdQj6d0CZ6Sxfjy58g2UCmgtiiT2qJMHnnzCLcsnoCStZSGbThhbDNQp5SqBtowBuT/1XvOeRb4NMZYsBuBl7XWWin1LPC4Uuo/MQbw1wGblFIuwKS19sa/vwr4TkI+UTrrPQRtm2H+Zy6sGH+MR3YZrWJVWYmpmhBCjLaTw1n3JFDRAM6+/WT27sbVt4eK7fdRuf3HRC0OBooWxlvN5jOYNwNttie7+uPSVdOL+e8/NfFGYw/L6gqSXZ20cdYwFh8DdgfwPMbSFr/QWu9WSn0H2KK1fhZ4CPhlfIB+L0ZgI37ebzAG+0eA27XWUaVUMfBMPDVbgMe11mtH4POll51PAQqqL7mgYh6Mt4p9fHJiqiWEEKlAmzMYLJjDYMEcAMxhn9Gl2bsbV+9uco+9AkDMZGEoZxrewnn4CubiK5hj7FAgLTUjblFNPr/aeJRHNhyRMHYOlNbp0/PX0NCgt2zZkuxqjAyt4f4GsDjgA/eedzF9gRhLH/Mxvwi+kZhtLYUQIi1Ygv04PAdxeOIzNgcOndhFIGzLxlcwl6HcKQzlTDmxKK0sSJt4v97cwrPb21h/16VMyHcluzpJpZTaOpx1VGUF/lTRvh16GmHxHRdUzEPxVrGbZayYEGKcidhz8BYtwFu0wDigY9h9rTg9jfFw1kR2+xuYdMT4MYqQs5hgZhWBrEoCmVWEHUWEMwoIOQoIOwoIZxRIl+c5umpGMc/tPMZ/r2/iBzfOTnZ10oKEsVSx87dgssCEZeddRH9A87+7QiwthYkyC1wIMd4pE8GsKoJZVfRVXGYci0WwD3VgH2zF7mvD5u/C6u8it7URa7D3lMVErG7CjgJCjkIi9lwi9lzC9lwi9hzC9jwi9hwi9jzCGXmEnMXjPrzlOm1cNrWYp7e1csdltVTmyZT+s5EwlgpiUSOMlTeA/fxXLn5oZ5DBsIwVE0KI0zJZjI3OMyvevWsAxvZOltAAllA/5pAHa9CDOeTBEurHEvRgCfZj97ViDvuwhL0oHTvlW4Rt2YScJYRcpfizqgm4q/G7a/Bn1xJ2Fo3Ch0y+a2eX8tLeTn72ShP/ev2sZFcn5UkYSwVHXgdfJ8z/7HkX0TEY48EdIZZJq5gQQpwXbbYZXZOOYQw81xpTZOhEMDOHvFjCA1gCfViDvViCfWQMHCa7YwOmaPDEZUFHcXyPztn4iubjLZg3JpflyM+0c+mUIn6zuYU7VtRSliPrwp2JhLFUsPM3YHVCxYLzLuLfNwWJxOAz0xJYLyGEEKemFDGri5jVRfi9TWwn0zEswT6ja9TbjGOgicyeneS3vABA1OLEU7KU/rLl9FWsIOQqP31ZaWbl3DL+tL+L//dKE9+RLZLOSMJYsoUDsGc1VC0By/mNM9jRHeXpA2FurIXS8T1xRQghUosyEcnIJ5KRz2DejBOHjWU59pHZs53MnnfIa30RNsFA0QK6q1fSO+GatN+fsyDTzvK6Qp7c1MLtK2opdsvM1dORMJZsB9ZC0As1l57X5Vprvv1GgBw73FSb0JoJIYQYIVFrJt6iBrxFDaA1tqF23J2byO54g0kbv0n15m/RV3EF7VM/Y8wOTdM10lbOLeOVA138zyuH+Kdrpye7OilLwlgyaQ0b7ofMYig5vwGOzx2KsLUzyp2zwSn7sgohRPpRipCrjOM113G8eiUZ3qNkt79GTvtr5DevZTB3Gu3TPsvxidem3UzNYncGy+sKeWzjUT5/cQ0l2dI6diqmZFdgXGveAK2bYcb1YDKf8+WBiObetwLUuOGKcbCHuhBCjHlKEXBPpHPKpziw/L84Nu1zmMNeat/8OvXPXELJvkdQJ00ISAfXzysnpjX3rtmb7KqkLAljyfT6jyAjG2qvOK/LH9oRos2n+dwMMKdnC7YQQojT0GY7fRWX0bToBxypv5twRj7Vm78dD2WPpk0oK3Zn8OHZZax+5xibDp96LbfxTsJYsnTuhoMvwNRr4Ty242jqj/KTbUGWlMIc2f5LCCHGLqUYzJ/Fkfnf5Mj8fyRsz6V687eY97vLKTi8Gk6z3lkqWTm3jIJMG//87C6isfTZhnG0SBhLljfuM0LY1A+d86XRmOau9X5sZvgbmS0shBDjg1IM5s3gSMM/caT+bmJmG3Wvf5VZaz5KVtfmZNfujOwWM5+4aAJ72708vvFosquTciSMJUN/M+x8CiZfDfasc7785ztCvN0V44szIU/GQgohxPgSbyk7dNF3aZvxBey+VmY+fxN1r34Z21BHsmt3WhdV5zGjzM0PXzhA72Ao2dVJKRLGkmHDT0EB068750sP9kX5j81BlpbCJWWJr5oQQog0oUz0l13CwaU/pKvmBvJaXmDu6iso3fMgKhZOdu3eRynFpxdPxBsI88MX9ie7OilFwthoG+yBrQ9D9aXgKjynSyMxzdfW+3Fa4Euz0nbZGSGEEAmkzRl0T7qBxsX/xlDOZCZu/Vdm/+Fasjo3Jbtq71OZ5+SqGSU8sbFZBvOfRMLYaHvl+xAJwswbzvnS/347xM7uGF+aBTnptdSMEEKIERZ2FtM89+9pnvNVLMFeZr5wM5PeuAurvzvZVXuXj82vpNidwZ1PvE2fdFcCEsZGV8tm2PRzmPphyDm3hcHWN4f50ZYgl5bDMumeFEIIcSpK4S1aQOOSf6N74kcoOPwsc1dfQfH+RyEWTXbtAHDYzHz5slqO+4J8/ekdaC2zKyWMjZZoGH5/JzjzYd6nzunSxr4oX17npyYbvjx7hOonhBBizNDmDLrqbqZp8b0Esqqo2fQtZq25jszud5JdNQBqCjP5+MIqXtzTyaMbZHalhLHRsuF+6NoDF30RbM5hX9Yf0Ny6dgirCf7vAsiQDayEEEIMU8hVztH6e2iZdQf2wXZmrf0oNRvuxhJI/nitD84sYV5VDt97bi97jg0kuzpJJWFsNPQegj/dC1WLoWrRsC8LRzW3rxui3af5xwYodIxgHYUQQoxNSjFQsoTGJf/O8Qkfoqjpt8xdfTlFB55I6oKxSim+ePEkXHYzdzy+DY8/9WaAjhYJYyNNa/jD10CZYeEXhn1ZTGv+6Y0Ab7RFuX02TMsbwToKIYQY82IWB52TP0HTonsJucqYtPEfmbXmo7h6diStTm6HlTtW1NLcO8StD2/GH0qNcW2jTcLYSHvrZ3BoPdTfAq7h7VsUjWnufjXAE3vDfKwWrqwc4ToKIYQYN4KZlRyZ/01aZ34Ju7eZWX+8nuqN38QS7EtKfaaXZXP7ilrebu7jC7/cQjAy/gKZhLGRtGc1PH+P0T055ZphXRKJaf5ufYBf7wtzcx3cMnWE6yiEEGL8UQpP6TIal/yQ3qqrKT7wJPOeuZSy3Q8kZQPyRTX5fG55Da8ePM7fPvkOkWjq77eZSBLGRkrzW/D0X0PRVFh+F6iz/68ORTVfXufnd41hbpkKn5oqC7sKIYQYOTGrk44pt9C0+Pv4s2uZsO37zFudnA3IV0wp4lOLJrBmVwd3r9o5rjYUlzA2EroPwBM3Gyvsr/gmWM6+Qutxf4zPrhlizeEIfz0DbqobhXoKIYQQQDCzguZ5f8+R+nuImYwNyGf/4UPkHV0zqqHsmlmlfLS+nN9ubeXWhzfjGRofg/pVOi221tDQoLds2ZLsapxZ3xF4+FoIDsA1P4SskrNe8mZbhK+85McT1HxpFlx5buvBCiGEEImjY7g73qLo8Crsg8cYzJlK65w76a28ali9PImwbm8nD795hIpcBw/e0kBdcdaovG+iKaW2aq0bznqehLEEalwHT90GsTBc+S9QMPmMp0djmvu2BvmvbSEqMuEf5kO1e5TqKoQQQpyJjpHd8SaFh57BPtSOP2si7dM+S3fNDcSsw18v83zt6xjgvnUHCUVj/OimuVw94+yNG6lGwthoisXgtf+A9d+D3Ilw6T3gLj3jJVs6IvzLmwG2d8e4vAL+ZhY4ZEFXIYQQqUbHcHduJL95DU5PIxGrm87JN9NVexMBd/WIvnWPL8iP1h2gqXuQa+eUcc81UynNTp9FNyWMjRZPGzz3NTiwFmouhcV3gCXjtKcf6o/yg41Bnj8SIT8Dbp0Gl1aMWm2FEEKI8+boP0B+8xrcnZtRxBgobKB70g0cn/ghYtbMEXnPUCTG6u1t/H77MSxmE1++rJbbllVjt5hH5P0SScLYSBvsgdf/09j4W8eg4bMw9dpTTn/UWrO9O8Zje0I8cyCM1Qw3ToLramR7IyGEEOnHEugjp/01ctpfxT54jKg5A0/ZxfRWXklfxWVE7LkJf8+ugQC/2niUzUf6qMxzcOvSam6YX4E7w5rw90oUCWMjpb8Z3v4VbPgphIeg5jKY+1eQWfT+UwOa3zeFeXxviL09MTLMcEUl3DwZcs8+wVIIIYRIbVrj8DSS3fE6Wd3bsAV60MrMQGEDntIlDJQswpc/B222Jewtt7f089S2Vhq7fDhsZq6fV84nLqpieqkblWLrQSU0jCmlPgDcB5iBB7XW33/Pz+3Ao8B8oAe4SWt9JP6zu4HbgChwp9b6+eGUeSpJC2MD7bDnd7DraWjdbBybsATmfhJy/jL1MRzV7OiO8kpLhNdaI2zvjhHTMCkbPlgFl5SDM3UDvBBCCHH+tCZj4DDu7i1kHn8bh/coAFFzBr7CefjyZzOYNxNf/kyCmVUXvJDmoW4fL+7p5M2mHkLRGGXZGVwypYhLJheytDafrBRoMUtYGFNKmYEDwJVAK7AZ+LjWes9J53wJmK21/qJS6mbgeq31TUqp6cATwEKgDFgH/HmK4RnLPJWkhLHjjXB/A6AhrwY9YRm+smW0qWLaB2Mc6o+xtyfG3p4oB/tjhKLG4m11uVBfCBcVQ13O6FZZCCGESDZzyIuzfx+u3j04+/dj97Vi0hEAohYXfncNfnc1AXc1gawJBF1lhJzFhJwlaPPwu498gQgbj/SwvaWfXW0D+MNRFDCxwMX0UjfTSrOYUuKm1G2jzDJAbqgdlZFjLMo+woYbxoYzYmkh0Ki1PhQv+ElgJXBycFoJfCv+/VPA/cpoK1wJPKm1DgKHlVKN8fIYRpmj7qfrG3mnpZ+T82koEmWF61Zej0xn30AZvZs1/gjA4Ilzcu3GkhTXTjSC19wCyEpci6wQQgiRdqK2LLxFC/AWLQBAxcLYfa04Bg5j9zVjH2onu2MDBUd+j+LdDUMRm5uwLYdIRi4Rey4Rq5uYxUnU4iBmcRIz29HKBCYzWpmp05pPlYShMEyfdxDPgIfoUD+mRg8Z+70U0Ue5Oo5dGWHwd+arWfKVRylyn37C3WgaThgrB1pOet0KXHS6c7TWEaWUB8iPH3/rPdeWx78/W5mjrscXoqnL965jZpNitf0juBxBplsUbrui0KkocJgodCpKM03kZshGBkIIIcTZxLLyGSydc1JzBqhoEMtQFxZ/Dxb/cSyBHiyBXswhL6awF8dgG6bwAUzRACoSwBQJoDj9rgBVmIhZMohZXcSyMglbnHhMk9hvXkynKqSFIg7Zp/PBFBo3NJwwdqpO3ff2bZ7unNMdP1V6OWV/qVLq88Dn4y99Sqn9p6mnGHkFwPFkV0K8i9yT1CT3JTXJfUlNSbkv37t1VN5mwnBOGk4YawUqT3pdARw7zTmtSikLkA30nuXas5UJgNb6AeCBYdRTjDCl1Jbh9H2L0SP3JDXJfUlNcl9Sk9yX4W0UvhmoU0pVK6VswM3As+8551ng0/HvbwRe1sbMgGeBm5VSdqVUNVAHbBpmmUIIIYQQY95ZW8biY8DuAJ7HWIbiF1rr3Uqp7wBbtNbPAg8Bv4wP0O/FCFfEz/sNxsD8CHC71joKcKoyE//xhBBCCCFSW1ot+iqSSyn1+Xi3sUgRck9Sk9yX1CT3JTXJfZEwJoQQQgiRVLImgxBCCCFEEkkYE2ellPqAUmq/UqpRKfWNZNdnvFJKVSql1iul9iqldiulvhI/nqeUelEpdTD+NfE79IozUkqZlVJvK6X+EH9drZTaGL8nv45PVBKjSCmVo5R6Sim1L/7MLJZnJfmUUl+N//7apZR6QimVIc+LhDFxFvHtsH4KfBCYDnw8vs2VGH0R4O+01tOARcDt1rZO7AAAAq9JREFU8XvxDeAlrXUd8FL8tRhdXwH2nvT6B8CP4vekD2N/XjG67gPWaq2nAnMw7o88K0mklCoH7gQatNYzMSbw3Yw8LxLGxFmd2A5Lax0C/rx1lRhlWut2rfW2+PdejH9cyjHuxyPx0x4BrktODccnpVQF8CHgwfhrBVyGsTUcyD0ZdUopN3Axxkx/tNYhrXU/8qykAgvgiK9J6gTakedFwpg4q1Nth1V+mnPFKFFKTQTmARuBYq11OxiBDShKXs3GpR8DX4cT+7PkA/1ax3dElmcmGWqAbuB/493HDyqlXMizklRa6zbgh0AzRgjzAFuR50XCmDir4WyHJUaRUioTeBr4W631QLLrM54ppT4MdGmtt558+BSnyjMzuixAPfAzrfU8YBDpkky6+Bi9lUA1UAa4MIbAvNe4e14kjImzGc52WGKUKKWsGEHsMa31qvjhTqVUafznpUBXsuo3Di0FPqKUOoLRhX8ZRktZTrwbBuSZSYZWoFVrvTH++imMcCbPSnJdARzWWndrrcPAKmAJ8rxIGBNnJVtXpYj4WKSHgL1a6/886Ucnb0f2aWD1aNdtvNJa3621rtBaT8R4Nl7WWn8CWI+xNRzIPRl1WusOoEUpNSV+6HKMnWDkWUmuZmCRUsoZ/3325/sy7p8XWfRVnJVS6hqMv/b/vHXV95JcpXFJKbUMeA3YyV/GJ92DMW7sN0AVxi+7/6O17k1KJccxpdSlwF1a6w8rpWowWsrygLeBT2qtg8ms33ijlJqLManCBhwCPovRACHPShIppb4N3IQxO/xt4HMYY8TG9fMiYUwIIYQQIomkm1IIIYQQIokkjAkhhBBCJJGEMSGEEEKIJJIwJoQQQgiRRBLGhBBCCCGSSMKYEEIIIUQSSRgTQgghhEgiCWNCCCGEEEn0/wEvrtXdUGOS1QAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.kdeplot(df['tenure'].loc[df['Churn'] == 'No'], label='not churn', shade=True);\n", + "sns.kdeplot(df['tenure'].loc[df['Churn'] == 'Yes'], label='churn', shade=True);" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 5174.000000\n", + "mean 37.569965\n", + "std 24.113777\n", + "min 0.000000\n", + "25% 15.000000\n", + "50% 38.000000\n", + "75% 61.000000\n", + "max 72.000000\n", + "Name: tenure, dtype: float64" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.tenure[df.Churn == 'No'].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 1869.000000\n", + "mean 17.979133\n", + "std 19.531123\n", + "min 1.000000\n", + "25% 2.000000\n", + "50% 10.000000\n", + "75% 29.000000\n", + "max 72.000000\n", + "Name: tenure, dtype: float64" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.tenure[df.Churn == 'Yes'].describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## MonthlyCharges" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.kdeplot(df.MonthlyCharges[df.Churn == 'No'], label='not churn', shade=True);\n", + "sns.kdeplot(df.MonthlyCharges[df.Churn == 'Yes'], label='churn', shade=True);" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 5174.000000\n", + "mean 61.265124\n", + "std 31.092648\n", + "min 18.250000\n", + "25% 25.100000\n", + "50% 64.425000\n", + "75% 88.400000\n", + "max 118.750000\n", + "Name: MonthlyCharges, dtype: float64" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.MonthlyCharges[df.Churn == 'No'].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 1869.000000\n", + "mean 74.441332\n", + "std 24.666053\n", + "min 18.850000\n", + "25% 56.150000\n", + "50% 79.650000\n", + "75% 94.200000\n", + "max 118.350000\n", + "Name: MonthlyCharges, dtype: float64" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.MonthlyCharges[df.Churn == 'Yes'].describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Total Charges" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/zheming2009/anaconda3/lib/python3.6/site-packages/statsmodels/nonparametric/kde.py:454: RuntimeWarning: invalid value encountered in greater\n", + " X = X[np.logical_and(X>clip[0], Xclip[0], X" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.kdeplot(df['TotalCharges'].loc[df['Churn'] == 'No'], label='not churn', shade=True);\n", + "sns.kdeplot(df['TotalCharges'].loc[df['Churn'] == 'Yes'], label='churn', shade=True);" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 5163.000000\n", + "mean 2555.344141\n", + "std 2329.456984\n", + "min 18.800000\n", + "25% 577.825000\n", + "50% 1683.600000\n", + "75% 4264.125000\n", + "max 8672.450000\n", + "Name: TotalCharges, dtype: float64" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.TotalCharges[df.Churn == 'No'].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 1869.000000\n", + "mean 1531.796094\n", + "std 1890.822994\n", + "min 18.850000\n", + "25% 134.500000\n", + "50% 703.550000\n", + "75% 2331.300000\n", + "max 8684.800000\n", + "Name: TotalCharges, dtype: float64" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.TotalCharges[df.Churn == 'Yes'].describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 对流失标志进行编码用0和1来代替No和Yes" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "le = preprocessing.LabelEncoder()\n", + "df.Churn = le.fit_transform(df.Churn.values)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "用列的均值填充列的空值" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "df = df.fillna(df.mean())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 对分类型变量进行one-hot编码" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "categorical = ['gender', 'Partner', 'Dependents', 'PhoneService', 'MultipleLines', 'InternetService', \n", + " 'OnlineSecurity', 'OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', \n", + " 'StreamingMovies', 'Contract', 'PaperlessBilling', 'PaymentMethod']\n", + "for f in categorical:\n", + " dummies = pd.get_dummies(df[f], prefix = f, prefix_sep = '_')\n", + " df = pd.concat([df, dummies], axis = 1)\n", + "df.drop(categorical, axis = 1, inplace = True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Autoencoder" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(4085, 45) (2958, 45)\n", + "(4085,) (2958,)\n" + ] + } + ], + "source": [ + "X_train, X_val = train_test_split(df, test_size=2958)\n", + "\n", + "cols = [c for c in df.columns if c not in ['customerID','Churn']]\n", + "y_train = X_train['Churn'].as_matrix()\n", + "X_train = MinMaxScaler().fit_transform(X_train[cols])\n", + "y_val= X_val['Churn'].as_matrix()\n", + "X_val = MinMaxScaler().fit_transform(X_val[cols])\n", + "\n", + "print(X_train.shape,X_val.shape)\n", + "print(y_train.shape, y_val.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(4085,) (1479,) (1479,) (7043, 47)\n" + ] + } + ], + "source": [ + "X_val, X_test, y_val, y_test = train_test_split(X_val, y_val, test_size=1479, random_state=0)\n", + "print(y_train.shape, y_val.shape, y_test.shape, df.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(1400, 45) (4000, 45)\n" + ] + } + ], + "source": [ + "def fit_batchsize(X,y,batch_size):\n", + " n_size = (len(X)//batch_size)*batch_size\n", + " X = X[0:n_size]\n", + " y = y[0:n_size]\n", + " return X, y\n", + "\n", + "batch_size = 100\n", + "\n", + "X_train, y_train = fit_batchsize(X_train,y_train, batch_size)\n", + "X_val, y_val = fit_batchsize(X_val, y_val, batch_size)\n", + "\n", + "X_test,y_test = fit_batchsize(X_test,y_test, batch_size)\n", + "print(X_val.shape, X_train.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "# 定义输入层\n", + "input_dim = X_train.shape[1]\n", + "inputs = Input(shape=(input_dim,))\n", + "# 定义 Encoder 层\n", + "n_z = 2\n", + "n_epoch = 200\n", + "\n", + "h_q = Dense(512, activation='relu')(inputs)\n", + "mu = Dense(n_z, activation='linear')(h_q)\n", + "log_sigma = Dense(n_z, activation='linear')(h_q)\n", + "\n", + "# Encoder model, to encode input into latent variable\n", + "# We use the mean as the output as it is the center point, the representative of the gaussian\n", + "encoder = Model(inputs, mu)\n", + "\n", + "def sample_z(args):\n", + " mu, log_sigma = args\n", + " eps = K.random_normal(shape=(batch_size, n_z), mean=0., stddev=1.)\n", + " return mu + K.exp(log_sigma / 2) * eps\n", + "\n", + "\n", + "# Sample z ~ Q(z|X)\n", + "z = Lambda(sample_z, name='sampleZ', output_shape=(n_z,))([mu, log_sigma])\n", + "\n", + "# Define decoder layers in VAE model\n", + "decoder_hidden = Dense(512, activation='relu')\n", + "decoder_out = Dense(input_dim, activation='sigmoid')\n", + "\n", + "h_p = decoder_hidden(z)\n", + "outputs = decoder_out(h_p)\n", + "\n", + "# Overall VAE model, for reconstruction and training\n", + "vae = Model(inputs, outputs)\n", + "\n", + "# Generator model, generate new data given latent variable z\n", + "d_in = Input(shape=(n_z,))\n", + "d_h = decoder_hidden(d_in)\n", + "d_out = decoder_out(d_h)\n", + "decoder = Model(d_in, d_out)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "encoder model structure:\n", + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "input_1 (InputLayer) (None, 45) 0 \n", + "_________________________________________________________________\n", + "dense_1 (Dense) (None, 512) 23552 \n", + "_________________________________________________________________\n", + "dense_2 (Dense) (None, 2) 1026 \n", + "=================================================================\n", + "Total params: 24,578\n", + "Trainable params: 24,578\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n", + "None\n", + "\n", + "\n", + "decoder model structure:\n", + "_________________________________________________________________\n", + "Layer (type) Output Shape Param # \n", + "=================================================================\n", + "input_2 (InputLayer) (None, 2) 0 \n", + "_________________________________________________________________\n", + "dense_4 (Dense) (None, 512) 1536 \n", + "_________________________________________________________________\n", + "dense_5 (Dense) (None, 45) 23085 \n", + "=================================================================\n", + "Total params: 24,621\n", + "Trainable params: 24,621\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n", + "None\n", + "\n", + "\n", + "vae model structure:\n", + "__________________________________________________________________________________________________\n", + "Layer (type) Output Shape Param # Connected to \n", + "==================================================================================================\n", + "input_1 (InputLayer) (None, 45) 0 \n", + "__________________________________________________________________________________________________\n", + "dense_1 (Dense) (None, 512) 23552 input_1[0][0] \n", + "__________________________________________________________________________________________________\n", + "dense_2 (Dense) (None, 2) 1026 dense_1[0][0] \n", + "__________________________________________________________________________________________________\n", + "dense_3 (Dense) (None, 2) 1026 dense_1[0][0] \n", + "__________________________________________________________________________________________________\n", + "sampleZ (Lambda) (None, 2) 0 dense_2[0][0] \n", + " dense_3[0][0] \n", + "__________________________________________________________________________________________________\n", + "dense_4 (Dense) (None, 512) 1536 sampleZ[0][0] \n", + "__________________________________________________________________________________________________\n", + "dense_5 (Dense) (None, 45) 23085 dense_4[0][0] \n", + "==================================================================================================\n", + "Total params: 50,225\n", + "Trainable params: 50,225\n", + "Non-trainable params: 0\n", + "__________________________________________________________________________________________________\n", + "None\n" + ] + } + ], + "source": [ + "print(\"encoder model structure:\")\n", + "print(encoder.summary())\n", + "print()\n", + "print()\n", + "print(\"decoder model structure:\")\n", + "print(decoder.summary())\n", + "print()\n", + "print()\n", + "print(\"vae model structure:\")\n", + "print(vae.summary())" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "# translate our loss into Keras code\n", + "def vae_loss(y_true, y_pred):\n", + " \"\"\" Calculate loss = reconstruction loss + KL loss for each data in minibatch \"\"\"\n", + " recon = K.sum(K.binary_crossentropy(y_pred, y_true), axis=1)\n", + " kl = 0.5 * K.sum(K.exp(log_sigma) + K.square(mu) - 1. - log_sigma, axis=1)\n", + "\n", + " return recon + kl" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train on 4000 samples, validate on 1400 samples\n", + "Epoch 1/200\n", + "4000/4000 [==============================] - 1s 167us/step - loss: 274.1097 - val_loss: 208.8252\n", + "Epoch 2/200\n", + "4000/4000 [==============================] - 0s 55us/step - loss: 185.0365 - val_loss: 171.5412\n", + "Epoch 3/200\n", + "4000/4000 [==============================] - 0s 52us/step - loss: 165.0149 - val_loss: 159.2053\n", + "Epoch 4/200\n", + "4000/4000 [==============================] - 0s 49us/step - loss: 156.4769 - val_loss: 152.5888\n", + "Epoch 5/200\n", + "4000/4000 [==============================] - 0s 49us/step - loss: 147.0129 - val_loss: 142.0978\n", + "Epoch 6/200\n", + "4000/4000 [==============================] - 0s 52us/step - loss: 139.1050 - val_loss: 135.6492\n", + "Epoch 7/200\n", + "4000/4000 [==============================] - 0s 53us/step - loss: 132.7848 - val_loss: 131.7966\n", + "Epoch 8/200\n", + "4000/4000 [==============================] - 0s 52us/step - loss: 129.6531 - val_loss: 129.2081\n", + "Epoch 9/200\n", + "4000/4000 [==============================] - 0s 53us/step - loss: 127.5062 - val_loss: 127.1159\n", + "Epoch 10/200\n", + "4000/4000 [==============================] - 0s 49us/step - loss: 125.6209 - val_loss: 125.3150\n", + "Epoch 11/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 123.9688 - val_loss: 124.2490\n", + "Epoch 12/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 122.8562 - val_loss: 123.3858\n", + "Epoch 13/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 122.0522 - val_loss: 122.3313\n", + "Epoch 14/200\n", + "4000/4000 [==============================] - 0s 43us/step - loss: 120.8608 - val_loss: 121.7687\n", + "Epoch 15/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 120.2902 - val_loss: 120.6365\n", + "Epoch 16/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 119.3140 - val_loss: 119.9966\n", + "Epoch 17/200\n", + "4000/4000 [==============================] - 0s 43us/step - loss: 118.6359 - val_loss: 119.8184\n", + "Epoch 18/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 117.8699 - val_loss: 119.1131\n", + "Epoch 19/200\n", + "4000/4000 [==============================] - 0s 42us/step - loss: 117.6274 - val_loss: 118.5397\n", + "Epoch 20/200\n", + "4000/4000 [==============================] - 0s 49us/step - loss: 116.7807 - val_loss: 118.2899\n", + "Epoch 21/200\n", + "4000/4000 [==============================] - 0s 42us/step - loss: 116.2958 - val_loss: 118.1414\n", + "Epoch 22/200\n", + "4000/4000 [==============================] - 0s 39us/step - loss: 115.9294 - val_loss: 117.9964\n", + "Epoch 23/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 115.6004 - val_loss: 117.3691\n", + "Epoch 24/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 115.2165 - val_loss: 116.7675\n", + "Epoch 25/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 114.6892 - val_loss: 116.4997\n", + "Epoch 26/200\n", + "4000/4000 [==============================] - 0s 43us/step - loss: 114.1871 - val_loss: 116.3335\n", + "Epoch 27/200\n", + "4000/4000 [==============================] - 0s 42us/step - loss: 113.9368 - val_loss: 115.8708\n", + "Epoch 28/200\n", + "4000/4000 [==============================] - 0s 42us/step - loss: 113.5705 - val_loss: 116.0137\n", + "Epoch 29/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 113.2408 - val_loss: 115.4842\n", + "Epoch 30/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 112.7422 - val_loss: 115.2959\n", + "Epoch 31/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 112.4202 - val_loss: 115.1370\n", + "Epoch 32/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 112.1459 - val_loss: 114.3648\n", + "Epoch 33/200\n", + "4000/4000 [==============================] - 0s 42us/step - loss: 111.9446 - val_loss: 114.2611\n", + "Epoch 34/200\n", + "4000/4000 [==============================] - 0s 42us/step - loss: 111.1858 - val_loss: 113.5859\n", + "Epoch 35/200\n", + "4000/4000 [==============================] - 0s 42us/step - loss: 111.0023 - val_loss: 113.5176\n", + "Epoch 36/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 110.4303 - val_loss: 113.5785\n", + "Epoch 37/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 110.4845 - val_loss: 113.2851\n", + "Epoch 38/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 110.1780 - val_loss: 113.0957\n", + "Epoch 39/200\n", + "4000/4000 [==============================] - 0s 39us/step - loss: 110.0661 - val_loss: 113.2164\n", + "Epoch 40/200\n", + "4000/4000 [==============================] - 0s 38us/step - loss: 109.9585 - val_loss: 112.8627\n", + "Epoch 41/200\n", + "4000/4000 [==============================] - 0s 39us/step - loss: 109.2943 - val_loss: 112.5396\n", + "Epoch 42/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 109.1495 - val_loss: 112.6867\n", + "Epoch 43/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 108.8643 - val_loss: 112.0699\n", + "Epoch 44/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 108.6617 - val_loss: 112.1159\n", + "Epoch 45/200\n", + "4000/4000 [==============================] - 0s 43us/step - loss: 108.4912 - val_loss: 112.3640\n", + "Epoch 46/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 108.7032 - val_loss: 112.4112\n", + "Epoch 47/200\n", + "4000/4000 [==============================] - 0s 42us/step - loss: 108.3107 - val_loss: 112.1571\n", + "Epoch 48/200\n", + "4000/4000 [==============================] - 0s 40us/step - loss: 108.2379 - val_loss: 112.4110\n", + "Epoch 49/200\n", + "4000/4000 [==============================] - 0s 43us/step - loss: 107.7927 - val_loss: 111.6748\n", + "Epoch 50/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 107.8950 - val_loss: 112.3495\n", + "Epoch 51/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 107.9077 - val_loss: 111.9484\n", + "Epoch 52/200\n", + "4000/4000 [==============================] - 0s 45us/step - loss: 107.3168 - val_loss: 111.7124\n", + "Epoch 53/200\n", + "4000/4000 [==============================] - 0s 41us/step - loss: 106.9300 - val_loss: 111.5774\n", + "Epoch 54/200\n", + "4000/4000 [==============================] - 0s 39us/step - loss: 106.9917 - val_loss: 111.5371\n", + "Epoch 55/200\n", + "4000/4000 [==============================] - 0s 38us/step - loss: 107.8336 - val_loss: 111.8699\n", + "Epoch 56/200\n", + "4000/4000 [==============================] - 0s 42us/step - loss: 107.1939 - val_loss: 111.4828\n" + ] + } + ], + "source": [ + "vae.compile(optimizer='adam', loss=vae_loss)\n", + "vae_history = vae.fit(X_train, X_train, batch_size=batch_size, shuffle=True, \n", + " validation_data = (X_val, X_val),\n", + " epochs=n_epoch, callbacks = [EarlyStopping(monitor='loss',patience = 3)])" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(vae_history.history['loss'])\n", + "plt.plot(vae_history.history['val_loss'])\n", + "plt.title('model loss')\n", + "plt.ylabel('loss')\n", + "plt.xlabel('epoch')\n", + "plt.legend(['train', 'test'], loc='upper left')\n", + "plt.show();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# X_train中的误差分布" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_train_encoded = encoder.predict(X_train)\n", + "\n", + "pred_train = decoder.predict(x_train_encoded)\n", + "mse = np.mean(np.power(X_train - pred_train, 2), axis=1)\n", + "error_df = pd.DataFrame({'recon_error': mse,\n", + " 'churn': y_train})\n", + "\n", + "plt.figure(figsize=(10,6))\n", + "sns.kdeplot(error_df.recon_error[error_df.churn==0], label='not churn', shade=True, clip=(0,10))\n", + "sns.kdeplot(error_df.recon_error[error_df.churn==1], label='churn', shade=True, clip=(0,10))\n", + "plt.xlabel('reconstruction error');\n", + "plt.title('Reconstruction error - Train set');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# X_val中的误差分布" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_val_encoded = encoder.predict(X_val)\n", + "pred = decoder.predict(x_val_encoded)\n", + "mseV = np.mean(np.power(X_val - pred, 2), axis=1)\n", + "error_df = pd.DataFrame({'recon_error': mseV,\n", + " 'churn': y_val})\n", + "plt.figure(figsize=(10,6))\n", + "sns.kdeplot(error_df.recon_error[error_df.churn==0], label='not churn', shade=True, clip=(0,10))\n", + "sns.kdeplot(error_df.recon_error[error_df.churn==1], label='churn', shade=True, clip=(0,10))\n", + "plt.xlabel('reconstruction error');\n", + "plt.title('Reconstruction error - Validation set');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 潜变量空间可视化" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_train_encoded = encoder.predict(X_train)\n", + "\n", + "plt.scatter(x_train_encoded[:, 0], x_train_encoded[:, 1], \n", + " c=y_train, alpha=0.6)\n", + "plt.title('Train set in latent space')\n", + "plt.show();" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_val_encoded = encoder.predict(X_val)\n", + "\n", + "plt.scatter(x_val_encoded[:, 0], x_val_encoded[:, 1], \n", + " c=y_val, alpha=0.6)\n", + "\n", + "plt.title('Validation set in latent space')\n", + "plt.show();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 在潜变量空间中进行分类" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from matplotlib.colors import ListedColormap\n", + "from sklearn import neighbors, datasets\n", + "weights='uniform'\n", + "n_neighbors=20\n", + "clf = neighbors.KNeighborsClassifier(n_neighbors, weights=weights)\n", + "X=x_train_encoded\n", + "y=y_train\n", + "clf.fit(X, y)\n", + "\n", + "h=0.2\n", + "cmap_light = ListedColormap(['#FFAAAA', '#AAFFAA'])\n", + "cmap_bold = ListedColormap(['#FF0000', '#00FF00'])\n", + "# Plot the decision boundary. For that, we will assign a color to each\n", + "# point in the mesh [x_min, x_max]x[y_min, y_max].\n", + "x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1\n", + "y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1\n", + "xx, yy = np.meshgrid(np.arange(x_min, x_max, h),np.arange(y_min, y_max, h))\n", + "Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])\n", + "\n", + "# Put the result into a color plot\n", + "Z = Z.reshape(xx.shape)\n", + "plt.figure()\n", + "plt.pcolormesh(xx, yy, Z, cmap=cmap_light)\n", + "\n", + "# Plot also the training points\n", + "plt.scatter(X[:, 0], X[:, 1], c=y, cmap=cmap_bold,\n", + " edgecolor='k', s=20)\n", + "plt.xlim(xx.min(), xx.max())\n", + "plt.ylim(yy.min(), yy.max())\n", + "plt.title(\"2-Class classification (k = %i, weights = '%s')\"\n", + " % (n_neighbors, weights));" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 对分类模型进行评估" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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YuRLsmMHvPAC9OzplXIaPFgJmoiISATRnDRg9KxkypcpyW8vrud3KKG1bBm89x488ww0auSt3ExI8DsqERERyUWMdBudXuq+I/x3+XZubV+PymWLaQmotDT4/e+hbVt4/XXYutU7rwRNREQkYsV8kvbmnBQA+ncqhiWgMjNhxAho0gRGjYL77/e21KgTI/PuREREolhMD3ceOHqCyQs20711LepUKet3OEUvPR3++levB+3ll6FlS78jEhERkSDFdE/af+ZvIv14FgM6F6PNazdtgkcf9XrRKleGhQvhiy+UoImIiESZmE3SjmVmMW5OCp0aV6dl7WJQAuroURg2zNtSY+RIb2NagHr1VM5JREQkCsVskvbR0m3sOnSMgdHei+YcvP++l5w9/TRcfz2sWQMXXeR3ZCIiIlIIMTknzTnH6KRkzjunIpc1qe53OIWTlQVDh3pDm998A126+B2RiIiIFIGY7En7Zu1u1u06zMDOjaKzBNTevfD443DgAJQqBdOnw6JFStBERESKkZhM0l5P2sA5leLpfkGU1afMyvL2OWvaFF58EWbO9M7XreslayIiIlJsxFyStjx1P/OS93JXpwaULhlFn/7s2ZCYCPfdB61aeQsDbrrJ76hEREQkRGKu+2VUUjIV40pxa/soKwH17LNe5YB334VevbRiU0REpJiLqSRty94jTP9hOwMua0TF+AgvAZWRAf/6F9x6KzRsCGPGeIsDypXzOzIREREJgyga7yu8sbM3UsKMfh0b+B3K6TkHH34ILVrAkCHe9hoAtWopQRMREYkhMZOk7T9ynHe+38L1bWpTq3KEloBatQquuQZ69PASspkzveoBIiIiEnNiZrhzwrxNHD2RFdmb144c6ZVxGj4cfvc7rdgUERGJYTHRk5ZxIotx322ic9ManHdOJb/D+Z+sLG+u2dy53vHf/gY//ggPPKAETUREJMbFRJL24ZKt7Dl8jHsjqRftu+/g4othwAB46y3v3FlnQY0a/sYlIiIiEaHYJ2nZ2Y7Rs5JpWbsSl55bze9wYNs2uP126NgRduyAiRPh1Vf9jkpEREQiTLFP0r5as4sNu9MjpwTUpEneXmdDhniF0G+9VXueiYiIyCmK/cSnUUnJ1KlSlm7n1/InAOfgk0+8v7t39+ab9egBjSJo6FVEREQiTrHuSVuyeR8LUvbSv6NPJaDWroVrr/WSs5df9s6VKaMETURERPJVrJO00bOSqRhfij7hLgF18KC3v1mrVjBnDrz0Enz6aXhjEBERkahWbJO0TWnpfLZiB3071KdCXJhHdWfO9Eo63XknrFsHDz4IpSO8DJWIiIhElGI7J23s7I2ULGH0u7RBeB64YIG3EOCOO+DGG2HFCq+0k4iIiEgBFMskbW/6cd5duIUb29ShZqX40D5sxw4YPBjGjYNzz/VWa5YurQRNRESKzIkTJ0hNTSUjI8PvUOQ04uPjSUhIoHQRjpwVyyTt7bmbyDiRzYBQbl57/LhXvmnYMMjIgMcf97bV0LCmiIgUsdTUVCpWrEiDBg0iYzsp+QXnHGlpaaSmptKwYcMiu2+xm5OWcSKL8XNTuKJZDZrWrBi6B61cCX/6E3Tp4n383HNQMYTPExGRmJWRkUG1atWUoEUoM6NatWpF3tNZ7JK09xenkpZ+nIGdzy36m69fDyNGeB9feCEsWwYffwxNmhT9s0RERHJQghbZQtE+xSpJy852jJm1kfPrVKZDo6pFd+NDh+CJJ6BlS/jzn2HPHu/8+ecX3TNEREQi3NSpUzEz1qxZ8/O5b775huuuu+4X1/Xr148pU6YA3ny6J554giZNmtCqVSvat2/Pp0WwLdWzzz5L48aNadasGTNmzMj1GuccQ4YMoWnTpjRv3pzhw4cD8NFHH9G6dWvatGlDYmIis2fP/sX7Dh48SJ06dbj//vt/PjdkyBDq1q1LhQoVCh17sIpVkvbF6p1s3FOEJaCcgwkToFkz+Mc/4Le/9TaorV698PcWERGJMpMmTaJTp05Mnjw56Pc8+eSTbN++nRUrVrBixQo+/vhjDh06VKg4Vq1axeTJk1m5ciWfffYZv//978nKyjrlunHjxrFlyxbWrFnD6tWr6dOnDwBXXnkly5YtY+nSpbzxxhvcc889p8TcpUuXX5zr3r07CxYsKFTcZ6pYJWmjkpJJOKssv2l1TtHccMcOuPdeSEiAefPgzTfhnCK6t4iISBQ5fPgwc+bMYezYsUEnaUeOHGH06NH8+9//Ji4uDoCaNWvSu3fvQsXy0Ucf0adPH+Li4mjYsCGNGzfONYF69dVXeeqppyhRwkt3zj77bAAqVKjwc2dOenr6Lzp2Fi1axM6dO7nmmmt+ca8OHTpQq1Z4S0wWm9WdizbtZdGmfTzdvQWlClMCatcuGD8eHnkEatXykrOWLaFEscpnRUQkSv3145Ws2nawSO/ZonYlnu7eMs9rPvzwQ7p27UrTpk2pWrUqixcvpm3btnm+Z/369dSrV49KlSrlG8NDDz3E119/fcr5Pn368MQTT/zi3NatW+nQocPPxwkJCWzduvWU927YsIF33nmHqVOnUqNGDYYPH06TwDzyqVOnMnjwYHbt2sUnn3wCQHZ2No888ghvv/02M2fOzDfmUCs2SdqopGQqly1N78S6BbvBiRPeooChQyE9HX79a2/OmeadiYiIMGnSJB588EHAS5wmTZpE27ZtTzu96EynHb300ktBX+ucC+p5x44dIz4+noULF/LBBx9w1113MWvWLAB69OhBjx49SEpK4sknn+TLL79k5MiRdOvWjbp1C5hLFLFikaQl7z7M56t2MujyxpQvSAmoL76AP/4RVq+Grl29WpvnnVf0gYqIiBRSfj1eoZCWlsZXX33FihUrMDOysrIwM55//nmqVavGvn37fnH93r17qV69Oo0bN2bz5s0cOnSIivlsU3UmPWkJCQls2bLl5+PU1FRq1659ynsTEhLo2bMn4CVl/fv3P+Wazp07s2HDBvbs2cPcuXOZNWsWI0eO5PDhwxw/fpwKFSrw3HPP5Rl7yDjnoupPu3bt3Mn+/MFy1+TP093Og0dPeS1fR486V6eOc+ee69zHHzuXnX3m9xAREQmhVatW+fr81157zQ0cOPAX5zp37uySkpJcRkaGa9Cgwc8xpqSkuHr16rn9+/c755x77LHHXL9+/dyxY8ecc85t27bNvf3224WKZ8WKFa5169YuIyPDJScnu4YNG7rMzMxTrnv88cfd2LFjnXPOff311y4xMdE559y6detcduD3/aJFi1zt2rV/Pv7Jm2++6QYNGnTKPcuXL3/auHJrJ2ChK2DOE/UTrfYcPsaURanc1LYOZ1cMsgRUejq88IJXNSA+HmbM8Dakve460D40IiIivzBp0iR69Ojxi3M9e/Zk4sSJxMXFMWHCBPr370+bNm3o1asXY8aMoXLlygA888wz1KhRgxYtWtCqVStuvPFGatSoUah4WrZsSe/evWnRogVdu3ZlxIgRlCxZEoBu3bqxbds2AJ544gnef/99zj//fAYPHsyYMWMAeP/992nVqhVt2rRh0KBBvPPOO/kOz/7pT38iISGBI0eOkJCQ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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_val_encoded = encoder.predict(X_val)\n", + "fpr, tpr, thresholds = roc_curve(y_val, clf.predict(x_val_encoded))\n", + "roc_auc = auc(fpr, tpr)\n", + "\n", + "plt.title('Receiver Operating Characteristic')\n", + "plt.plot(fpr, tpr, label='AUC = %0.4f'% roc_auc)\n", + "plt.legend(loc='lower right')\n", + "plt.plot([0,1],[0,1],'r--')\n", + "plt.xlim([-0.001, 1])\n", + "plt.ylim([0, 1.001])\n", + "plt.ylabel('True Positive Rate')\n", + "plt.xlabel('False Positive Rate')\n", + "plt.show();" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy:\n", + "0.7557142857142857\n", + "Confusion Matrix:\n", + "[[918 99]\n", + " [243 140]]\n", + "Classification Report:\n", + " precision recall f1-score support\n", + "\n", + " 0 0.79 0.90 0.84 1017\n", + " 1 0.59 0.37 0.45 383\n", + "\n", + "avg / total 0.73 0.76 0.74 1400\n", + "\n" + ] + } + ], + "source": [ + "print('Accuracy:')\n", + "print(accuracy_score(y_val, clf.predict(x_val_encoded)))\n", + "print(\"Confusion Matrix:\")\n", + "print(confusion_matrix(y_val,clf.predict(x_val_encoded)))\n", + "print(\"Classification Report:\")\n", + "print(classification_report(y_val,clf.predict(x_val_encoded)))" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_test_encoded = encoder.predict(X_test)\n", + "fpr, tpr, thresholds = roc_curve(y_test, clf.predict(x_test_encoded))\n", + "roc_auc = auc(fpr, tpr)\n", + "plt.title('Receiver Operating Characteristic')\n", + "plt.plot(fpr, tpr, label='AUC = %0.4f'% roc_auc)\n", + "plt.legend(loc='lower right')\n", + "plt.plot([0,1],[0,1],'r--')\n", + "plt.xlim([-0.001, 1])\n", + "plt.ylim([0, 1.001])\n", + "plt.ylabel('True Positive Rate')\n", + "plt.xlabel('False Positive Rate')\n", + "plt.show();\n" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Accuracy:\n", + "0.7485714285714286\n", + "Confusion Matrix:\n", + "[[915 115]\n", + " [237 133]]\n", + "Classification Report:\n", + " precision recall f1-score support\n", + "\n", + " 0 0.79 0.89 0.84 1030\n", + " 1 0.54 0.36 0.43 370\n", + "\n", + "avg / total 0.73 0.75 0.73 1400\n", + "\n" + ] + } + ], + "source": [ + "print('Accuracy:')\n", + "print(accuracy_score(y_test, clf.predict(x_test_encoded)))\n", + "print(\"Confusion Matrix:\")\n", + "print(confusion_matrix(y_test,clf.predict(x_test_encoded)))\n", + "print(\"Classification Report:\")\n", + "print(classification_report(y_test,clf.predict(x_test_encoded)))" + ] + }, + { + "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": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 4734621cd203b795251aa35d08aee779b21140fd Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Sun, 14 Jul 2019 22:54:08 +0800 Subject: [PATCH 02/42] Add files via upload --- ...345\200\274\346\243\200\346\265\213.ipynb" | 2281 +++++++++++++++++ 1 file changed, 2281 insertions(+) create mode 100644 "\345\237\272\344\272\216PyOD\347\232\204\345\274\202\345\270\270\345\200\274\346\243\200\346\265\213.ipynb" diff --git "a/\345\237\272\344\272\216PyOD\347\232\204\345\274\202\345\270\270\345\200\274\346\243\200\346\265\213.ipynb" "b/\345\237\272\344\272\216PyOD\347\232\204\345\274\202\345\270\270\345\200\274\346\243\200\346\265\213.ipynb" new file mode 100644 index 0000000..53bc447 --- /dev/null +++ "b/\345\237\272\344\272\216PyOD\347\232\204\345\274\202\345\270\270\345\200\274\346\243\200\346\265\213.ipynb" @@ -0,0 +1,2281 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "异常值检测主要是为了发现数据集中的一些\"与众不同\"的数据值,所谓“与众不同”的数据值是指这些数据与大多数数据存在较大的差异我们称之为“异常值”,并且在现实中这些“异常值”并没有被打上标签,因此我们必须通过某种算法来自动识别出这些异常值。对于异常值我们有如下的定义:\n", + "\n", + "异常值所占整体数据的比例较少,产生异常值的概率非常低。\n", + "异常值本身的特征与其他正常值有明显的差异。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 数据\n", + "\n", + "在本篇博客中我们的数据来自于国外的某个超市的销售数据,你可以在这里下载: https://community.tableau.com/docs/DOC-1236" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import matplotlib\n", + "plt.rcParams['font.sans-serif'] = ['SimHei'] \n", + "plt.rcParams['axes.unicode_minus'] = False \n", + "from sklearn.ensemble import IsolationForest\n", + "from sklearn.preprocessing import StandardScaler\n", + "from pyod.models.abod import ABOD\n", + "from pyod.models.cblof import CBLOF\n", + "from pyod.models.feature_bagging import FeatureBagging\n", + "from pyod.models.hbos import HBOS\n", + "from pyod.models.iforest import IForest\n", + "from pyod.models.knn import KNN\n", + "from pyod.models.lof import LOF\n", + "from scipy import stats\n", + "from sklearn.preprocessing import MinMaxScaler" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
Row IDOrder IDOrder DateShip DateShip ModeCustomer IDCustomer NameSegmentCountryCity...Postal CodeRegionProduct IDCategorySub-CategoryProduct NameSalesQuantityDiscountProfit
01CA-2016-1521562016-11-082016-11-11Second ClassCG-12520Claire GuteConsumerUnited StatesHenderson...42420SouthFUR-BO-10001798FurnitureBookcasesBush Somerset Collection Bookcase261.9620.041.9136
12CA-2016-1521562016-11-082016-11-11Second ClassCG-12520Claire GuteConsumerUnited StatesHenderson...42420SouthFUR-CH-10000454FurnitureChairsHon Deluxe Fabric Upholstered Stacking Chairs,...731.9430.0219.5820
23CA-2016-1386882016-06-122016-06-16Second ClassDV-13045Darrin Van HuffCorporateUnited StatesLos Angeles...90036WestOFF-LA-10000240Office SuppliesLabelsSelf-Adhesive Address Labels for Typewriters b...14.6220.06.8714
\n", + "

3 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Row ID Order ID Order Date Ship Date Ship Mode Customer ID \\\n", + "0 1 CA-2016-152156 2016-11-08 2016-11-11 Second Class CG-12520 \n", + "1 2 CA-2016-152156 2016-11-08 2016-11-11 Second Class CG-12520 \n", + "2 3 CA-2016-138688 2016-06-12 2016-06-16 Second Class DV-13045 \n", + "\n", + " Customer Name Segment Country City ... \\\n", + "0 Claire Gute Consumer United States Henderson ... \n", + "1 Claire Gute Consumer United States Henderson ... \n", + "2 Darrin Van Huff Corporate United States Los Angeles ... \n", + "\n", + " Postal Code Region Product ID Category Sub-Category \\\n", + "0 42420 South FUR-BO-10001798 Furniture Bookcases \n", + "1 42420 South FUR-CH-10000454 Furniture Chairs \n", + "2 90036 West OFF-LA-10000240 Office Supplies Labels \n", + "\n", + " Product Name Sales Quantity \\\n", + "0 Bush Somerset Collection Bookcase 261.96 2 \n", + "1 Hon Deluxe Fabric Upholstered Stacking Chairs,... 731.94 3 \n", + "2 Self-Adhesive Address Labels for Typewriters b... 14.62 2 \n", + "\n", + " Discount Profit \n", + "0 0.0 41.9136 \n", + "1 0.0 219.5820 \n", + "2 0.0 6.8714 \n", + "\n", + "[3 rows x 21 columns]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_excel(\"./data/Superstore.xls\")\n", + "df.head(3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 查看Sales变量的分布" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "count 9994.000000\n", + "mean 229.858001\n", + "std 623.245101\n", + "min 0.444000\n", + "25% 17.280000\n", + "50% 54.490000\n", + "75% 209.940000\n", + "max 22638.480000\n", + "Name: Sales, dtype: float64\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print(df.Sales.describe())\n", + "# df['Sales'].hist()\n", + "sns.distplot(df['Sales'])\n", + "sns.despine()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "从分布上看,销售价格明显严重右偏,右侧有长尾,并且我们看到销售价格(sales)的异常区域大致应该分布在上图的红圈范围内。下面我们查看sales的偏度(Skewness)与峰度(Kurtosis),偏度反应的是分布的偏斜程度,可能是左偏,右偏,长尾等形态,峰度反应分布的形状的胖瘦(宽窄),具体解释请参考这篇博客:\n", + "https://blog.csdn.net/binbigdata/article/details/79897160\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Skewness: 12.972752\n", + "Kurtosis: 305.311753\n" + ] + } + ], + "source": [ + "print(\"Skewness: %f\" % df['Sales'].skew())\n", + "print(\"Kurtosis: %f\" % df['Sales'].kurt())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 查看利润(Profit)分布" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "count 9994.000000\n", + "mean 28.656896\n", + "std 234.260108\n", + "min -6599.978000\n", + "25% 1.728750\n", + "50% 8.666500\n", + "75% 29.364000\n", + "max 8399.976000\n", + "Name: Profit, dtype: float64\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAERCAYAAABy/XBZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3XucXHV9//HXZ/aSveWySTYJCSSQi8j94hZDCzWoCPzqpaJWarWFtoI/rT5af72oRaWV/kqtpbYqVhTFC1rR308UBQwqkRASZANGrrlAdnNjk71mb9nbzKd/nDOzM5O9nN1sMsOe9/Px2Edmzn7nzGcmO+c93+/3XMzdERGR+EkUugARESkMBYCISEwpAEREYkoBICISUwoAEZGYUgCIiMSUAkAmzcxuMrMeM+s0s4fM7Oy83/+Hmb3zOD7/X5vZX2fdv9bM7jxe6z9RzOy9ZrbPzA6a2SXjtLvWzI6E7Q6Y2ceO8XnfZGa7zawl+/+tUO+DnDim4wBksszsJqAC+DjwEeC9wBp3H5jCuuYB17r7Z4+hnmuBde5+7SQfd5O73zTV551uZtYBnAs0A5Xu3jVGu2uBK939GjNbCGwCrnP3R6f4vE8CHwIeAea5e8cE7YvqfZOpUw9Apszdh9z9U8AwcNkUVzMP+Mvpq2pSPlmg5x3LPHffG76vo27887l7K/Bj4NJjeN5aYK8Hxt34h4rtfZMpUgDIdNgGvDJ9x8zuDL+lkrXsH8LhipfM7P3hsm8DjwOnmFmzmT2Q1X6Dmb3dzO4xs1/kreumsBeSbZmZbQ6f47qw3Toz25Bfl5n9i5k1h8uazeyZidZvZu8Oh0ka068tXNdd4U+bmf0/M7Px3igz+xsz22Nm283sqnDZuPVEYEAqfPyo79sY9f9F+LynAI+Hz1011vswDXVKkSktdAEyI/QANWP90szmAx8FFhN86bgduM3d32VmpwIb3P3UUR76f4G/Bn4ZoYa1wDmAA1vN7KdjNXT3vwP+zszc3ZdMtGIzeyVwC3AxkAS2mNnW8NdvA94B3ADsAs4HnhxjPa8H/gQ4DzgJ+IWZnTfZevLWeTLwZiB7ziXnfRurfnf/PPB5M2skGEJrHO+5jqVOKU4KAJkO1QQhMJbDwHbg34EHCDaCUXzV3X8Use3P0hswM/sVUA/kD6OM++18HJcDP3b3veH6fwBcAbQCDe5+b7h8OzB3nPVcBXwrHGbpMLPHCIZuvj+Fmt4SfhvvBW51961Zv8t/38aq/6kpPK/MIBoCkulwDjDmcIC7J4HfItjQvQZ40szKI6x3yyRqyN6bIcXof9vLJrG+8dbvWfdfGKPNZNczWT909yXuvsrdv5D3u9Het+l6XplBFAAyZWZWamYfIfhmvWGcdq8Afh7+/B2wBFgQ/roNWGBmVeFP5RTLea2ZLQ+HRNYCTxD0AE62wDkE4ZOtzcxWmFmZmY33zf1B4I1mtszMTgLeCqwPfzeZDen9wB+Z2bxwWObVBHveHG/j1T8VUd83KXIaApKp+guCce8twBXuPjRWQ3ffYWYbgd3hos+7+0vh77rN7F8IvkknCMapX5xCPc8Q7A1TB9zo7nvMbC/BMMemcJ335D3mb8PfVRBsFDeOUf/zZvZRgo21AZ9096fM7FWTKdDdf2Zm3wR+A/QDf+ruByezjqkYq/5jWGWk902Kn44DEBGJKQ0BiYjElAJARCSmFAAiIjGlABARiami3gvoyiuv9AceeGDihiIiki3SQY9F3QNobW0tdAkiIjNWpAAwszvCE23dOJk2ZrY43P87fb/MzO41s01m9qfHVrqIiByLCQPAzK4GStz9YmClma2J0sbMaoGvE5wnJu2DwFZ3/x3g7WY2e1pehYiITFqUHsA64O7w9npgtCsVjdYmSXCGwq4x2j1McMKuHGZ2vZk1mFlDS0tLhPJERGQqogRANbA/vN1OcErfCdu4e5e7H57sutz9dnevd/f6urq6COWJiMhURAmAHiB9gq6aMR4Tpc1k2omIyHEWZQO8lZFhn/OAxim2mUw7ERE5zqIcB3APsNHMlhJc0OIaM7vZ3W8cp83aMdb1deA+M7sUOBN4bOqli4jIsYh0NtBwj57LgYfdvXmqbcJ2Swl6AT8dZY4gR319vTc0NExYn4iI5Ji+A8HcvcPd7x5vwx6lTdjuQNhu3I2/yHTrGRjm4n/+OY83the6FJGioElYiY22ngFeOtzP7pbeQpciUhQUABIbyVQw3JnURZBEAAWAxEgq3PCng0Ak7hQAEhvJVPBvSj0AEUABIDGSGQJSD0AEUABIjGgISCSXAkBiI73h1xCQSEABILGRzPQAClyISJFQAEhspNQDEMmhAJDY0CSwSC4FgMRGUpPAIjkUABIbKR0HIJJDASCxoR6ASC4FgMRGSucCEsmhAJDYyBwHoB6ACKAAkBjRcQAiuRQAEhs6DkAklwJAYkOTwCK5FAASG7ogjEguBYDERnroR5PAIgEFgMRGevJXQ0AiAQWAxIaOAxDJpQCQ2EhqCEgkhwJAYiNzRTBt/0UABYDEiI4DEMmlAJDY0KkgRHIpACQ20kM/2gtIJKAAkNjQEJBILgWAxIZOBSGSSwEgsTFyKogCFyJSJBQAEhspTQKL5FAASGxoCEgklwJAYkOnghDJpQCQ2NCpIERyRQoAM7vDzDab2Y2TaZO/zMxqzew+M2swsy8de/ki0WXOBqoegAgQIQDM7GqgxN0vBlaa2ZoobcZ43HuAu9y9HphtZvXT+mpExqHrAYjkitIDWAfcHd5eD1wSsc1oy9qAs81sHnAKsDd/RWZ2fdhDaGhpaYn0IkSi0BXBRHJFCYBqYH94ux1YHLHNaMseAVYAHwKeC5fncPfb3b3e3evr6uoivgyRiWUCIFXgQkSKRJQA6AEqw9s1YzxmtDajLfsk8D53/0fgeeC6qZUtMnkaAhLJFSUAtjIy7HMe0BixzWjLaoFzzKwEeDWgT6KcMBoCEslVGqHNPcBGM1sKXAVcY2Y3u/uN47RZS7Bxz1+2C/gawTDQZuA70/ZKRCagHoBIrgkDwN27zGwdcDnwaXdvBrZN0OYwwCjLfgWcNZ0vQCQq9QBEckXpAeDuHYzs0RO5TZTHiZwomeMA1AMQAXQksMSIhoBEcikAJDY0BCSSSwEgsTFyNtACFyJSJBQAEhu6JKRILgWAxMbIkcAKABFQAEiMaBJYJJcCQGJDk8AiuRQAEhvpL/4aAhIJKAAkNjJDQOoBiAAKAIkRTQKL5FIASGwkM7uBFrgQkSKhAJDYyB760Z5AIgoAiZHsoR/tCSSiAJAYSWZt8zUPIKIAkBjJHvbRnkAiCgCJkZwhIPUARBQAEh+5k8AFLESkSCgAJDY0CSySSwEgsZG90dcQkIgCQGJEk8AiuRQAEhvqAYjkUgBIbGRP/CoARBQAEiPJlFNWYoCGgERAASAxknSnrCT4k1cPQEQBIDGSSo0EgHoAIgoAiZHcHkCBixEpAgoAiY1kyikP5wA0BCSiAJAYSaWcslINAYmkKQAkNjQJLJJLASCxkUoxEgDqAYgoACQ+kj4yB6BLQoooACRGkimnVENAIhkKAImF9Df+9JHAGgISUQBITKQ3+JkDwXQcgEi0ADCzO8xss5ndOJk2Yz3OzG4zszdNvWyRyUmmcgNAPQCRCAFgZlcDJe5+MbDSzNZEaTPW48zsUmCJu987ra9EZBzp7X2ZJoFFMqL0ANYBd4e31wOXRGxz1DIzKwO+DDSa2VtGezIzu97MGsysoaWlJUJ5IhPLHwLSJLBItACoBvaHt9uBxRHbjLbsj4FngU8DF5nZB/NX5O63u3u9u9fX1dVFfR0i40pv8Ms1BCSSESUAeoDK8HbNGI8Zrc1oyy4Abnf3ZuBbwGVTK1tkclJ5cwCuABCJFABbGRn2OQ9ojNhmtGW7gJXhsnqgaZL1ikxJZgioNH0yuEJWI1IcSiO0uQfYaGZLgauAa8zsZne/cZw2awEfZVkK+KqZXQOUAW+fvpciMrb8HoCGgEQiBIC7d5nZOuBy4NPh8M22CdocBhhtGfCOaateJKL0Br88cxyAAkAkSg8Ad+9gZI+eyG2iPE7kRDjqOAAFgIiOBJZ4SB/5qyEgkREKAImF/ElgDQGJKAAkJnQcgMjRFAASC6mjTganABBRAEgsaBJY5GgKAImF5FHXAyhkNSLFQQEgsZAeAiov1RCQSJoCQGJB1wMQOZoCQGIhfxJYcwAiCgCJiWTmQDAdByCSpgCQWNBxACJHUwBILKSHgEoS6gGIpCkAJBbSPYCShFGSMPUARFAASEykN/iJhFFipgvCiKAAkJhID/kkzEgkRoaEROJMASCxkBkCsnQPQAEgogCQWEhlhoCCYSAFgIgCQGIiPeafngTWEJCIAkBiIj0JrCEgkREKAIkFz9oLKKEegAigAJCY0CSwyNEUABIL2QeCJQwdByCCAkBiIqUhIJGjKAAkFjJ7AVl4KggNAYkoACQeklnHAZSYegAioACQmEhlTQJrCEgkoACQWMg5G6j2AhIBFAASE/mTwNoLSEQBIDGRcxyAzgYqAigAJCaSriEgkXwKAImF3OsBaBJYBBQAEhM5ZwNVD0AEUABITGSOAzBdD0AkLVIAmNkdZrbZzG6cTJuxHmdmi83syamXLTI5qZSTMLDwZHAaAhKJEABmdjVQ4u4XAyvNbE2UNhM87jNA5fS8BJGJJd0pSRiATgUhEorSA1gH3B3eXg9cErHNqI8zs9cCvUDzaE9mZtebWYOZNbS0tEQoT2RiQQ8gCIBEwkhq+y8SKQCqgf3h7XZgccQ2Ry0zs3Lg48BHxnoyd7/d3evdvb6uri5CeSITS6ayegA2sleQSJxFCYAeRoZrasZ4zGhtRlv2EeA2d++casEiU5F0p8Q0BCSSLUoAbGVk2Oc8oDFim9GWvR74gJltAM43s69MoWaRSUulnHD7T0KTwCIAlEZocw+w0cyWAlcB15jZze5+4zht1gKev8zdv51+gJltcPc/n64XIjIeTQKLHG3CHoC7dxFM6G4BLnP3bXkb/9HaHB5tWd5j1k1D/SKRJFNkAiCYBFYAiETpAeDuHYzs0RO5TZTHiZwI2XsBlZhpElgEHQksMXHUEJB6ACIKAImHnOMAzEjpegAiCgCJh9weAJoEFkEBIDGRcyCYhoBEAAWAxIR7cCZQSA8BKQBEFAASC+oBiBxNASCxkPTcSWDNAYgoACQmUnk9AA0BiSgAJCay9wJKGBoCEkEBIDGRzLsegI4DEFEASEykso8D0NlARQAFgMREMpV3PQAFgIgCQOIhlYJE+NeeMMMdXCEgMacAkFjIPxkc6HQQIgoAiYXsSeBMAKgHIDGnAJBYSOXsBhr8qz2BJO4UABILuZPA4TL1ACTmFAASC8mUk8jrAWgOQOJOASCxkPLc3UABnQ5CYk8BILGQfzZQ0BCQiAJAYiHlYFnXAwD1AEQUABIL6gGIHE0BILGQsxeQJoFFACgtdAEiJ0LKg72Avv3YHp5o6gDgnicPML+6HIB3vXp5IcsTKQj1ACQWsnsA6bkAnRFU4k4BILGQ7gFA1iSwAkBiTgEgsRBMAge30z0Abf8l7hQAEgvZQ0DqAYgEFAASCyknawgoWKbtv8SdAkBiIXcSWD0AEVAASEwkc04HHSzT9l/iTgEgseBZewGpByASUABILIw+CVzIikQKTwEgM56750wCj+wGqgSQeIsUAGZ2h5ltNrMbJ9Mmf5mZzTWz+81svZn9wMzKj/0liIwv/U1fPQCRXBMGgJldDZS4+8XASjNbE6XNGI/7I+BWd38D0AxcOZ0vRmQ06ZO+pQ8ES6gHIAJEOxncOuDu8PZ64BJgZ4Q2F+Qvc/fbsh5TBxzKfzIzux64HmD5cp2gS45derL36EnggpUkUhSiDAFVA/vD2+3A4ohtxnycmV0M1Lr7lvwVufvt7l7v7vV1dXWRXoTIeDI9gPRxAOFy9QAk7qL0AHqAyvB2DaOHxmhtRn2cmc0HPge8bWoli0xO+sIvJXkng9PmX+IuSg9gK8GQDsB5QGPENkctCyd9vwd81N2bplayyOSkL/2Y0OmgRXJE6QHcA2w0s6XAVcA1Znazu984Tpu1BF+w8pf9GXAh8Pdm9vfAF939u9P3ckSONjIJrL2ARLJNGADu3mVm64DLgU+7ezOwbYI2hwFGWfbF8EfkhEkeNQkcLNccgMRdpEtCunsHI3v0RG4T5XEix1sqFfyr4wBEculIYJnxRiaBg/s6DkAkoACQGe/oSWD1AEQg4hCQyMtZMicAPKcHkHLnUNdA4YoTKSD1AGTGyz8OILsHsKO5m//8xU4aW3sLVp9IoSgAZMb6zq/28Ou9nSNDQHkXhEm503lkCICXDvcXpEaRQlIAyIz1qR8/y11bmkZ6AHlzAO5O3+AwAJ19g4UpUqSAFAAyI/UPJekbTNLRNzjm2UBTDn2DSQA6+oYKUaZIQSkAZEbqCL/Rt/cOZo4DSOQdBxD0AJI57UXiRAEgM1J7b7BB7+wbGmUSOGgT9AA0BCTxpQCQGamjNxjSac8aAkrknw00pwegISCJHwWAzEjt4Tf6w0eGGEoGY0Al+WcDZWQOQD0AiSMFgMxIHeEQkPvIcNDRZwMd2QtIPQCJIwWAzEjpjT5Aa09wpG8i74pgyZTTPxT0DjQJLHGkAJAZKXtIp7U7CIDsI4EN6BsIhn+MYLJYJG4UADIjtWdt0Ft60kNAI79PmNEzEAz/zKsqo7NvMHPEsEhcKABkRuroHWTZvOCS1G15Q0AQTAT3hgGwsGYWKYfu8L5IXCgAZEZq7x1kZV01MDIHkB4CgtwewMKaWYD2BJL4UQDIjNTRN8hJcyuoKi+hNRwCOqoHMJgOgPLwMZoHkHhRAMiM4+609w5SW11ObVX5mD2A9B5A6R6A9gSSuFEAyIxzZCjJwHCK+VXlzK8uzxzslR0A6c5AwqC2KugBaAhI4kYBIDPCVza+yK3rtwMjxwDUVpdTW12eaZM9BJS+XVVeSlV5CTBy+oiGxnZufXDHCalbpJAUADIjfH/rPv778b3AyIZ8flU586vKMm1yh4CCf6vKS6goL8FspAfwnV/t5T9/vpPufs0JyMymAJCXveFkihdbeznUPcDhI0OZ8wDl9wBKciaB0z2AEhJmzK0sy0wC7zrUDcALLbpMpMxsCgB52dvbcYTB4WBCd9ehnsx5gDbtamVv+5FMu3t/cyBze6QHUAoE8wAdfYO4O7sO9WTWJTKTlRa6AJFjlb2hfuFQT2b//uryUqpnlWR+lxijBwDpo4GHeOlwP73hpPHOsCcgMlMpAORlLx0ApQljV0sPs0oTJAxmlSUy3/BhZM8fGDkhXDoAaqvKOdjVz85wXQkLwkRkJtMQkLzsbG1q5+YfP4uHV/radaiHxXNmsXpRDbsO9dDeO0hlWTC2n97Aw8hGH3L3AoKRHkA6TF592oJMGAD82/rt/OtPnz/Or0zkxFIAyMvOVx9p5CuP7ObF1mCSdldLD6sX1bAqDICOvkGqZgUb9uqsHkD+kcCQ2wPo6Btk16Fu5leXc9Fp89nT3kf/UJJkyrnz0Ua+8WgTw+HFZURmAgWAvKwkU84ju1oB2LijBXfnhUM9rK6rYXVdDXs7+jjQ2U91uGGvGmMOIJE3B1BbVUbfYJJnD3QF61pUgzu82NLLb/Z10t0/TPfAMNv2HT5RL1XkuFMASFHbebCbt33xUZoP9wPw1P7DHD4S7K65cWcrzV399AwMs3rRyEb7mQOHM0M7OUNAWWNA6b2AKjNDQMHuok8f6GL14hrWLK4Jnv9QN4/sbM08flMYPu7OJ374NA89f+g4vXKR408BIEWlfyiZc/8rG3eztamDux5rAoJv/Wbwe+eexOYX23jupS4AVoUBADCU9MzeP6WJBLNKgz/zifYCgqCHsbquhtMWVmcmgh/Z1cpZS+dw1tI5mTDY2tTBNzY3ccv9z2fmIoDM7qgiLwcKACmYZMpzNp47D3ZTf/PP+OojuwHo6h/iR9uCfff/+/G9DCVTbNzZytlL5/KW85bSN5jk7sf3AbB60chGG8jZ+6c6nA8YrQeQPQeQtmZxDbNKS1ixoJpt+w7zxJ4OLlmzkEtW1/HEng56B4b55pYgkLYf7KahqQOA3+zr5MJPPcgPf70/53Ue1llGpUgpAOSE2NPWxzMHRsbPO/sGufzff8lffffXmRC4+SfP0TMwzK0P7qCle4B7ntzPkaEkf/n6NZn76Y3x2lULKEkY659tZk5FKXU1s6goK+GU+VUAmTkAGNnIj9YDqMzrAQCZnsSquhoe3tnCUNK5dHUdl65ZyHDKue+pl7j/qWbeWX8KsytK+ebmJtydf7j3WXoGhjOvA+A/fraTC29+kF/uaMmsf3/nETa/0DZ9b67IFCkAZEzDyRTJrMskujvPN3dlNm4AzYf7+cJDuzjUFYzRp1LOreu3c+VnH+bp/cEG/5kDh3nT5x/hrV94lIe2HyKVcv7qu7/mxZZe7vn1Ae54ZDcPPX+IX+5o4d1rl9M/lOTf1m/nri17OGfZXD742jUsnVvBzT95juGUc+mahcypKOOCU+aRclizeHZmg74m3Hin9wKCkT2B8nsAs0oTlCaCj0C6B1Azq5QlcyqCdS0O5hTKSxPUn1rLq1bUMqs0wc0/eY7BZIr3/u5pvO3Ck7n/6Zf42qZGtjZ18J61K2jpHuALD+3i0V2tfPbnOzDgw9/9NYe6+mls7eWtX9jEH355C9/51R4guGLZe+54jPd+oyEzvzEwnORrm3bz5J6OnP+PJ/Z05AyTuTsDw7nDZiJRRToQzMzuAM4EfuLuN0dtE3XZdDvU3c9zL3WzYn4Vy2orOTKUpLG1l56BYVYsqGbJnAraewfZHe5GeNrCauZXl3Og8wiNbb1Uzypl1cIaKstLaGzrZW97H4tmV7Cyrhon2O/8YFc/KxZUcdrCarr7h9nR3E33wDBrFtWwfH4VBzr7ea65i4QZr1wym8VzKth5qJvtzd3UVpVz1rI5VJWX8vT+w+w61MOKBVWcu2weA8kkTzR1sr/zCGeeNIdzT57LS4f7ebyxnZ7+YS5cUcsZJ83m6f1dPPpCK+WlCS5ZvZAVC6rZ/EIbW15sY9m8Si57ZR2V5aWsf6aZhqYOLjhlHlectYS23kHueXI/Ow5287ozFnPV2UvY2tTBtx/bQ1f/EO941clc9spFfK9hH19/tJHZFaXc8JpVnHPyXP71ge1sfrGNhTXl/J83nE5JwvjUj5+lu3+Y2x9+kb//vTP4+XMH+ekzB6mZVcrb/+tRPnz5K/jihheoLi/h5NpKbvjmVq44awkPbW/hH99yFpt2tXLL/c9TN3sWKxdW84k3nsWs0hLuCIeBbrn6HEoSxjUXLefWB3dQWVbCq1bUAnDpmjoamjpYXVeT+b9ftaiGnz13KFIPIHuCOB0AqxbVZMIkvd6LTp1PRVnQ9qLT5rNxZytrV85n9aLZvHvtcu58tJF//PGznL1sDv/w5rPoHRzmjo27+V7DPlYurObWPzifd96+mfff9QQHOo8wlEyxduV8PvaDp2jpHuDuhr20dA+Qcufq2zbxN1eczr+t38HOQz2YwZ9fchq/vXoht9z3PNsPdnNybSUf+19nUF6S4HMP7eKpfZ28+byl3PCaVbzY0ss3tzTS1jPIH9SfwhvPO4lf7W7n3m0HmFVWwu+fv4wLls/j4R0t/HJHC8vnV3HFWUtYNHsWG3a0sG1vJ2cvm8tlpy9iKJni0ReC02lcuGIev3XqfJoP9/N4Ywd9g8O8akUtZ5w0h12Heti2r5OK0hIuXFHLSXMreL65m+df6mLxnArOXjaXyvISnj3QxZ72Pk5dUMUZJ82hbzDJMwcO09YzyOlLZvOKxbNp7x1k+8FuhoZTnL5kNifNreBAZz+7WrqpKCthzaLZzKsqo6mtl6a2PhbWzGLVohpKE8bu1l6au/pZNq+SFQuqGBhO0djaS9eRYVYsqGLpvEo6+wZpbOsl5bBiQRULq2dxsLufprY+qsqDYb/q8hIOdPazv/MIC2rKWR72Kvd19NHSHVxoaFltJf1DSZra+ugbTHJybSVL5lTQeWSIPe19uDvL51dRW1XOoe4B9nYE618+v4qKshIOdB7hQGc/C2vKM73WPe19tPUMsnReBUvnVVJWcvy/n1v2GOyoDcyuBt7s7tea2VeBf3b3nRO1Ac6Jsix/Xdnq6+u9oaFh0i/qR9sO8KHvPAkE3/Tyr/UddZkZTPD2jNomyuOmw2g1zypNMJA3EVk3exYt3QOZ++WlCZbPr8o5hcIp8yuprSrnN+FujmZwxZlLaO0ZyIxx11aV8eeXrmTD9kM83hgsu+i0+Xzwtav57M92srWpg4TBx994Jm88dynv+9ZWtjZ1sGROBd+9YS1zK8t415cf49mXunjL+Uv57DvPp3tgmDd/7hEa2/q440/qed0Zizl8ZIjLPrOBweEUj33sdVTPKuVgVz+/fcsvuHTNQu687iIAntjTwdW3PcpVZy/h0jV1wbKmDr7/xD7ev24VJ9cGH6z7nnqJzS+08anfPzvzer+2aTd9g0k+cNnqzLJP/uhpzlk2j7e/6mQg+MDftuEFrjhrCa95RbD+h3e08MAzzVzzW6dwy9vOBeAPb9/C5hfbuPuGi7notPkc7Ornss9sYDjl/PADv8MZJ83h7oa9/O33f8OcilK+c/1aVtXV8Gdff5xNu9pYNHsWX/7jevqHkrzvW1vp6BtiyZwKbnrzmTy8s5VvPxb0FE6ureS63zmN7zXs5fnm7syyS1Yv5EfbDmSue3BybSWL51SwtWmk97B0bgUDwynaekeuebCgOjj2IftvqKIskblQTtqJ+nuO+lmKsmy0NseyLch3LOuKsv6ShPGBdav48BtOH7/h2GziJtEC4D+BB9z9PjO7Bqh0969N1Aa4IMqyUdZ1PXB9ePd0YHuUFzJNFgKtJ/D5JqvY64Pir7HY64Pir7HY64Pir/F419fq7ldO1CjKEFA1kN6toR24MGKbqMtyuPvtwO0R6pp2Ztbg7vWFeO4oir0+KP4ai70+KP4ai70+KP4ai6W+KINMPQTf3gF6Ra8AAAAEjUlEQVRqxnjMaG2iLhMRkQKIsgHeClwS3j4PaIzYJuoyEREpgChDQPcAG81sKXAVcI2Z3ezuN47TZi3gEZcVk4IMPU1CsdcHxV9jsdcHxV9jsdcHxV9jUdQ34SQwgJnVApcDD7t7c9Q2UZeJiMiJFykARERk5tEkrIhITMUuAMzsNjN7U9b9O8xss5ndONllx7HGxWb2ZDHWaGZzzex+M1tvZj8ws/Jiq3Gc2gv23OHzH/XeFev7lv03WIw1Zn+Oi60+M6s1s/vMrMHMvlSMNabFKgDM7FJgibvfG96/Gihx94uBlWa2Juqy41zqZwh3ly3CGv8IuNXd3wA0A1cWYY1HKeRzZ8l/767Jr6mI3rfPAJXF+H+b/TkuxvqA9wB3hfv5zzazvy3CGoEYBYCZlQFfBhrN7C3h4nXA3eHt9QS7qEZddrzqfC3QS7CBKLoa3f02d38wvFsHHCq2GsdQyOcGRn3v3j1KTesiLjtu8v4Go9ZzQmoc5XNcVPWF2oCzzWwecApwWhHWCMzgADCzL5nZhvQP8DHgWeDTwEVm9kGOPjJ58SSWTXuNZvYJ4OPAR7KaFWONmNnFQK27byl0jREV8rlzpN87YO8oNRX0fbNgSC/7b7DY/m//mKzPMfCBIqsP4BFgBfAh4DmgvAhrBCKeDfTlyN1vyL5vZp8Hbnf3ZjP7FvBPBB/Agh3BPEqNnwBuc/dOGzlzZUGPss6vMaxzPvA54G3FUGNERXEUet579+FRair0+/YRcv8Gi+3/9gJyP8e/XWT1AXwSeJ+7d5nZhwm2NV8ushrhRDxBEdkFrAxv1wNNFN8RzK8HPhD2WM43s68UW43hN8TvAR9196ZwcVHVOIaCH4U+yntXjO9bzt8g8KYiqzH/c3xqkdUHQe/uHDMrAV4N3FKENQbcPRY/wGyCD9/DwGZgGTAH2AbcStBVmxt12Qmod0P4b1HVCPxvoAPYEP68s9hqHKPugj33OO/dnxTz+xbWWFT/t6N8jlcUU31hjRcBzxB8o3+w2N7DnFpP9Ieg2H4I0voPCPYqmNQy1fjyr7HQPy/X962Yaiz2+oq5Rh0JLCISU3GaAxARkSwKABGRmFIAiIjElAJAYs3MbjKz58zsYTP7uQXXqoj62Llm9ovwALm3Zi3/bF67883s/OmsW2Q6KABE4J/c/XeBrwEfnMTjzgMedfd17v6D9EJ3/8u8dueHPyJFZcYeCSwyBbXAkfAgqMeBc939CjObBdwJLAX2AdcR7NN/HTDPzC4B3uHuLQBmtsHd14W3/xl4a3j7Pe7+uhP6ikTGod1AJdbM7CaCg9laCE4N8n7gIPAud///YZu/IDgo55/C9s3u/l9mtg5Y5+435a0zEwDh/WsB3P3O4/tqRCZHPQCRYAjoW+k7ZvZ0euMfOhNI399CcD1rkZc9zQGIHK0n7/4zwNrw9trw/mQcAaoALOssfyKFpgAQmdhXgLPM7GFgDcF8wGQ8CFxtZpuAS6e5NpEp0xyAiEhMqQcgIhJTCgARkZhSAIiIxJQCQEQkphQAIiIxpQAQEYmp/wELV5ibXuJVlQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print(df.Profit.describe())\n", + "sns.distplot(df['Profit'])\n", + "plt.title(\"Distribution of Profit\")\n", + "sns.despine()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "从上图中我们可以发现 Profit分布似乎呈左右对称并且是单峰的形状,均值的左右两侧都有长尾且右侧长尾比左侧长尾更长(右侧最大值是800,左侧最小值是-6000),因此总体上Profit分布呈现轻微右偏,数据出现在两侧长尾范围内的概率最低,因此异常区域应该处于左右两侧的红圈内。下面我们查看profit的偏度与峰度。" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Skewness: 7.561432\n", + "Kurtosis: 397.188515\n" + ] + } + ], + "source": [ + "print(\"Skewness: %f\" % df['Profit'].skew())\n", + "print(\"Kurtosis: %f\" % df['Profit'].kurt())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# IsolationForest(隔离森林)\n", + "\n", + "IsolationForest是一种简单有效的检测异常值的算法,它可以在数据的分布区域中找出异常值所在的区域,并对所有数据进行评分,那些落在异常区域的数据值会获得较低的分数,而那些不在异常区域中的数据将会获得较高的分数,大家可以参考这篇文章(https://dzone.com/articles/spotting-outliers-with-isolation-forest-using-skle )。在这篇文章中作者随机生成了两个正太分布N(-2,5)和N(2,5),同时通过隔离森林算法找到到了这两个分布中的异常区域,并且生成一条评分曲线,落在异常区域内的数据将会得到低分,落在异常区域内以外的数据将会获得高分:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import numpy as np \n", + "import matplotlib.pyplot as plt \n", + "x = np.concatenate((np.random.normal(loc=-2, scale=.5,size=500), np.random.normal(loc=2, scale=.5, size=500)))\n", + "\n", + "isolation_forest = IsolationForest(n_estimators=100) \n", + "isolation_forest.fit(x.reshape(-1, 1)) \n", + "xx = np.linspace(-6, 6, 100).reshape(-1,1) \n", + "anomaly_score = isolation_forest.decision_function(xx) \n", + "outlier = isolation_forest.predict(xx)\n", + "\n", + "plt.figure(figsize=(10,8))\n", + "plt.subplot(2,1,1)\n", + "plt.hist(x, normed=True) \n", + "plt.xlim([-5, 5]) \n", + "\n", + "plt.subplot(2,1,2)\n", + "plt.plot(xx, anomaly_score, label='异常值分数') \n", + "plt.fill_between(xx.T[0], np.min(anomaly_score), np.max(anomaly_score), where=outlier==-1, color='r', alpha=.4, label='异常值区域') \n", + "plt.legend() \n", + "plt.ylabel('异常值分数') \n", + "plt.xlabel('x') \n", + "plt.xlim([-5, 5]) \n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 使用隔离森林算法来探测Sales的异常值区域\n", + "\n", + "隔离森林是一种检测异常值的算法,使用IsolationForest算法返回每个样本的异常分数,该算法基于这样的思想:异常是少数和在特征上不同的数据点。隔离森林是一种基于树的模型。在这些树中,通过首先随机选择特征然后在所选特征的最小值和最大值之间选择随机分割值来创建分区。下面我们使用隔离森林算法来探测sales的异常区域,并生成评分曲线:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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vnXllSxZupRly5dz6de/TuOyZdzx299y5GGHUT9yJP+cNYu+ffuyevVqbrzlFh569FFWr1nDTbfeSnNLC+efdRaDBg7kgP33555f/IKmxkb67bFH+1Wf9913H0cffXR7DdXV1fTp04cLL7yQlpYWqqqqaGho4Cc/+QlNTU3MnDmTAw44oOu+MwxqhbVm8t4J+3DN/bMZ1NevTZLUyy1YAHvt1XXvN3du4a433Xorjz/5ZPstMDKTfn370tzczIKGBr5xxRV89JxzNllv3EEHcf0vf0n/fv14w+tex2e/9CVeOXYsJxx3HF/+9reZ+/zzVFVVsbSxkYsuuIBBAwdusP4ZH/4wrznySD578cXMmDGDD3zgA/zpT39i+PDhPPnkkzzzzDPcd999vO9972PQoEFUVVXxr3/9i7PPPpuamhr23HPPHf6aNmbiKKg1k3611fSpqWLhstXlLkeSpF5p2JAh7DFqFCced9wmt7yY9P73873LLuO4CRP4wdVXM2/+hjePqIrgwvPPZ/CgQdx4yy089sQT7Dd6NFVVVaxYuZJrv/c9AG675x6WlGYn6Oh/vv99Pnn55UyePJmnn36aG264geHDhwOwePFilixZwrx587jhhhu48847WbVqFRMnTqS1tZVzzjmHP/zhD13+fXiOWkGt2XaPlDXNrfz0/tnMnL+s3CVJktTrjHvVq5h26608N28eH/3AB/j4Bz/IqqYmJr35zdxy7bXsveeeXHzhhVRVVfH5Cy/c4DF82DDec/rpHH7ooRx0wAF8c+rU9vdd1dTEM7Nm8cysWSxsaOj0s/v06cN3vv51Zs2axbJly9hjjz3aXzv22GM5/PDDOf3004kIvvKVrzB69Gh233137rjjDo7sMJNCV3JEraDMpKpDsH9s7kscsPug8hUkSVIv87Mbb+TH111Hv759efDhh/n7U08B8NgTT3Dn734HwAXnncdbTz6ZSz/9aRa9+CJ/evBBGpct45QTTuDSDvN8HnjAAaxctar9+QsLFvDj664DYP7ChZw4cWKnNXz24ot5/etfz7777svxxx/PH/7wB4YNG9b++qpVq2hqauLjH/84CxYs4KyzzuKCCy7g2muv7eqvAzCoFdaabUOq6wzoU72F3pIkaVudedppnHnaacyeM4dPT53K9T/8IQCTzz2Xy6ZMYd/RowG46LLLuO3uuxk+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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#定义隔离森林\n", + "isolation_forest = IsolationForest(n_estimators=100)\n", + "#训练销售价格数据\n", + "isolation_forest.fit(df['Sales'].values.reshape(-1, 1))\n", + "#在销售价格的最小值和最大值之间分割数据\n", + "xx = np.linspace(df['Sales'].min(), df['Sales'].max(), len(df)).reshape(-1,1)\n", + "#生成所有数据的异常值分数\n", + "anomaly_score = isolation_forest.decision_function(xx)\n", + "#预测异常值\n", + "outlier = isolation_forest.predict(xx)\n", + "\n", + "plt.figure(figsize=(10,8))\n", + "plt.subplot(2,1,1)\n", + "sns.distplot(df['Sales'])\n", + "sns.despine()\n", + "\n", + "plt.subplot(2,1,2)\n", + "plt.plot(xx, anomaly_score, label='异常值分数')\n", + "plt.fill_between(xx.T[0], np.min(anomaly_score), np.max(anomaly_score), \n", + " where=outlier==-1, color='r', \n", + " alpha=.4, label='异常值区域')\n", + "plt.legend()\n", + "plt.ylabel('异常值分数')\n", + "plt.xlabel('销售价格(Sales)')\n", + "plt.show();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "从上图中我们发现隔离森林算法很轻松的就识别出了Sales分布的异常区域(粉色矩形),并且生成了评分曲线,当数据落在粉色矩形的区域中时将会得到较低的评分,当数据落在粉色矩形区域以外时将会得到高分。下面是找出所有销售价格为异常值的销售记录。" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "销售价格最小异常值: 566.97\n" + ] + }, + { + "data": { + "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", + " \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", + " \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", + "
Row IDOrder IDOrder DateShip DateShip ModeCustomer IDCustomer NameSegmentCountryCity...Postal CodeRegionProduct IDCategorySub-CategoryProduct NameSalesQuantityDiscountProfit
12CA-2016-1521562016-11-082016-11-11Second ClassCG-12520Claire GuteConsumerUnited StatesHenderson...42420SouthFUR-CH-10000454FurnitureChairsHon Deluxe Fabric Upholstered Stacking Chairs,...731.940030.00219.5820
34US-2015-1089662015-10-112015-10-18Standard ClassSO-20335Sean O'DonnellConsumerUnited StatesFort Lauderdale...33311SouthFUR-TA-10000577FurnitureTablesBretford CR4500 Series Slim Rectangular Table957.577550.45-383.0310
78CA-2014-1158122014-06-092014-06-14Standard ClassBH-11710Brosina HoffmanConsumerUnited StatesLos Angeles...90032WestTEC-PH-10002275TechnologyPhonesMitel 5320 IP Phone VoIP phone907.152060.2090.7152
1011CA-2014-1158122014-06-092014-06-14Standard ClassBH-11710Brosina HoffmanConsumerUnited StatesLos Angeles...90032WestFUR-TA-10001539FurnitureTablesChromcraft Rectangular Conference Tables1706.184090.2085.3092
1112CA-2014-1158122014-06-092014-06-14Standard ClassBH-11710Brosina HoffmanConsumerUnited StatesLos Angeles...90032WestTEC-PH-10002033TechnologyPhonesKonftel 250 Conference phone - Charcoal black911.424040.2068.3568
1617CA-2014-1058932014-11-112014-11-18Standard ClassPK-19075Pete KrizConsumerUnited StatesMadison...53711CentralOFF-ST-10004186Office SuppliesStorageStur-D-Stor Shelving, Vertical 5-Shelf: 72\"H x...665.880060.0013.3176
2425CA-2015-1063202015-09-252015-09-30Standard ClassEB-13870Emily BurnsConsumerUnited StatesOrem...84057WestFUR-TA-10000577FurnitureTablesBretford CR4500 Series Slim Rectangular Table1044.630030.00240.2649
2728US-2015-1506302015-09-172015-09-21Standard ClassTB-21520Tracy BlumsteinConsumerUnited StatesPhiladelphia...19140EastFUR-BO-10004834FurnitureBookcasesRiverside Palais Royal Lawyers Bookcase, Royal...3083.430070.50-1665.0522
3536CA-2016-1175902016-12-082016-12-10First ClassGH-14485Gene HaleCorporateUnited StatesRichardson...75080CentralTEC-PH-10004977TechnologyPhonesGE 30524EE41097.544070.20123.4737
5455CA-2016-1058162016-12-112016-12-17Standard ClassJM-15265Janet MolinariCorporateUnited StatesNew York City...10024EastTEC-PH-10002447TechnologyPhonesAT&T CL83451 4-Handset Telephone1029.950050.00298.6855
\n", + "

10 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Row ID Order ID Order Date Ship Date Ship Mode Customer ID \\\n", + "1 2 CA-2016-152156 2016-11-08 2016-11-11 Second Class CG-12520 \n", + "3 4 US-2015-108966 2015-10-11 2015-10-18 Standard Class SO-20335 \n", + "7 8 CA-2014-115812 2014-06-09 2014-06-14 Standard Class BH-11710 \n", + "10 11 CA-2014-115812 2014-06-09 2014-06-14 Standard Class BH-11710 \n", + "11 12 CA-2014-115812 2014-06-09 2014-06-14 Standard Class BH-11710 \n", + "16 17 CA-2014-105893 2014-11-11 2014-11-18 Standard Class PK-19075 \n", + "24 25 CA-2015-106320 2015-09-25 2015-09-30 Standard Class EB-13870 \n", + "27 28 US-2015-150630 2015-09-17 2015-09-21 Standard Class TB-21520 \n", + "35 36 CA-2016-117590 2016-12-08 2016-12-10 First Class GH-14485 \n", + "54 55 CA-2016-105816 2016-12-11 2016-12-17 Standard Class JM-15265 \n", + "\n", + " Customer Name Segment Country City ... \\\n", + "1 Claire Gute Consumer United States Henderson ... \n", + "3 Sean O'Donnell Consumer United States Fort Lauderdale ... \n", + "7 Brosina Hoffman Consumer United States Los Angeles ... \n", + "10 Brosina Hoffman Consumer United States Los Angeles ... \n", + "11 Brosina Hoffman Consumer United States Los Angeles ... \n", + "16 Pete Kriz Consumer United States Madison ... \n", + "24 Emily Burns Consumer United States Orem ... \n", + "27 Tracy Blumstein Consumer United States Philadelphia ... \n", + "35 Gene Hale Corporate United States Richardson ... \n", + "54 Janet Molinari Corporate United States New York City ... \n", + "\n", + " Postal Code Region Product ID Category Sub-Category \\\n", + "1 42420 South FUR-CH-10000454 Furniture Chairs \n", + "3 33311 South FUR-TA-10000577 Furniture Tables \n", + "7 90032 West TEC-PH-10002275 Technology Phones \n", + "10 90032 West FUR-TA-10001539 Furniture Tables \n", + "11 90032 West TEC-PH-10002033 Technology Phones \n", + "16 53711 Central OFF-ST-10004186 Office Supplies Storage \n", + "24 84057 West FUR-TA-10000577 Furniture Tables \n", + "27 19140 East FUR-BO-10004834 Furniture Bookcases \n", + "35 75080 Central TEC-PH-10004977 Technology Phones \n", + "54 10024 East TEC-PH-10002447 Technology Phones \n", + "\n", + " Product Name Sales Quantity \\\n", + "1 Hon Deluxe Fabric Upholstered Stacking Chairs,... 731.9400 3 \n", + "3 Bretford CR4500 Series Slim Rectangular Table 957.5775 5 \n", + "7 Mitel 5320 IP Phone VoIP phone 907.1520 6 \n", + "10 Chromcraft Rectangular Conference Tables 1706.1840 9 \n", + "11 Konftel 250 Conference phone - Charcoal black 911.4240 4 \n", + "16 Stur-D-Stor Shelving, Vertical 5-Shelf: 72\"H x... 665.8800 6 \n", + "24 Bretford CR4500 Series Slim Rectangular Table 1044.6300 3 \n", + "27 Riverside Palais Royal Lawyers Bookcase, Royal... 3083.4300 7 \n", + "35 GE 30524EE4 1097.5440 7 \n", + "54 AT&T CL83451 4-Handset Telephone 1029.9500 5 \n", + "\n", + " Discount Profit \n", + "1 0.00 219.5820 \n", + "3 0.45 -383.0310 \n", + "7 0.20 90.7152 \n", + "10 0.20 85.3092 \n", + "11 0.20 68.3568 \n", + "16 0.00 13.3176 \n", + "24 0.00 240.2649 \n", + "27 0.50 -1665.0522 \n", + "35 0.20 123.4737 \n", + "54 0.00 298.6855 \n", + "\n", + "[10 rows x 21 columns]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print('销售价格最小异常值:',df[df.Sales>=xx[outlier==-1].min()].Sales.min())\n", + "df[df.Sales>=xx[outlier==-1].min()].head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 使用隔离森林算法来探测Profit的异常值区域\n", + "\n", + "下面我们使用隔离森林算法来探测Profit的异常区域,并生成评分曲线" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#定义隔离森林\n", + "isolation_forest = IsolationForest(n_estimators=100)\n", + "#训练销利润数据\n", + "isolation_forest.fit(df['Profit'].values.reshape(-1, 1))\n", + "xx = np.linspace(df['Profit'].min(), df['Profit'].max(), len(df)).reshape(-1,1)\n", + "#生成所有数据的异常值分数\n", + "anomaly_score = isolation_forest.decision_function(xx)\n", + "#预测异常值\n", + "outlier = isolation_forest.predict(xx)\n", + "\n", + "plt.figure(figsize=(10,8))\n", + "plt.subplot(2,1,1)\n", + "sns.distplot(df['Profit'])\n", + "sns.despine()\n", + "\n", + "plt.subplot(2,1,2)\n", + "plt.plot(xx, anomaly_score, label='异常值分数')\n", + "plt.fill_between(xx.T[0], np.min(anomaly_score), np.max(anomaly_score), \n", + " where=outlier==-1, color='r', \n", + " alpha=.4, label='异常值区域')\n", + "plt.legend()\n", + "plt.ylabel('异常值分数')\n", + "plt.xlabel('利润(Profit)')\n", + "plt.show();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在上图中隔离森林算法轻松的探测出来了Profit分布左右两侧的异常值区域,并生成了评分曲线。当数据落在左右两侧的分数矩形范围内时将会得到较低的分数,而当数据落在粉色矩形框的范围之外将会得到较高的分数。下面我们查看右两侧异常值的最小值,和左侧异常值的最大值。" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "右侧最小异常值为: 152.02319999999997\n" + ] + }, + { + "data": { + "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", + " \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", + " \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", + "
Row IDOrder IDOrder DateShip DateShip ModeCustomer IDCustomer NameSegmentCountryCity...Postal CodeRegionProduct IDCategorySub-CategoryProduct NameSalesQuantityDiscountProfit
12CA-2016-1521562016-11-082016-11-11Second ClassCG-12520Claire GuteConsumerUnited StatesHenderson...42420SouthFUR-CH-10000454FurnitureChairsHon Deluxe Fabric Upholstered Stacking Chairs,...731.9430.0219.5820
2425CA-2015-1063202015-09-252015-09-30Standard ClassEB-13870Emily BurnsConsumerUnited StatesOrem...84057WestFUR-TA-10000577FurnitureTablesBretford CR4500 Series Slim Rectangular Table1044.6330.0240.2649
5455CA-2016-1058162016-12-112016-12-17Standard ClassJM-15265Janet MolinariCorporateUnited StatesNew York City...10024EastTEC-PH-10002447TechnologyPhonesAT&T CL83451 4-Handset Telephone1029.9550.0298.6855
117118CA-2015-1104572015-03-022015-03-06Standard ClassDK-13090Dave KippConsumerUnited StatesSeattle...98103WestFUR-TA-10001768FurnitureTablesHon Racetrack Conference Tables787.5330.0165.3813
144145CA-2017-1553762017-12-222017-12-27Standard ClassSG-20080Sandra GlasscoConsumerUnited StatesIndependence...64055CentralOFF-AP-10001058Office SuppliesAppliancesSanyo 2.5 Cubic Foot Mid-Size Office Refrigera...839.4330.0218.2518
149150CA-2016-1144892016-12-052016-12-09Standard ClassJE-16165Justin EllisonCorporateUnited StatesFranklin...53132CentralFUR-CH-10000454FurnitureChairsHon Deluxe Fabric Upholstered Stacking Chairs,...1951.8480.0585.5520
159160CA-2016-1141042016-11-202016-11-24Standard ClassNP-18670Nora PaigeConsumerUnited StatesEdmond...73034CentralTEC-PH-10004536TechnologyPhonesAvaya 5420 Digital phone944.9370.0236.2325
244245CA-2014-1319262014-06-012014-06-06Second ClassDW-13480Dianna WilsonHome OfficeUnited StatesLakeville...55044CentralFUR-CH-10004063FurnitureChairsGlobal Deluxe High-Back Manager's Chair2001.8670.0580.5394
247248CA-2014-1319262014-06-012014-06-06Second ClassDW-13480Dianna WilsonHome OfficeUnited StatesLakeville...55044CentralOFF-AP-10002945Office SuppliesAppliancesHoneywell Enviracaire Portable HEPA Air Cleane...1503.2550.0496.0725
251252CA-2016-1456252016-09-112016-09-17Standard ClassKC-16540Kelly CollisterConsumerUnited StatesSan Diego...92037WestTEC-AC-10003832TechnologyAccessoriesLogitech P710e Mobile Speakerphone3347.37130.0636.0003
\n", + "

10 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Row ID Order ID Order Date Ship Date Ship Mode Customer ID \\\n", + "1 2 CA-2016-152156 2016-11-08 2016-11-11 Second Class CG-12520 \n", + "24 25 CA-2015-106320 2015-09-25 2015-09-30 Standard Class EB-13870 \n", + "54 55 CA-2016-105816 2016-12-11 2016-12-17 Standard Class JM-15265 \n", + "117 118 CA-2015-110457 2015-03-02 2015-03-06 Standard Class DK-13090 \n", + "144 145 CA-2017-155376 2017-12-22 2017-12-27 Standard Class SG-20080 \n", + "149 150 CA-2016-114489 2016-12-05 2016-12-09 Standard Class JE-16165 \n", + "159 160 CA-2016-114104 2016-11-20 2016-11-24 Standard Class NP-18670 \n", + "244 245 CA-2014-131926 2014-06-01 2014-06-06 Second Class DW-13480 \n", + "247 248 CA-2014-131926 2014-06-01 2014-06-06 Second Class DW-13480 \n", + "251 252 CA-2016-145625 2016-09-11 2016-09-17 Standard Class KC-16540 \n", + "\n", + " Customer Name Segment Country City ... \\\n", + "1 Claire Gute Consumer United States Henderson ... \n", + "24 Emily Burns Consumer United States Orem ... \n", + "54 Janet Molinari Corporate United States New York City ... \n", + "117 Dave Kipp Consumer United States Seattle ... \n", + "144 Sandra Glassco Consumer United States Independence ... \n", + "149 Justin Ellison Corporate United States Franklin ... \n", + "159 Nora Paige Consumer United States Edmond ... \n", + "244 Dianna Wilson Home Office United States Lakeville ... \n", + "247 Dianna Wilson Home Office United States Lakeville ... \n", + "251 Kelly Collister Consumer United States San Diego ... \n", + "\n", + " Postal Code Region Product ID Category Sub-Category \\\n", + "1 42420 South FUR-CH-10000454 Furniture Chairs \n", + "24 84057 West FUR-TA-10000577 Furniture Tables \n", + "54 10024 East TEC-PH-10002447 Technology Phones \n", + "117 98103 West FUR-TA-10001768 Furniture Tables \n", + "144 64055 Central OFF-AP-10001058 Office Supplies Appliances \n", + "149 53132 Central FUR-CH-10000454 Furniture Chairs \n", + "159 73034 Central TEC-PH-10004536 Technology Phones \n", + "244 55044 Central FUR-CH-10004063 Furniture Chairs \n", + "247 55044 Central OFF-AP-10002945 Office Supplies Appliances \n", + "251 92037 West TEC-AC-10003832 Technology Accessories \n", + "\n", + " Product Name Sales Quantity \\\n", + "1 Hon Deluxe Fabric Upholstered Stacking Chairs,... 731.94 3 \n", + "24 Bretford CR4500 Series Slim Rectangular Table 1044.63 3 \n", + "54 AT&T CL83451 4-Handset Telephone 1029.95 5 \n", + "117 Hon Racetrack Conference Tables 787.53 3 \n", + "144 Sanyo 2.5 Cubic Foot Mid-Size Office Refrigera... 839.43 3 \n", + "149 Hon Deluxe Fabric Upholstered Stacking Chairs,... 1951.84 8 \n", + "159 Avaya 5420 Digital phone 944.93 7 \n", + "244 Global Deluxe High-Back Manager's Chair 2001.86 7 \n", + "247 Honeywell Enviracaire Portable HEPA Air Cleane... 1503.25 5 \n", + "251 Logitech P710e Mobile Speakerphone 3347.37 13 \n", + "\n", + " Discount Profit \n", + "1 0.0 219.5820 \n", + "24 0.0 240.2649 \n", + "54 0.0 298.6855 \n", + "117 0.0 165.3813 \n", + "144 0.0 218.2518 \n", + "149 0.0 585.5520 \n", + "159 0.0 236.2325 \n", + "244 0.0 580.5394 \n", + "247 0.0 496.0725 \n", + "251 0.0 636.0003 \n", + "\n", + "[10 rows x 21 columns]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x1=xx[outlier==-1]\n", + "right_min=x1[x1>0].min()\n", + "left_max = x1[x1<0].max()\n", + "print('右侧最小异常值为:',df[df.Profit>=right_min].Profit.min())\n", + "df[df.Profit>right_min].head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "左侧侧最大异常值为: -67.5435\n" + ] + }, + { + "data": { + "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", + " \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", + " \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", + "
Row IDOrder IDOrder DateShip DateShip ModeCustomer IDCustomer NameSegmentCountryCity...Postal CodeRegionProduct IDCategorySub-CategoryProduct NameSalesQuantityDiscountProfit
34US-2015-1089662015-10-112015-10-18Standard ClassSO-20335Sean O'DonnellConsumerUnited StatesFort Lauderdale...33311SouthFUR-TA-10000577FurnitureTablesBretford CR4500 Series Slim Rectangular Table957.577550.45-383.0310
1415US-2015-1189832015-11-222015-11-26Standard ClassHP-14815Harold PawlanHome OfficeUnited StatesFort Worth...76106CentralOFF-AP-10002311Office SuppliesAppliancesHolmes Replacement Filter for HEPA Air Cleaner...68.810050.80-123.8580
2728US-2015-1506302015-09-172015-09-21Standard ClassTB-21520Tracy BlumsteinConsumerUnited StatesPhiladelphia...19140EastFUR-BO-10004834FurnitureBookcasesRiverside Palais Royal Lawyers Bookcase, Royal...3083.430070.50-1665.0522
3637CA-2016-1175902016-12-082016-12-10First ClassGH-14485Gene HaleCorporateUnited StatesRichardson...75080CentralFUR-FU-10003664FurnitureFurnishingsElectrix Architect's Clamp-On Swing Arm Lamp, ...190.920050.60-147.9630
7273US-2015-1340262015-04-262015-05-02Standard ClassJE-15745Joel EatonConsumerUnited StatesMemphis...38109SouthFUR-CH-10000513FurnitureChairsHigh-Back Leather Manager's Chair831.936080.20-114.3912
118119US-2015-1364762015-04-052015-04-10Standard ClassGG-14650Greg GuthrieCorporateUnited StatesBristol...37620SouthOFF-BI-10003650Office SuppliesBindersGBC DocuBind 300 Electric Binding Machine157.794010.70-115.7156
125126US-2014-1346142014-09-202014-09-25Standard ClassPF-19165Philip FoxConsumerUnited StatesBloomington...61701CentralFUR-TA-10004534FurnitureTablesBevis 44 x 96 Conference Tables617.700060.50-407.6820
165166CA-2014-1398922014-09-082014-09-12Standard ClassBM-11140Becky MartinConsumerUnited StatesSan Antonio...78207CentralTEC-MA-10000822TechnologyMachinesLexmark MX611dhe Monochrome Laser Printer8159.952080.40-1359.9920
169170CA-2014-1398922014-09-082014-09-12Standard ClassBM-11140Becky MartinConsumerUnited StatesSan Antonio...78207CentralOFF-AP-10002518Office SuppliesAppliancesKensington 7 Outlet MasterPiece Power Center177.980050.80-453.8490
174175US-2014-1008532014-09-142014-09-19Standard ClassJB-15400Jennifer BraxtonCorporateUnited StatesChicago...60623CentralOFF-AP-10000891Office SuppliesAppliancesKensington 7 Outlet MasterPiece HOMEOFFICE Pow...52.448020.80-131.1200
\n", + "

10 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " Row ID Order ID Order Date Ship Date Ship Mode Customer ID \\\n", + "3 4 US-2015-108966 2015-10-11 2015-10-18 Standard Class SO-20335 \n", + "14 15 US-2015-118983 2015-11-22 2015-11-26 Standard Class HP-14815 \n", + "27 28 US-2015-150630 2015-09-17 2015-09-21 Standard Class TB-21520 \n", + "36 37 CA-2016-117590 2016-12-08 2016-12-10 First Class GH-14485 \n", + "72 73 US-2015-134026 2015-04-26 2015-05-02 Standard Class JE-15745 \n", + "118 119 US-2015-136476 2015-04-05 2015-04-10 Standard Class GG-14650 \n", + "125 126 US-2014-134614 2014-09-20 2014-09-25 Standard Class PF-19165 \n", + "165 166 CA-2014-139892 2014-09-08 2014-09-12 Standard Class BM-11140 \n", + "169 170 CA-2014-139892 2014-09-08 2014-09-12 Standard Class BM-11140 \n", + "174 175 US-2014-100853 2014-09-14 2014-09-19 Standard Class JB-15400 \n", + "\n", + " Customer Name Segment Country City ... \\\n", + "3 Sean O'Donnell Consumer United States Fort Lauderdale ... \n", + "14 Harold Pawlan Home Office United States Fort Worth ... \n", + "27 Tracy Blumstein Consumer United States Philadelphia ... \n", + "36 Gene Hale Corporate United States Richardson ... \n", + "72 Joel Eaton Consumer United States Memphis ... \n", + "118 Greg Guthrie Corporate United States Bristol ... \n", + "125 Philip Fox Consumer United States Bloomington ... \n", + "165 Becky Martin Consumer United States San Antonio ... \n", + "169 Becky Martin Consumer United States San Antonio ... \n", + "174 Jennifer Braxton Corporate United States Chicago ... \n", + "\n", + " Postal Code Region Product ID Category Sub-Category \\\n", + "3 33311 South FUR-TA-10000577 Furniture Tables \n", + "14 76106 Central OFF-AP-10002311 Office Supplies Appliances \n", + "27 19140 East FUR-BO-10004834 Furniture Bookcases \n", + "36 75080 Central FUR-FU-10003664 Furniture Furnishings \n", + "72 38109 South FUR-CH-10000513 Furniture Chairs \n", + "118 37620 South OFF-BI-10003650 Office Supplies Binders \n", + "125 61701 Central FUR-TA-10004534 Furniture Tables \n", + "165 78207 Central TEC-MA-10000822 Technology Machines \n", + "169 78207 Central OFF-AP-10002518 Office Supplies Appliances \n", + "174 60623 Central OFF-AP-10000891 Office Supplies Appliances \n", + "\n", + " Product Name Sales Quantity \\\n", + "3 Bretford CR4500 Series Slim Rectangular Table 957.5775 5 \n", + "14 Holmes Replacement Filter for HEPA Air Cleaner... 68.8100 5 \n", + "27 Riverside Palais Royal Lawyers Bookcase, Royal... 3083.4300 7 \n", + "36 Electrix Architect's Clamp-On Swing Arm Lamp, ... 190.9200 5 \n", + "72 High-Back Leather Manager's Chair 831.9360 8 \n", + "118 GBC DocuBind 300 Electric Binding Machine 157.7940 1 \n", + "125 Bevis 44 x 96 Conference Tables 617.7000 6 \n", + "165 Lexmark MX611dhe Monochrome Laser Printer 8159.9520 8 \n", + "169 Kensington 7 Outlet MasterPiece Power Center 177.9800 5 \n", + "174 Kensington 7 Outlet MasterPiece HOMEOFFICE Pow... 52.4480 2 \n", + "\n", + " Discount Profit \n", + "3 0.45 -383.0310 \n", + "14 0.80 -123.8580 \n", + "27 0.50 -1665.0522 \n", + "36 0.60 -147.9630 \n", + "72 0.20 -114.3912 \n", + "118 0.70 -115.7156 \n", + "125 0.50 -407.6820 \n", + "165 0.40 -1359.9920 \n", + "169 0.80 -453.8490 \n", + "174 0.80 -131.1200 \n", + "\n", + "[10 rows x 21 columns]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print('左侧侧最大异常值为:',df[df.Profit<=left_max].Profit.max())\n", + "df[df.Profit<=left_max].head(10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "上述两个可视化结果显示了异常值分数并突出显示异常值所在的区域。从图中可见异常分数反映了基础分布的形状,异常区域对应于低概率区域。然而,到目前为止我们只是对Sales和Profit这两个单一变量分别进行了分析。如果我们仔细研究,可能会发现,由我们的模型确定的一些异常值只不过是数学统计上的异常,它可能并非是我们业务场景中的异常值,比如某些利润很高的订单可能是由于商品本身的利润高所导致,它可能在统计分布上是异常值,但它在实际的业务场景中并不应该是异常值。下面我们同时观察Sales和Profit这两个变量的散点分布,并对Sales和Profit进行线性拟合,那些严重偏离拟合曲线的点,可以被认为是异常值,以这样的方式来判定异常值更符合实际的业务场景。" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.regplot(x=\"Sales\", y=\"Profit\", data=df)\n", + "sns.despine();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "当我们的数据不是不是单变量时而是多元变量时,异常检测的方法变得更加计算密集并且在数学上更复杂。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# CBLOF(Cluster-based Local Outlier Factor)\n", + "\n", + "CBLOF算法时基于聚类组的本地异常因子计算异常值分数。 \n", + "CBLOF将数据集和由聚类算法生成的聚类模型作为输入。它使用参数alpha和beta将群集分为小群集和大群集。然后基于该点所属的聚类的大小以及到最近的大聚类的距离来计算异常分数。我们使用PyOD(https://pyod.readthedocs.io/en/latest/index.html) 库来实现CBLOF算法(https://pyod.readthedocs.io/en/latest/pyod.models.html#module-pyod.models.cblof)\n", + "\n", + "* 将销售额和利润标准化处理将其缩放到0到1之间。\n", + "* 根据经验将设置异常值比例设置为1%。\n", + "* 使用CBLOF模型拟合数据并预测结果。\n", + "* 使用阈值来考虑数据点是正常值还是异常值。\n", + "* 使用决策函数计算每个点的异常值分数。" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Sales Profit\n", + "0 261.9600 41.9136\n", + "1 731.9400 219.5820\n", + "2 14.6200 6.8714\n", + "3 957.5775 -383.0310\n", + "4 22.3680 2.5164\n", + "---------------------\n", + " Sales Profit\n", + "0 0.011552 0.442794\n", + "1 0.032313 0.454639\n", + "2 0.000626 0.440458\n", + "3 0.042280 0.414464\n", + "4 0.000968 0.440168\n" + ] + } + ], + "source": [ + "cols = ['Sales', 'Profit']\n", + "minmax = MinMaxScaler(feature_range=(0, 1))\n", + "print(df[cols].head())\n", + "print('---------------------')\n", + "df[['Sales','Profit']] = minmax.fit_transform(df[['Sales','Profit']])\n", + "print(df[['Sales','Profit']].head())\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面的代码参考了\"比较所有已实现的离群值检测模型的例子\"(https://github.com/yzhao062/pyod/blob/master/notebooks/Compare%20All%20Models.ipynb) 和\"使用PyOD库在Python中学习异常检测的一个很棒的教程\"(https://www.analyticsvidhya.com/blog/2019/02/outlier-detection-python-pyod/) 这两篇文章。" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "异常值数量: 100 正常值数量: 9894\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#将Sales和Profit合并成一个两列的numpy数组\n", + "X1 = df['Sales'].values.reshape(-1,1)\n", + "X2 = df['Profit'].values.reshape(-1,1)\n", + "X = np.concatenate((X1,X2),axis=1)\n", + "\n", + "#设定异常值比例\n", + "outliers_fraction = 0.01\n", + "xx , yy = np.meshgrid(np.linspace(0, 1, 100), np.linspace(0, 1, 100))\n", + "\n", + "#定义CBLOF模型\n", + "clf = CBLOF(contamination=outliers_fraction,check_estimator=False, random_state=0)\n", + "\n", + "#训练数据\n", + "clf.fit(X)\n", + "# 预测异常值分数\n", + "scores_pred = clf.decision_function(X) * -1\n", + " \n", + "# 预测异常值和正常值的数据\n", + "y_pred = clf.predict(X)\n", + "n_inliers = len(y_pred) - np.count_nonzero(y_pred)\n", + "n_outliers = np.count_nonzero(y_pred == 1)\n", + "\n", + "plt.figure(figsize=(8, 8))\n", + "\n", + "df1 = df\n", + "df1['outlier'] = y_pred.tolist()\n", + " \n", + "#过滤出Sales和Profit的正常值\n", + "inliers_sales = np.array(df1['Sales'][df1['outlier'] == 0]).reshape(-1,1)\n", + "inliers_profit = np.array(df1['Profit'][df1['outlier'] == 0]).reshape(-1,1)\n", + " \n", + "#过滤出Sales和Profit的异常值\n", + "outliers_sales = df1['Sales'][df1['outlier'] == 1].values.reshape(-1,1)\n", + "outliers_profit = df1['Profit'][df1['outlier'] == 1].values.reshape(-1,1)\n", + " \n", + "print('异常值数量:',n_outliers,'正常值数量:',n_inliers)\n", + " \n", + "# 设定一个阈值用以识别正常值和异常值的标准\n", + "threshold = np.percentile(scores_pred, 100 * outliers_fraction)\n", + " \n", + "#决策函数为每一个数据点计算异常值分数\n", + "Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()]) * -1\n", + "Z = Z.reshape(xx.shape)\n", + "#在图上对从最小的异常值分数到阈值的范围内进行分层着色\n", + "plt.contourf(xx, yy, Z, levels=np.linspace(Z.min(), threshold, 7),cmap=plt.cm.Blues_r)\n", + " \n", + "#在异常值分数等于阈值处画红色线条\n", + "a = plt.contour(xx, yy, Z, levels=[threshold],linewidths=2, colors='red')\n", + " \n", + "#填充橙色轮廓线,其中异常分数的范围是从阈值到最大异常分数\n", + "plt.contourf(xx, yy, Z, levels=[threshold, Z.max()],colors='orange')\n", + "b = plt.scatter(inliers_sales, inliers_profit, c='white',s=20, edgecolor='k')\n", + " \n", + "c = plt.scatter(outliers_sales, outliers_profit, c='black',s=20, edgecolor='k')\n", + " \n", + "plt.axis('tight') \n", + "plt.legend([a.collections[0], b,c], ['决策函数', '正常值','异常值'],\n", + " prop=matplotlib.font_manager.FontProperties(size=20),loc='lower right')\n", + " \n", + "plt.xlim((0, 1))\n", + "plt.ylim((0, 1))\n", + "plt.title('CBLOF(Cluster-based Local Outlier Factor)')\n", + "plt.show();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 基于直方图的离群值检测(HBOS)\n", + "\n", + "HBOS(https://pyod.readthedocs.io/en/latest/pyod.models.html#module-pyod.models.hbos) 假设特征独立,并通过构建直方图来计算异常程度。 在多变量异常检测中,可以计算每个单个特征的直方图,单独评分并在最后组合。 使用PyOD库时,代码与CBLOF非常相似。" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "异常值数量: 90 正常值: 9904\n" + ] + }, + { + "data": { + "image/png": "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WkREJIYpqEVERGKYglpERCSGKahFRERimIJaREQkhimoRUREYpiCWkREJIYpqEVERGKYglpERCSGKahFRERimIJaREQkhimoRUREYpiCWkREJIYpqEVERGKYglpERCSGKahFRERimIJaREQkhimoRUREYpiCWkREJIYpqEVERGKYglpERCSGKahFRERimIJaRDosW1dFcFsRtq6qvasist942rsCIiL7wl+2GP/SV8G4wQbwDDsXj29Ue1dLpM2pRS0iHY6tq3JCOlgPgRoI1uNf+qpa1nJQUlCLSIdjq7c6LelIxuUcFznIKKhFpMMxiT3ABqIP2qBzXOQgo6AWkQ7HeJPwDDsXXHHgjgdXHJ5h52K8Se1dNZE2p8lkItIheXyjcPfMwlZvxST2UEjLQUtBLSIdlvEmKaDloKeubxERkRimoBYREYlhCmoREZEYpqAWERGJYQpqERGRGKagFhERiWEKahERkRimoBYREYlhCmoREZEYpqAWERGJYQpqERGRGKagFhERiWEKahERkRimoBYREYlhCmoREZEYpqAWERGJYQpqERGRGKagFhERiWEKahERkRimoBYREYlhCmoREZEYpqAWERGJYQpqERGRGKagFhERiWEKahERkRimoBYREYlhCmoREZEYpqAWERGJYQpqERGRGKagFhERiWEKahERkRjWqqA2xjxjjPnMGHNbC4/3MMa8a4z50hgzq22rKCIicujaY1AbY84C3NbascBhxpisZor9HHjRWnsU0MUYc1Qb11NEROSQ1JoWdQ7wSuj7D4BjmymzGfihMaY7kAEUNS5gjLki1OL+cvPmin2sroiIyKGlNUHdGSgJfb8F6N1MmU+A/sBvgGWhclGstbOttUdZa4/q2TNlH6srIiJyaGlNUFcBiaHvk1p4zp3AVdbaGcBy4NK2qZ6IiMihrTVB/RW7uruPAAqaKdMDGG6McQNjANsmtRMRETnEtSao3wR+box5CDgPWGqMubtRmXuB2cA2IBl4qU1rKSIicojy7KmAtbbSGJMDjAfut9ZuAP7TqMwiYNh+qaGIiMghbI9BDWCt3cqumd8iIiJygGhnMpEOwtZVEdxWhK2rau+qiMgB1KoWtYi0L3/ZYvxLXwXjBhvAM+xcPL5R7V0tETkA1KIWiXG2rsoJ6WA9BGogWI9/6atqWYscIhTUIu2ktV3Z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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "outliers_fraction = 0.01\n", + "xx , yy = np.meshgrid(np.linspace(0, 1, 100), np.linspace(0, 1, 100))\n", + "clf = HBOS(contamination=outliers_fraction)\n", + "clf.fit(X)\n", + "\n", + "scores_pred = clf.decision_function(X) * -1\n", + " \n", + "\n", + "y_pred = clf.predict(X)\n", + "n_inliers = len(y_pred) - np.count_nonzero(y_pred)\n", + "n_outliers = np.count_nonzero(y_pred == 1)\n", + "plt.figure(figsize=(8, 8))\n", + "\n", + "df1 = df\n", + "df1['outlier'] = y_pred.tolist()\n", + " \n", + "inliers_sales = np.array(df1['Sales'][df1['outlier'] == 0]).reshape(-1,1)\n", + "inliers_profit = np.array(df1['Profit'][df1['outlier'] == 0]).reshape(-1,1)\n", + " \n", + "outliers_sales = df1['Sales'][df1['outlier'] == 1].values.reshape(-1,1)\n", + "outliers_profit = df1['Profit'][df1['outlier'] == 1].values.reshape(-1,1)\n", + " \n", + "print('异常值数量:',n_outliers,'正常值:',n_inliers)\n", + "\n", + "threshold = np.percentile(scores_pred, 100 * outliers_fraction)\n", + " \n", + "Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()]) * -1\n", + "Z = Z.reshape(xx.shape)\n", + "\n", + "plt.contourf(xx, yy, Z, levels=np.linspace(Z.min(), threshold, 7),cmap=plt.cm.Blues_r)\n", + "\n", + "a = plt.contour(xx, yy, Z, levels=[threshold],linewidths=2, colors='red')\n", + "\n", + "plt.contourf(xx, yy, Z, levels=[threshold, Z.max()],colors='orange')\n", + "b = plt.scatter(inliers_sales, inliers_profit, c='white',s=20, edgecolor='k')\n", + " \n", + "c = plt.scatter(outliers_sales, outliers_profit, c='black',s=20, edgecolor='k')\n", + " \n", + "plt.axis('tight') \n", + " \n", + "plt.legend([a.collections[0], b,c], ['决策函数', '正常值','异常值'],\n", + " prop=matplotlib.font_manager.FontProperties(size=20),loc='lower right')\n", + " \n", + "plt.xlim((0, 1))\n", + "plt.ylim((0, 1))\n", + "plt.title('基于直方图的离群值检测(HBOS)')\n", + "plt.show();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 隔离森林\n", + "\n", + "隔离森林其原理与随机森林类似,建立在决策树的基础上。 隔离林通过随机选择特征然后根据特征的最大值和最小值之间的分割值来隔离观察。\n", + "PyOD Isolation Forest模块(https://pyod.readthedocs.io/en/latest/pyod.models.html#module-pyod.models.iforest) 是Scikit-learn Isolation Forest的wrapper,它具有更多功能。其代码与之前的CBLOF非常相似。" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "异常值数量: 99 正常值数量: 9895\n" + ] + }, + { + "data": { + "image/png": "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sRnjj/J/1Y4XTmPbInJ4+nDROt2uojYX1n03hqioKAYOHEh5eTnR0dFBVejw4cPZtGkTRUVFpKWl8dprr1FTUxNUxe7YsYPa2lpiYmIwxhATE8Mf/vAHrrzySmJjY+nduzclJSX84x//IC4ujvz8fIYNG0ZRUREVFRXk5OTgcDh4//33WblyJTU1NcydO5ebbrqJmTNnkpKSwpYtW+jduzeZmZkAZGZmMnp4Mv83bRsD4uCzbd8w8Sy49Akr0LYbbriByZMnc8wwN7l5BTxycRWJferWW6clB37PPllZzBkxgttvv50fn346+888kz4ffIDtwhPYs666SVf4ol//kqce/3OTv6nL6cRUFMNhgrorJpV1pM46MUxEOlZP7f1oq7+383khmUz2Rd0+avUh/cEHH/Dll1+yZs0a9u/fT1ZWFuDvjt66dWugst28eTOrV6/Gbrczffp0RowYwbRp06iurub5558PTOjyeDyBirjh5LHa2loOHDjAp59+yoYNGwITyqKiogBIT08nMzOT/v37M2zYMBYuXMjGjRt54oknSEseSFlZWdCEtp35BcweB2eMh9+eC8MHwdwJVUybOpHxxw3n3rtu46EfV7Js7jY23lPF3Cn+3zs9EXJy84Neq7CwkFmzZkHfvvR55x1e7d+bDefA4JVRQX+7zZs2NhvScGj2eHpir6Cveo0nlUVFxxz2WM1wES6T0EREQiUkFbUxJnC6VeNxYLfbzfe//33GjBlDTk4OlmUxatSooHsGDhxITk4OKSkplJaWkp6ezuWXX051dTVz584lOTmZN954o8mBGm63G8uymlwrLi6G2hq2b99OdnY26enpgZ8zMjIoLCykuHgXd51TzYzvTiI9LSmoQgZY8Kxh2fvRpKam4KnNY1TcNv51z6FdyhpK7AOPXNxgn/DcAmz4KCwsJDExkezNm7nRW8PHzUxEXvfFp83+TZ1O52Fnj9eHdU7xQU454xwmTplx2MM+wlF9WKu6FpGeKCRBPWbMGNavXx/YVaxhN3ZhYSE+n4+rr76as846i5NOOonc3FyysrICs7rz8vJwu918+umnQWPI06dPZ9CgQeTn57N9+3aio6ODXnv37t3Y7fYmE8pqampYOtfHxiIfkydPJiUlmYMHD/LdqZMCO489crG/Ir54WtO9vb/Oh2XvRzcZz77tQGWzQQ0wdwqc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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "outliers_fraction = 0.01\n", + "xx , yy = np.meshgrid(np.linspace(0, 1, 100), np.linspace(0, 1, 100))\n", + "clf = IForest(contamination=outliers_fraction,random_state=0)\n", + "clf.fit(X)\n", + "\n", + "scores_pred = clf.decision_function(X) * -1\n", + " \n", + "y_pred = clf.predict(X)\n", + "n_inliers = len(y_pred) - np.count_nonzero(y_pred)\n", + "n_outliers = np.count_nonzero(y_pred == 1)\n", + "plt.figure(figsize=(8, 8))\n", + "\n", + "df1 = df\n", + "df1['outlier'] = y_pred.tolist()\n", + "\n", + "inliers_sales = np.array(df1['Sales'][df1['outlier'] == 0]).reshape(-1,1)\n", + "inliers_profit = np.array(df1['Profit'][df1['outlier'] == 0]).reshape(-1,1)\n", + "\n", + "outliers_sales = df1['Sales'][df1['outlier'] == 1].values.reshape(-1,1)\n", + "outliers_profit = df1['Profit'][df1['outlier'] == 1].values.reshape(-1,1)\n", + " \n", + "print('异常值数量: ',n_outliers,'正常值数量: ',n_inliers)\n", + " \n", + "threshold = np.percentile(scores_pred, 100 * outliers_fraction)\n", + "\n", + "Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()]) * -1\n", + "Z = Z.reshape(xx.shape)\n", + "\n", + "plt.contourf(xx, yy, Z, levels=np.linspace(Z.min(), threshold, 7),cmap=plt.cm.Blues_r)\n", + " \n", + "a = plt.contour(xx, yy, Z, levels=[threshold],linewidths=2, colors='red')\n", + " \n", + "plt.contourf(xx, yy, Z, levels=[threshold, Z.max()],colors='orange')\n", + "b = plt.scatter(inliers_sales, inliers_profit, c='white',s=20, edgecolor='k')\n", + " \n", + "c = plt.scatter(outliers_sales, outliers_profit, c='black',s=20, edgecolor='k')\n", + " \n", + "plt.axis('tight')\n", + "plt.legend([a.collections[0], b,c], ['决策函数', '正常值','异常值'],\n", + " prop=matplotlib.font_manager.FontProperties(size=20),loc='lower right')\n", + " \n", + "plt.xlim((0, 1))\n", + "plt.ylim((0, 1))\n", + "plt.title('隔离森林')\n", + "plt.show();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# KNN(K - Nearest Neighbors)\n", + "\n", + "用于离群检测的pyod.models.knn.KNN(https://pyod.readthedocs.io/en/latest/pyod.models.html#module-pyod.models.knn)。 对于数据,它与第k个最近邻居的距离可以被视为异常值。其代码与之前的CBLOF非常相似。" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "异常值数量: 91 正常值数量: 9903\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "outliers_fraction = 0.01\n", + "xx , yy = np.meshgrid(np.linspace(0, 1, 100), np.linspace(0, 1, 100))\n", + "clf = KNN(contamination=outliers_fraction)\n", + "clf.fit(X)\n", + "\n", + "scores_pred = clf.decision_function(X) * -1\n", + " \n", + "y_pred = clf.predict(X)\n", + "n_inliers = len(y_pred) - np.count_nonzero(y_pred)\n", + "n_outliers = np.count_nonzero(y_pred == 1)\n", + "plt.figure(figsize=(8, 8))\n", + "\n", + "df1 = df\n", + "df1['outlier'] = y_pred.tolist()\n", + " \n", + "inliers_sales = np.array(df1['Sales'][df1['outlier'] == 0]).reshape(-1,1)\n", + "inliers_profit = np.array(df1['Profit'][df1['outlier'] == 0]).reshape(-1,1)\n", + " \n", + "outliers_sales = df1['Sales'][df1['outlier'] == 1].values.reshape(-1,1)\n", + "outliers_profit = df1['Profit'][df1['outlier'] == 1].values.reshape(-1,1)\n", + " \n", + "print('异常值数量: ',n_outliers,'正常值数量: ',n_inliers)\n", + " \n", + "threshold = np.percentile(scores_pred, 100 * outliers_fraction)\n", + " \n", + "Z = clf.decision_function(np.c_[xx.ravel(), yy.ravel()]) * -1\n", + "Z = Z.reshape(xx.shape)\n", + "\n", + "plt.contourf(xx, yy, Z, levels=np.linspace(Z.min(), threshold, 7),cmap=plt.cm.Blues_r)\n", + " \n", + "a = plt.contour(xx, yy, Z, levels=[threshold],linewidths=2, colors='red')\n", + " \n", + "plt.contourf(xx, yy, Z, levels=[threshold, Z.max()],colors='orange')\n", + "b = plt.scatter(inliers_sales, inliers_profit, c='white',s=20, edgecolor='k')\n", + " \n", + "c = plt.scatter(outliers_sales, outliers_profit, c='black',s=20, edgecolor='k')\n", + " \n", + "plt.axis('tight') \n", + " \n", + "plt.legend([a.collections[0], b,c], ['决策函数', '正常值','异常值'],\n", + " prop=matplotlib.font_manager.FontProperties(size=20),loc='lower right')\n", + " \n", + "plt.xlim((0, 1))\n", + "plt.ylim((0, 1))\n", + "plt.title('K Nearest Neighbors (KNN)')\n", + "plt.show();" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "上述四种算法预测的异常并无太大差异。\n", + "\n", + "# 对异常订单的研究 \n", + "\n", + "我们要研究一下由我们的模型确定的每个异常值,例如,让我们详细查看由KNN确定的几个异常值订单,并尝试理解是什么导致它们异常。" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_excel(\"./data/Superstore.xls\")" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Row ID 1996\n", + "Order ID US-2017-147221\n", + "Order Date 2017-12-02 00:00:00\n", + "Ship Date 2017-12-04 00:00:00\n", + "Ship Mode Second Class\n", + "Customer ID JS-16030\n", + "Customer Name Joy Smith\n", + "Segment Consumer\n", + "Country United States\n", + "City Houston\n", + "State Texas\n", + "Postal Code 77036\n", + "Region Central\n", + "Product ID OFF-AP-10002534\n", + "Category Office Supplies\n", + "Sub-Category Appliances\n", + "Product Name 3.6 Cubic Foot Counter Height Office Refrigerator\n", + "Sales 294.62\n", + "Quantity 5\n", + "Discount 0.8\n", + "Profit -766.012\n", + "Name: 1995, dtype: object" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.iloc[1995]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于上面这个订单,客户购买了5种产品,总价格为294.62,利润低于-766,折扣80%。 打八折居然还损失这么多,的确不可思议,看来模型认定它是异常值是合理的。我们再看一个订单:" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Row ID 9650\n", + "Order ID CA-2016-107104\n", + "Order Date 2016-11-26 00:00:00\n", + "Ship Date 2016-11-30 00:00:00\n", + "Ship Mode Standard Class\n", + "Customer ID MS-17365\n", + "Customer Name Maribeth Schnelling\n", + "Segment Consumer\n", + "Country United States\n", + "City Los Angeles\n", + "State California\n", + "Postal Code 90045\n", + "Region West\n", + "Product ID FUR-BO-10002213\n", + "Category Furniture\n", + "Sub-Category Bookcases\n", + "Product Name DMI Eclipse Executive Suite Bookcases\n", + "Sales 3406.66\n", + "Quantity 8\n", + "Discount 0.15\n", + "Profit 160.314\n", + "Name: 9649, dtype: object" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.iloc[9649]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于上面这个订单,客户购买了8件商品,总金额为3406.66,折扣15%,打了一五折利润只有160.314,利润率只有4.7%,一般认为商家的利润率不应该这么低,卖100块钱的货只赚4.7元,这有点不可思议,所以我们的模型也发现了这点,将其认定为异常订单看来是合理的。" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Row ID 9271\n", + "Order ID US-2017-102183\n", + "Order Date 2017-08-21 00:00:00\n", + "Ship Date 2017-08-28 00:00:00\n", + "Ship Mode Standard Class\n", + "Customer ID PK-19075\n", + "Customer Name Pete Kriz\n", + "Segment Consumer\n", + "Country United States\n", + "City New York City\n", + "State New York\n", + "Postal Code 10035\n", + "Region East\n", + "Product ID OFF-BI-10001359\n", + "Category Office Supplies\n", + "Sub-Category Binders\n", + "Product Name GBC DocuBind TL300 Electric Binding System\n", + "Sales 4305.55\n", + "Quantity 6\n", + "Discount 0.2\n", + "Profit 1453.12\n", + "Name: 9270, dtype: object" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.iloc[9270]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于上面这个订单,客户以总价4305购买了6件产品,经过20%的折扣后,我们仍然获得了超过33%的利润。这也非常的不可思议,模型将其认定为异常订单看来也是合理的。 " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 820b192176a100317d5c4a2536e809fc54de6cca Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Sat, 20 Jul 2019 14:39:17 +0800 Subject: [PATCH 03/42] Add files via upload --- ...351\273\221\347\247\221\346\212\200.ipynb" | 37460 ++++++++++++++++ 1 file changed, 37460 insertions(+) create mode 100644 "jupyter notebook \351\273\221\347\247\221\346\212\200.ipynb" diff --git "a/jupyter notebook \351\273\221\347\247\221\346\212\200.ipynb" "b/jupyter notebook \351\273\221\347\247\221\346\212\200.ipynb" new file mode 100644 index 0000000..8600200 --- /dev/null +++ "b/jupyter notebook \351\273\221\347\247\221\346\212\200.ipynb" @@ -0,0 +1,37460 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1.pandas_profiling\n", + "\n", + "我们知道pandas的dataframe是一个内存数据集,我们通常使用会使用df.describe()或者 df.info()来查看数据的概况,但是对于高手来说,这些方法有点弱,pandas_profiling(https://github.com/pandas-profiling/pandas-profiling )扩展了pandas的DataFrame,df.profile_report()用于快速数据分析。pandas_profiling会对数据集中的每一列进行详细的分析,并给出精美的可视化的HTML报告,主要分析内容如下:\n", + "\n", + "对于数据集中的每一列,以下统计信息(如果与列类型相关)将显示在交互式HTML报告中:(https://pandas-profiling.github.io/pandas-profiling/examples/meteorites/meteorites_report.html )\n", + "\n", + "* 要点:类型,唯一值,缺失值 \n", + "* 分位数统计量,如最小值,Q1,中位数,Q3,最大值,范围,四分位数范围 \n", + "* 数据统计,如均值,模式,标准差,总和,中位数绝对偏差,变异系数,峰度,偏度 \n", + "* 最频繁的值\n", + "* 直方图\n", + "* 变量的相关性 高亮度显示变量之间相关系数矩阵,斯皮尔曼,Pearson和肯德尔矩阵\n", + "* 丢失缺失值的值,矩阵,计数,热图和树形图\n", + "\n", + "大家可以在这里查看pandas_profiling的官方文档和例子。(https://pandas-profiling.github.io/pandas-profiling/docs/ )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## pandas_profiling安装" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!pip install pandas-profiling" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## pandas_profiling使用" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import pandas_profiling\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + " \n", + " " + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv('./data/Titanic.csv')\n", + "df.profile_report()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2.交互式的数据可视化库Cufflinks\n", + "\n", + "我们知道pandas内置了数据可视化方法plot(),但是它不能实现交互式的可视化,Cufflinks(https://github.com/santosjorge/cufflinks )弥补了pandas的这个短板,它为用户提供了一种交互式的数据可视化,用户可以在jupyter notebook中与各种图表进行交互,甚至是三维数据的可视化,都可以让用户任意拖动图像,给你带来一种震撼的体验。Cufflinks结合了plotly(https://plot.ly/ )使得pandas(https://pandas.pydata.org/ )绘图更加灵活方便。\n", + "\n", + "更多的例子请查看:\n", + "\n", + "* Chart Gallery(http://nbviewer.ipython.org/gist/santosjorge/b278ce0ae2448f47c31d )\n", + "* Pandas Like Visualization(http://nbviewer.ipython.org/gist/santosjorge/aba934a0d20023a136c2 )\n", + "* The Basics(http://nbviewer.ipython.org/gist/santosjorge/f3b07b2be8094deea8c6 )\n", + "* Color Management(http://nbviewer.ipython.org/gist/santosjorge/00ca17b121fa2463e18b )\n", + "* Offline Mode(http://nbviewer.ipython.org/gist/santosjorge/5fdbe947496faf7af5e6 )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Cufflinks安装" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "!pip install plotly # 安装cufflinks之前必须先安装plotly\n", + "!pip install cufflinks" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import matplotlib as plt\n", + "import cufflinks as cf\n", + "import plotly.offline\n", + "cf.go_offline()\n", + "cf.set_config_file(offline=False, world_readable=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "linkText": "Export to plot.ly", + "plotlyServerURL": "https://plot.ly", + "responsive": true, + "showLink": true + }, + "data": [ + { + "line": { + "color": "rgba(226, 74, 51, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "Survived", + "text": "", + "type": "scatter", + "uid": "3114e1af-30e8-456d-84e2-67fd9893e18d", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890 + ], + "y": [ + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0 + ] + }, + { + "line": { + "color": "rgba(62, 111, 176, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "Pclass", + "text": "", + "type": "scatter", + "uid": "a93be02c-30b8-4eb7-9bb6-35923789fde3", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890 + ], + "y": [ + 3, + 1, + 3, + 1, + 3, + 3, + 1, + 3, + 3, + 2, + 3, + 1, + 3, + 3, + 3, + 2, + 3, + 2, + 3, + 3, + 2, + 2, + 3, + 1, + 3, + 3, + 3, + 1, + 3, + 3, + 1, + 1, + 3, + 2, + 1, + 1, + 3, + 3, + 3, + 3, + 3, + 2, + 3, + 2, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 1, + 2, + 1, + 1, + 2, + 3, + 2, + 3, + 3, + 1, + 1, + 3, + 1, + 3, + 2, + 3, + 3, + 3, + 2, + 3, + 2, + 3, + 3, + 3, + 3, + 3, + 2, + 3, + 3, + 3, + 3, + 1, + 2, + 3, + 3, + 3, + 1, + 3, + 3, + 3, + 1, + 3, + 3, + 3, + 1, + 1, + 2, + 2, + 3, + 3, + 1, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 1, + 3, + 3, + 3, + 3, + 3, + 3, + 2, + 1, + 3, + 2, + 3, + 2, + 2, + 1, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 2, + 2, + 2, + 1, + 1, + 3, + 1, + 3, + 3, + 3, + 3, + 2, + 2, + 3, + 3, + 2, + 2, + 2, + 1, + 3, + 3, + 3, + 1, + 3, + 3, + 3, + 3, + 3, + 2, + 3, + 3, + 3, + 3, + 1, + 3, + 1, + 3, + 1, + 3, + 3, + 3, + 1, + 3, + 3, + 1, + 2, + 3, + 3, + 2, + 3, + 2, + 3, + 1, + 3, + 1, + 3, + 3, + 2, + 2, + 3, + 2, + 1, + 1, + 3, + 3, + 3, + 2, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 1, + 3, + 2, + 3, + 2, + 3, + 1, + 3, + 2, + 1, + 2, + 3, + 2, + 3, + 3, + 1, + 3, + 2, + 3, + 2, + 3, + 1, + 3, + 2, + 3, + 2, + 3, + 2, + 2, + 2, + 2, + 3, + 3, + 2, + 3, + 3, + 1, + 3, + 2, + 1, + 2, + 3, + 3, + 1, + 3, + 3, + 3, + 1, + 1, + 1, + 2, + 3, + 3, + 1, + 1, + 3, + 2, + 3, + 3, + 1, + 1, + 1, + 3, + 2, + 1, + 3, + 1, + 3, + 2, + 3, + 3, + 3, + 3, + 3, + 3, + 1, + 3, + 3, + 3, + 2, + 3, + 1, + 1, + 2, + 3, + 3, + 1, + 3, + 1, + 1, + 1, + 3, + 3, + 3, + 2, + 3, + 1, + 1, + 1, + 2, + 1, + 1, + 1, + 2, + 3, + 2, + 3, + 2, + 2, + 1, + 1, + 3, + 3, + 2, + 2, + 3, + 1, + 3, + 2, + 3, + 1, + 3, + 1, + 1, + 3, + 1, + 3, + 1, + 1, + 3, + 1, + 2, + 1, + 2, + 2, + 2, + 2, + 2, + 3, + 3, + 3, + 3, + 1, + 3, + 3, + 3, + 3, + 1, + 2, + 3, + 3, + 3, + 2, + 3, + 3, + 3, + 3, + 1, + 3, + 3, + 1, + 1, + 3, + 3, + 1, + 3, + 1, + 3, + 1, + 3, + 3, + 1, + 3, + 3, + 1, + 3, + 2, + 3, + 2, + 3, + 2, + 1, + 3, + 3, + 1, + 3, + 3, + 3, + 2, + 2, + 2, + 3, + 3, + 3, + 3, + 3, + 2, + 3, + 2, + 3, + 3, + 3, + 3, + 1, + 2, + 3, + 3, + 2, + 2, + 2, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 2, + 2, + 3, + 3, + 1, + 3, + 2, + 3, + 1, + 1, + 3, + 2, + 1, + 2, + 2, + 3, + 3, + 2, + 3, + 1, + 2, + 1, + 3, + 1, + 2, + 3, + 1, + 1, + 3, + 3, + 1, + 1, + 2, + 3, + 1, + 3, + 1, + 2, + 3, + 3, + 2, + 1, + 3, + 3, + 3, + 3, + 2, + 2, + 3, + 1, + 2, + 3, + 3, + 3, + 3, + 2, + 3, + 3, + 1, + 3, + 1, + 1, + 3, + 3, + 3, + 3, + 1, + 1, + 3, + 3, + 1, + 3, + 1, + 3, + 3, + 3, + 3, + 3, + 1, + 1, + 2, + 1, + 3, + 3, + 3, + 3, + 1, + 1, + 3, + 1, + 2, + 3, + 2, + 3, + 1, + 3, + 3, + 1, + 3, + 3, + 2, + 1, + 3, + 2, + 2, + 3, + 3, + 3, + 3, + 2, + 1, + 1, + 3, + 1, + 1, + 3, + 3, + 2, + 1, + 1, + 2, + 2, + 3, + 2, + 1, + 2, + 3, + 3, + 3, + 1, + 1, + 1, + 1, + 3, + 3, + 3, + 2, + 3, + 3, + 3, + 3, + 3, + 3, + 3, + 2, + 1, + 1, + 3, + 3, + 3, + 2, + 1, + 3, + 3, + 2, + 1, + 2, + 1, + 3, + 1, + 2, + 1, + 3, + 3, + 3, + 1, + 3, + 3, + 2, + 3, + 2, + 3, + 3, + 1, + 2, + 3, + 1, + 3, + 1, + 3, + 3, + 1, + 2, + 1, + 3, + 3, + 3, + 3, + 3, + 2, + 3, + 3, + 2, + 2, + 3, + 1, + 3, + 3, + 3, + 1, + 2, + 1, + 3, + 3, + 1, + 3, + 1, + 1, + 3, + 2, + 3, + 2, + 3, + 3, + 3, + 1, + 3, + 3, + 3, + 1, + 3, + 1, + 3, + 3, + 3, + 2, + 3, + 3, + 3, + 2, + 3, + 3, + 2, + 1, + 1, + 3, + 1, + 3, + 3, + 2, + 2, + 3, + 3, + 1, + 2, + 1, + 2, + 2, + 2, + 3, + 3, + 3, + 3, + 1, + 3, + 1, + 3, + 3, + 2, + 2, + 3, + 3, + 3, + 1, + 1, + 3, + 3, + 3, + 1, + 2, + 3, + 3, + 1, + 3, + 1, + 1, + 3, + 3, + 3, + 2, + 2, + 1, + 1, + 3, + 1, + 1, + 1, + 3, + 2, + 3, + 1, + 2, + 3, + 3, + 2, + 3, + 2, + 2, + 1, + 3, + 2, + 3, + 2, + 3, + 1, + 3, + 2, + 2, + 2, + 3, + 3, + 1, + 3, + 3, + 1, + 1, + 1, + 3, + 3, + 1, + 3, + 2, + 1, + 3, + 2, + 3, + 3, + 3, + 2, + 2, + 3, + 2, + 3, + 1, + 3, + 3, + 3, + 1, + 3, + 1, + 1, + 3, + 3, + 3, + 3, + 3, + 2, + 3, + 2, + 3, + 3, + 3, + 3, + 1, + 3, + 1, + 1, + 3, + 3, + 3, + 3, + 3, + 3, + 1, + 3, + 2, + 3, + 1, + 3, + 2, + 1, + 3, + 3, + 3, + 2, + 2, + 1, + 3, + 3, + 3, + 1, + 3, + 2, + 1, + 3, + 3, + 2, + 3, + 3, + 1, + 3, + 2, + 3, + 3, + 1, + 3, + 1, + 3, + 3, + 3, + 3, + 2, + 3, + 1, + 3, + 2, + 3, + 3, + 3, + 1, + 3, + 3, + 3, + 1, + 3, + 2, + 1, + 3, + 3, + 3, + 3, + 3, + 2, + 1, + 3, + 3, + 3, + 1, + 2, + 3, + 1, + 1, + 3, + 3, + 3, + 2, + 1, + 3, + 2, + 2, + 2, + 1, + 3, + 3, + 3, + 1, + 1, + 3, + 2, + 3, + 3, + 3, + 3, + 1, + 2, + 3, + 3, + 2, + 3, + 3, + 2, + 1, + 3, + 1, + 3 + ] + }, + { + "line": { + "color": "rgba(132, 118, 202, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "Sex", + "text": "", + "type": "scatter", + "uid": "fcdb3e97-eeb5-40a0-849a-501feeb1c414", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890 + ], + "y": [ + "male", + "female", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "female", + "female", + "female", + "male", + "male", + "female", + "female", + "male", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "female", + "female", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "female", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "female", + "female", + "male", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "female", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "female", + "male", + "female", + "male", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "female", + "female", + "female", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "female", + "female", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "female", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "male", + "female", + "female", + "male", + "female", + "female", + "female", + "female", + "male", + "male", + "female", + "female", + "male", + "female", + "female", + "male", + "male", + "female", + "female", + "male", + "female", + "male", + "female", + "female", + "female", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "female", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "female", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "female", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "female", + "female", + "male", + "male", + "male", + "female", + "female", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "male", + "female", + "female", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "female", + "female", + "female", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "female", + "male", + "male", + "male", + "female", + "female", + "male", + "male", + "female", + "female", + "female", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "female", + "female", + "female", + "female", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "female", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "female", + "female", + "male", + "female", + "male", + "female", + "female", + "female", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "female", + "female", + "female", + "male", + "female", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "female", + "male", + "female", + "male", + "male", + "female", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "male", + "female", + "female", + "male", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "female", + "male", + "female", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "female", + "male", + "female", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "female", + "female", + "female", + "female", + "male", + "female", + "male", + "male", + "male", + "female", + "female", + "male", + "female", + "female", + "male", + "male", + "male", + "male", + "female", + "male", + "male", + "female", + "female", + "male", + "male", + "male", + "female", + "female", + "male", + "female", + "male", + "male", + "female", + "male", + "female", + "female", + "male", + "male" + ] + }, + { + "line": { + "color": "rgba(101, 101, 101, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "Age", + "text": "", + "type": "scatter", + "uid": "cd011a9a-37bc-450b-8c70-9e43f7d0c704", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890 + ], + "y": [ + 22, + 38, + 26, + 35, + 35, + "", + 54, + 2, + 27, + 14, + 4, + 58, + 20, + 39, + 14, + 55, + 2, + "", + 31, + "", + 35, + 34, + 15, + 28, + 8, + 38, + "", + 19, + "", + "", + 40, + "", + "", + 66, + 28, + 42, + "", + 21, + 18, + 14, + 40, + 27, + "", + 3, + 19, + "", + "", + "", + "", + 18, + 7, + 21, + 49, + 29, + 65, + "", + 21, + 28.5, + 5, + 11, + 22, + 38, + 45, + 4, + "", + "", + 29, + 19, + 17, + 26, + 32, + 16, + 21, + 26, + 32, + 25, + "", + "", + 0.83, + 30, + 22, + 29, + "", + 28, + 17, + 33, + 16, + "", + 23, + 24, + 29, + 20, + 46, + 26, + 59, + "", + 71, + 23, + 34, + 34, + 28, + "", + 21, + 33, + 37, + 28, + 21, + "", + 38, + "", + 47, + 14.5, + 22, + 20, + 17, + 21, + 70.5, + 29, + 24, + 2, + 21, + "", + 32.5, + 32.5, + 54, + 12, + "", + 24, + "", + 45, + 33, + 20, + 47, + 29, + 25, + 23, + 19, + 37, + 16, + 24, + "", + 22, + 24, + 19, + 18, + 19, + 27, + 9, + 36.5, + 42, + 51, + 22, + 55.5, + 40.5, + "", + 51, + 16, + 30, + "", + "", + 44, + 40, + 26, + 17, + 1, + 9, + "", + 45, + "", + 28, + 61, + 4, + 1, + 21, + 56, + 18, + "", + 50, + 30, + 36, + "", + "", + 9, + 1, + 4, + "", + "", + 45, + 40, + 36, + 32, + 19, + 19, + 3, + 44, + 58, + "", + 42, + "", + 24, + 28, + "", + 34, + 45.5, + 18, + 2, + 32, + 26, + 16, + 40, + 24, + 35, + 22, + 30, + "", + 31, + 27, + 42, + 32, + 30, + 16, + 27, + 51, + "", + 38, + 22, + 19, + 20.5, + 18, + "", + 35, + 29, + 59, + 5, + 24, + "", + 44, + 8, + 19, + 33, + "", + "", + 29, + 22, + 30, + 44, + 25, + 24, + 37, + 54, + "", + 29, + 62, + 30, + 41, + 29, + "", + 30, + 35, + 50, + "", + 3, + 52, + 40, + "", + 36, + 16, + 25, + 58, + 35, + "", + 25, + 41, + 37, + "", + 63, + 45, + "", + 7, + 35, + 65, + 28, + 16, + 19, + "", + 33, + 30, + 22, + 42, + 22, + 26, + 19, + 36, + 24, + 24, + "", + 23.5, + 2, + "", + 50, + "", + "", + 19, + "", + "", + 0.92, + "", + 17, + 30, + 30, + 24, + 18, + 26, + 28, + 43, + 26, + 24, + 54, + 31, + 40, + 22, + 27, + 30, + 22, + "", + 36, + 61, + 36, + 31, + 16, + "", + 45.5, + 38, + 16, + "", + "", + 29, + 41, + 45, + 45, + 2, + 24, + 28, + 25, + 36, + 24, + 40, + "", + 3, + 42, + 23, + "", + 15, + 25, + "", + 28, + 22, + 38, + "", + "", + 40, + 29, + 45, + 35, + "", + 30, + 60, + "", + "", + 24, + 25, + 18, + 19, + 22, + 3, + "", + 22, + 27, + 20, + 19, + 42, + 1, + 32, + 35, + "", + 18, + 1, + 36, + "", + 17, + 36, + 21, + 28, + 23, + 24, + 22, + 31, + 46, + 23, + 28, + 39, + 26, + 21, + 28, + 20, + 34, + 51, + 3, + 21, + "", + "", + "", + 33, + "", + 44, + "", + 34, + 18, + 30, + 10, + "", + 21, + 29, + 28, + 18, + "", + 28, + 19, + "", + 32, + 28, + "", + 42, + 17, + 50, + 14, + 21, + 24, + 64, + 31, + 45, + 20, + 25, + 28, + "", + 4, + 13, + 34, + 5, + 52, + 36, + "", + 30, + 49, + "", + 29, + 65, + "", + 50, + "", + 48, + 34, + 47, + 48, + "", + 38, + "", + 56, + "", + 0.75, + "", + 38, + 33, + 23, + 22, + "", + 34, + 29, + 22, + 2, + 9, + "", + 50, + 63, + 25, + "", + 35, + 58, + 30, + 9, + "", + 21, + 55, + 71, + 21, + "", + 54, + "", + 25, + 24, + 17, + 21, + "", + 37, + 16, + 18, + 33, + "", + 28, + 26, + 29, + "", + 36, + 54, + 24, + 47, + 34, + "", + 36, + 32, + 30, + 22, + "", + 44, + "", + 40.5, + 50, + "", + 39, + 23, + 2, + "", + 17, + "", + 30, + 7, + 45, + 30, + "", + 22, + 36, + 9, + 11, + 32, + 50, + 64, + 19, + "", + 33, + 8, + 17, + 27, + "", + 22, + 22, + 62, + 48, + "", + 39, + 36, + "", + 40, + 28, + "", + "", + 24, + 19, + 29, + "", + 32, + 62, + 53, + 36, + "", + 16, + 19, + 34, + 39, + "", + 32, + 25, + 39, + 54, + 36, + "", + 18, + 47, + 60, + 22, + "", + 35, + 52, + 47, + "", + 37, + 36, + "", + 49, + "", + 49, + 24, + "", + "", + 44, + 35, + 36, + 30, + 27, + 22, + 40, + 39, + "", + "", + "", + 35, + 24, + 34, + 26, + 4, + 26, + 27, + 42, + 20, + 21, + 21, + 61, + 57, + 21, + 26, + "", + 80, + 51, + 32, + "", + 9, + 28, + 32, + 31, + 41, + "", + 20, + 24, + 2, + "", + 0.75, + 48, + 19, + 56, + "", + 23, + "", + 18, + 21, + "", + 18, + 24, + "", + 32, + 23, + 58, + 50, + 40, + 47, + 36, + 20, + 32, + 25, + "", + 43, + "", + 40, + 31, + 70, + 31, + "", + 18, + 24.5, + 18, + 43, + 36, + "", + 27, + 20, + 14, + 60, + 25, + 14, + 19, + 18, + 15, + 31, + 4, + "", + 25, + 60, + 52, + 44, + "", + 49, + 42, + 18, + 35, + 18, + 25, + 26, + 39, + 45, + 42, + 22, + "", + 24, + "", + 48, + 29, + 52, + 19, + 38, + 27, + "", + 33, + 6, + 17, + 34, + 50, + 27, + 20, + 30, + "", + 25, + 25, + 29, + 11, + "", + 23, + 23, + 28.5, + 48, + 35, + "", + "", + "", + 36, + 21, + 24, + 31, + 70, + 16, + 30, + 19, + 31, + 4, + 6, + 33, + 23, + 48, + 0.67, + 28, + 18, + 34, + 33, + "", + 41, + 20, + 36, + 16, + 51, + "", + 30.5, + "", + 32, + 24, + 48, + 57, + "", + 54, + 18, + "", + 5, + "", + 43, + 13, + 17, + 29, + "", + 25, + 25, + 18, + 8, + 1, + 46, + "", + 16, + "", + "", + 25, + 39, + 49, + 31, + 30, + 30, + 34, + 31, + 11, + 0.42, + 27, + 31, + 39, + 18, + 39, + 33, + 26, + 39, + 35, + 6, + 30.5, + "", + 23, + 31, + 43, + 10, + 52, + 27, + 38, + 27, + 2, + "", + "", + 1, + "", + 62, + 15, + 0.83, + "", + 23, + 18, + 39, + 21, + "", + 32, + "", + 20, + 16, + 30, + 34.5, + 17, + 42, + "", + 35, + 28, + "", + 4, + 74, + 9, + 16, + 44, + 18, + 45, + 51, + 24, + "", + 41, + 21, + 48, + "", + 24, + 42, + 27, + 31, + "", + 4, + 26, + 47, + 33, + 47, + 28, + 15, + 20, + 19, + "", + 56, + 25, + 33, + 22, + 28, + 25, + 39, + 27, + 19, + "", + 26, + 32 + ] + }, + { + "line": { + "color": "rgba(251, 193, 94, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "SibSp", + "text": "", + "type": "scatter", + "uid": "40060a53-6f29-44d4-bbcd-dc174e5d92c4", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890 + ], + "y": [ + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 3, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 4, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 0, + 3, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 2, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 1, + 4, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 5, + 0, + 0, + 1, + 3, + 0, + 1, + 0, + 0, + 4, + 2, + 0, + 5, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 1, + 0, + 3, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 4, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 1, + 0, + 0, + 0, + 4, + 1, + 0, + 0, + 1, + 3, + 0, + 0, + 0, + 8, + 0, + 4, + 2, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 3, + 1, + 0, + 0, + 4, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 1, + 0, + 0, + 0, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 2, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 8, + 0, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 3, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 5, + 0, + 0, + 0, + 1, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 3, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 2, + 2, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 5, + 0, + 0, + 0, + 1, + 3, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 4, + 1, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 1, + 1, + 2, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 3, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 5, + 1, + 1, + 4, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 3, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 2, + 1, + 0, + 1, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 4, + 1, + 0, + 0, + 0, + 8, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 1, + 0, + 3, + 1, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 8, + 0, + 0, + 1, + 4, + 0, + 1, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 1, + 0, + 8, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ] + }, + { + "line": { + "color": "rgba(142, 186, 66, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "Parch", + "text": "", + "type": "scatter", + "uid": "e32aba8d-703d-43fa-8962-4c929a1b03ee", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890 + ], + "y": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 1, + 0, + 0, + 5, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 5, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 1, + 2, + 1, + 4, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 2, + 0, + 2, + 1, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 1, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 1, + 0, + 2, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 1, + 0, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 4, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 2, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 2, + 3, + 4, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 2, + 0, + 2, + 0, + 0, + 0, + 2, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 5, + 0, + 0, + 0, + 0, + 2, + 1, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 5, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 6, + 1, + 0, + 0, + 0, + 2, + 1, + 2, + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 3, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 2, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 2, + 1, + 0, + 0, + 1, + 1, + 0, + 0, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 1, + 0, + 2, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 3, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 5, + 0, + 0, + 2, + 0, + 0 + ] + }, + { + "line": { + "color": "rgba(255, 181, 184, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "Fare", + "text": "", + "type": "scatter", + "uid": "b392ecbc-c482-40ca-a362-4c7dbb49dcb0", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890 + ], + "y": [ + 7.25, + 71.2833, + 7.925, + 53.1, + 8.05, + 8.4583, + 51.8625, + 21.075, + 11.1333, + 30.0708, + 16.7, + 26.55, + 8.05, + 31.275, + 7.8542, + 16, + 29.125, + 13, + 18, + 7.225, + 26, + 13, + 8.0292, + 35.5, + 21.075, + 31.3875, + 7.225, + 263, + 7.8792, + 7.8958, + 27.7208, + 146.5208, + 7.75, + 10.5, + 82.1708, + 52, + 7.2292, + 8.05, + 18, + 11.2417, + 9.475, + 21, + 7.8958, + 41.5792, + 7.8792, + 8.05, + 15.5, + 7.75, + 21.6792, + 17.8, + 39.6875, + 7.8, + 76.7292, + 26, + 61.9792, + 35.5, + 10.5, + 7.2292, + 27.75, + 46.9, + 7.2292, + 80, + 83.475, + 27.9, + 27.7208, + 15.2458, + 10.5, + 8.1583, + 7.925, + 8.6625, + 10.5, + 46.9, + 73.5, + 14.4542, + 56.4958, + 7.65, + 7.8958, + 8.05, + 29, + 12.475, + 9, + 9.5, + 7.7875, + 47.1, + 10.5, + 15.85, + 34.375, + 8.05, + 263, + 8.05, + 8.05, + 7.8542, + 61.175, + 20.575, + 7.25, + 8.05, + 34.6542, + 63.3583, + 23, + 26, + 7.8958, + 7.8958, + 77.2875, + 8.6542, + 7.925, + 7.8958, + 7.65, + 7.775, + 7.8958, + 24.15, + 52, + 14.4542, + 8.05, + 9.825, + 14.4583, + 7.925, + 7.75, + 21, + 247.5208, + 31.275, + 73.5, + 8.05, + 30.0708, + 13, + 77.2875, + 11.2417, + 7.75, + 7.1417, + 22.3583, + 6.975, + 7.8958, + 7.05, + 14.5, + 26, + 13, + 15.0458, + 26.2833, + 53.1, + 9.2167, + 79.2, + 15.2458, + 7.75, + 15.85, + 6.75, + 11.5, + 36.75, + 7.7958, + 34.375, + 26, + 13, + 12.525, + 66.6, + 8.05, + 14.5, + 7.3125, + 61.3792, + 7.7333, + 8.05, + 8.6625, + 69.55, + 16.1, + 15.75, + 7.775, + 8.6625, + 39.6875, + 20.525, + 55, + 27.9, + 25.925, + 56.4958, + 33.5, + 29.125, + 11.1333, + 7.925, + 30.6958, + 7.8542, + 25.4667, + 28.7125, + 13, + 0, + 69.55, + 15.05, + 31.3875, + 39, + 22.025, + 50, + 15.5, + 26.55, + 15.5, + 7.8958, + 13, + 13, + 7.8542, + 26, + 27.7208, + 146.5208, + 7.75, + 8.4042, + 7.75, + 13, + 9.5, + 69.55, + 6.4958, + 7.225, + 8.05, + 10.4625, + 15.85, + 18.7875, + 7.75, + 31, + 7.05, + 21, + 7.25, + 13, + 7.75, + 113.275, + 7.925, + 27, + 76.2917, + 10.5, + 8.05, + 13, + 8.05, + 7.8958, + 90, + 9.35, + 10.5, + 7.25, + 13, + 25.4667, + 83.475, + 7.775, + 13.5, + 31.3875, + 10.5, + 7.55, + 26, + 26.25, + 10.5, + 12.275, + 14.4542, + 15.5, + 10.5, + 7.125, + 7.225, + 90, + 7.775, + 14.5, + 52.5542, + 26, + 7.25, + 10.4625, + 26.55, + 16.1, + 20.2125, + 15.2458, + 79.2, + 86.5, + 512.3292, + 26, + 7.75, + 31.3875, + 79.65, + 0, + 7.75, + 10.5, + 39.6875, + 7.775, + 153.4625, + 135.6333, + 31, + 0, + 19.5, + 29.7, + 7.75, + 77.9583, + 7.75, + 0, + 29.125, + 20.25, + 7.75, + 7.8542, + 9.5, + 8.05, + 26, + 8.6625, + 9.5, + 7.8958, + 13, + 7.75, + 78.85, + 91.0792, + 12.875, + 8.85, + 7.8958, + 27.7208, + 7.2292, + 151.55, + 30.5, + 247.5208, + 7.75, + 23.25, + 0, + 12.35, + 8.05, + 151.55, + 110.8833, + 108.9, + 24, + 56.9292, + 83.1583, + 262.375, + 26, + 7.8958, + 26.25, + 7.8542, + 26, + 14, + 164.8667, + 134.5, + 7.25, + 7.8958, + 12.35, + 29, + 69.55, + 135.6333, + 6.2375, + 13, + 20.525, + 57.9792, + 23.25, + 28.5, + 153.4625, + 18, + 133.65, + 7.8958, + 66.6, + 134.5, + 8.05, + 35.5, + 26, + 263, + 13, + 13, + 13, + 13, + 13, + 16.1, + 15.9, + 8.6625, + 9.225, + 35, + 7.2292, + 17.8, + 7.225, + 9.5, + 55, + 13, + 7.8792, + 7.8792, + 27.9, + 27.7208, + 14.4542, + 7.05, + 15.5, + 7.25, + 75.25, + 7.2292, + 7.75, + 69.3, + 55.4417, + 6.4958, + 8.05, + 135.6333, + 21.075, + 82.1708, + 7.25, + 211.5, + 4.0125, + 7.775, + 227.525, + 15.7417, + 7.925, + 52, + 7.8958, + 73.5, + 46.9, + 13, + 7.7292, + 12, + 120, + 7.7958, + 7.925, + 113.275, + 16.7, + 7.7958, + 7.8542, + 26, + 10.5, + 12.65, + 7.925, + 8.05, + 9.825, + 15.85, + 8.6625, + 21, + 7.75, + 18.75, + 7.775, + 25.4667, + 7.8958, + 6.8583, + 90, + 0, + 7.925, + 8.05, + 32.5, + 13, + 13, + 24.15, + 7.8958, + 7.7333, + 7.875, + 14.4, + 20.2125, + 7.25, + 26, + 26, + 7.75, + 8.05, + 26.55, + 16.1, + 26, + 7.125, + 55.9, + 120, + 34.375, + 18.75, + 263, + 10.5, + 26.25, + 9.5, + 7.775, + 13, + 8.1125, + 81.8583, + 19.5, + 26.55, + 19.2583, + 30.5, + 27.75, + 19.9667, + 27.75, + 89.1042, + 8.05, + 7.8958, + 26.55, + 51.8625, + 10.5, + 7.75, + 26.55, + 8.05, + 38.5, + 13, + 8.05, + 7.05, + 0, + 26.55, + 7.725, + 19.2583, + 7.25, + 8.6625, + 27.75, + 13.7917, + 9.8375, + 52, + 21, + 7.0458, + 7.5208, + 12.2875, + 46.9, + 0, + 8.05, + 9.5875, + 91.0792, + 25.4667, + 90, + 29.7, + 8.05, + 15.9, + 19.9667, + 7.25, + 30.5, + 49.5042, + 8.05, + 14.4583, + 78.2667, + 15.1, + 151.55, + 7.7958, + 8.6625, + 7.75, + 7.6292, + 9.5875, + 86.5, + 108.9, + 26, + 26.55, + 22.525, + 56.4958, + 7.75, + 8.05, + 26.2875, + 59.4, + 7.4958, + 34.0208, + 10.5, + 24.15, + 26, + 7.8958, + 93.5, + 7.8958, + 7.225, + 57.9792, + 7.2292, + 7.75, + 10.5, + 221.7792, + 7.925, + 11.5, + 26, + 7.2292, + 7.2292, + 22.3583, + 8.6625, + 26.25, + 26.55, + 106.425, + 14.5, + 49.5, + 71, + 31.275, + 31.275, + 26, + 106.425, + 26, + 26, + 13.8625, + 20.525, + 36.75, + 110.8833, + 26, + 7.8292, + 7.225, + 7.775, + 26.55, + 39.6, + 227.525, + 79.65, + 17.4, + 7.75, + 7.8958, + 13.5, + 8.05, + 8.05, + 24.15, + 7.8958, + 21.075, + 7.2292, + 7.8542, + 10.5, + 51.4792, + 26.3875, + 7.75, + 8.05, + 14.5, + 13, + 55.9, + 14.4583, + 7.925, + 30, + 110.8833, + 26, + 40.125, + 8.7125, + 79.65, + 15, + 79.2, + 8.05, + 8.05, + 7.125, + 78.2667, + 7.25, + 7.75, + 26, + 24.15, + 33, + 0, + 7.225, + 56.9292, + 27, + 7.8958, + 42.4, + 8.05, + 26.55, + 15.55, + 7.8958, + 30.5, + 41.5792, + 153.4625, + 31.275, + 7.05, + 15.5, + 7.75, + 8.05, + 65, + 14.4, + 16.1, + 39, + 10.5, + 14.4542, + 52.5542, + 15.7417, + 7.8542, + 16.1, + 32.3208, + 12.35, + 77.9583, + 7.8958, + 7.7333, + 30, + 7.0542, + 30.5, + 0, + 27.9, + 13, + 7.925, + 26.25, + 39.6875, + 16.1, + 7.8542, + 69.3, + 27.9, + 56.4958, + 19.2583, + 76.7292, + 7.8958, + 35.5, + 7.55, + 7.55, + 7.8958, + 23, + 8.4333, + 7.8292, + 6.75, + 73.5, + 7.8958, + 15.5, + 13, + 113.275, + 133.65, + 7.225, + 25.5875, + 7.4958, + 7.925, + 73.5, + 13, + 7.775, + 8.05, + 52, + 39, + 52, + 10.5, + 13, + 0, + 7.775, + 8.05, + 9.8417, + 46.9, + 512.3292, + 8.1375, + 76.7292, + 9.225, + 46.9, + 39, + 41.5792, + 39.6875, + 10.1708, + 7.7958, + 211.3375, + 57, + 13.4167, + 56.4958, + 7.225, + 26.55, + 13.5, + 8.05, + 7.7333, + 110.8833, + 7.65, + 227.525, + 26.2875, + 14.4542, + 7.7417, + 7.8542, + 26, + 13.5, + 26.2875, + 151.55, + 15.2458, + 49.5042, + 26.55, + 52, + 9.4833, + 13, + 7.65, + 227.525, + 10.5, + 15.5, + 7.775, + 33, + 7.0542, + 13, + 13, + 53.1, + 8.6625, + 21, + 7.7375, + 26, + 7.925, + 211.3375, + 18.7875, + 0, + 13, + 13, + 16.1, + 34.375, + 512.3292, + 7.8958, + 7.8958, + 30, + 78.85, + 262.375, + 16.1, + 7.925, + 71, + 20.25, + 13, + 53.1, + 7.75, + 23, + 12.475, + 9.5, + 7.8958, + 65, + 14.5, + 7.7958, + 11.5, + 8.05, + 86.5, + 14.5, + 7.125, + 7.2292, + 120, + 7.775, + 77.9583, + 39.6, + 7.75, + 24.15, + 8.3625, + 9.5, + 7.8542, + 10.5, + 7.225, + 23, + 7.75, + 7.75, + 12.475, + 7.7375, + 211.3375, + 7.2292, + 57, + 30, + 23.45, + 7.05, + 7.25, + 7.4958, + 29.125, + 20.575, + 79.2, + 7.75, + 26, + 69.55, + 30.6958, + 7.8958, + 13, + 25.9292, + 8.6833, + 7.2292, + 24.15, + 13, + 26.25, + 120, + 8.5167, + 6.975, + 7.775, + 0, + 7.775, + 13, + 53.1, + 7.8875, + 24.15, + 10.5, + 31.275, + 8.05, + 0, + 7.925, + 37.0042, + 6.45, + 27.9, + 93.5, + 8.6625, + 0, + 12.475, + 39.6875, + 6.95, + 56.4958, + 37.0042, + 7.75, + 80, + 14.4542, + 18.75, + 7.2292, + 7.8542, + 8.3, + 83.1583, + 8.6625, + 8.05, + 56.4958, + 29.7, + 7.925, + 10.5, + 31, + 6.4375, + 8.6625, + 7.55, + 69.55, + 7.8958, + 33, + 89.1042, + 31.275, + 7.775, + 15.2458, + 39.4, + 26, + 9.35, + 164.8667, + 26.55, + 19.2583, + 7.2292, + 14.1083, + 11.5, + 25.9292, + 69.55, + 13, + 13, + 13.8583, + 50.4958, + 9.5, + 11.1333, + 7.8958, + 52.5542, + 5, + 9, + 24, + 7.225, + 9.8458, + 7.8958, + 7.8958, + 83.1583, + 26, + 7.8958, + 10.5167, + 10.5, + 7.05, + 29.125, + 13, + 30, + 23.45, + 30, + 7.75 + ] + }, + { + "line": { + "color": "rgba(255, 181, 184, 0.8999999999999999)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "Cabin", + "text": "", + "type": "scatter", + "uid": "34cc21b4-6dfa-46b9-8414-e2ed977b6cad", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890 + ], + "y": [ + "", + "C85", + "", + "C123", + "", + "", + "E46", + "", + "", + "", + "G6", + "C103", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "D56", + "", + "A6", + "", + "", + "", + "C23 C25 C27", + "", + "", + "", + "B78", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "D33", + "", + "B30", + "C52", + "", + "", + "", + "", + "", + "B28", + "C83", + "", + "", + "", + "F33", + "", + "", + "", + "", + "", + "", + "", + "", + "F G73", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "C23 C25 C27", + "", + "", + "", + "E31", + "", + "", + "", + "A5", + "D10 D12", + "", + "", + "", + "", + "D26", + "", + "", + "", + "", + "", + "", + "", + "C110", + "", + "", + "", + "", + "", + "", + "", + "B58 B60", + "", + "", + "", + "", + "E101", + "D26", + "", + "", + "", + "F E69", + "", + "", + "", + "", + "", + "", + "", + "D47", + "C123", + "", + "B86", + "", + "", + "", + "", + "", + "", + "", + "", + "F2", + "", + "", + "C2", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "E33", + "", + "", + "", + "B19", + "", + "", + "", + "A7", + "", + "", + "C49", + "", + "", + "", + "", + "", + "F4", + "", + "A32", + "", + "", + "", + "", + "", + "", + "", + "F2", + "B4", + "B80", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "G6", + "", + "", + "", + "A31", + "", + "", + "", + "", + "", + "D36", + "", + "", + "D15", + "", + "", + "", + "", + "", + "C93", + "", + "", + "", + "", + "", + "C83", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "C78", + "", + "", + "D35", + "", + "", + "G6", + "C87", + "", + "", + "", + "", + "B77", + "", + "", + "", + "", + "E67", + "B94", + "", + "", + "", + "", + "C125", + "C99", + "", + "", + "", + "C118", + "", + "D7", + "", + "", + "", + "", + "", + "", + "", + "", + "A19", + "", + "", + "", + "", + "", + "", + "B49", + "D", + "", + "", + "", + "", + "C22 C26", + "C106", + "B58 B60", + "", + "", + "", + "E101", + "", + "C22 C26", + "", + "C65", + "", + "E36", + "C54", + "B57 B59 B63 B66", + "", + "", + "", + "", + "", + "", + "C7", + "E34", + "", + "", + "", + "", + "", + "C32", + "", + "D", + "", + "B18", + "", + "C124", + "C91", + "", + "", + "", + "C2", + "E40", + "", + "T", + "F2", + "C23 C25 C27", + "", + "", + "", + "F33", + "", + "", + "", + "", + "", + "C128", + "", + "", + "", + "", + "E33", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "D37", + "", + "", + "B35", + "E50", + "", + "", + "", + "", + "", + "", + "C82", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "B96 B98", + "", + "", + "D36", + "G6", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "C78", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "E10", + "C52", + "", + "", + "", + "E44", + "B96 B98", + "", + "", + "C23 C25 C27", + "", + "", + "", + "", + "", + "", + "A34", + "", + "", + "", + "C104", + "", + "", + "C111", + "C92", + "", + "", + "E38", + "D21", + "", + "", + "E12", + "", + "E63", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "D", + "", + "A14", + "", + "", + "", + "", + "", + "", + "", + "", + "B49", + "", + "C93", + "B37", + "", + "", + "", + "", + "C30", + "", + "", + "", + "D20", + "", + "C22 C26", + "", + "", + "", + "", + "", + "B79", + "C65", + "", + "", + "", + "", + "", + "", + "E25", + "", + "", + "D46", + "F33", + "", + "", + "", + "B73", + "", + "", + "B18", + "", + "", + "", + "C95", + "", + "", + "", + "", + "", + "", + "", + "", + "B38", + "", + "", + "B39", + "B22", + "", + "", + "", + "C86", + "", + "", + "", + "", + "", + "C70", + "", + "", + "", + "", + "", + "A16", + "", + "E67", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "C101", + "E25", + "", + "", + "", + "", + "E44", + "", + "", + "", + "C68", + "", + "A10", + "", + "E68", + "", + "B41", + "", + "", + "", + "D20", + "", + "", + "", + "", + "", + "", + "", + "A20", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "C125", + "", + "", + "", + "", + "", + "", + "", + "", + "F4", + "", + "", + "D19", + "", + "", + "", + "D50", + "", + "D9", + "", + "", + "A23", + "", + "B50", + "", + "", + "", + "", + "", + "", + "", + "", + "B35", + "", + "", + "", + "D33", + "", + "A26", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "D48", + "", + "", + "E58", + "", + "", + "", + "", + "", + "", + "C126", + "", + "B71", + "", + "", + "", + "", + "", + "", + "", + "B51 B53 B55", + "", + "D49", + "", + "", + "", + "", + "", + "", + "", + "B5", + "B20", + "", + "", + "", + "", + "", + "", + "", + "C68", + "F G63", + "C62 C64", + "E24", + "", + "", + "", + "", + "", + "E24", + "", + "", + "C90", + "C124", + "C126", + "", + "", + "F G73", + "C45", + "E101", + "", + "", + "", + "", + "", + "", + "E8", + "", + "", + "", + "", + "", + "B5", + "", + "", + "", + "", + "", + "", + "B101", + "", + "", + "D45", + "C46", + "B57 B59 B63 B66", + "", + "", + "B22", + "", + "", + "D30", + "", + "", + "E121", + "", + "", + "", + "", + "", + "", + "", + "B77", + "", + "", + "", + "B96 B98", + "", + "D11", + "", + "", + "", + "", + "", + "", + "E77", + "", + "", + "", + "F38", + "", + "", + "B3", + "", + "B20", + "D6", + "", + "", + "", + "", + "", + "", + "B82 B84", + "", + "", + "", + "", + "", + "", + "D17", + "", + "", + "", + "", + "", + "B96 B98", + "", + "", + "", + "A36", + "", + "", + "E8", + "", + "", + "", + "", + "", + "B102", + "", + "", + "", + "", + "B69", + "", + "", + "E121", + "", + "", + "", + "", + "", + "B28", + "", + "", + "", + "", + "", + "E49", + "", + "", + "", + "C47", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "C92", + "", + "", + "", + "D28", + "", + "", + "", + "E17", + "", + "", + "", + "", + "D17", + "", + "", + "", + "", + "A24", + "", + "", + "", + "D35", + "B51 B53 B55", + "", + "", + "", + "", + "", + "", + "C50", + "", + "", + "", + "", + "", + "", + "", + "B42", + "", + "C148", + "" + ] + }, + { + "line": { + "color": "rgba(226, 74, 51, 0.8999999999999999)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "Embarked", + "text": "", + "type": "scatter", + "uid": "6d96859b-28fc-40d4-a36b-26754e03a38b", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 121, + 122, + 123, + 124, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 148, + 149, + 150, + 151, + 152, + 153, + 154, + 155, + 156, + 157, + 158, + 159, + 160, + 161, + 162, + 163, + 164, + 165, + 166, + 167, + 168, + 169, + 170, + 171, + 172, + 173, + 174, + 175, + 176, + 177, + 178, + 179, + 180, + 181, + 182, + 183, + 184, + 185, + 186, + 187, + 188, + 189, + 190, + 191, + 192, + 193, + 194, + 195, + 196, + 197, + 198, + 199, + 200, + 201, + 202, + 203, + 204, + 205, + 206, + 207, + 208, + 209, + 210, + 211, + 212, + 213, + 214, + 215, + 216, + 217, + 218, + 219, + 220, + 221, + 222, + 223, + 224, + 225, + 226, + 227, + 228, + 229, + 230, + 231, + 232, + 233, + 234, + 235, + 236, + 237, + 238, + 239, + 240, + 241, + 242, + 243, + 244, + 245, + 246, + 247, + 248, + 249, + 250, + 251, + 252, + 253, + 254, + 255, + 256, + 257, + 258, + 259, + 260, + 261, + 262, + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332, + 333, + 334, + 335, + 336, + 337, + 338, + 339, + 340, + 341, + 342, + 343, + 344, + 345, + 346, + 347, + 348, + 349, + 350, + 351, + 352, + 353, + 354, + 355, + 356, + 357, + 358, + 359, + 360, + 361, + 362, + 363, + 364, + 365, + 366, + 367, + 368, + 369, + 370, + 371, + 372, + 373, + 374, + 375, + 376, + 377, + 378, + 379, + 380, + 381, + 382, + 383, + 384, + 385, + 386, + 387, + 388, + 389, + 390, + 391, + 392, + 393, + 394, + 395, + 396, + 397, + 398, + 399, + 400, + 401, + 402, + 403, + 404, + 405, + 406, + 407, + 408, + 409, + 410, + 411, + 412, + 413, + 414, + 415, + 416, + 417, + 418, + 419, + 420, + 421, + 422, + 423, + 424, + 425, + 426, + 427, + 428, + 429, + 430, + 431, + 432, + 433, + 434, + 435, + 436, + 437, + 438, + 439, + 440, + 441, + 442, + 443, + 444, + 445, + 446, + 447, + 448, + 449, + 450, + 451, + 452, + 453, + 454, + 455, + 456, + 457, + 458, + 459, + 460, + 461, + 462, + 463, + 464, + 465, + 466, + 467, + 468, + 469, + 470, + 471, + 472, + 473, + 474, + 475, + 476, + 477, + 478, + 479, + 480, + 481, + 482, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 491, + 492, + 493, + 494, + 495, + 496, + 497, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 505, + 506, + 507, + 508, + 509, + 510, + 511, + 512, + 513, + 514, + 515, + 516, + 517, + 518, + 519, + 520, + 521, + 522, + 523, + 524, + 525, + 526, + 527, + 528, + 529, + 530, + 531, + 532, + 533, + 534, + 535, + 536, + 537, + 538, + 539, + 540, + 541, + 542, + 543, + 544, + 545, + 546, + 547, + 548, + 549, + 550, + 551, + 552, + 553, + 554, + 555, + 556, + 557, + 558, + 559, + 560, + 561, + 562, + 563, + 564, + 565, + 566, + 567, + 568, + 569, + 570, + 571, + 572, + 573, + 574, + 575, + 576, + 577, + 578, + 579, + 580, + 581, + 582, + 583, + 584, + 585, + 586, + 587, + 588, + 589, + 590, + 591, + 592, + 593, + 594, + 595, + 596, + 597, + 598, + 599, + 600, + 601, + 602, + 603, + 604, + 605, + 606, + 607, + 608, + 609, + 610, + 611, + 612, + 613, + 614, + 615, + 616, + 617, + 618, + 619, + 620, + 621, + 622, + 623, + 624, + 625, + 626, + 627, + 628, + 629, + 630, + 631, + 632, + 633, + 634, + 635, + 636, + 637, + 638, + 639, + 640, + 641, + 642, + 643, + 644, + 645, + 646, + 647, + 648, + 649, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 659, + 660, + 661, + 662, + 663, + 664, + 665, + 666, + 667, + 668, + 669, + 670, + 671, + 672, + 673, + 674, + 675, + 676, + 677, + 678, + 679, + 680, + 681, + 682, + 683, + 684, + 685, + 686, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 695, + 696, + 697, + 698, + 699, + 700, + 701, + 702, + 703, + 704, + 705, + 706, + 707, + 708, + 709, + 710, + 711, + 712, + 713, + 714, + 715, + 716, + 717, + 718, + 719, + 720, + 721, + 722, + 723, + 724, + 725, + 726, + 727, + 728, + 729, + 730, + 731, + 732, + 733, + 734, + 735, + 736, + 737, + 738, + 739, + 740, + 741, + 742, + 743, + 744, + 745, + 746, + 747, + 748, + 749, + 750, + 751, + 752, + 753, + 754, + 755, + 756, + 757, + 758, + 759, + 760, + 761, + 762, + 763, + 764, + 765, + 766, + 767, + 768, + 769, + 770, + 771, + 772, + 773, + 774, + 775, + 776, + 777, + 778, + 779, + 780, + 781, + 782, + 783, + 784, + 785, + 786, + 787, + 788, + 789, + 790, + 791, + 792, + 793, + 794, + 795, + 796, + 797, + 798, + 799, + 800, + 801, + 802, + 803, + 804, + 805, + 806, + 807, + 808, + 809, + 810, + 811, + 812, + 813, + 814, + 815, + 816, + 817, + 818, + 819, + 820, + 821, + 822, + 823, + 824, + 825, + 826, + 827, + 828, + 829, + 830, + 831, + 832, + 833, + 834, + 835, + 836, + 837, + 838, + 839, + 840, + 841, + 842, + 843, + 844, + 845, + 846, + 847, + 848, + 849, + 850, + 851, + 852, + 853, + 854, + 855, + 856, + 857, + 858, + 859, + 860, + 861, + 862, + 863, + 864, + 865, + 866, + 867, + 868, + 869, + 870, + 871, + 872, + 873, + 874, + 875, + 876, + 877, + 878, + 879, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 888, + 889, + 890 + ], + "y": [ + "S", + "C", + "S", + "S", + "S", + "Q", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "S", + "S", + "C", + "S", + "S", + "Q", + "S", + "S", + "S", + "C", + "S", + "Q", + "S", + "C", + "C", + "Q", + "S", + "C", + "S", + "C", + "S", + "S", + "C", + "S", + "S", + "C", + "C", + "Q", + "S", + "Q", + "Q", + "C", + "S", + "S", + "S", + "C", + "S", + "C", + "S", + "S", + "C", + "S", + "S", + "C", + "", + "S", + "S", + "C", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "S", + "C", + "S", + "S", + "C", + "S", + "Q", + "S", + "C", + "S", + "S", + "S", + "C", + "S", + "S", + "C", + "Q", + "S", + "C", + "S", + "C", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "C", + "C", + "S", + "S", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "S", + "S", + "C", + "S", + "S", + "C", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "Q", + "S", + "Q", + "S", + "S", + "S", + "S", + "S", + "C", + "C", + "Q", + "S", + "Q", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "C", + "Q", + "C", + "S", + "S", + "S", + "S", + "Q", + "C", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "Q", + "S", + "S", + "C", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "C", + "S", + "C", + "S", + "Q", + "S", + "S", + "S", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "Q", + "S", + "S", + "S", + "Q", + "S", + "Q", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "Q", + "S", + "C", + "C", + "S", + "S", + "C", + "C", + "S", + "S", + "C", + "Q", + "Q", + "S", + "Q", + "S", + "S", + "C", + "C", + "C", + "C", + "C", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "Q", + "S", + "S", + "C", + "S", + "S", + "S", + "C", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "C", + "S", + "S", + "S", + "Q", + "Q", + "S", + "C", + "C", + "S", + "Q", + "S", + "C", + "C", + "Q", + "C", + "C", + "S", + "S", + "C", + "S", + "C", + "S", + "C", + "C", + "S", + "C", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "C", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "C", + "C", + "S", + "C", + "S", + "S", + "S", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "C", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "C", + "C", + "S", + "S", + "S", + "S", + "Q", + "Q", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "Q", + "S", + "S", + "C", + "S", + "S", + "S", + "Q", + "S", + "S", + "S", + "S", + "C", + "C", + "C", + "Q", + "S", + "S", + "S", + "S", + "S", + "C", + "C", + "C", + "S", + "S", + "S", + "C", + "S", + "C", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "C", + "S", + "S", + "C", + "S", + "Q", + "C", + "S", + "S", + "C", + "C", + "S", + "S", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "Q", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "C", + "S", + "C", + "C", + "S", + "S", + "C", + "S", + "S", + "S", + "C", + "S", + "Q", + "S", + "S", + "S", + "S", + "C", + "C", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "Q", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "C", + "S", + "S", + "S", + "Q", + "S", + "S", + "Q", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "C", + "C", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "Q", + "Q", + "S", + "S", + "Q", + "S", + "C", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "Q", + "C", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "C", + "S", + "S", + "S", + "Q", + "C", + "S", + "C", + "S", + "C", + "Q", + "S", + "S", + "S", + "S", + "S", + "C", + "C", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "C", + "Q", + "Q", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "Q", + "S", + "Q", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "S", + "C", + "Q", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "Q", + "S", + "C", + "Q", + "", + "C", + "S", + "C", + "S", + "S", + "C", + "S", + "S", + "S", + "C", + "S", + "S", + "C", + "C", + "S", + "S", + "S", + "C", + "S", + "C", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "C", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "S", + "S", + "C", + "C", + "S", + "S", + "S", + "C", + "S", + "S", + "S", + "S", + "S", + "Q", + "S", + "S", + "S", + "C", + "Q" + ] + } + ], + "layout": { + "legend": { + "bgcolor": "#FFFFFF", + "font": { + "color": "#666666" + } + }, + "paper_bgcolor": "#FFFFFF", + "plot_bgcolor": "#E5E5E5", + "title": { + "font": { + "color": "#151516" + } + }, + "xaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + }, + "yaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + } + } + }, + "text/html": [ + "
\n", + " \n", + " \n", + "
\n", + " \n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.read_csv('./data/Titanic.csv')\n", + "df.drop(['PassengerId','Name','Ticket'],axis =1,inplace = True)\n", + "df.iplot()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "linkText": "Export to plot.ly", + "plotlyServerURL": "https://plot.ly", + "responsive": true, + "showLink": true + }, + "data": [ + { + "marker": { + "color": "rgba(226, 74, 51, 0.6)", + "line": { + "color": "rgba(226, 74, 51, 1.0)", + "width": 1 + } + }, + "name": "a", + "orientation": "v", + "text": "", + "type": "bar", + "uid": "2e3d9744-2b65-4685-b965-f862b9d7d249", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "y": [ + 0.8124340223095343, + 0.5461914560261039, + 0.08300277610901052, + 0.28312700208209274, + 0.6903636899908739, + 0.5598929791391868, + 0.1612390876081471, + 0.2895040580889131, + 0.7507655490408013, + 0.12129394327066345 + ] + }, + { + "marker": { + "color": "rgba(62, 111, 176, 0.6)", + "line": { + "color": "rgba(62, 111, 176, 1.0)", + "width": 1 + } + }, + "name": "b", + "orientation": "v", + "text": "", + "type": "bar", + "uid": "cfbb1ba0-7431-434b-a276-d605dbd4bcac", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "y": [ + 0.2182805452641019, + 0.4801235354437672, + 0.016602039168859273, + 0.45833185093545203, + 0.9487388753878832, + 0.9623308011364322, + 0.8640635045346468, + 0.4030974352416672, + 0.8004723156889633, + 0.59331061307099 + ] + }, + { + "marker": { + "color": "rgba(132, 118, 202, 0.6)", + "line": { + "color": "rgba(132, 118, 202, 1.0)", + "width": 1 + } + }, + "name": "c", + "orientation": "v", + "text": "", + "type": "bar", + "uid": "d8615cf3-9434-4abe-a41d-49e964cc0486", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "y": [ + 0.601846632719446, + 0.8292379937869849, + 0.7939239667025446, + 0.2595759670354637, + 0.6298389642450534, + 0.034626682033806144, + 0.18958972688291165, + 0.2741363910189649, + 0.5795805490108112, + 0.8933981393928858 + ] + }, + { + "marker": { + "color": "rgba(101, 101, 101, 0.6)", + "line": { + "color": "rgba(101, 101, 101, 1.0)", + "width": 1 + } + }, + "name": "d", + "orientation": "v", + "text": "", + "type": "bar", + "uid": "dfba5749-f72c-4440-8416-a6b6df183c2c", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "y": [ + 0.8862592163978547, + 0.7766538278554469, + 0.9484420143300953, + 0.0888216461335215, + 0.24266351919777573, + 0.6640633672244758, + 0.4367390395662636, + 0.18671125867201643, + 0.7949151508385984, + 0.16239151063595447 + ] + } + ], + "layout": { + "legend": { + "bgcolor": "#FFFFFF", + "font": { + "color": "#666666" + } + }, + "paper_bgcolor": "#FFFFFF", + "plot_bgcolor": "#E5E5E5", + "title": { + "font": { + "color": "#151516" + } + }, + "xaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + }, + "yaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + } + } + }, + "text/html": [ + "
\n", + " \n", + " \n", + "
\n", + " \n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df=pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])\n", + "df.iplot(kind='bar')" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "linkText": "Export to plot.ly", + "plotlyServerURL": "https://plot.ly", + "responsive": true, + "showLink": true + }, + "data": [ + { + "marker": { + "color": "rgba(226, 74, 51, 0.6)", + "line": { + "color": "rgba(226, 74, 51, 1.0)", + "width": 1 + } + }, + "name": "a", + "orientation": "v", + "text": "", + "type": "bar", + "uid": "998ff020-295e-45de-b10f-96ae5ff4e4ec", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "y": [ + 0.8124340223095343, + 0.5461914560261039, + 0.08300277610901052, + 0.28312700208209274, + 0.6903636899908739, + 0.5598929791391868, + 0.1612390876081471, + 0.2895040580889131, + 0.7507655490408013, + 0.12129394327066345 + ] + }, + { + "marker": { + "color": "rgba(62, 111, 176, 0.6)", + "line": { + "color": "rgba(62, 111, 176, 1.0)", + "width": 1 + } + }, + "name": "b", + "orientation": "v", + "text": "", + "type": "bar", + "uid": "8c80a721-5d75-42de-9509-e809c90acfd6", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "y": [ + 0.2182805452641019, + 0.4801235354437672, + 0.016602039168859273, + 0.45833185093545203, + 0.9487388753878832, + 0.9623308011364322, + 0.8640635045346468, + 0.4030974352416672, + 0.8004723156889633, + 0.59331061307099 + ] + }, + { + "marker": { + "color": "rgba(132, 118, 202, 0.6)", + "line": { + "color": "rgba(132, 118, 202, 1.0)", + "width": 1 + } + }, + "name": "c", + "orientation": "v", + "text": "", + "type": "bar", + "uid": "45db9997-bdc2-47ab-8045-b4e1c02583e4", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "y": [ + 0.601846632719446, + 0.8292379937869849, + 0.7939239667025446, + 0.2595759670354637, + 0.6298389642450534, + 0.034626682033806144, + 0.18958972688291165, + 0.2741363910189649, + 0.5795805490108112, + 0.8933981393928858 + ] + }, + { + "marker": { + "color": "rgba(101, 101, 101, 0.6)", + "line": { + "color": "rgba(101, 101, 101, 1.0)", + "width": 1 + } + }, + "name": "d", + "orientation": "v", + "text": "", + "type": "bar", + "uid": "1a376731-8783-42d5-b03b-a3ff70e576e4", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "y": [ + 0.8862592163978547, + 0.7766538278554469, + 0.9484420143300953, + 0.0888216461335215, + 0.24266351919777573, + 0.6640633672244758, + 0.4367390395662636, + 0.18671125867201643, + 0.7949151508385984, + 0.16239151063595447 + ] + } + ], + "layout": { + "barmode": "stack", + "legend": { + "bgcolor": "#FFFFFF", + "font": { + "color": "#666666" + }, + "traceorder": "normal" + }, + "paper_bgcolor": "#FFFFFF", + "plot_bgcolor": "#E5E5E5", + "title": { + "font": { + "color": "#151516" + } + }, + "xaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + }, + "yaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + } + } + }, + "text/html": [ + "
\n", + " \n", + " \n", + "
\n", + " \n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df.iplot(kind='bar',barmode='stack')" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "linkText": "Export to plot.ly", + "plotlyServerURL": "https://plot.ly", + "responsive": true, + "showLink": true + }, + "data": [ + { + "histfunc": "count", + "histnorm": "", + "marker": { + "color": "rgba(226, 74, 51, 1.0)", + "line": { + "color": "#D9D9D9", + "width": 1.3 + } + }, + "name": "a", + "opacity": 0.8, + "orientation": "v", + "type": "histogram", + "uid": "29874ff5-6305-47dc-b61a-cfeed78d41c1", + "x": [ + 1.3329690751799048, + 0.9934528077131506, + 1.9071389879282565, + 0.5442294349643784, + 1.3439125246660548, + 2.001797027824601, + 1.3049963324676328, + 1.555495709099994, + 2.559615971175563, + -0.11775875355915244, + -0.7241912064420439, + -0.27830451786145627, + -0.32104299492153054, + -1.2411694453695086, + 1.0847229211697138, + -0.3539259065531841, + 2.394119803010242, + 0.36681822538349007, + 1.405474282173671, + -0.10147655675070055, + -1.2170046762922082, + -0.8629935554384982, + 0.31179340456140725, + 1.8314409669921208, + 0.8196828805040729, + 1.4990939253354834, + 0.4075381400558389, + 0.6033718680299637, + 1.928747922353852, + 1.289016511869628, + 1.7408090327640684, + 0.9849068730364522, + 2.084025430759416, + 0.3945210931140172, + 2.522581372102988, + 0.9312451292678222, + 1.8709837018132045, + 2.4382457330620886, + 2.1277443259749385, + -0.34514561691962675, + 0.7495122247681851, + -1.0799831822437507, + 0.49492097476729513, + -0.9778163137835885, + 1.3956712490447791, + 1.8509541625062722, + 1.880946225132546, + 0.06915197459803146, + 1.8980048932884208, + 0.9291216285449799, + -0.16928447313284067, + 1.349558082629915, + 0.7524470090505228, + -0.6800563062003273, + 1.4364250696807674, + -0.987682125406776, + 0.12792206596012967, + 1.0484712070100928, + 0.9246358742712015, + 0.856279444088282, + 0.40342627092471417, + 0.5328681235286934, + 1.147332636006433, + 0.5522097332071241, + 1.974329902565903, + 0.8211301914000347, + 1.9199868425791795, + -0.6307777002252346, + 2.245421646155666, + 1.3335004309223644, + 2.6991081355497837, + 1.9401843575939717, + 3.3090229604908483, + 1.1596723936039703, + 0.2229135630782908, + 0.40472362648655313, + 2.8247208789028457, + -0.04322357270483046, + 0.5694365597070294, + 1.5997684454794072, + 1.0995746418440984, + 2.857297397834177, + 2.0082453327224865, + 2.8145619953324053, + 0.7861340323749482, + 1.8653198691721462, + 1.0018850372245485, + 1.1319826031501758, + 1.1285898012263658, + 1.8187265104651789, + 0.004301434957381334, + 2.2151601953460056, + -0.42584614499473483, + 1.5041404958974278, + 1.3110194584059385, + 0.8043188109839272, + -0.17432643153532612, + 1.6833078522780878, + 2.429812580756972, + 0.6887890452522369, + 0.6620951399959609, + 0.5785633101067877, + 1.455011304808193, + -0.02221354621216065, + 1.7676159681657388, + 0.38519386702127256, + 1.5137826179028735, + 2.0211184210731235, + 0.10407636512204244, + -0.1194249483800287, + 1.6075165731174699, + 1.0398389570776254, + 2.5071002118768773, + 1.7602147300682118, + 0.5930484300036523, + -0.5388046709204537, + 2.976268615383432, + 0.45818918304171363, + 0.029385043144156353, + 1.955541507549512, + 2.4994354347602865, + -0.1777830287088229, + 0.7514619047554308, + -0.4942266468226235, + 2.165363543321611, + 1.1644510740669967, + 1.491321148288805, + 1.187508231029254, + 0.005073129111245245, + 3.099438466600506, + 1.5968999523474317, + 1.0513068330412472, + 1.5926060478946398, + 0.7025363603723163, + -0.7913471890241153, + 3.332684599197269, + 1.1044462816050122, + 2.719685780908817, + 1.7292115736671934, + 0.4331686070052131, + -0.3955156752006699, + 1.7405263768984347, + -0.805572823399284, + -1.117048960500671, + 0.1905783485228999, + 1.0103813233907208, + 1.592822737252113, + -0.47411594787428535, + 0.8459985853464549, + 2.721612320480187, + 0.9158773629079071, + 0.6419198606243662, + 0.22105142793555876, + 1.034538714821043, + 1.7064566898473528, + 2.024166547003868, + -0.7428477024905951, + 1.693920834196471, + -0.2526969301146633, + 0.9560554214951753, + 3.5674901861004265, + 3.3385519827316616, + 0.41820866157715486, + 3.4164317542292317, + 1.0758476441449762, + -0.22679627850535966, + 2.6403917933447723, + -0.45545411511425815, + 2.342161309929705, + -1.1577755801472245, + 2.1291958919120484, + 1.9949294431722768, + 1.8523558870921717, + -0.7790269098296274, + 0.03316439899789125, + 2.13626577390787, + 2.0611708741873267, + 0.2979393744686283, + 0.7571051378898129, + 1.9571736693596316, + 2.10119695868452, + 0.9956117852270554, + 0.08526147593069566, + -0.26542533707315896, + 1.117891142709071, + 0.8245823552490161, + -0.413028535389137, + 1.1391215819246154, + -0.826686010349188, + -0.7555774901057595, + 0.33591038869075185, + 0.5503011973977783, + 0.7909549344436237, + 1.1050320690129969, + 2.200645006191026, + 1.5521883608208977, + 1.8104156609625797, + 1.9134895607435505, + 0.2845931268822136, + 2.8593279781521623, + 1.1667343857790042, + 0.9632840054804918, + 1.2334047763732041, + 1.6937950960361046, + 1.02179399847153, + 0.6373207487227253, + 1.462870440305627, + 0.6392970653353548, + 1.2362011869205793, + 1.0888777262400602, + -0.40471809313370044, + -0.9887626309238677, + 2.6397669916786857, + 2.3955367911986545, + 1.292547478953757, + 1.0196031947824942, + 1.0062172486348948, + 0.1879274562645794, + 1.087260737330922, + 1.1765377270738955, + -0.5679321103861019, + 1.7439092844802033, + 0.7490852311510112, + 1.2068372026299683, + 0.9932123769672075, + 1.3012791494743705, + 0.19104736088745022, + 2.4001559767363787, + 2.0181580326641457, + 1.74311961850024, + 2.619910544724021, + 1.4220600329487671, + 0.5758426643036082, + 2.469310876299522, + 0.17817275865783477, + 1.318940695579451, + 0.3884114619768054, + 0.7932112203215839, + 2.33172279348379, + -0.010333269191411087, + 0.36379871955587806, + 1.219065275375844, + 0.38639775389258213, + 0.6097455279552177, + -0.3887356052328683, + 1.4056205671779816, + 1.9386493701337093, + 0.039612329357727294, + -0.0755843976528987, + 1.2723420695196697, + 2.050902817216186, + -0.4471686400298276, + 1.2525420375721994, + 1.1193821268418156, + 0.8459424292358338, + 0.8551675393110975, + 1.0546495597553305, + 0.05906886698984459, + -2.139453131204188, + 0.9518295019109873, + 1.419059776901722, + -0.10203597026102162, + 0.4491640156144926, + 0.23481734566771617, + -0.21008613742886806, + -0.4563417981694231, + 2.7147732751201534, + 1.3306772498084987, + 1.82818477461961, + -0.04959990319851837, + 0.6398891592669097, + 0.34674627495689103, + 0.30296998589930124, + 1.9795819519196534, + 1.0869054621357293, + -0.43635138267433105, + -0.1201054995248989, + -0.9944802247330324, + -0.03527718631415655, + -0.047263701499066, + 0.2833076812186103, + 0.9088589507703525, + -0.029539165817070945, + 0.08858387154718128, + -0.14335405559920966, + 2.0696339381934212, + 1.6469948297202626, + 0.8915204109754487, + 2.220102168122761, + 2.086920856807672, + 2.860295046036566, + 0.9360881397570945, + 1.1460977717863816, + 1.3675895026963436, + 1.4803436522441644, + 0.9227715062591089, + 1.4370349426361833, + 1.331134241121074, + -0.29361309354888077, + 0.199959734986201, + 0.22425635296851842, + 0.18730864621448085, + 0.9399184858315256, + 2.5408526082076737, + 1.7397523191049915, + 0.5018759495316172, + 1.3567279006907618, + 1.9553152863860277, + 1.1545717532384192, + 2.9520715639277944, + 1.531773389148197, + -0.2010701613736896, + 1.150187742825341, + 0.7808799070540611, + -0.635411210119472, + 3.301181596190908, + 1.7555069216966794, + 1.1919699232912533, + 0.7630929476598803, + 1.7463533583581328, + 0.05690157340048563, + 0.9743499021762158, + 2.2499964620342805, + 0.7566472078167801, + 2.50296582013177, + 2.0718817931770768, + 0.5223852559918124, + 1.6959763928750997, + 2.0265194084688987, + 1.6082896745585384, + 1.8273217177574548, + 1.0128475313129537, + 0.440308219685536, + 0.4477940141483665, + 1.4618742899216404, + 0.7561365106933857, + 2.458734734910496, + 0.881963343487978, + 1.3700641903557385, + -0.8237831913237852, + 0.6421284494250303, + -0.02005772965617214, + 0.5017776809511023, + -0.23346482906141452, + 1.7289219802001368, + 0.2522944504638891, + 1.7652784744158811, + -1.0378166746860709, + 0.7011833356842176, + 0.8929988332581514, + 1.4133250685157184, + -0.08437000726331134, + 0.4336644984323912, + 2.3878168060102696, + 1.976453843814447, + 2.5812987927487185, + 1.3985646758169108, + 1.6610884886096975, + 1.8037642045007647, + 2.3736758751501954, + 1.2453544545433413, + 2.311247165373924, + 1.8845932278836246, + 0.3658192374491801, + 0.35209318150821567, + 0.7209764393610824, + 2.9959991445992262, + 3.0437376009701675, + 0.8702844138858805, + 2.637497537843431, + 2.6271152446569603, + -0.031728606547168914, + -0.45490689524784655, + 1.2616792099290166, + 2.034305335134876, + 1.650321662536467, + 1.9945169488812322, + 1.8082126747420633, + 1.8721335037962512, + 1.7379484683408488, + 1.1814948178245377, + 2.012297465622793, + 0.28670988947638754, + 0.38022741905965074, + -0.3751320302918051, + -0.3112715521352003, + 2.2265094371898693, + 0.2520871241718131, + 0.9845226902378614, + 2.674311770777985, + 0.4890505580198736, + 0.5775779454105567, + 2.3312555621731113, + 0.3224043593760566, + 1.185349982361598, + 2.271697241932778, + 2.033716382215623, + 1.6309189211307533, + 2.1636904151916143, + 0.554452415140557, + 1.1043265417573993, + 0.2836361465322569, + 0.2008659437124054, + 0.1285500946142566, + 2.3145135282460747, + 0.8576183796071613, + 1.5704980746721489, + 0.9832909285062253, + -0.6474595975938577, + 0.9044159008619158, + 1.941754645484886, + -0.033944343219320716, + 1.0633322445078959, + 0.18719184002009193, + 1.8756944512536466, + 1.9598034855200153, + 2.394506736997849, + 0.9758139724598185, + 0.33854017041079654, + 1.8258613622870299, + -0.0433608726040684, + 3.4533248944069967, + 0.5326500132399954, + 1.4936081807964006, + 0.660712431686832, + 1.127136812192029, + 0.2964744713793338, + 1.811546230808144, + 0.018031119328122402, + 1.9214668952018825, + 0.7463882657002563, + 1.3283898198582538, + 3.3854355807472905, + 0.6078330401875092, + 1.2514513968341563, + -0.5444637857863774, + 1.007034195214029, + 1.1455596279033196, + 2.2604658859043973, + 0.3739822306662365, + 1.4342973497750897, + -0.5334742868583529, + 1.417206543800968, + 0.17341485496265163, + 1.2894975652148226, + 0.6754696810844969, + 0.45083749630460634, + 2.426668496845733, + 2.0618680445109687, + 1.544438601082207, + 0.9207936097311398, + 0.6142644607923877, + 1.4877007829600197, + -0.08814730419070016, + 2.4857519821646337, + -1.0315759388665153, + 1.6243342932276885, + 2.8235372995139283, + 0.20488645366801184, + 1.4428070753090436, + 0.7374405581127499, + 1.938517556706953, + 0.15535037845167432, + 1.6911056054740388, + 2.045021824943677, + 1.8575859843976845, + -0.45004818501594146, + 0.08163772070504671, + 0.39600458859458154, + 1.6010617766123292, + -0.38715508536680954, + 0.9227722257013495, + 0.8805985412410976, + -0.14140582073382402, + 0.7555797947397834, + 0.16517699947987097, + 0.513307789398214, + 1.5418887563940784, + 0.9684622250715409, + 0.10721372278331553, + 1.4220120643910963, + 2.6577288550809417, + 2.9893463724423155, + 1.1396933771412108, + -0.06735981463996499, + 0.29151772106547613, + 1.239868453251759, + 1.0345854437475934, + 1.951342435814046, + 0.16668093645449888, + 1.0495679109054756, + -0.3127628626676848, + 1.897702987394022, + 0.4527597459079282, + 2.4114392772266644, + 0.33438599704789806, + 1.4260170543014636, + 0.25787362372524725, + 0.045114437040494115, + 0.8600721906046923, + 2.4276618617745624, + 1.621401386713704, + 2.716799914828501, + 2.57470613574566, + 0.9231778813210654, + 0.5556765814189947, + 3.4775176080413104, + 2.306454712509682, + -0.31370049021016166, + 2.2334724872965395, + 0.6812889963777375, + 1.6301955566751494, + -1.4202408335954115, + 1.4743452133568846, + -0.534305991327946, + 1.0142897227372683, + 1.8524023909258225, + 0.43859583340571684, + 1.3118995564811944, + -1.5173344479510056, + 1.396751761934158, + -1.3339126462854578, + 2.0195733672567444, + -0.816126064764745, + -0.4875782689297361, + -1.2324594105758488, + -1.056246499899486, + 2.462514994100858, + -0.1263281985528606, + 1.1909444023158373, + 1.4279560016954762, + 2.9444194986251615, + 2.599079720001102, + 1.5403067371765538, + 0.31329723422796185, + 0.9276367058975565, + 1.1187273516648544, + 2.4862822534315145, + 2.8161621508043218, + 0.9552078089658527, + 1.3341173713711918, + -0.4870675261360369, + 0.600725384689877, + 0.4025426515689684, + 1.2811601466611566, + 0.49282573140987584, + 4.154835008142831, + 0.9462360561725702, + 0.6736290220844081, + 3.1280628695454173, + 1.099777888917504, + 1.3568223245475783, + 0.6214863643497109, + 1.6683761228908423, + -0.17069936654315843, + -0.31008121551991374, + 0.7238335937634062, + 1.148466865922271, + 0.6828738847760771, + 0.86670570440369, + 0.37189446160601713, + 2.0933579932947284, + 0.8530219032943955, + 0.2800405494361936, + 0.39494798706155954, + 0.8452187956780655, + -0.12224631626668625, + 0.6132885689571049, + 0.5343077094667008, + 1.3823578878702993, + 2.197642894262451, + -0.1319327837246025, + 1.5394706625683536, + 1.261351512886342, + 0.774713715657402, + 0.7666212602837974, + 2.365126544116497, + 0.5501040614531193, + 1.0918530292596007, + 2.2454052906980424, + 1.0818396919648219, + 0.14154386702434374, + -0.00015778752049078193, + 2.322756093628618, + 2.5612505823346225, + 1.3436602818387982, + 0.26295685271432245, + 1.4742451740624563, + 1.2912762934414137, + 0.5941528133693317, + 1.564038182220528, + 1.3672276370526169, + 0.014093325228106579, + 0.34324085777471847, + 0.268000032458817, + 2.067870380471242, + 0.165504172591459, + 1.5706790145337775, + -0.09259219880275316, + 0.36762545913756106, + 1.0049757843463776, + 1.0819323076641039, + 0.4891967735700071, + 0.4921029710071654, + -0.7000319602012919, + 1.4976283881726287, + -0.1407218628269693, + 1.4951584860706117, + 1.547381047403081, + 0.3930354134115186, + 1.555403727502359, + 1.671703132562641, + 1.0929539963405808, + 1.5314267689825403, + 1.6293191274096692, + -0.215958786701415, + 1.11003999290082, + 0.2846244343834534, + 0.48909152860792293, + 1.042095602543665, + -0.6055550790179483, + -0.5072004777641963, + 2.3276504650789303, + -0.11354359235422229, + 0.8152004429550259, + 0.32527836274329625, + 0.885885710397814, + -0.8512059644661547, + 1.3145371718253747, + 0.821538432105072, + 1.5540637705308924, + 2.925075044410333, + 0.9415680713166985, + -0.4072309821059843, + 0.9026795070618969, + 0.2826282800816239, + 0.42020430304663736, + 0.7351449050099746, + -0.06680422308770706, + 1.2095969275894878, + 2.1657667399183334, + 0.7451713143807392, + 0.3974882302985495, + -0.15106872113473702, + -1.278374756507287, + -1.2990103328307816, + 2.6362173458137135, + -0.7213208777316948, + 1.5396145024436207, + 1.0099139572317128, + 0.9912559640012705, + 0.594441534730569, + 1.4370115660913392, + 0.3980931304319336, + 0.8426145525233691, + 0.26871451624365494, + 0.8539957953325199, + 0.6537995578817412, + 1.5022944222999908, + 2.772209066733539, + -1.2120215583106324, + 2.525859845389916, + 0.5654344437754979, + 1.2756184548411307, + 1.734131409737175, + 1.8507809635106947, + -0.17443047955066504, + -0.28561295579752666, + 1.7780003291829938, + -0.3285604702560172, + 0.572380958034534, + 0.044484118343143364, + 0.7947798099107146, + 0.46023192940755564, + 0.6047291010360375, + 1.8643674714546576, + 0.22882806303864622, + 1.0930654168806335, + 0.9604928600762586, + 1.0276389132342905, + 1.5830884509646281, + 1.4621170273738573, + 1.3475811736492684, + 0.557318481529363, + 1.6595007158024673, + -0.1709347117405804, + 0.6297932907949926, + 0.01180154464992822, + -0.31141914097572165, + 0.5914970158079336, + 0.227347894293065, + 2.347366428455887, + -0.2036789752942194, + 0.4882558533229234, + -0.21797724639546057, + 1.162644149448964, + 0.3820462845047652, + -1.7361822221149512, + -0.674677645619155, + 1.0637531019883817, + 2.9783260220330963, + 0.2205466872643117, + 1.4067412912846597, + 0.47029904898118424, + 0.22821186839274354, + 2.3280442279081406, + 2.5817340945524094, + 2.9668987434329828, + 1.4515869094824516, + 1.32253489004984, + 1.730823793871123, + 2.3703874802556553, + 1.7767372197374272, + -0.2319214503796827, + 0.15915262021239263, + -0.5242250663137831, + 0.13953416018241172, + -0.25824804484443664, + 1.156465557649623, + 1.0448201703644924, + 1.687016864481231, + -0.32275953209895647, + 0.028951738949378636, + -0.9568738388149778, + 0.46841196613899305, + 1.471245830348828, + 0.12936710611481428, + -0.680996355052166, + -0.11232982053389473, + 0.19390570539035223, + 1.9196142395752673, + -0.01902359034556289, + 1.574194578221506, + -0.19819017483093737, + -0.3640339397753194, + 0.8358003425334088, + 0.07762411316420814, + 2.464140203665096, + 1.8967764112710948, + 0.40929116822248035, + 0.7311824114305449, + 1.9122742545496212, + 1.2238705031224884, + 1.068426570330242, + 1.7892928283473561, + -1.9137595232055387, + 1.0266755762083297, + 2.0444022852153556, + 1.847570225207737, + 1.1181996723565713, + -0.07249662574899207, + -0.5265052121370635, + 0.6713538951728406, + 2.036493065879591, + -0.0936699806478627, + -0.4606867087262654, + -0.6366464517918624, + -0.278832345785063, + 1.1266567445800906, + -1.5721965906684394, + -1.185626497094605, + 2.9247289478756677, + 0.3358519825088714, + -0.4146195470793399, + 1.4750499198745395, + 0.052429423971117495, + 0.9762222191733115, + 0.0780596556272336, + 1.4039735990637556, + 0.17478489785419637, + 2.03723951123282, + 1.2362156459393767, + 1.108730284691835, + 1.427062838513669, + 0.4973932530284326, + -0.3264013927577707, + -0.5835711968238753, + 2.248690436671816, + 1.8544017678751537, + 0.11873174462965363, + -0.5016520209491919, + 1.1244746080068153, + 0.6149506064514294, + 1.531722034858164, + -0.44769390222855443, + 0.2723945421020657, + 2.312668164071585, + 1.6477512642529626, + 0.9744630964726541, + 0.07044918214277063, + 0.09653522350228294, + 2.0904677147784456, + 0.7475123048573902, + 1.0450179590280453, + 0.44771098728443914, + 1.3144850218086146, + 1.7090596170465902, + 0.5242742287506933, + 0.778277252087147, + 1.5401773172983355, + 0.9915852661197827, + -1.1217670343368993, + 0.7985639654273621, + 0.023084834127833576, + 0.769379345555208, + -0.020501116392423357, + 0.5594220239607873, + 2.047336149048686, + 0.7846021565123104, + 0.5341404151286527, + 1.454687115540014, + 0.655377542873588, + 0.29579211263875427, + -0.5736559107716299, + -0.04072262439119956, + -0.272143795538202, + 2.7484404386970294, + 0.8801097684499055, + 0.608183277040092, + 0.8263386776442985, + 1.474696240927292, + 1.016573916003097, + 0.6146927220153184, + 0.16238729585195266, + 0.454318235693008, + 0.9628991464788851, + 0.9284594160435424, + -1.7484107366416022, + 2.1559152602843925, + 3.681783486152186, + 0.7254556713438638, + 1.5867726122283083, + 2.3055615884356877, + 1.4578562167162388, + 0.8310808105396534, + -0.1810071053228215, + 2.8091817497946554, + 0.20312305092627214, + 0.20751175143748157, + 0.8149901480102264, + -0.3369244209079951, + 0.2266160062955216, + 1.3892066402518348, + 0.18133033299880563, + 1.5163916555114434, + 2.236345426219124, + -0.6775945070274092, + 1.9894966617507515, + 1.0023503934048266, + 0.38601826590960175, + 1.5638908475833464, + 0.14801438566733394, + -0.06752223188001971, + 0.3682966498247945, + -0.050119236220561136, + 0.44648094448136955, + 2.2825093929673503, + 0.5607827252781792, + 2.778484723157452, + 0.9136152621597389, + 1.2455309929256309, + 1.9592964450210775, + 2.5281600556225348, + 1.6446660151298882, + 0.5176836395489488, + 1.9213356304490845, + 1.587043885967324, + -0.33991176380084864, + 0.9490469147296008, + 0.32532702638950006, + 1.0457907344738968, + 1.424853020720314, + 0.6374327488675138, + 0.8601353784279994, + 2.5643303616789277, + -0.3807608187401068, + 0.557154764921614, + -0.0364367075332197, + 2.5752732379371226, + 1.4427462429470177, + 1.313441900293621, + 0.3543378203980313, + 0.7818564504817703, + -0.8888830137056323, + 1.305599473378667, + 1.0461302681342957, + 0.9552659282744612, + 2.616970494248071, + 1.2899418985028892, + 1.1504355025839796, + 2.1054745583940386, + 1.825247561136335, + 2.5735096017310264, + 1.9523981217982198, + 0.3060113316430144, + 1.0472060158739125, + 1.0848873756702986, + 0.5986347992732481, + 2.4532574824163724, + -0.054306115029534974, + 1.0954174741096228, + 3.5312350618536597, + 1.1606818352558566, + 0.5361902956947576, + 1.2304626037030943, + -0.3612073674520955, + 0.7158642542618849, + 2.103268131346857, + 2.2648040761932497, + 0.7696560249031568, + 1.0665180749580898, + -0.39898007843964023, + 1.2963248860823315, + -0.6072735031261678, + 1.4353581490028433, + 1.2520326703266094, + 0.8939892826439352, + -0.3022184610500436, + 0.9198972999802617, + 0.08383259863809045, + 1.6212000698960443, + 1.2285511464590482, + 0.6809771813608722, + 0.36146764083916294, + 1.2490937520835699, + 0.09282003030509833, + 0.7102346963455755, + 1.185854318882442, + 1.0006917013569747, + 1.639602895069969, + 1.2688824669806291, + 1.7903074979348237, + -0.5546674499226021, + 1.1256553303180712, + -0.961237539699533, + 1.0439289435741073, + 0.9568312972828789, + -0.0796321773362274, + 0.0015225236729580205, + 1.014183573886034, + 1.5463960581323395, + 2.116868084583384, + 1.3561827076135837, + 1.1961808643645064, + -0.7848804344286244, + 2.0663265996616413, + 0.21390212399176078, + 1.2136377994140268, + 0.37591017148242944, + 0.7474125433202963, + 2.446617029316055, + 0.019957133890552425, + 1.7485308396225214, + -0.0021583746942028803, + 1.8122496043925862, + 0.9224584876588832, + 1.110125667696248, + 1.8912389790145923, + 0.4818211926716621, + -0.22998807125103848, + 0.7802622406386124, + 1.630556772066808, + -0.527784053879288, + 0.9664096628745135, + -0.6641266728539088, + -0.3754831189508927, + 1.4394208174952232, + 0.9576938682171917, + 1.4708725702997798, + 1.1148805290738861, + 0.434808803987078, + 1.7394648213674846, + 1.139008940000606, + 0.5220153620689738, + 0.785180685372413, + 0.7832300154701908, + 1.6828266490805337, + 1.013668652925606, + 2.619593575053115, + 2.117303417073036, + 0.9807826881049425, + 0.005810118830259392, + 1.7494187946299784, + 1.2546171440043088, + 1.4706947517886837, + -0.6153484473307211, + 0.7203689296073856, + 1.1223094717877664, + 0.5587700256239521, + 0.7630801408201315, + -0.10894784445518768, + 1.601606691925611, + 1.8171777073147477, + 1.3600116622530622, + 0.8464817949080213, + 0.6688384855171796, + 0.5776154798515467, + 0.6852717372796, + 0.48838175571365816, + 1.6728018378027976 + ] + }, + { + "histfunc": "count", + "histnorm": "", + "marker": { + "color": "rgba(62, 111, 176, 1.0)", + "line": { + "color": "#D9D9D9", + "width": 1.3 + } + }, + "name": "b", + "opacity": 0.8, + "orientation": "v", + "type": "histogram", + "uid": "9c21e8e1-320f-46a6-b4a2-6571f095d5b9", + "x": [ + 0.418787685480195, + -0.2709618243630867, + 0.33145929494678433, + 1.1652026897074772, + -1.0422721746055206, + -0.3240789947369877, + 0.19143958927924185, + -0.13366535717949202, + -0.8461675758259477, + -0.43728191715363046, + -0.4170473202714667, + -1.9873700074450185, + 0.6331350179616878, + 1.6134310124709101, + -0.5077087641293431, + -0.5856493274537358, + -0.700631206406668, + 0.993729764326823, + 0.14077726655826234, + 0.4672928376148286, + -1.1271009857393353, + -1.3721893474136604, + 0.0793751636627722, + 1.3545552768723725, + -0.9783192848615881, + -0.5714045587139179, + -1.4851116586256028, + 0.9507215402942257, + 0.06439116432603123, + 0.061165228001982486, + -1.8584550367107655, + -0.023280305346928806, + 0.8671554336867074, + 0.06359527114306214, + 1.1084397877283882, + -0.1734789178703991, + 1.2888419793681263, + 0.048928743758915504, + -0.0967117775358158, + -0.03170112980879757, + 0.5580487625163053, + -0.243991360210114, + -1.61499733304362, + 1.692661865171051, + 0.29672099099542415, + 0.3977096103459429, + 1.3865963969093482, + -1.8475342607136147, + -0.44394294902512477, + -0.6452451974402661, + -1.8784449722395868, + 1.1130432062381368, + -0.12368237734415824, + -0.2868108907314114, + -0.24736227456118173, + -0.16221241389783875, + 1.2486503356265586, + -0.9956155744309497, + -0.788835888721748, + -0.5070082174720231, + 1.0637009892551577, + 1.9128836492460632, + 0.14317806732377228, + 0.820342264578683, + -0.10862206083926797, + 0.07333324516271686, + -0.8995311564984119, + 0.17710692652324017, + 0.06185598237882413, + 1.0129550329421009, + -1.227916231000987, + 0.19324138435674434, + 0.13573299342243644, + -1.2647730537548731, + 1.1166914427467842, + 0.7819819822664044, + 0.9413894304991164, + -0.05061685266923403, + -0.8745612503342204, + -0.25856947218662396, + -0.5337458845828266, + 0.4087278569718949, + 0.6854905150757236, + -1.5258133440085992, + 0.30059792054351314, + -0.5345029695400308, + -0.29956047136579883, + 0.18446406862570885, + 0.4440257744505358, + -0.7714771739370028, + -2.244895736888063, + -2.0124555152362604, + 0.2224019963447019, + 2.596807805300148, + -0.24277277245860918, + -0.5083934944063682, + -0.5353602769866499, + -0.24744983213688637, + 0.5995285371620154, + 1.2286655037828804, + 0.8147844619237035, + 1.1681225831910553, + -1.516076341776961, + 1.8476497606191036, + 0.443218909799185, + -0.07934036152214667, + -2.7215354108473115, + 0.4733309335777129, + 1.0248789311358895, + -0.7305378387193693, + 0.26500117954298946, + -0.38993225231312834, + 0.5948678064862388, + 0.4921641343938302, + -1.129790356802088, + -0.6033868264083175, + 0.5872164546872262, + 0.0790439743496942, + -0.24583161724797342, + -0.5836793370007994, + -0.31526327368070456, + -0.2638360033062881, + 1.0828697692916969, + -1.5944949717031494, + -0.5161408888167718, + -0.8814401662938137, + -0.8416029503137091, + 1.2629412239435902, + -0.7312728435638128, + -0.4394386376872609, + 0.2854338997417979, + -1.3751572088719373, + 1.3280376846882904, + -0.24138589623748016, + 1.0332074433757095, + 0.04310024958131238, + -0.06287320604759095, + 0.37703651613917194, + -0.08083689402792953, + 0.045568104090540955, + 0.3770196001040482, + -0.12537083563822635, + 0.9681252495184999, + -1.2052475303100458, + -1.6913776368230522, + 1.2523610506947211, + 0.17877025813443115, + -0.15997700075362667, + -0.6715903612404328, + 1.0748323873864236, + 0.2968800365706068, + -0.5274688217168537, + 0.8922201457676582, + 1.5589903998730463, + -0.9930539379314205, + -0.6930075934257983, + -0.5360627983587156, + 0.6944171987423002, + -0.6155768284015576, + 1.2413959519407585, + -1.079842442716387, + 1.1157806663773013, + 0.3260875181399141, + -0.46700371310560446, + -1.204737086783159, + -0.5191922348438669, + -2.125756858274038, + -0.32294671953511184, + -0.6257226348748677, + -1.114472478335565, + -0.9808842648983395, + -0.25221291541163315, + 0.7212811663511419, + -1.5872577577179767, + -0.9230615951138632, + -0.9519964467854548, + 0.5256071340107635, + 0.8298577110419489, + -0.6070019140458337, + 0.6026235073861825, + 1.6821961511243502, + -0.4784738303080697, + 0.8172970956540396, + 1.2588291758125678, + 1.5364143069424891, + 0.3845687728476331, + -0.6659291959432218, + -0.810460785770029, + 1.021533249165711, + -0.12851146642248526, + 0.6818218250800413, + 0.47342207612655735, + 1.5004924797550419, + 0.8139095622785082, + 0.008371382930064172, + -0.8833790493201799, + -1.7478475688684163, + 0.591538881438829, + -0.1364200623178889, + 1.5609985245981517, + -0.2754989073125741, + 0.30858364600058297, + -0.08195323609474021, + 0.27465540030340635, + 0.9728399041375552, + -1.1783743149090549, + -0.13899439946462985, + 0.07546333969019044, + -0.6879653322018149, + -0.17186821376276779, + -0.5495780577173639, + 1.6500913633408116, + 0.7713572930137882, + -0.005400794090533325, + 0.6280118595023121, + 1.1415677904285357, + 0.31815880884839526, + -0.7577975772887551, + 0.7532054203911119, + -0.668957378581893, + 0.2817817835652578, + 1.503277248971672, + 2.3027761510211713, + -0.0706484103413391, + -0.6612485280633718, + -1.189594196230902, + 0.40947752574929724, + 0.17417184173258773, + -0.9768210934108232, + 0.1358102375631824, + -0.1836946971399227, + 0.16345334957539115, + 0.34433536678217974, + -1.052975217026543, + -1.1862380061246793, + -0.08131595559706152, + 2.4323971443399772, + -1.4849070461821863, + 1.0302042052585363, + -1.017231004429944, + 0.24785664969812832, + 0.3961101344806547, + -1.0000138715329228, + -1.3092725000942504, + -0.9074876399518672, + 0.4113883125722335, + 0.4864110166589155, + 1.2370911435749679, + -1.1018564806266629, + -1.7143160732275067, + 0.17879712712435045, + 2.394068942590909, + 0.8166269991230833, + -0.37222282774872906, + -0.00015616404911137735, + -0.19951068866790278, + -0.4129452339309741, + 0.52488984230782, + 0.727491526114506, + 0.2402257509491279, + -0.7501845831316865, + -0.6571288768044474, + -0.28388035601910655, + -0.9397311441581535, + 0.25899799236784904, + -2.3803406982817825, + -0.21035816081443667, + 0.19916163353051933, + -1.8664417400532571, + 0.02801953724968088, + 0.0934519588169324, + -0.7605228940095243, + -1.119447976802649, + -1.460096318915856, + -0.2278474586651389, + -0.7365946760301387, + 0.5724924176482803, + -1.7612312758971558, + -1.2085260470024344, + -0.6193744015020802, + 1.6520486068140887, + 1.5597185032035934, + -2.4118809435643085, + -0.1480358353729759, + -0.9547348569101788, + 1.1920684138730537, + -1.5497737576694488, + -1.0024747218765895, + -0.2904066229383752, + -0.9602479752948413, + 2.6029471801667414, + 0.1251010547509165, + -1.8953419480176923, + -0.3123858345299776, + -1.3108535668090566, + -1.2339224316705089, + 2.19969940219249, + -0.02032500105100553, + 0.5368553266647165, + 0.22365361304307993, + 0.4157488598929266, + -0.42695578900777814, + -0.669237861069062, + -0.9363410222679005, + -0.9626773635977234, + -2.4591524653659067, + -1.294038899592998, + -1.4250359006487048, + -1.2536699768892245, + -0.06782290719938903, + 0.4168102248525576, + 1.1417138339304735, + 1.3062179574546626, + -1.523239158732737, + -0.3293754111362952, + -0.4933374577891373, + -0.7237752103914302, + 0.8540582095482201, + 1.2455272801075732, + -0.6435458661895516, + -0.6178409754941017, + -0.5143579256255802, + 0.8517988255161599, + -0.4596472917788118, + -0.10276412860524624, + -0.5166123254355787, + 0.3561078993702978, + 0.0812318947590707, + -0.09427775547580299, + 3.255537560533989, + -0.27903919349672496, + -0.7965666985748344, + -0.2878048755686412, + 0.7278532637267275, + -1.685877419652263, + 1.1052511377494159, + -1.5623844877966495, + 1.3735796772560758, + -0.5039811186229629, + -1.4328463482518259, + 1.1840447361999626, + 0.481543312066503, + -0.6664588427473745, + 0.525765149688898, + 0.23402895668482057, + 1.5140274508785447, + -0.3135303900937642, + -0.008556581367111167, + -1.1529536708883104, + -0.6248379962389599, + -0.0969430424220626, + -1.0953857383437482, + -2.037025186348084, + 1.3078873791162848, + 1.6610764084225544, + 1.2611384719367558, + 0.29036859757747296, + 0.30161884340835843, + -1.4046579100324679, + 0.006890084764590967, + 0.6269903468468669, + -0.5932601228239842, + -0.552198728002815, + 0.6588713617952721, + -0.40193650957409316, + 1.7921893814674645, + 0.504304210086928, + 0.363839505190498, + 0.8774164146542045, + -0.8458569340729989, + -0.08404060872716743, + 3.8421475866656793, + -0.44383546870162527, + -0.6352650369958742, + 3.0496453963514556, + 1.304512588118522, + 0.4234633699396975, + -1.3449124822953598, + -1.356184330489581, + 0.13236016781149648, + -0.6724079131173467, + -0.4684477558539806, + 0.5884420885930636, + 0.08447409906606639, + -1.5944724473299945, + 0.26003036803809687, + -0.9595654071922658, + 0.12050222712784829, + 1.1711099864958194, + -1.0976091713222642, + 0.03100649660349552, + -0.8394533375243287, + 2.15532408284139, + -1.7230660010221828, + -1.2291164409400805, + 1.0785189937471529, + -0.8218037699725091, + 0.6925964712517434, + 0.7772313369515149, + -1.1095267558939081, + 0.2677478791967363, + -0.3468463155341528, + -0.26430752165174926, + -0.6434608718468103, + 1.9230128120374037, + -0.23427515822462008, + -0.5073181190860052, + -0.5112362757592799, + -1.8587193767616335, + 1.5019401189776296, + -0.15514176200453564, + -0.9827791907487096, + -0.40851515606601846, + 2.1060935340410842, + -0.5448719295867955, + 3.5630683766987965, + -0.19998559656163845, + -0.4661602993475633, + 0.2820643745209609, + 0.781536908882202, + -0.2632807916135321, + 1.4478885725034534, + -0.7033898995354314, + 0.22027717889212473, + -0.3575053962365233, + 0.9822850809134142, + 0.7616036817967428, + -0.41940572604444193, + 0.12714334604295646, + -0.5400566028802715, + -0.44823113189180225, + 0.15338658862122415, + -0.2192868958063292, + -0.7325711902950343, + -1.1179602463168095, + 1.513409684929955, + 0.7373882453291212, + -0.4694317215634526, + -1.0178599071671521, + 0.9778390018398291, + 0.1010385335985752, + -0.8201626815910532, + 0.2561675476009742, + -0.8110634579898953, + -1.012981545840962, + -1.173252193920319, + 0.9789848130423443, + 0.4362378857704432, + -1.3344666718784866, + -0.1760149567618125, + -0.5661700737172216, + -0.7956810499112941, + -0.8902725959875484, + 0.7654615793932158, + -0.23489531160755453, + -0.41281537201118074, + -0.04438222023474211, + 2.3433836742692473, + 0.5705387086161177, + -0.21500080788566467, + -0.46393999998518215, + 0.3935039129705966, + -0.15086281551914185, + 0.1622981631126519, + -1.4430896523946304, + -0.11335963071333789, + -0.8382784706733394, + 1.2814138399815094, + 0.731105772535347, + 1.327586949481872, + 1.9084040312284605, + -0.015492494463633556, + 1.082353395315142, + -0.29626050809913435, + -0.5024009630371514, + -1.629346656698124, + 0.551999026698021, + -0.7816692783194269, + -0.38084174991158526, + -1.4785616055506134, + 0.11027682238779667, + 0.036750400753592795, + 0.12420646380869628, + -0.4436948873857931, + 0.3661898717178834, + 0.15620774549494199, + 1.0242850167311017, + -0.005764560019011012, + 0.3275680930921289, + 0.5569495229916234, + 0.05837925971448876, + -0.01515580714157201, + -0.3496943054677714, + -0.10976126087101234, + 1.5747227466433105, + -0.002806479832774908, + -0.5784224993072627, + 1.167738751476413, + 0.5213789297208011, + 1.455192000435926, + -1.1173220798708468, + 0.04033581938352424, + -0.6886918715111742, + -0.14205529229857322, + -0.7955007577295885, + 1.076905012192277, + -0.46056343703815705, + -0.6054756862766175, + -0.42383796357015385, + -0.8482827924650161, + 0.8853096263186524, + 2.4380744772999665, + 1.1571214778399417, + 1.1421074776911637, + 0.5475681863476566, + -0.3956447082205997, + -1.207070974086752, + -0.23409167475988094, + 0.971209659115885, + 1.0684308584173186, + -1.035272634335236, + 1.0194483947604003, + 1.0006003230447806, + 0.571369468002261, + 0.19673083481214448, + -0.08874217776885134, + 0.44281930051305113, + 0.16467359895948888, + 0.39364808398828605, + 0.19802629284561601, + -0.5259116223055965, + -0.6357970033622672, + 1.7172103310101186, + -0.12454592583725697, + -0.6898642678774403, + 0.32817088327707533, + -1.301616687680931, + -1.512215413950255, + -0.04135661697867483, + -0.8395458256052991, + 1.4881806410532805, + -1.7444057302953837, + 0.22989886934275572, + -0.7731333203219071, + -1.265935990546565, + 0.4503586885568462, + 0.11102171569712693, + -0.22213467841751358, + -0.43001773568841883, + 0.1609217778830021, + -0.05828876058161457, + 0.5724746550179329, + 1.209107165925333, + -1.6794716193201704, + 1.442559814763426, + 0.3056996299096459, + 0.3111189176438763, + -0.6616547010842478, + -1.0393436317672016, + 1.0173644027337092, + -0.35731288576829257, + -0.657151450834851, + 1.097221648445697, + -0.2953293220454711, + -0.08987407208321695, + -1.1106939841857473, + 0.7915894927292961, + -0.3133891035021998, + 1.2952868647385545, + 0.6491459769945469, + 0.558195591432017, + 1.0527858891366833, + 1.061734072554394, + -0.5994422199761839, + 0.21680795604686745, + 0.943226990917639, + 1.0838119420393952, + 0.18252569648385197, + -0.5739522005604952, + -0.13055882274980146, + -0.9295126971127804, + 1.3586997572327526, + 1.9318921770694018, + 0.15017829291333026, + 0.3960505357285804, + -0.2947079295150229, + 1.3161431971572497, + -0.8595165157757215, + 1.5283093015671971, + 0.28528558206780336, + 0.40656841493865653, + -0.041224086926142725, + 1.48498764792988, + -0.18708633620569504, + -1.0014696286277212, + -0.5758643920051347, + 0.8220551262163271, + -1.003814408594535, + -0.8735188872597438, + -0.8550257867575103, + -1.5544961062171507, + -0.662950820353276, + -0.41884777541595447, + -0.995065647299528, + 0.5945206571218035, + 0.16400464269787143, + 1.136333709530964, + -0.47061346461223597, + 0.13492571864518202, + -0.6613770472062275, + -0.8270552191741557, + 0.7928829169561545, + 0.26228537107866035, + 0.45426672788382505, + 0.5819257486472281, + 1.1069136236250612, + 0.07845590569607788, + -0.9161502442051305, + -0.9669312313614942, + -1.0524682042701976, + 0.47032846991675464, + 0.5744644060508738, + 1.973368226619261, + -0.3531247649155377, + 1.0853735031373957, + -0.3772851952128759, + 0.8371351996070892, + -1.1136097014780852, + -0.2164627907752484, + -1.3474710798851717, + -1.6433847056198714, + 0.9875391726471571, + -0.12559416908903837, + -0.6760530445908309, + 2.0030785412514036, + -0.16256493678898348, + -2.008604930026883, + -0.8035578482397294, + -0.6561089738565018, + 1.4546238208901905, + -0.39992013174901875, + 0.1517374168826484, + -0.2720033314830331, + -1.9459558273922282, + -0.46456390777640505, + 0.061205966142718185, + -1.5712623800563899, + 0.3740058987046719, + -1.8611575945445769, + -2.306687770181822, + 0.29525432697957205, + 0.4896648415015413, + -0.16367219986484574, + 0.08275019398651666, + -0.2718620290557272, + -0.6994805590323483, + 0.2949090053523475, + -0.2711326818106012, + -0.736447351869071, + 0.04999017590264953, + -0.42984043441513986, + 1.5426317363093913, + 1.4790642769874485, + 0.5177130990686856, + -0.17930584142794073, + -0.6925682461051197, + 1.0087934753898329, + 2.608123989800866, + -0.6274622907499278, + -0.15985230674492662, + -0.7525841244052632, + -0.047567657977629796, + 0.8410857242430667, + 0.23147888773184902, + 1.1059312871907994, + 1.3939451880315203, + -0.33878175531390403, + 0.23279675239290742, + 0.12776001243544396, + -2.304606007660467, + -1.1441487717006316, + 0.3206035087778298, + 2.0554807940040325, + 0.9367450908189183, + -1.084258978121954, + -1.3184508178526724, + -1.6697656425229488, + 0.9244439432384913, + -0.14450603987441393, + -0.6545206779180276, + 1.2004766881868796, + -1.020249792228486, + -1.3748005162813701, + 0.590041078060937, + -0.2759242081930868, + -0.25898094455502935, + 0.3064292641295118, + -0.1375157014301601, + -0.1795420927728246, + 1.8834733489439535, + -0.6456295782199507, + -0.2045386917759997, + -1.7600331989197966, + 0.5837196930960371, + 0.5588146607383377, + -2.290840796015283, + -0.7694613320605933, + 0.25496667553755004, + 0.11966700448476851, + -0.07255184944223039, + 0.38789706280827185, + -1.0662277206902488, + -0.2511069803182908, + -0.5947172056821056, + -0.23041682992932583, + -1.9556061791374615, + 0.8233009167150701, + 1.9150350432469925, + -0.9849729951128452, + 0.08455411639678118, + -0.4087749719971788, + 1.0204857869708879, + 0.5947825589452235, + 1.5274831879911797, + -0.6868379400868282, + -1.1255081735033956, + 0.9864765581018667, + 0.047521986557574884, + -1.2380794663069283, + 0.05155543446635255, + 0.616200627863241, + -1.1668628324791386, + 0.38401992242739164, + 0.1833945390650893, + 0.6084762617106929, + 0.010765290772657367, + -1.1602126573517293, + 0.7165719971917207, + 0.91725133843214, + -1.2563318393270424, + 1.7050465309241039, + -0.473385692370343, + -0.39770369807836436, + 0.49767859893092115, + -0.7822482836808126, + 0.871721882402747, + 0.8862525634135205, + 0.2145178895998001, + -1.6529043126836924, + 0.4419587364511257, + 0.37198495952350025, + 0.6415072000881303, + 0.936045895539896, + 1.5047399808573452, + -0.8551938352621324, + 0.03505149788016853, + -0.29174039372153626, + -1.6052728482357597, + 0.12345417773958701, + 2.4529573299118153, + -1.0378296036716614, + -0.5566672276296842, + 0.10536762087275392, + 0.040423591773687935, + 1.8802804110922398, + 0.34521289160000457, + 1.4099168322553692, + -1.391097262472594, + 0.6366082732865186, + 0.9500397952875969, + -0.7537188265945568, + 0.4768034751138586, + 0.5176193699205013, + -2.0848718142019362, + -1.1381433746288685, + -0.5094811719383929, + 0.7482028279400491, + 0.6644456988723484, + -0.1927943829449738, + -0.8420714993537847, + 0.11693300899363863, + 1.0011930900426707, + 1.1243329328049285, + -0.8621964486337423, + 0.718473224338317, + 0.5228939223399192, + -1.5377038182381622, + 1.0067252412262793, + 0.44230353620403584, + -1.683900641005433, + 1.0877972225459955, + 0.8232599368604925, + 0.1105365256360922, + 0.005277533084851288, + -1.4043171602741715, + 0.5110519577308156, + -2.0067446455912905, + -0.5871638337228183, + 0.9829265291664889, + -0.18444319567371398, + -0.7133421752592101, + 1.3749336233044187, + 1.14285961135254, + 1.6080182071612772, + 0.006989224588534783, + 1.6492210549643405, + -0.7122535220680793, + 0.8679540127836122, + 1.2265908653261577, + -0.6578141365323285, + 0.5279597721012497, + 1.2648587115298793, + -0.1358580172645777, + -0.5671245837563912, + 1.0827026928800414, + 0.27919770676740846, + -2.791353663089135, + 0.5598575493313295, + 0.12646517838593194, + 0.8695396668654517, + -0.053398561232037074, + 1.3959518973805982, + 0.7508530020465396, + -1.0686107110247878, + 0.7003968211546815, + -0.12437978854495897, + -0.471278825722209, + 0.18924132211226866, + 0.9218398388435693, + 1.2991750037406296, + 0.5178223592651648, + 1.1788486414821642, + 0.07038704936614856, + 0.8597918110786242, + 0.9669868243220664, + 0.4034870079437111, + -0.03509239591158628, + 0.460664919014951, + -0.30900102107717115, + -0.18200880396832506, + -0.31282301761709497, + 1.5586446516658095, + 1.412429910985754, + 0.561698676482289, + -1.70576516352229, + 0.31742035112901407, + 1.0718239611388458, + 0.49751436875353516, + 1.5789962848902812, + 1.2571535401647944, + -2.7677897588254816, + 1.49752991742251, + -1.063509159422475, + 1.2937082278265128, + -1.195115852927277, + -0.8176193964643256, + 0.80004130530108, + 0.4528918018755152, + -0.8021092510383089, + 1.0695820262601448, + 1.1928081441659628, + 0.15964774866878778, + -1.079060126411088, + -1.091591297191088, + -0.4820829382535953, + 0.4641211402215804, + 0.8589786467195237, + 1.230977981818872, + -1.6097233855880062, + 1.1381768015930713, + 2.43442478724797, + 1.1437836660577119, + 1.0831118193381368, + 0.3290500287561528, + -1.0038869550205463, + 1.8965805528864554, + -0.20518165694513746, + 0.32356799236972955, + -2.181453232611558, + -0.5572349078725611, + -1.2120260919405006, + 1.1609886684753286, + 0.11384314041160344, + 1.195040780397877, + 0.6986342208424801, + -0.6009546029261545, + -0.35518517582743725, + -1.5124701309995106, + -2.3661678365281147, + -0.48926587867485305, + 0.15685723374157276, + 1.055197751090815, + 1.4268496418804646, + 0.07720974510358407, + 3.1176405973917873, + 0.21848530514075926, + -1.356667581803344, + -0.07454363066927693, + -0.1750255451089327, + -1.5279348912748927, + 1.3805098714979591, + 1.013063253174912, + -1.5231675340298374, + -0.6253446305839316, + 0.08564181270561474, + 0.282534613027236, + 1.5105076779505813, + -1.7095292861721, + -0.5190812380181568, + 0.5243897814156057, + 1.9428279810538869, + 1.093722948541805, + 0.03024733176254031, + 1.081394835572921, + -1.0877549715536021, + -0.2550513474858871, + -0.1840119167441972, + -1.6418702203958409, + -1.4466643195398325, + 0.7156008520416601, + -1.312103412319564, + -0.8518716942388024, + 0.9126283807043997, + -0.984228487646975, + -0.7598740665870237, + 1.4099396471079406, + -0.7242599284818804, + 1.6865090753934506, + 0.7941926782831845, + -0.49830144412622585, + -1.1946355568525022, + 0.18797820231891274, + -1.7711758466271141, + 0.4066302473843623, + -1.5380921752359866, + 1.600362202498633, + -0.6550161080845609, + 0.6617336084225965, + 1.2300479378197775, + 1.1879295962901903, + 0.8642816800293897, + -0.6518559719630388, + -0.3294925307807354, + 1.0702448513682463, + -1.1579445693261667, + -0.45805850093217265, + 0.545582141074999, + 1.0917735681584269, + -0.03348676041105297, + 0.23603998603109994, + 0.7502369844285772, + -0.20398733105304176, + -0.351666534775923, + 1.7913106826569045, + 2.4584948531983577, + 0.2682158814066538, + -0.9800554608631057, + 0.18137496928431976, + 1.1420835267013012, + -0.8813499082970155, + -1.4564464081662876, + 1.9769945094346881, + 1.7965540571219232, + -0.5153088253147168, + -0.2613432547382463, + -0.16691976610076387, + 0.48306968848744575, + 0.17918356555671922, + -1.5845183895014885, + -0.462107856708526, + -0.33050190740566077, + 1.4434424608822243, + 0.8665851551305154, + 0.1304232027885336, + 0.9773314484896644, + 1.826511462389039, + 0.3951193998822801, + 0.34316898763858056, + -0.565826648737544, + 1.6692556953587394, + 0.5849345172093914, + 1.4971510989285792, + -0.9964048796152359, + -0.5005875178878885, + 0.6879618187438337, + -0.21262382812070368, + 0.028018847603614033, + 0.3150110475859096, + -0.4930265153889772, + -1.727311078564392, + -0.9646519926678496, + -0.5285214199146867, + -2.409941599768098, + 0.7715482540003575, + -0.8411011722221214, + 0.14571246729803833, + -0.7093881622096875, + 0.3651968778113121, + -0.4581306420926896, + 0.08970448168447084 + ] + }, + { + "histfunc": "count", + "histnorm": "", + "marker": { + "color": "rgba(132, 118, 202, 1.0)", + "line": { + "color": "#D9D9D9", + "width": 1.3 + } + }, + "name": "c", + "opacity": 0.8, + "orientation": "v", + "type": "histogram", + "uid": "816e360b-8442-4092-b45a-560c250c94af", + "x": [ + -0.46686237737171343, + 0.018812043070323137, + -1.0133611124395807, + -0.5000172709075787, + -1.0467651960101751, + -2.705071159230022, + -0.2348811007264836, + -1.575383682225517, + 0.576462604241835, + -0.27022754552710915, + -0.6347444834597099, + -1.4518616644275928, + -1.1804732859396119, + -1.4334532207987531, + -1.7155952706167377, + -1.0063976207250211, + -0.6888863435619512, + -0.7896671575329965, + -1.0662960611316572, + -1.0227299677931183, + -0.11168836608649313, + -1.2442716284932782, + -1.6141895698770803, + 0.27342283315175786, + 1.0441744675650084, + -0.7263454902367461, + -1.8612196316209406, + -1.2924371304546058, + -2.7061121164444124, + 0.38120294573390634, + -2.383723366197149, + 0.40261353829536883, + -0.7782577268430905, + -1.720690500987721, + 0.03634350204069259, + -3.5225955040567922, + -1.0180215706476916, + -1.9625324651977107, + 1.169645898736404, + -1.1873728702883053, + -0.20719628073528895, + -0.3523438383882268, + -1.4277950507415325, + -1.4381227794038547, + -2.890378516867247, + -1.1947051323173983, + -0.46654037371710777, + -1.0237986466703994, + -1.4643690965991296, + -1.6352642161994853, + -0.9239067405835883, + 0.3512269959885834, + -0.2202464115113506, + -3.179384445740247, + -1.1768167496534812, + -1.2417983377086224, + -1.8201276545802292, + -0.5379149336155249, + 0.8905902806891117, + -1.7513690010224474, + 0.3766719469561517, + -3.0865579431891943, + -0.9981490891859168, + -2.509608134451227, + -1.5909743130532061, + -0.35297937785877986, + 0.5366021310800166, + -1.4729051609276185, + -0.157113005452177, + -0.23477299249914296, + -2.917492530442133, + -1.7824075040188712, + -0.49336613747838476, + 0.5672921451168809, + 0.37086768147551763, + -0.5802706028350282, + -0.26369015295910614, + -0.137438193225067, + -0.5094286540728317, + 0.6978842986688683, + -2.2420172223804267, + -1.685849987713171, + 0.1260058063937688, + -0.8258011370848397, + -1.6060264797016124, + -0.5348196151846348, + -1.5979440697303398, + -0.5649416176567124, + -1.9816089260092857, + 0.7800344339400107, + -0.784622118963265, + -2.660132324039834, + -1.639652159224343, + -0.28118633328925935, + -0.5946726202596411, + -2.3107681420112494, + -0.1268053824190719, + -3.422016065993443, + -0.2576014737172888, + -1.87135868099872, + -2.443672455782345, + 0.5844220746841471, + -2.649646285672315, + 0.7195966489116006, + -0.47522053121113805, + -1.9251495502002292, + -1.5695740272244088, + -0.11129091848523076, + -1.2364145525427044, + -2.9363057101618812, + -1.1467440265166526, + -2.5974211022206384, + -3.0522094828163144, + 0.7250146006957434, + -0.80437441379988, + -1.6312512884676396, + -1.7949897802731536, + 0.7592217263457959, + 0.23047241169200605, + -0.7361456265727664, + 0.9253745853253525, + -1.0747689904147377, + -1.826368947579281, + 0.31258249419028816, + -0.1890655841505411, + -1.8053062641857445, + -1.4958264207408365, + -0.6218054376570509, + -0.7115145621606994, + -1.127126332965354, + -2.391332448260208, + -1.636097552888789, + -2.8049297946090324, + -2.373055377685162, + -2.428430467145888, + 1.1197071569055672, + -0.7459301569725889, + -0.6214730819820968, + -1.1527913996603552, + 0.2476236712658375, + -0.37260066577170503, + -1.2575674719220618, + -2.801345136771616, + 1.2368977639552465, + -0.7152905202737974, + -0.6799745524038366, + 0.8804388318217018, + -1.3240350327333026, + 0.10907691844522183, + 0.17660066347533077, + 0.1836204458972035, + -0.7543305192161333, + -1.4218517230687902, + -0.4818352679032947, + -0.3396830862235638, + -2.509226307521473, + -2.7961817344489246, + -1.0209686834763185, + -1.215660281035626, + -0.5468530804287823, + -0.34467801398208897, + -0.9637522166953136, + -1.892128409697809, + -1.0789177064846693, + -2.541923980690414, + 0.6321027656933949, + -2.545412637915928, + -1.3857585458642836, + -0.28575568242502036, + -0.49157103244104094, + 0.3216791702698061, + -1.0253785902088866, + -0.8087397412653347, + -0.7724173937040515, + -0.03899388725959174, + -1.2066291300415504, + -1.0632932714711598, + -2.0662947952965824, + 0.06964939317495089, + -2.0119093898872293, + -1.9940363967048813, + -1.1164607557109634, + 1.15327058516467, + 0.35137160189403427, + -2.735886801137949, + 0.7923033007732663, + -0.5912126025828512, + -1.9339942637144523, + 1.449670943444525, + -1.0899119574202256, + -0.7515738234668011, + 0.8116217299166997, + -3.062587731419154, + 0.5738027639411087, + 0.08614392555414319, + 1.1952637454563297, + -0.1491171492486657, + -0.4472316324348993, + 0.1677537591995797, + -0.8507396890185267, + -1.1349725859181314, + -2.7551335605207212, + -2.367549723230976, + -0.15727014760577374, + -0.42497712885271266, + -1.310186917766162, + -3.107974404672395, + 1.2231076068770839, + 0.47633134922805564, + -2.57285689419418, + -0.6661807698503172, + 0.8632803076669264, + -0.3899379919778231, + -0.7105280323317129, + -1.6255522337164565, + -0.03353437375970458, + 0.44007184659282306, + 0.19131057364098147, + -2.9601778053616785, + -0.5868122266916433, + -1.2092577191192295, + -1.9547593157331113, + 0.17603853754594945, + -3.53999879640774, + -0.40675399272495993, + -0.6545970697761601, + -1.0662372327961671, + -1.0105792919510876, + -0.30079345028061755, + -1.7485252546243908, + -3.531858754143451, + -1.3299706610459792, + 0.4141958306448359, + -0.05159033618402864, + 0.4602704103327777, + -1.5434887902133885, + -1.760672569605453, + -1.299392053087984, + -0.2618789558163759, + -0.9881454640605614, + -0.6260212003226313, + -0.3363329317832764, + -1.8285433420265107, + 0.4235389417374853, + -0.5681663412539234, + -1.8982195102677428, + -1.2651511632392922, + 0.14807584021574582, + -2.1820512932502543, + -1.1233264109325967, + -0.6207123109045063, + -2.1255233431643354, + -0.6039378514634706, + -0.06377572921976671, + -0.5203065825302502, + -1.0152999418386408, + -2.8401270120474655, + -0.04265299321431826, + -3.025566777654482, + 0.10010421306714212, + 0.2754184415079117, + -1.3626231242273255, + -0.8744541103307487, + -1.2274403848138453, + -1.2692331625974274, + -1.7956647461226376, + -1.4670055138485525, + -2.978982400880109, + -0.674429872307762, + 1.2312963979316716, + -1.2840272852135366, + -1.2907647612992148, + 1.1993097913810478, + -0.4419340617998051, + -1.289121881373932, + -0.2960821929438753, + -0.2869187356959809, + -1.1233675578638205, + -1.2978495003851234, + -0.8054711954302293, + -1.1934631230319224, + -0.33649707487038283, + -2.791237121638673, + -0.9427032352244624, + -1.6493323882955062, + -2.2524813410040503, + -2.2043474734845656, + -0.3881843062332355, + -1.8533282198774894, + -0.6438893101300827, + -2.376397501318639, + -0.23909841247924057, + -1.2070444760686478, + -1.4066021484404359, + -1.124231643284327, + 0.06953263057456449, + -0.33688289583147746, + -1.058991147040299, + 0.2973843958868798, + -0.5410587151000423, + -0.7450097580372119, + -2.0240312123428543, + -1.9512376572469612, + -0.15670539123342786, + -0.4885471259710348, + -0.7448140215073116, + -0.859806804730887, + 0.2945018157685928, + -1.3825875967374912, + -0.2181725129675629, + -1.467788353292344, + -0.9989435210934362, + -1.3646807677016968, + -2.1699507448345274, + -2.216781595705961, + -1.5454996854597347, + -1.979104883769466, + 1.2607360648269683, + -2.3047338351103965, + -0.886844223341778, + -2.07535309144476, + -2.1412653575186202, + 0.24879288498248542, + -0.9275958573056109, + -0.7572662913266582, + -1.115649638577883, + -0.1931684054377113, + -0.09124782689262645, + 0.10271817351724666, + -1.537271812753316, + -1.921885809662774, + -0.537432501037556, + 0.20473779858142582, + -2.4116427227109334, + -1.189372645847265, + -0.21830541634104694, + -1.0423696849499609, + -2.0556401345820903, + -1.0276713228841161, + -1.7850794123617146, + -0.48951480269714664, + -0.04342699137967987, + -0.35529064625542717, + -0.5938239983001685, + -0.2380311295860258, + -1.406960100177504, + -0.6459923333460462, + -0.6650058871249289, + -0.6633286163361657, + -1.4392694852872814, + -0.25950096524072264, + -0.18779381274288431, + -1.3950948935577734, + -1.7256968608255976, + -1.616250315180054, + -1.103546417063352, + -2.2900547283822235, + 0.021586482029918974, + -1.8718910403806457, + 0.2729272663295397, + 1.5939319066290625, + -0.94588955355989, + -1.8645627564736469, + -1.741083308390642, + -1.2033180342680636, + -1.3451174924182951, + -2.1643331793935965, + -0.198619582194567, + -0.3821358289524083, + -0.6620535122218306, + -1.1809099299568593, + -0.6712891789468935, + -0.03897387815955389, + 0.8217818056840278, + -1.3555856202219498, + 0.8158169274749509, + 0.8437571803257842, + -0.08713050410977408, + -1.2982783207955217, + -0.6707326244352265, + 0.19027408525122658, + -0.2761840875075102, + 0.7006602140245244, + 0.16054427436231222, + -0.7135561543192296, + -0.31523467885723766, + -1.4774449629158073, + -1.1222960827916255, + -1.0386987669587544, + -0.2691911334036712, + -2.083665791476977, + -1.9637585092902705, + -0.10506166984069532, + -0.328065843411925, + -1.7311292223725565, + -0.7059096140781063, + -1.5754818223687752, + -2.3554814048630615, + -2.036415230777087, + -0.2572508182359641, + 0.014186791797356824, + -0.16149110529270327, + -2.6946626424070717, + -0.3951219695970083, + -0.04693638671312983, + -0.27387385061253355, + -1.9502846548904835, + -0.5915741065698907, + -0.5619539851991416, + -2.564873007532574, + -1.8563087205856368, + -1.7204582568497995, + -1.1650282357064774, + -1.7010421974830674, + -2.3276506239518255, + 0.28257954841204214, + -1.2138261241896287, + -0.5329293973281646, + 0.9567013528866504, + -1.6353051723710612, + -0.6395341223413137, + -2.2565577643692984, + -1.9998746537355276, + -0.1729424869984323, + -0.15362780920226216, + -0.13641402161738814, + -2.8854310092494124, + 0.13695964167379948, + 0.5742216945161251, + -0.637895438099465, + -2.6208519523950047, + -1.9621721059228077, + -0.18658171432105997, + -1.350678851190514, + -0.44332112991487416, + -1.2689713119275836, + -1.1826988467141042, + -0.4925297160787241, + -1.4473321098596337, + -2.7691720312692567, + -0.4874423040701006, + -0.694853496429402, + -1.9190374351169268, + -0.5554771613735803, + -1.1573623933227093, + -1.5715405677143655, + 0.474535468080284, + -1.4613348930916508, + 0.22202526960734437, + -0.3764305275150277, + -1.3420005858433595, + -1.1356370628280448, + -1.1865781938960371, + -2.1123409599477254, + -2.3718868926743175, + 0.008460735685346776, + -0.5474149598904472, + 0.1139437218172612, + -0.4877621553668976, + -0.8809991551086788, + 0.40544440871311727, + 0.4441297881740158, + -1.7029724331179659, + 0.43657768186388957, + -1.9577957076926014, + -1.8954754326209078, + 0.16246659385047035, + -0.6923756904276892, + -2.240209770106067, + 0.022286870951760074, + -1.2910570484291222, + -0.21130180557124056, + -2.848248908006797, + -1.8630971231319355, + -0.3221898669242421, + -0.8677731527330115, + -1.1760874875100251, + -0.9355555305133256, + -1.555459561675547, + -1.724009938876316, + -0.37522771021220946, + -1.4324503510248485, + -1.637866685580776, + 0.2730038004827122, + -2.452360150958631, + -0.244154942574059, + 0.8381867118401005, + 1.299553500593602, + -2.7679939597374794, + -0.03261636743583718, + -1.691093513190207, + -2.4414659323926866, + 0.4488824473271906, + -3.1487073369017593, + -2.508817911625676, + -1.117564641389647, + 0.25034788293697985, + 0.4231837922689894, + -1.8551272457363053, + -2.0947124060644353, + -0.4615117020776708, + -1.190970573471207, + -0.6327530773257459, + 1.2413873391893335, + -0.0501501000651261, + -1.4993046581684928, + 0.9390280468819345, + -0.7138755379965445, + -2.208285280799644, + -1.5511542245095633, + -1.3609225856635314, + -0.8087799225525922, + -1.4353899269393882, + -1.17618759854273, + -3.143310718365139, + -2.5399252440936944, + -1.3531289250661938, + -1.3818718366754115, + -2.4146507364151137, + -0.9263235999171888, + -1.2224527949755055, + -0.710278505454085, + 0.4881388058337244, + -0.9984365554500204, + -0.40073226864512024, + -0.7033806433772547, + -1.5730295043364437, + -0.4727664919944091, + -0.10496616984524776, + -3.028966327057599, + 0.24783782502798002, + -1.139169175235716, + -0.36964583052396704, + -0.38077265789509573, + -0.7855496070046855, + 0.33679998417611423, + 0.27193470484171134, + -0.7155780438910886, + -0.354351424335811, + -0.9869221400792847, + -1.9832725503379227, + -1.1117663600669874, + -0.8601512374935438, + -1.2770352683818813, + -2.991184379041695, + -1.1121335533936134, + -1.1209895671383983, + -2.14514583726654, + -1.237112528853895, + -1.7581289943244771, + -0.7703568695213279, + -1.3281682678437225, + -2.769403758801052, + -1.596889718024381, + -1.243438625045076, + -1.959855821303782, + 0.5158591648995527, + -2.5177500674335445, + 1.36870441553482, + -1.5775394589904579, + 0.1446525226728015, + 0.09591844867814792, + -1.0481454791667781, + -2.799696824272929, + -3.6759712384628376, + -1.5486748121583913, + -0.4790212087283844, + 0.0010581935642917095, + -1.347381954710939, + -2.255822381241786, + -0.053056143024305835, + 0.06266957354359692, + -0.5645965884000861, + 0.4293345046399919, + -0.3454795931669168, + -1.6121213161839334, + -1.923800551784201, + -1.313997810748372, + -1.285670897242627, + -0.8958823836312254, + -1.0925078789514115, + -0.4096435515186019, + -0.8830555057402715, + 0.8589384603383798, + -0.5258659759553126, + 0.019882675537275407, + -1.1055908799248433, + -1.7939330752803784, + -0.049003911688280555, + 2.0518083152085214, + -1.6186051542243542, + -2.8021730872453703, + -1.3663855447623612, + -0.9235611724251134, + -1.523259623911672, + -1.8208483614895954, + -2.1410980831473765, + -1.8458819303906764, + -0.88435460676297, + -1.7481097196055062, + -0.9743393655034625, + -2.340579826751437, + -2.4071361608753206, + -0.45123806626712926, + 0.07148828233885451, + -1.5914723294249793, + -1.1680564255820776, + -1.0918532423891876, + -2.9711891003917477, + 0.31476769335721166, + -1.1437215743722209, + 0.3068891414800088, + 0.15938985681516749, + -0.6589890411533132, + -2.094909831974067, + 1.9753123254354947, + -0.19429467335325779, + -0.4002829840936748, + -0.04586617364647483, + 2.4210371108619584, + -1.6649071006709362, + -2.48331876363639, + -0.5199690448527843, + -0.38315379257985516, + 1.52855816324879, + -1.4610560815919318, + -1.5701828198960017, + -1.2108911613076052, + -0.6574689257633339, + -1.5077949917933258, + -1.0431087075190604, + -1.6745479238818035, + 0.08012557761830319, + -1.442426317784695, + -2.050909199745677, + -2.015522136976861, + -1.3334525065639762, + 0.6013163686004339, + -0.22863025842484852, + -2.6209989939904785, + -1.3079547056390695, + -0.7097491707413428, + -2.9453013899376552, + -0.8177947691035045, + 0.03522905496149442, + -1.486273691895306, + -1.2608892824254785, + -0.8594402446306568, + 0.3446650024040523, + -0.6790587924881561, + -1.3650567025518885, + -1.3624325381385145, + -0.2653481311693471, + 0.3305660342154553, + -0.2887110717189083, + -1.948104886300704, + -2.5423810945287526, + 0.6409320375995169, + -0.7270011404963432, + -1.7976360001430047, + -0.7335201783089491, + -0.709301553700672, + 0.6873662722391389, + -0.44607944821633416, + -1.0961020229385336, + -1.2956181746414601, + -2.46919117063452, + -1.913369641781085, + -2.0029624922217995, + -0.5968255428615608, + -2.2503220189873114, + -0.49378122632285837, + -1.5837884010635286, + 0.02670490128013303, + 0.06887284062587207, + -0.1832852208432435, + -0.6914180921852147, + -1.9296954817399492, + -0.4764959008760079, + -0.7162949107491862, + -1.677718477506366, + -0.07120941507676803, + 1.923817825554405, + 0.04886459851353897, + -0.8423982490160142, + -0.8727970115353767, + -0.1651070005204911, + -0.5304993891532839, + 0.31423813644672904, + -1.3985022301025483, + -1.7555169678761577, + -1.4904669991705575, + -0.5482146390612965, + -1.6124090454703242, + -1.0248671490546115, + 0.2756347030531645, + -1.3996812623990493, + -0.6208727197500464, + -2.2098718697586377, + -0.1954979994051198, + -3.0802401158308887, + -0.34871595404214717, + -0.865650898199317, + 1.094722525153209, + -0.2219297729965548, + -2.132311988922214, + -1.2150648601357348, + -1.6967632830195976, + -1.6355548028190425, + 0.5804670806313463, + -2.2732336583541883, + -1.4801073494067065, + -1.2308156462871889, + -0.2438978783727831, + -1.1362943197685498, + -1.4664314410596186, + -2.298434979112931, + 0.31456006823245186, + 0.06877886966183477, + -0.7836720516637428, + -2.095625649699289, + 0.007791998164554448, + -1.7598688667939983, + 0.19898942850303225, + -1.8941963117667289, + -1.452100750794667, + -0.6621067071606261, + -2.5173427742646126, + -1.5935049505706809, + -2.67742085009027, + -1.8930170845490004, + -3.2991436182778338, + 0.4661417084660693, + 1.0205817748810015, + -0.17885439938526704, + -0.4981076097535676, + -0.06058474720314444, + 1.1092792221086532, + -1.1572933126247416, + -0.11931711690738367, + -2.1837666452905293, + -0.4432773897096801, + 0.07404027035779781, + 0.6268455883115165, + -0.19272992195956729, + -1.6700832283002252, + 0.06295328974839554, + -1.6155960259342044, + -2.1879139157811354, + -2.2989860164268734, + -1.1153195916420144, + -1.3060255476679357, + -2.7847006885287016, + -0.45647251013970536, + -0.9566748081661873, + 0.3998156934947956, + -1.7536013478231545, + -1.5412262727362185, + -1.1927996698916916, + -0.13469672938301924, + 0.9560321880120903, + -3.275490492591444, + -2.003170528467502, + -2.0390174399386987, + -0.24590202097422298, + 1.2274696233369693, + -2.0849144681389182, + -1.5610393885608511, + -2.1040518202064713, + -1.1377301356603295, + 0.7140609856030586, + -0.42113759112129023, + -0.9465925835686401, + -0.15217606902314562, + -0.8803537963870296, + 0.00865385395468321, + -1.8891856077949711, + -0.894543384898695, + -0.5221661057201921, + -1.6059418602840192, + -1.4894123497091025, + -0.9979591343292492, + -1.7559631940981166, + -1.9499654037640957, + 0.05330026467301385, + -1.4904805457670651, + -1.7256782873584078, + 1.4477727033810237, + -1.3064133352206875, + -0.9921682083800766, + -0.7023796829834017, + 0.5357240391726958, + -1.6980372818738985, + -0.6860143053873105, + 0.4159348178192075, + 0.10329753873686975, + -2.70852010487977, + -1.3393000119528327, + -0.758337022062639, + -1.3913223426304857, + -0.3273885733994284, + -1.176192588990308, + -0.9110436502560194, + -1.0883518084873456, + 0.14350659909186314, + -2.4215779537242925, + -1.8003955184827767, + -0.9303968297241709, + -1.4157791024286814, + -1.9885751456364944, + -1.070009980755436, + 0.6844846867850025, + -0.0066488128012115455, + -1.7842853758386399, + -3.02164164546676, + 0.020934878842522764, + -1.9963865687936762, + -2.3729991263673447, + 0.8931753945074501, + -1.5670847829290924, + -1.7587286120025323, + -0.8197245318939317, + -0.7000067810933052, + -0.17081434352468494, + -0.7368994459732077, + -0.3337573275091531, + -1.722066101242845, + 0.2516623043064168, + -0.8162273677115954, + -1.8473746963482696, + -1.282520826848127, + -2.2211776352715003, + -1.3013712666787094, + -0.22264904439379662, + 0.43721856068110565, + 0.026485081904272123, + -1.4863838738976287, + -0.27767764725501165, + -1.661903502380123, + -1.0444763874734786, + -2.590008048288366, + -0.0007961203304686082, + -1.4138620518472775, + -0.24199383527064577, + -2.3290968996130297, + -1.9253072855313, + -0.2548102000662277, + -0.8881421223605563, + 0.054482826465253265, + -0.5185173902752951, + -0.8941083747931424, + -2.9272624535244507, + 0.39741510300655847, + -1.0159701168416764, + -2.8500328330355353, + -1.9063708789115168, + 0.8673651909272473, + -0.9932631653270251, + -1.6177821606066465, + -0.8070308421865591, + -0.9779434300777939, + 1.2369899423047568, + -2.4573625173135056, + -0.45862089391573446, + -1.2833086407798728, + -0.46578195960951274, + -1.03218980327391, + -0.6905452856544506, + -0.745906153501321, + -0.12191359564154447, + -2.527928824026935, + 0.18945220292975384, + 0.9554354578799391, + -0.9691838288176219, + -2.110236366152013, + -3.1878300459720723, + -1.0540673721980398, + -0.034123033547589166, + -0.1781308617516375, + 0.7954576052821829, + -2.398985265584492, + -1.2325337038029829, + -2.3081830493232283, + -0.6630157165136675, + -1.2422222392395599, + -0.9845480520508564, + -1.4249248278175668, + -0.7734790010975473, + -1.5169268152041524, + 0.05442166924968661, + -1.3228223138601702, + -0.29149024013795166, + 0.5818717276903409, + -0.5572520508711362, + -0.4795494035316834, + 0.4841192875764093, + 0.46365252895118947, + -2.337339672644673, + -0.389327449468693, + -2.5163301260002378, + -0.6632971216646211, + -1.1299395706167512, + -1.2580227382901845, + -1.233638034076349, + -3.2963720105973158, + 0.10299885100830197, + 0.7269527201274715, + -0.8919691571343249, + -2.3026286763196304, + 0.3890958710156234, + -0.6255681289249937, + -0.09230530855719143, + -0.9134200455365358, + -0.6125109312528241, + -1.522243865683106, + -1.8825940950326676, + -0.12272425180003521, + -0.8636291951283923, + -2.3485079284485453, + -1.1606811667800692, + -0.0727145367397447, + -0.6702445904807088, + -2.395493806125047, + -0.5291906172093322, + -2.1326080431633754, + 0.4691174721283602, + -0.4127321343785194, + -1.5721433931481883, + -1.0442109205141432, + -0.15802741909355, + 0.7358691950001552, + -0.28751584120130136, + -0.6138164092746891, + -1.2662747103852146, + -1.5572734512342552, + 0.045629743670733136, + -1.530053238382656, + -1.070204405951459, + -1.7600240249683077, + 0.0685589992791118, + -0.33544468307055764, + -1.1527258498440107, + -1.1902197158328094, + -1.9803497924359674, + -0.5363363186177175, + -0.9807581509636701, + 0.7506402751297636, + 0.05099183987433742, + 0.19762081680372723, + -0.09135389824263906, + 0.962440678060958, + 0.6364163239790106, + 0.7796575164139157, + -1.0621284233680441, + -1.531970724509161, + -0.8091007116940734, + -1.861185424512793, + 0.35493733105636616, + -0.6068870850678179, + -1.3119409700195883, + -1.2338647535625134, + -1.3634235984727106, + -1.2012621555938203, + -2.283449705258877, + -0.3983380494459192, + -1.2180956797815579, + 0.15028340654086358, + -1.0056659978987783, + -0.8984461684530635, + -0.540229955906828, + 0.5293102798269826, + -0.8827411317127744, + -3.2444846723159664, + -1.5277664074846249, + -0.8504196200532206, + 0.17688650539689044, + 0.029581757770209327, + 0.640227692658554, + -0.3031944879269852, + -1.9196646583579395, + -1.4343512025818095, + -1.6038602458120046, + -0.8774148926650112, + 0.6417726384145577, + -1.1968876022596662, + -1.0967602401304242, + -0.7979994073473076, + 0.7067887089426623, + -0.05180481400693171, + -1.131134726131994, + 0.1569023027238583, + -0.004914694065941694, + 0.8851928624564736, + -1.2431102080767586, + 0.3374022557895606, + -0.6561939305235652, + -2.8489279675534416, + 0.3302535762457066, + -1.627832143972685, + -0.28822705328721177 + ] + } + ], + "layout": { + "barmode": "overlay", + "legend": { + "bgcolor": "#FFFFFF", + "font": { + "color": "#666666" + } + }, + "paper_bgcolor": "#FFFFFF", + "plot_bgcolor": "#E5E5E5", + "title": { + "font": { + "color": "#151516" + } + }, + "xaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + }, + "yaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + } + } + }, + "text/html": [ + "
\n", + " \n", + " \n", + "
\n", + " \n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.DataFrame({'a': np.random.randn(1000) + 1, 'b': np.random.randn(1000),\n", + " 'c': np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])\n", + "df.iplot(kind='histogram') " + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "linkText": "Export to plot.ly", + "plotlyServerURL": "https://plot.ly", + "responsive": true, + "showLink": true + }, + "data": [ + { + "line": { + "color": "rgba(255, 153, 51, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "marker": { + "size": 10, + "symbol": "circle" + }, + "mode": "markers", + "name": "a", + "text": "", + "type": "scatter", + "uid": "2a448c2c-a64a-4d4b-a643-06a42e3ef9b4", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "y": [ + 0.963928785997475, + 0.3739139953235119, + 0.1433393134676224, + 0.6400021891085362, + 0.5692018865243066, + 0.03824039877473717, + 0.001966301558918193, + 0.7404332864756641, + 0.8998380582534304, + 0.2541987075145089, + 0.7364841414649349, + 0.8759855135673162, + 0.49231174454885285, + 0.42414718486301994, + 0.23145333211538088, + 0.37040118547133716, + 0.30845823826144403, + 0.9097930516640663, + 0.632361676792682, + 0.8189476855631846, + 0.48796088909978685, + 0.9977602871284619, + 0.7544038711823635, + 0.28582882061615855, + 0.33777848873424976, + 0.43513826143354717, + 0.9313248674327923, + 0.34225134593824347, + 0.17236549967495873, + 0.9047867862918525, + 0.6978322866219777, + 0.052894939225795246, + 0.33921064168724946, + 0.5887452554175615, + 0.6957280395408317, + 0.5994211654854801, + 0.15270133958132526, + 0.6773736048412898, + 0.7186119891726392, + 0.8078110692671836, + 0.23688579539298205, + 0.7181519327724825, + 0.770197518026276, + 0.7456588490376685, + 0.14175646799055708, + 0.48902031817949276, + 0.2004368480205888, + 0.48385973740092236, + 0.14921018105329587, + 0.6895944754624211 + ] + }, + { + "line": { + "color": "rgba(0, 128, 128, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "marker": { + "size": 10, + "symbol": "circle" + }, + "mode": "markers", + "name": "b", + "text": "", + "type": "scatter", + "uid": "dde941c5-9aab-472d-9544-fa77f79426ab", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "y": [ + 0.9320809863523729, + 0.44172978792622797, + 0.4308204088409483, + 0.4026316504238867, + 0.509524744014898, + 0.9155416821020621, + 0.762683045081411, + 0.14393385867072794, + 0.34695606064519713, + 0.7751298468135835, + 0.6098326273317959, + 0.7032300310307413, + 0.17508250523655267, + 0.9148567186504849, + 0.06690503118796098, + 0.3695158415369453, + 0.31318253555016395, + 0.8598479163636148, + 0.8419118043991007, + 0.28882247307182984, + 0.5513349389030713, + 0.1406188971431208, + 0.2577488685224508, + 0.7771742913229057, + 0.6771819562488429, + 0.8611877551401165, + 0.9441815729181932, + 0.5739732682634324, + 0.17252873745571873, + 0.34569653183229876, + 0.36461184934433, + 0.6145622426898446, + 0.47655389878711096, + 0.811052037280051, + 0.5551785266333528, + 0.15978524046619713, + 0.519463794809321, + 0.34402842996645566, + 0.41474769234792297, + 0.09577537596340513, + 0.705162951856167, + 0.7078884975880078, + 0.8033252139367731, + 0.5806786634323324, + 0.3469584327706452, + 0.6999677905385666, + 0.09288162226072538, + 0.4366972292060314, + 0.16931238935601234, + 0.8256199370416815 + ] + }, + { + "line": { + "color": "rgba(55, 128, 191, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "marker": { + "size": 10, + "symbol": "circle" + }, + "mode": "markers", + "name": "c", + "text": "", + "type": "scatter", + "uid": "8275e1e3-ac37-4500-81fb-71a496c09920", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "y": [ + 0.4663836622625891, + 0.9695157781416185, + 0.7571580902389948, + 0.7111231437588068, + 0.4371144657719762, + 0.16158824038997532, + 0.7542965504149645, + 0.3812031643248578, + 0.030793312741300483, + 0.27894502580009617, + 0.6101404890604976, + 0.004758923226849343, + 0.6242023214042252, + 0.47522757187574904, + 0.4619499582569556, + 0.6163458209586207, + 0.7491510558471541, + 0.9508391759894148, + 0.1315649716749666, + 0.9210613223143053, + 0.7423233750712719, + 0.3628005638137507, + 0.722425349235922, + 0.5235252256727376, + 0.2909243223203981, + 0.18301273862418377, + 0.3212474051672659, + 0.18738911361232236, + 0.11217087896155886, + 0.8168508484655754, + 0.20805530885998036, + 0.5556337852381176, + 0.20420114388198318, + 0.49906003655674946, + 0.08386040298600206, + 0.9036996450864189, + 0.15435279571586547, + 0.4926843927113542, + 0.7796377484389857, + 0.7910543639021542, + 0.6951146629838714, + 0.898192567370003, + 0.4214483523210456, + 0.6510128805507902, + 0.24479295640714993, + 0.5911924571230225, + 0.7369257695040357, + 0.7099243429597056, + 0.46192733059351654, + 0.7374203424459513 + ] + }, + { + "line": { + "color": "rgba(255, 255, 51, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "marker": { + "size": 10, + "symbol": "circle" + }, + "mode": "markers", + "name": "d", + "text": "", + "type": "scatter", + "uid": "2bb9b3b7-f0b3-4f4c-af51-bae4d2d6fe5a", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49 + ], + "y": [ + 0.93394984746075, + 0.9387623990400976, + 0.3883068714760147, + 0.5142274035306924, + 0.4000441927513625, + 0.6147685164010179, + 0.9992076803163329, + 0.0038156520424554863, + 0.23314546816756365, + 0.17036930303401077, + 0.32543170128154875, + 0.4675614922087965, + 0.970240149390713, + 0.4902342074399719, + 0.022561183729422285, + 0.8591882396875687, + 0.6895959847821914, + 0.27769593549220895, + 0.17999786275980223, + 0.783410283023642, + 0.019664899877168907, + 0.7100873320480915, + 0.9162746389370988, + 0.4899770470771957, + 0.8513302609398493, + 0.42205461614986917, + 0.7427819660625397, + 0.6388018134417176, + 0.6414271796274643, + 0.7566758551385385, + 0.7535048594382027, + 0.4308491610553169, + 0.3197804866827024, + 0.057110447082174165, + 0.8748978396327131, + 0.8313287125138946, + 0.02811039754765876, + 0.5172196865035952, + 0.6887178972113378, + 0.5665452643382667, + 0.6495220286547736, + 0.8566776067422108, + 0.34794937934363657, + 0.0672009957598102, + 0.3103143122504948, + 0.6862056727900635, + 0.11743583420709636, + 0.24622637096796218, + 0.9083945107935488, + 0.9073977253707982 + ] + } + ], + "layout": { + "legend": { + "bgcolor": "#FFFFFF", + "font": { + "color": "#666666" + } + }, + "paper_bgcolor": "#FFFFFF", + "plot_bgcolor": "#E5E5E5", + "title": { + "font": { + "color": "#151516" + } + }, + "xaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + }, + "yaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + } + } + }, + "text/html": [ + "
\n", + " \n", + " \n", + "
\n", + " \n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd'])\n", + "df.iplot(kind='scatter',mode='markers',colors=['orange','teal','blue','yellow'],size=10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 折线图" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "linkText": "Export to plot.ly", + "plotlyServerURL": "https://plot.ly", + "responsive": true, + "showLink": true + }, + "data": [ + { + "line": { + "color": "rgba(226, 74, 51, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "GJA.QC", + "text": "", + "type": "scatter", + "uid": "74607ec7-93fc-4646-9e55-01057fe3dbe6", + "x": [ + "2015-01-01", + "2015-01-02", + "2015-01-03", + "2015-01-04", + "2015-01-05", + "2015-01-06", + "2015-01-07", + "2015-01-08", + "2015-01-09", + "2015-01-10", + "2015-01-11", + "2015-01-12", + "2015-01-13", + "2015-01-14", + "2015-01-15", + "2015-01-16", + "2015-01-17", + "2015-01-18", + "2015-01-19", + "2015-01-20", + "2015-01-21", + "2015-01-22", + "2015-01-23", + "2015-01-24", + "2015-01-25", + "2015-01-26", + "2015-01-27", + "2015-01-28", + "2015-01-29", + "2015-01-30", + "2015-01-31", + "2015-02-01", + "2015-02-02", + "2015-02-03", + "2015-02-04", + "2015-02-05", + "2015-02-06", + "2015-02-07", + "2015-02-08", + "2015-02-09", + "2015-02-10", + "2015-02-11", + "2015-02-12", + "2015-02-13", + "2015-02-14", + "2015-02-15", + "2015-02-16", + "2015-02-17", + "2015-02-18", + "2015-02-19", + "2015-02-20", + "2015-02-21", + "2015-02-22", + "2015-02-23", + "2015-02-24", + "2015-02-25", + "2015-02-26", + "2015-02-27", + "2015-02-28", + "2015-03-01", + "2015-03-02", + "2015-03-03", + "2015-03-04", + "2015-03-05", + "2015-03-06", + "2015-03-07", + "2015-03-08", + "2015-03-09", + "2015-03-10", + "2015-03-11", + "2015-03-12", + "2015-03-13", + "2015-03-14", + "2015-03-15", + "2015-03-16", + "2015-03-17", + "2015-03-18", + "2015-03-19", + "2015-03-20", + "2015-03-21", + "2015-03-22", + "2015-03-23", + "2015-03-24", + "2015-03-25", + "2015-03-26", + "2015-03-27", + "2015-03-28", + "2015-03-29", + "2015-03-30", + "2015-03-31", + "2015-04-01", + "2015-04-02", + "2015-04-03", + "2015-04-04", + "2015-04-05", + "2015-04-06", + "2015-04-07", + "2015-04-08", + "2015-04-09", + "2015-04-10" + ], + "y": [ + -1.42892673011228, + -0.2697528255669779, + -0.7162829486509463, + -0.5710029850842769, + -0.0258133249361866, + -2.039073499006935, + -1.0868542472805467, + -1.439735841633592, + -3.739405903416584, + -4.992613017019274, + -4.510102877845664, + -4.0043698396634495, + -3.0012070086548084, + -3.9717400767004487, + -4.038185575093561, + -2.885953938562386, + -2.588037704559016, + -3.1989798675405203, + -2.2728778830341207, + -2.531861987621543, + -2.2318530068198985, + -3.5539539412817995, + -4.487117071784796, + -3.7036369668784404, + -4.485670068317735, + -5.7868408090352625, + -7.342571049245955, + -8.784430172899016, + -8.935082934061287, + -8.325940440879778, + -8.42273269266182, + -8.140622343206033, + -5.292549186483608, + -3.751996948324146, + -4.092698907582685, + -4.044593872282865, + -4.581444745350542, + -4.5928723538990734, + -4.1329210236069835, + -4.915100412955779, + -4.941679064756727, + -3.92998314778323, + -2.163649051214774, + -2.191874348151157, + -2.481777817685535, + -3.575866680041681, + -4.3151794321662145, + -3.2213797979457928, + -2.821049743906623, + -5.0776615193999355, + -4.9022461598147995, + -4.089562268053022, + -4.195102831690353, + -4.503650393436571, + -4.2754054431460045, + -2.996654191460813, + -2.8992969691992445, + -3.3673640209185507, + -3.509147029392645, + -2.3475992409578046, + -1.475170430981347, + -0.8625096119034322, + -0.9701224172478357, + -1.0031831499164086, + -1.470675169966283, + -2.406101817359486, + -3.954093878719658, + -5.622328236139327, + -4.739943223261706, + -5.226152577122794, + -5.677751779496669, + -5.633743263205643, + -6.211200989007312, + -6.651941507558451, + -6.654875955152345, + -8.634193567897912, + -9.353619278284627, + -9.097429470511754, + -8.307476989660573, + -7.6665655615863475, + -6.638056748135867, + -7.256777062126093, + -6.678062669958793, + -7.117665224923648, + -7.397321746854718, + -6.274402933876983, + -6.685549286269372, + -6.7469427415627665, + -8.965940070637158, + -7.2139913253502845, + -9.186983553291912, + -8.355494973912101, + -8.533851408591426, + -8.75731719340154, + -8.792173461666888, + -8.505162222097129, + -10.444919993200216, + -9.017213784618411, + -9.308306789198417, + -9.918105339283695 + ] + }, + { + "line": { + "color": "rgba(62, 111, 176, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "YHZ.PM", + "text": "", + "type": "scatter", + "uid": "73126b61-9301-4a3d-b53d-526d39f4827f", + "x": [ + "2015-01-01", + "2015-01-02", + "2015-01-03", + "2015-01-04", + "2015-01-05", + "2015-01-06", + "2015-01-07", + "2015-01-08", + "2015-01-09", + "2015-01-10", + "2015-01-11", + "2015-01-12", + "2015-01-13", + "2015-01-14", + "2015-01-15", + "2015-01-16", + "2015-01-17", + "2015-01-18", + "2015-01-19", + "2015-01-20", + "2015-01-21", + "2015-01-22", + "2015-01-23", + "2015-01-24", + "2015-01-25", + "2015-01-26", + "2015-01-27", + "2015-01-28", + "2015-01-29", + "2015-01-30", + "2015-01-31", + "2015-02-01", + "2015-02-02", + "2015-02-03", + "2015-02-04", + "2015-02-05", + "2015-02-06", + "2015-02-07", + "2015-02-08", + "2015-02-09", + "2015-02-10", + "2015-02-11", + "2015-02-12", + "2015-02-13", + "2015-02-14", + "2015-02-15", + "2015-02-16", + "2015-02-17", + "2015-02-18", + "2015-02-19", + "2015-02-20", + "2015-02-21", + "2015-02-22", + "2015-02-23", + "2015-02-24", + "2015-02-25", + "2015-02-26", + "2015-02-27", + "2015-02-28", + "2015-03-01", + "2015-03-02", + "2015-03-03", + "2015-03-04", + "2015-03-05", + "2015-03-06", + "2015-03-07", + "2015-03-08", + "2015-03-09", + "2015-03-10", + "2015-03-11", + "2015-03-12", + "2015-03-13", + "2015-03-14", + "2015-03-15", + "2015-03-16", + "2015-03-17", + "2015-03-18", + "2015-03-19", + "2015-03-20", + "2015-03-21", + "2015-03-22", + "2015-03-23", + "2015-03-24", + "2015-03-25", + "2015-03-26", + "2015-03-27", + "2015-03-28", + "2015-03-29", + "2015-03-30", + "2015-03-31", + "2015-04-01", + "2015-04-02", + "2015-04-03", + "2015-04-04", + "2015-04-05", + "2015-04-06", + "2015-04-07", + "2015-04-08", + "2015-04-09", + "2015-04-10" + ], + "y": [ + -0.39049739106129217, + -0.318773016616797, + -1.1953042132357088, + -1.806095290306075, + -2.6770298076799293, + -2.0023091224668375, + -1.041183983312652, + -0.4930864245433646, + -2.138814200885971, + -1.3219127882305544, + -1.5759690042588141, + -2.298857663330855, + -1.566144640765904, + -1.252644723178444, + -1.649910094331499, + 0.6958562354222979, + 2.659772964949875, + 3.283799017159162, + 3.2419521004512664, + 3.0942118918914923, + 2.565707905427912, + 0.9946811164523339, + 0.9653697632421784, + 0.4338002879624103, + -0.8859276638247437, + 0.9899097204445171, + 1.3544244563052708, + 1.7756011729580412, + 2.9606996250252466, + 3.3494983748239613, + 2.003298538606434, + 0.7751808158962601, + 0.860000077653142, + 1.0511411728229352, + 1.0894285424788592, + 1.052536828460605, + 0.47338604935655004, + -0.12157797557897299, + -1.3971518800718516, + -1.154692466042242, + -0.7265580488392702, + -0.45762202046661005, + -2.026334028962884, + -3.2969209061191775, + -2.670946543262037, + -2.103873479427647, + -1.2297796798715595, + -1.4076812445227196, + -1.752651682280467, + -2.8565175788127943, + -4.25400377705964, + -5.654203090231632, + -4.66318076381264, + -3.215175383112777, + -2.2760679853995263, + -2.7898674800232577, + -3.344700236896866, + -1.7490008996367163, + -1.599344809038912, + -0.3806657725379283, + -1.22498518642209, + -1.590277278191537, + -0.7466895895800759, + -0.14512775945086565, + -0.10109300683906836, + -0.8989409269727935, + -0.2778227658789726, + -0.22056531263164048, + 0.9808985979745397, + 0.42317193329163383, + 1.282879812719702, + 3.4987601633000263, + 2.2754904586862725, + 2.7218444004694433, + 2.7571471192075343, + 2.36749244757817, + 3.313141527082947, + 2.9904973096542147, + 2.9049793885685147, + 3.768570009719784, + 3.797768520221338, + 4.807720033175226, + 5.822839591374944, + 5.84217238985296, + 7.3240230814657, + 6.586352740643863, + 4.643289429386924, + 5.61670426493194, + 4.782636619160698, + 3.8527546341302847, + 2.6077625428137248, + 1.673586359773259, + 1.9740038627447292, + 2.2622415237108626, + 1.049772622874547, + 2.9513705723657595, + 3.172824034592402, + 1.765418339743801, + 2.1729228413587163, + 1.842146165816756 + ] + }, + { + "line": { + "color": "rgba(132, 118, 202, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "XVG.LO", + "text": "", + "type": "scatter", + "uid": "0647f4d2-3c80-4c26-a0d7-a4aa3b8033a6", + "x": [ + "2015-01-01", + "2015-01-02", + "2015-01-03", + "2015-01-04", + "2015-01-05", + "2015-01-06", + "2015-01-07", + "2015-01-08", + "2015-01-09", + "2015-01-10", + "2015-01-11", + "2015-01-12", + "2015-01-13", + "2015-01-14", + "2015-01-15", + "2015-01-16", + "2015-01-17", + "2015-01-18", + "2015-01-19", + "2015-01-20", + "2015-01-21", + "2015-01-22", + "2015-01-23", + "2015-01-24", + "2015-01-25", + "2015-01-26", + "2015-01-27", + "2015-01-28", + "2015-01-29", + "2015-01-30", + "2015-01-31", + "2015-02-01", + "2015-02-02", + "2015-02-03", + "2015-02-04", + "2015-02-05", + "2015-02-06", + "2015-02-07", + "2015-02-08", + "2015-02-09", + "2015-02-10", + "2015-02-11", + "2015-02-12", + "2015-02-13", + "2015-02-14", + "2015-02-15", + "2015-02-16", + "2015-02-17", + "2015-02-18", + "2015-02-19", + "2015-02-20", + "2015-02-21", + "2015-02-22", + "2015-02-23", + "2015-02-24", + "2015-02-25", + "2015-02-26", + "2015-02-27", + "2015-02-28", + "2015-03-01", + "2015-03-02", + "2015-03-03", + "2015-03-04", + "2015-03-05", + "2015-03-06", + "2015-03-07", + "2015-03-08", + "2015-03-09", + "2015-03-10", + "2015-03-11", + "2015-03-12", + "2015-03-13", + "2015-03-14", + "2015-03-15", + "2015-03-16", + "2015-03-17", + "2015-03-18", + "2015-03-19", + "2015-03-20", + "2015-03-21", + "2015-03-22", + "2015-03-23", + "2015-03-24", + "2015-03-25", + "2015-03-26", + "2015-03-27", + "2015-03-28", + "2015-03-29", + "2015-03-30", + "2015-03-31", + "2015-04-01", + "2015-04-02", + "2015-04-03", + "2015-04-04", + "2015-04-05", + "2015-04-06", + "2015-04-07", + "2015-04-08", + "2015-04-09", + "2015-04-10" + ], + "y": [ + -1.3754896474526888, + -1.137411512515156, + -1.522260744934485, + -2.1976204946551263, + -3.7617349680885375, + -5.568964022742474, + -6.487175817670276, + -6.664301599898659, + -5.112949291100313, + -5.590124733432667, + -4.007635337364519, + -3.377601500934306, + -2.813879518746531, + -3.3116014540085494, + -2.7985579158027467, + -2.402781313103686, + -3.461782085802605, + -3.882192672577448, + -2.2657740013418763, + -1.23878236116029, + -0.1497911297816703, + -0.014443664484521224, + -0.7282898823495918, + 0.7022830708996277, + 1.7430302695413602, + 1.949151489743863, + 1.741650968687178, + 2.4023667919151777, + 3.457401059819472, + 2.8555393976578523, + 5.400971518947243, + 6.729153323249271, + 5.686352750682568, + 6.11404751192632, + 4.391723714419254, + 3.5339008120127238, + 3.518425112220771, + 3.1978267229813775, + 2.918826582205322, + 2.730588813763041, + 3.8054428796323796, + 3.749425781199361, + 4.916218670129977, + 3.8479757833260146, + 3.093410150651467, + 3.800324866205517, + 4.056899674272893, + 5.748761427738323, + 7.0610810316364825, + 9.535254808129942, + 10.901954535473768, + 9.952212944056818, + 11.935634183719323, + 10.286855082509062, + 9.965751803114411, + 10.69221070909853, + 10.849201548741709, + 10.626971369806018, + 11.243665097218962, + 12.69067402123246, + 12.94506738977991, + 12.64952965668329, + 13.215609685966578, + 11.81571871731611, + 12.785801096677822, + 13.002906318890028, + 15.023739339775307, + 16.34892945744997, + 16.13897238115462, + 15.852606895610794, + 15.288933457590336, + 16.177902127171453, + 14.722826520213898, + 14.350459907111063, + 14.461221969457249, + 14.785070426314457, + 13.972073384962622, + 12.853901318842693, + 13.434958672041168, + 13.316084215096708, + 14.582305127946563, + 14.034637263390819, + 13.848615452380075, + 13.840730650262456, + 14.485836946750076, + 14.199670543536298, + 14.293566133710055, + 14.729528178034265, + 14.065775912748697, + 14.464310861212237, + 15.135582099292034, + 15.795089273698476, + 16.28073320572264, + 16.136939815964915, + 13.897650261355963, + 15.65426438649623, + 16.937115649687748, + 17.72997201449929, + 18.251622535469647, + 16.308683379457854 + ] + }, + { + "line": { + "color": "rgba(101, 101, 101, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "KRG.GX", + "text": "", + "type": "scatter", + "uid": "7635c24a-9d7d-433a-a8a7-5fa07314babc", + "x": [ + "2015-01-01", + "2015-01-02", + "2015-01-03", + "2015-01-04", + "2015-01-05", + "2015-01-06", + "2015-01-07", + "2015-01-08", + "2015-01-09", + "2015-01-10", + "2015-01-11", + "2015-01-12", + "2015-01-13", + "2015-01-14", + "2015-01-15", + "2015-01-16", + "2015-01-17", + "2015-01-18", + "2015-01-19", + "2015-01-20", + "2015-01-21", + "2015-01-22", + "2015-01-23", + "2015-01-24", + "2015-01-25", + "2015-01-26", + "2015-01-27", + "2015-01-28", + "2015-01-29", + "2015-01-30", + "2015-01-31", + "2015-02-01", + "2015-02-02", + "2015-02-03", + "2015-02-04", + "2015-02-05", + "2015-02-06", + "2015-02-07", + "2015-02-08", + "2015-02-09", + "2015-02-10", + "2015-02-11", + "2015-02-12", + "2015-02-13", + "2015-02-14", + "2015-02-15", + "2015-02-16", + "2015-02-17", + "2015-02-18", + "2015-02-19", + "2015-02-20", + "2015-02-21", + "2015-02-22", + "2015-02-23", + "2015-02-24", + "2015-02-25", + "2015-02-26", + "2015-02-27", + "2015-02-28", + "2015-03-01", + "2015-03-02", + "2015-03-03", + "2015-03-04", + "2015-03-05", + "2015-03-06", + "2015-03-07", + "2015-03-08", + "2015-03-09", + "2015-03-10", + "2015-03-11", + "2015-03-12", + "2015-03-13", + "2015-03-14", + "2015-03-15", + "2015-03-16", + "2015-03-17", + "2015-03-18", + "2015-03-19", + "2015-03-20", + "2015-03-21", + "2015-03-22", + "2015-03-23", + "2015-03-24", + "2015-03-25", + "2015-03-26", + "2015-03-27", + "2015-03-28", + "2015-03-29", + "2015-03-30", + "2015-03-31", + "2015-04-01", + "2015-04-02", + "2015-04-03", + "2015-04-04", + "2015-04-05", + "2015-04-06", + "2015-04-07", + "2015-04-08", + "2015-04-09", + "2015-04-10" + ], + "y": [ + -0.7216209564247796, + 0.18731697311258866, + -0.21923438537928464, + -1.6636745878103436, + -2.895874760791698, + -2.060025574832062, + -1.6864847268364234, + -1.7681923990794948, + -1.8895680585755843, + -1.3942339421109302, + -2.899700407140247, + -2.922351714802477, + -1.773997632935804, + -0.9871090778364863, + 0.47206837021306647, + 0.28119078705442546, + 0.41190485741402044, + 1.5804521594380052, + 2.7744152037356153, + 4.194847691717968, + 4.376081260796849, + 4.104805061452621, + 3.588151194046855, + 4.767258684748058, + 4.888823440910436, + 4.572203066267942, + 3.625514785702745, + 3.4529544573323085, + 3.673337173063011, + 3.356377890260717, + 3.2152746739292946, + 3.9630923757694703, + 3.1941590111425016, + 2.949169417619321, + 2.2864564653499526, + 2.329360264369821, + 1.9517009997870576, + 1.0675925956409635, + 1.1581616601278297, + 1.8079272149979544, + 1.6021578634416986, + 0.9260878632980232, + 1.3811656440901867, + 1.7572550369640971, + 2.6876663442334316, + 2.6480747948520933, + 1.4594566026110147, + 0.48715003292787906, + 0.7959836051704545, + -1.5668649300046453, + -2.2637698883227215, + -2.1346969012745802, + -2.337664955056662, + -1.6928609347074155, + -1.58027674110939, + -0.016561112420929502, + -1.392685140476756, + -0.5561260198476399, + 0.40139482717855657, + 1.3535462739595405, + 1.0647147716560914, + 1.5237208241427769, + 2.2026724420914965, + 1.4881262090668799, + 0.653037038575834, + 1.9964844081216142, + 0.11990004828846446, + -2.083165989994068, + -1.6362899872461147, + -1.5931564074219144, + -0.2353537507484187, + 0.1198251214252149, + -1.7202457890287874, + -1.49489697131255, + -1.390078101898804, + -1.5794608217789765, + -1.9328926269740916, + -3.0273748509688563, + -3.4465899325947906, + -1.8207629566866035, + -1.878688247094946, + -0.5409400622024108, + 0.8990305865932915, + 0.9000435927817009, + 1.384350640617241, + 1.1714642458280846, + 0.898300697239179, + 0.852764690878251, + -0.14539029694628114, + 0.4158263413234228, + -0.047816309500624654, + 0.012024843387565827, + 1.1335737999395652, + -0.7159941266123291, + -0.29352320478093263, + -0.09463052743604547, + -1.5097392237134506, + -0.8631650183393555, + -0.6918430210808497, + -2.620914159442985 + ] + }, + { + "line": { + "color": "rgba(251, 193, 94, 1.0)", + "dash": "solid", + "shape": "linear", + "width": 1.3 + }, + "mode": "lines", + "name": "VEW.NS", + "text": "", + "type": "scatter", + "uid": "01f8e7da-91fc-4eac-b6c3-655c614d741a", + "x": [ + "2015-01-01", + "2015-01-02", + "2015-01-03", + "2015-01-04", + "2015-01-05", + "2015-01-06", + "2015-01-07", + "2015-01-08", + "2015-01-09", + "2015-01-10", + "2015-01-11", + "2015-01-12", + "2015-01-13", + "2015-01-14", + "2015-01-15", + "2015-01-16", + "2015-01-17", + "2015-01-18", + "2015-01-19", + "2015-01-20", + "2015-01-21", + "2015-01-22", + "2015-01-23", + "2015-01-24", + "2015-01-25", + "2015-01-26", + "2015-01-27", + "2015-01-28", + "2015-01-29", + "2015-01-30", + "2015-01-31", + "2015-02-01", + "2015-02-02", + "2015-02-03", + "2015-02-04", + "2015-02-05", + "2015-02-06", + "2015-02-07", + "2015-02-08", + "2015-02-09", + "2015-02-10", + "2015-02-11", + "2015-02-12", + "2015-02-13", + "2015-02-14", + "2015-02-15", + "2015-02-16", + "2015-02-17", + "2015-02-18", + "2015-02-19", + "2015-02-20", + "2015-02-21", + "2015-02-22", + "2015-02-23", + "2015-02-24", + "2015-02-25", + "2015-02-26", + "2015-02-27", + "2015-02-28", + "2015-03-01", + "2015-03-02", + "2015-03-03", + "2015-03-04", + "2015-03-05", + "2015-03-06", + "2015-03-07", + "2015-03-08", + "2015-03-09", + "2015-03-10", + "2015-03-11", + "2015-03-12", + "2015-03-13", + "2015-03-14", + "2015-03-15", + "2015-03-16", + "2015-03-17", + "2015-03-18", + "2015-03-19", + "2015-03-20", + "2015-03-21", + "2015-03-22", + "2015-03-23", + "2015-03-24", + "2015-03-25", + "2015-03-26", + "2015-03-27", + "2015-03-28", + "2015-03-29", + "2015-03-30", + "2015-03-31", + "2015-04-01", + "2015-04-02", + "2015-04-03", + "2015-04-04", + "2015-04-05", + "2015-04-06", + "2015-04-07", + "2015-04-08", + "2015-04-09", + "2015-04-10" + ], + "y": [ + -0.5310280382309932, + -1.2218339299805843, + -1.946162476489489, + -1.8922149213769575, + -0.7663594150839568, + -0.831073361452497, + -1.156564477306067, + 0.007767734194602749, + 1.8476757382226068, + 0.3826292381073646, + -0.7332994773133426, + -2.386018927209059, + -2.4697108688350293, + -2.362220977661294, + -1.4694431386569622, + -0.6712008462795688, + 0.508433929756882, + -0.13417520347451506, + -1.0828858905308092, + -1.9992719753275932, + -1.1363764248023327, + -0.6698044998733174, + -1.685601330766815, + -1.759876792079366, + -1.5272971864765257, + -1.917512789826697, + -0.5919340468146717, + -2.928162606650753, + -2.461183183639017, + -1.976363752915787, + -2.7608254639680814, + -1.747955451024685, + -1.3565376293668843, + -1.3142864736912168, + -0.9403196951966353, + 2.0080047485384283, + 3.084750728287821, + 4.033417496181234, + 2.3531546778470824, + 2.406776395052206, + 2.0493190991870014, + 2.1009892023984023, + 2.482393577443997, + 1.49475589093937, + 1.3012720138617868, + 3.30392397516045, + 2.3286695297387343, + 3.6396401777855423, + 3.7563499268552194, + 3.323651073089271, + 3.2983664480159565, + 3.937057978993856, + 3.6968756772354077, + 3.138261523790519, + 3.246561108855054, + 3.115283184344749, + 3.616549721004191, + 3.4160361827502124, + 3.20970812817276, + 2.791469831237995, + 2.508972524464301, + 0.7284266519930946, + -0.2575582733615298, + -0.3428130050458167, + 0.3357451039946412, + -0.7237616013940996, + -0.3923595675554705, + -1.9358199018195412, + -1.3525440090092395, + -3.0357701133078376, + -3.1669406033481957, + -2.291357390394912, + -3.5553204370439877, + -3.177639827917101, + -2.4362315136160926, + -1.7745585477206751, + -0.8281722684145707, + -0.5518653595020304, + -0.5273839594558496, + -1.0638948571395366, + -1.0088547811096578, + -3.2153987307016094, + -3.3860045730259034, + -1.607291848639828, + -2.537830605980689, + -2.125338967918167, + -1.903972761626552, + -0.5467252488828689, + -0.20364652702629887, + -1.2925184455507321, + -2.332972065587284, + 0.04403687741863038, + -0.4654062524507644, + 0.13797740157717775, + -1.9428275626808997, + -0.8742231761339405, + -0.4336672828400073, + 0.5232876695994397, + -0.6512076475698798, + -3.6000415368095644 + ] + } + ], + "layout": { + "legend": { + "bgcolor": "#FFFFFF", + "font": { + "color": "#666666" + } + }, + "paper_bgcolor": "#FFFFFF", + "plot_bgcolor": "#E5E5E5", + "title": { + "font": { + "color": "#151516" + }, + "text": "Cufflinks - Line Chart" + }, + "xaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "Dates" + }, + "zerolinecolor": "#F6F6F6" + }, + "yaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "Returns" + }, + "zerolinecolor": "#F6F6F6" + } + } + }, + "text/html": [ + "
\n", + " \n", + " \n", + "
\n", + " \n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cf.datagen.lines().iplot(kind='scatter',xTitle='Dates',yTitle='Returns',title='Cufflinks - Line Chart')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 热图" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "linkText": "Export to plot.ly", + "plotlyServerURL": "https://plot.ly", + "responsive": true, + "showLink": true + }, + "data": [ + { + "colorscale": [ + [ + 0, + "rgb(158,1,66)" + ], + [ + 0.1, + "rgb(213,62,79)" + ], + [ + 0.2, + "rgb(244,109,67)" + ], + [ + 0.3, + "rgb(253,174,97)" + ], + [ + 0.4, + "rgb(254,224,139)" + ], + [ + 0.5, + "rgb(255,255,191)" + ], + [ + 0.6, + "rgb(230,245,152)" + ], + [ + 0.7, + "rgb(171,221,164)" + ], + [ + 0.8, + "rgb(102,194,165)" + ], + [ + 0.9, + "rgb(50,136,189)" + ], + [ + 1, + "rgb(94,79,162)" + ] + ], + "type": "heatmap", + "uid": "ce1aa7a9-b773-42bc-90ef-37e26a6cf01f", + "x": [ + "x_0", + "x_1", + "x_2", + "x_3", + "x_4", + "x_5", + "x_6", + "x_7", + "x_8", + "x_9", + "x_10", + "x_11", + "x_12", + "x_13", + "x_14", + "x_15", + "x_16", + "x_17", + "x_18", + "x_19" + ], + "y": [ + "y_0", + "y_1", + "y_2", + "y_3", + "y_4", + "y_5", + "y_6", + "y_7", + "y_8", + "y_9", + "y_10", + "y_11", + "y_12", + "y_13", + "y_14", + "y_15", + "y_16", + "y_17", + "y_18", + "y_19" + ], + "z": [ + [ + 63, + 56.2938225813828, + 63.864097806909406, + 62.43949997111222, + 66.1854579229419, + 61.51945832358134, + 58.17128601022887, + 59.66504325708315, + 39.6854049649398, + 60.97173021957569, + 64.06413071302892, + 66.23363599792668, + 61.374569954544185, + 49.76760024353254, + 68.46040655149025, + 56.11466901528094, + 59.12204603606857, + 71.49024173113267, + 63.13067367142762, + 61.964998972814875 + ], + [ + 69.85173871538551, + 54.469676849368476, + 61.70476826139166, + 66.44154574252228, + 73.98989399476977, + 57.287779862845724, + 66.67794874463647, + 59.95392054437175, + 52.45448497019167, + 56.43336042400284, + 65.10849874564768, + 66.91246309070694, + 59.842155703588666, + 60.203326355094035, + 66.89928807163479, + 56.376456060038606, + 59.64942433028046, + 65.16557614355838, + 64.12399239441983, + 63.79108139784188 + ], + [ + 73.18714183717559, + 59.18675590491247, + 54.52830077307886, + 67.74381365571531, + 65.59161557453064, + 56.865147675111444, + 64.86906037149998, + 54.25032890458448, + 51.60683152901381, + 55.571070107912746, + 64.47180392472467, + 58.70863469094866, + 60.34561652852354, + 45.90458603813603, + 69.0466196243881, + 56.9156959321254, + 61.68516329699572, + 66.22875298656452, + 57.724386036042844, + 61.77347964435999 + ], + [ + 72.20763084630113, + 56.202597203593875, + 54.346333240310216, + 67.06648894280325, + 67.43833687764793, + 51.177275888280214, + 53.17043936783628, + 68.82204805526415, + 47.316517613640755, + 53.99933629511123, + 64.51993800408397, + 58.3800435428232, + 61.43536948179027, + 50.07352148569305, + 68.14771076312917, + 55.79977298589241, + 62.01533399503888, + 86.61076674740372, + 52.896955320009255, + 56.97107351411166 + ], + [ + 81.90377285341516, + 56.219998684622944, + 53.879680176564996, + 63.439986439617606, + 69.00775209879805, + 53.57002398153421, + 54.04679672923006, + 75.00997865400703, + 55.381240023519936, + 74.01615863305054, + 61.422169024328646, + 57.31998644945864, + 56.656473499428266, + 50.35921719659884, + 71.5893731938684, + 58.83934009018358, + 60.5149538389969, + 86.28832655680705, + 45.843948170146874, + 54.27223499140053 + ], + [ + 86.6402684795012, + 56.93993207720413, + 47.72085411122099, + 75.5520143313594, + 73.96133025371391, + 52.66915533277527, + 54.02097618578584, + 74.57956757503084, + 42.7000632863358, + 74.87436270909929, + 76.47127605548488, + 58.75688896119875, + 54.69116759822507, + 47.582558643138725, + 68.9686172863382, + 51.048990601366135, + 54.989637320015156, + 97.2726745778964, + 54.23166937253895, + 58.41461895171687 + ], + [ + 86.79817442402391, + 56.73390865145279, + 47.07361860345667, + 73.24029490198242, + 88.65466103620545, + 40.60719007024143, + 50.09099893054214, + 74.53669386011516, + 40.574447947249105, + 74.2309234789457, + 75.37898974167108, + 56.60600420373594, + 62.73002842967819, + 48.70532656094413, + 66.26153208286838, + 48.63550226726663, + 60.65954855081643, + 90.39848828838268, + 48.54845114646013, + 61.36083323377225 + ], + [ + 96.57866267427362, + 60.561529364151355, + 45.43239151364326, + 76.53702277333345, + 83.84038261381347, + 38.168320217059005, + 55.00007246496618, + 85.39243142755669, + 44.83036020500928, + 73.01462579562582, + 75.91182689156733, + 50.906183985703365, + 61.657457730768854, + 48.122669438908986, + 61.65758398122811, + 49.943720227325805, + 62.41279604101133, + 92.26930697622177, + 46.121903361754754, + 53.32119805825987 + ], + [ + 94.17969566684273, + 64.02512837814473, + 42.70644381027132, + 76.86578621664282, + 85.37888684054468, + 38.681658478677235, + 52.88725433636354, + 89.13497881503146, + 44.966942834205426, + 70.3907756449086, + 76.36629660285166, + 52.22980989019509, + 60.29626229792498, + 54.98848982412829, + 62.704348372993586, + 49.15586775844955, + 58.18582717871847, + 96.68260170007895, + 49.24710471779189, + 58.156633604125915 + ], + [ + 98.90476613428947, + 61.41363954831254, + 38.466463750248856, + 78.43816205999465, + 73.52208889885634, + 42.2515427875977, + 54.424826058573316, + 87.02293584210376, + 37.77305326845732, + 79.77001249390322, + 94.67084023434182, + 58.07296050754728, + 58.64589766410598, + 57.504829193836215, + 69.76713911328625, + 59.875330493837964, + 58.58824257349961, + 99.24247598921792, + 42.363661921081125, + 59.11641657025429 + ], + [ + 94.2838614474163, + 45.206957456213175, + 37.748570881836834, + 90.18942492398193, + 74.57991927190943, + 44.44137128527355, + 50.21085857879193, + 75.98983362247145, + 38.80493827910667, + 78.45567276496396, + 95.00781179921685, + 60.06003840963555, + 57.7795002100912, + 55.139908784529034, + 75.12532229407917, + 61.87787195058824, + 55.62593328261524, + 100.5942303902323, + 32.33640893494945, + 58.72550899872352 + ], + [ + 90.75400794211309, + 48.02183588012971, + 52.89769676462786, + 89.75074246721839, + 72.80892113346587, + 54.44413793474498, + 49.19811961353983, + 76.06377714123028, + 30.403162827961637, + 75.51093962725048, + 94.52995905975042, + 60.51572282958103, + 52.34003134943971, + 47.90872086801136, + 73.86239912725297, + 60.62378167259813, + 56.73145674866538, + 104.09526598927182, + 31.20985236850341, + 49.3602021464327 + ], + [ + 90.55041811912606, + 46.29765125396839, + 62.648131940894835, + 93.63804154185634, + 72.53941287929172, + 55.33687649828558, + 44.837582561707016, + 74.21563172500913, + 29.37736812415518, + 71.48802642431508, + 100.49014850101449, + 59.255757460827205, + 54.303059840538616, + 45.933287743437305, + 81.08482024572618, + 60.13248652307443, + 49.60159317392333, + 99.08214169225751, + 25.580743400021355, + 43.56134419850294 + ], + [ + 90.69251917070893, + 50.002651750393014, + 60.296578229875784, + 91.13332048433048, + 70.83348832409335, + 55.459895531573814, + 48.23965765206569, + 74.42453155073852, + 37.56677971032077, + 68.74218550703395, + 102.34084628212588, + 63.40189084704549, + 53.03038968673471, + 47.17511089945535, + 73.66911275105696, + 58.10851846488721, + 47.92690226742881, + 92.47997118238534, + 29.324299601871918, + 40.301302188255086 + ], + [ + 90.5445323534622, + 50.75463775341383, + 61.81270334948051, + 89.52518525642176, + 68.44406417179869, + 53.26589513787477, + 37.33303814425011, + 79.97753643327624, + 37.59330127784871, + 67.42961031478197, + 110.78725524222841, + 70.23843610128962, + 52.25767753704485, + 48.71485940162442, + 75.3447108624296, + 61.233982499602604, + 48.540181236318666, + 94.9281055244514, + 30.611052272704292, + 41.89441702057138 + ], + [ + 87.81515603974802, + 42.9430379573085, + 48.509599380275624, + 88.87295308229716, + 66.47014430258476, + 49.2289209094582, + 35.58035862682364, + 73.78233765815156, + 28.789163342160926, + 67.61229068220844, + 112.86830285462288, + 66.8959733327991, + 45.527879208931836, + 46.57157208464543, + 74.1763433709272, + 58.96297633279599, + 48.02912268522939, + 94.70393150668872, + 35.996144090232406, + 40.535704163146356 + ], + [ + 69.81048386071342, + 48.01162582111391, + 48.20779708430387, + 89.04139393873497, + 65.82670558933654, + 41.603900722455094, + 34.2409664959811, + 76.82031526014086, + 37.84181390024373, + 78.4077849340074, + 110.92194487200807, + 63.218586101279186, + 39.77933856800915, + 46.289276874796045, + 66.1895284219451, + 62.50721953337364, + 44.84175838120276, + 91.29359907011748, + 37.79869687486127, + 54.3697456783529 + ], + [ + 66.04333369225276, + 46.0110066358533, + 44.81073480870338, + 83.92445674324564, + 62.68894189718911, + 41.92309750378774, + 33.4973012442408, + 76.83770474927802, + 36.66317582442737, + 74.23521552740428, + 109.27410267658118, + 64.20653624834986, + 38.45593820809967, + 46.3361743613548, + 57.62533951135626, + 52.17724672861441, + 46.72870054101245, + 104.10895925675345, + 39.76271302979031, + 62.72805210077527 + ], + [ + 65.65509900719154, + 46.16382051262096, + 36.64443390049248, + 78.52211147129589, + 60.79869991128346, + 45.98249667360251, + 28.19581795240173, + 76.81749258165696, + 38.27755684159646, + 68.39949851510224, + 108.73442681021756, + 63.34078901246294, + 39.67763863342758, + 45.986326785193334, + 48.0238346235505, + 54.84661577545495, + 47.20490499423874, + 100.97687661727537, + 36.172054735786, + 60.10047735427454 + ], + [ + 58.342224375373895, + 41.861667657683846, + 35.349034552608884, + 81.34808120170001, + 66.43552784066067, + 50.78442168925798, + 18.47395686485113, + 82.99445497939662, + 30.381429967915622, + 67.11325938911132, + 114.99112508032923, + 63.41789508302735, + 39.47510070924088, + 48.09175454829058, + 55.21202439298617, + 55.919432187254415, + 38.70468181640971, + 102.37625865239951, + 31.63865472642806, + 56.927525870744645 + ] + ], + "zmax": 114.99112508032923, + "zmin": 18.47395686485113 + } + ], + "layout": { + "legend": { + "bgcolor": "#FFFFFF", + "font": { + "color": "#666666" + } + }, + "paper_bgcolor": "#FFFFFF", + "plot_bgcolor": "#E5E5E5", + "title": { + "font": { + "color": "#151516" + }, + "text": "Cufflinks - Heatmap" + }, + "xaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + }, + "yaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + } + } + }, + "text/html": [ + "
\n", + " \n", + " \n", + "
\n", + " \n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cf.datagen.heatmap(20,20).iplot(kind='heatmap',colorscale='spectral',title='Cufflinks - Heatmap')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3D" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "linkText": "Export to plot.ly", + "plotlyServerURL": "https://plot.ly", + "responsive": true, + "showLink": true + }, + "data": [ + { + "marker": { + "color": "rgba(55, 128, 191, 1.0)", + "line": { + "width": 0.5 + }, + "opacity": 1, + "size": 15, + "symbol": "circle" + }, + "mode": "markers", + "name": "category1", + "text": [ + "UXW.ND", + "RCC.BT", + "KXQ.YP", + "QLV.WU", + "JWA.TZ", + "SWV.IC", + "UNG.QI", + "DRL.SX", + "TLR.UG", + "JRD.YV", + "HZU.TU", + "WRH.TL", + "BAA.AB", + "SID.NT", + "TGI.EI", + "IPZ.FK", + "JWQ.EP", + "JRP.JA", + "FAW.UH", + "BZW.UT", + "WXZ.JQ", + "YIT.AX", + "ZUK.YK", + "PJV.KJ", + "AHN.TO", + "UIE.VQ", + "TEE.YW", + "JBP.MU", + "XVS.MJ", + "VJS.MX", + "JCP.AH", + "NHM.ER", + "ETX.ZD", + "XTL.MG", + "TPJ.YE", + "BEO.VV", + "JIS.SW", + "VLQ.VG", + "XYW.GT", + "PKU.PG", + "BDL.CL", + "UBS.EO", + "UJB.NW", + "BNU.JD", + "XPI.KS", + "MSG.TU", + "UCE.MR", + "CKB.VN", + "DSW.IO", + "NPO.IQ", + "DYD.YO", + "VAX.JB", + "JOA.DC", + "XOE.YI", + "HUZ.HT", + "ITG.KF", + "GFM.XB", + "JFC.IL", + "JEI.KO", + "ITQ.QD", + "FML.MG", + "DMC.IF", + "REB.GT", + "FPP.IL", + "IGT.EG", + "KNL.OI", + "WAM.PF", + "IRR.VC", + "YGV.UZ", + "VXP.WR", + "FHA.ML", + "DSR.QW", + "XQG.FK", + "HBS.JR", + "TAE.OS", + "GIG.GT", + "SCK.VK", + "ZNB.LE", + "HFW.CL", + "UMG.WN", + "EDB.PB", + "LJQ.QP", + "VLE.WI", + "DEJ.UE", + "NXG.TR", + "MFH.YU", + "ZZO.IW", + "DJE.MQ", + "LQR.SJ", + "LQM.BT", + "MXH.CA", + "QRX.KY", + "QEO.OI", + "RZC.EX", + "ZAS.CI", + "EFI.DX", + "TTL.CS", + "UIO.WB", + "IER.YY", + "AKL.DW", + "GTK.CR", + "DOM.FG", + "KRI.IH", + "VNI.BT", + "YBN.XB", + "JGJ.LC", + "MVT.NQ", + "VFI.SG", + "MMY.LX", + "KUD.PF", + "XQN.YQ", + "ZTB.ME", + "MAT.MW", + "CQH.EY", + "PMA.FU", + "CFE.ST", + "ZFC.AR", + "CKP.HL", + "CJK.LK", + "VCT.SS", + "ZIY.DY", + "HOU.BC", + "YFD.BW", + "WLL.EY", + "KUU.HT", + "BQA.OW", + "FRT.PV", + "TUV.ON", + "HTG.TF", + "PQT.TH", + "MQW.DE", + "RQP.JQ", + "KHJ.FA", + "LNY.VY", + "HSI.CH", + "AZH.ZH", + "FJQ.RF", + "KAN.HU", + "QPF.FT", + "ADZ.YN", + "MSS.GN", + "CUL.IX", + "RQW.SG", + "HZV.GC", + "VKM.GB", + "ZOH.WL", + "OQH.ZZ", + "TKO.HR", + "TKI.XC", + "KRL.ED" + ], + "textfont": { + "color": "#666666" + }, + "type": "scatter3d", + "uid": "73cf36c3-b33a-48fa-b42d-69379f8a0698", + "x": [ + 0.1952168145553445, + 1.0283214720987255, + 0.5461691252624896, + -1.1124054924567393, + 1.0990721997403599, + -0.02777223376856842, + 0.3332868941480092, + 1.5412694121203312, + -0.8388718800125937, + -0.2726792802424758, + -0.5965108883226943, + 0.8146475926539082, + 0.754295067038504, + -0.6004685427568911, + 0.39989740267163776, + -0.09712478006624453, + 0.40531082104757715, + 1.3129363118596549, + 1.8845639589580738, + -1.1641556357336416, + -0.8828998266647153, + -1.4518923266505985, + -0.5589863091648567, + -0.5488252495695589, + -0.7682366558656385, + 0.2550484482341583, + -0.1418760640581521, + -0.12800998408987685, + 0.35592385761409573, + 2.0420237636840985, + 0.5263278449155444, + -0.11048434182848578, + 0.6207960348614716, + 0.4356379280766868, + 0.43637024811199304, + 0.23959395394269448, + -2.379396708437523, + -0.1561790237357267, + 0.08876985260835818, + 0.1058548753921483, + -1.3146066985794842, + -0.05414549930663541, + -0.1800353090307295, + 1.7600046090858474, + 0.291772217107511, + -0.6400074092672237, + -0.31307607733208365, + 0.7806190143737713, + -0.48250431607928745, + -1.243736973131077, + 1.056928077591911, + 1.1576051204930504, + -1.4852335269156696, + 1.7797067496331143, + -1.191552438772337, + 0.286886330581036, + -0.6173727758240183, + 1.2801564873682, + -1.2283022821989433, + 0.22173302356028524, + 0.12857923545113198, + -1.0375655608593486, + 1.0526565618769017, + 1.3590850367384424, + 0.636593166537874, + -0.6825010273022923, + 0.09634942431028905, + -2.1815894653106795, + 0.7872345946369852, + -0.8113975012139941, + -1.7505491250999576, + 1.1909699864716814, + 0.6138737393627753, + 0.8141127802701015, + -0.639602756554522, + 0.3322073107921376, + -0.4140209538861032, + -0.45859571004423516, + 0.024130521229764022, + 2.57928697887738, + 0.5266330083924876, + -1.9021280364591753, + 1.59513851766619, + -1.671982917069583, + -0.10043533831629187, + -1.7410774621681866, + -1.1809838779920172, + 0.10815425665897083, + -0.027696921516914982, + -0.4012741965316148, + -0.5460502846575258, + -0.18043181625921093, + -0.07259925943416555, + 1.8811800132436178, + -1.665069212837084, + 0.43172109209406156, + 0.026398204889355292, + -1.3820071151219078, + -2.0727349551828427, + 0.5209085602544178, + 1.9696505409540377, + -1.6882657291337044, + 0.6581778370922169, + 0.16858228583112303, + 0.3663144164896399, + 2.284606554489571, + -0.17782978186833168, + 0.6377912014003925, + 0.5216446923808615, + -0.1718635446390529, + -1.5491244887766555, + 0.21695141880329954, + -1.7779360900799945, + -0.31913638487112567, + -1.476774440196955, + 1.627545534180731, + 0.5238320640884037, + -0.7528127482815381, + 1.2665950128381174, + -1.7430433781149364, + 0.6209576721018821, + -0.03277222510924318, + 0.9120578599004826, + 0.11273232123168427, + 1.0089453722340886, + 0.2527055164191322, + -0.25916852099514187, + -0.1757024116042107, + -1.1115261604869267, + -0.8439237383857272, + 0.09737574361722107, + 2.177983159549372, + 0.5260042957558615, + -0.7716334704076384, + 1.2958081434652549, + 0.06380567365043059, + -1.4095639233413628, + -0.10649038761235163, + 0.3089707295378182, + -1.670676678431856, + 1.844907475502959, + 1.0030295272176426, + -0.6519596850585339, + 0.5389386419979785, + -2.1246819175356233, + 0.6542428473866543, + -0.6165222840550102, + -1.1484892502314417, + 2.0056577448568693, + -0.36842470281085854 + ], + "y": [ + -0.20395768980761983, + -0.4610704611680295, + 1.2719669128371238, + -0.9253162803729408, + -0.6956939747164895, + -0.46169035271321723, + -0.0008131862169673662, + 0.35907563555359184, + 1.4250424294478337, + 0.31217609172772626, + -0.49921027050082345, + -1.8399989128907461, + 1.058692210349017, + 0.3945950481768473, + -0.08833015427443341, + -1.084154526831164, + -0.9083629645647584, + 0.7022490400902248, + -1.3598417517101147, + -1.1791009751775172, + -0.5076311547982846, + 0.9067768908533012, + 0.21065991831199424, + 0.6347703492077049, + -1.6979742899499837, + -0.6811864732747555, + -0.9343447344456399, + -1.2126660034038648, + 0.9557384654998646, + -0.17713870203434598, + -0.3529040423403499, + 1.551866914236768, + 1.040625838101654, + -1.211138385866447, + -1.123761150744451, + -0.1217218556266706, + -0.3680527812663051, + 0.38765419998678924, + -0.7901781963006774, + -0.6821690112057258, + 0.5218955260982264, + -1.361226201191439, + -1.6439952435174834, + -1.1126430890858905, + -0.3856543637292738, + 0.20954055090298856, + -0.7193042199194831, + 1.416280941779584, + -0.3719598528591875, + -0.6863662287008834, + -0.46768845724367175, + 1.8834097719541194, + -1.4131584212806036, + 0.28984315657847637, + 1.1068562142247778, + 0.09189070177873084, + 0.6467750151135352, + 2.0490324671196287, + -0.01589430660538938, + 0.6778848048803798, + 0.2655163600597652, + 0.8311985482022849, + -0.031814160851610485, + -0.8801578482010924, + -0.8892542109199054, + -0.8976568346699064, + -0.8553524688757991, + 1.2641479467386076, + -0.12377331408236676, + 1.7261073928376236, + 1.3622570910110585, + -0.09716981255150915, + -1.566483387344933, + -1.4385102441937692, + 0.5563373629557106, + -1.204092747242345, + 1.5003571387718393, + -0.22361217895122537, + 0.003101135286224555, + -0.726869325994007, + -0.0054100254008389095, + -0.8947267005582383, + -0.7912509513447218, + -0.9810905496930856, + -0.654656849063749, + -0.1059204842882828, + -0.4321636850193262, + 0.3152910687197772, + 0.25606344314899593, + -1.1710969311132908, + 0.4489701042725415, + 0.11506940767210429, + -0.1809334519750947, + 0.6029705582007132, + 0.2678554390916608, + 0.18989590798539674, + -0.6711553734547492, + 0.3896153936215794, + -0.47148441695385895, + -0.6604166732063634, + 0.850689496282993, + 0.6982048645715144, + 0.8225555979205348, + -0.21181264380093937, + -0.06409955400932475, + -0.43502063640907734, + 1.5423736195451871, + -0.23732442060387154, + 1.1739601757602878, + -3.8833042963858557, + 0.16677229657402043, + -0.6007329444724756, + -0.3143901935032125, + -1.0467936240189781, + -0.799954554624964, + -1.147647033084889, + -0.14379139446366168, + -2.136403851221226, + 0.17589800166047773, + -0.14478987418267264, + 0.8513748902854679, + -0.8701427627831563, + -0.48676696884029813, + 0.6639694649604307, + 0.7378859823913145, + 1.0285996885006787, + -0.7784705799240054, + -0.8219550431019353, + -0.2596212927215951, + 0.6156283674826751, + 0.6074341258343887, + -1.2011573893018639, + 1.509375896756451, + -0.5041736048190523, + -0.8777718394658226, + 0.12228790331013563, + -1.861160987841724, + -0.18215123349026424, + 0.5755025516864858, + -0.821193521225882, + -1.3084173425801915, + 1.7235132159497708, + -0.2745508142774728, + 0.8930272258841767, + -0.2514833814139866, + 1.1387496614786623, + -0.03808412943056535, + 0.3380443479054627, + -0.2243225296906085, + 0.4528817818625134 + ], + "z": [ + -0.6888747572608807, + -0.02031439822000657, + -0.8966461431950284, + -0.15545326016417266, + 0.40384402664936264, + -1.5953059778200158, + -0.45008611021164974, + 0.22596880016706347, + -1.9533705095558966, + -0.20705388494531163, + -0.47868431170902925, + -1.148065577435051, + -0.3536617922295701, + -0.6869843968369698, + 0.15216595550750697, + -0.4849920380466607, + -0.2209454813307036, + 0.9727153214116382, + 1.4606095913734805, + -0.6664830354097535, + -0.27128953256560756, + 1.6920046986682156, + -0.7402312536690119, + 0.08012994267675774, + 0.17418347448557459, + 0.17687571663629637, + 0.16055587381138162, + -0.29561761556893607, + -0.3919157627420322, + 0.6124092117147831, + -0.916524403067725, + -2.0212915265512597, + -0.059977744899496054, + 0.7428566830129057, + -0.5845374222988066, + -0.3982018468059695, + 0.8892861740177553, + 1.3496262053387338, + -0.6255347321468383, + 2.137480508568564, + -1.0316735958591954, + -1.1285791214795344, + -0.8440156606173905, + 1.137196617843645, + -2.4335213781952687, + -2.167974663589356, + -0.47876557479750764, + -0.49322330377751117, + -0.35520658891133433, + -0.17970274121210283, + -0.278016908545102, + -1.6385651855569399, + -0.7853534950179086, + -0.5292424301482613, + -1.5928660110204902, + -1.5782735664329508, + -0.2660018243944047, + 0.8547832967188678, + 1.3063075718115738, + 1.5167168211319388, + 0.8388233253524054, + 0.3289417576065905, + -0.7066260324330285, + 1.5486890258901072, + 0.7896247491853524, + 0.6243202192177439, + 1.367351538520281, + 0.17512246447085142, + -0.3262672860811135, + 2.1525967826969774, + 0.6312271230562269, + 0.6771447550050421, + -1.3121385770522205, + -0.9781354592400934, + -1.0594246743293194, + 0.98896692455537, + -1.9018862334468145, + -0.378005218613609, + -1.4550772182860183, + 0.8106256197112891, + -0.9803844283345988, + 0.7575549713877829, + 1.6246199835982937, + 0.6095864383498538, + -0.06254394611994435, + -0.4653094862214613, + 0.2602278620498299, + 0.6382152503480681, + 0.013468929048248875, + -0.5416849048443325, + -0.9934897752299631, + -1.4256828291051227, + -0.8970120870340021, + 0.3801719507618423, + -1.6640693092073844, + 0.7470933074654134, + 1.3605454056741637, + -0.8896794873616026, + 0.8660285558528349, + -0.8408351804529413, + -1.5426865962324678, + 1.2280641275727346, + 0.3042913164992594, + 1.2827020878236715, + 1.1996372553607049, + 0.44953771785649915, + -1.4141389356986045, + 1.3601094116384302, + 0.907844658845305, + -0.7132188038690259, + 0.09575572579193935, + -1.150212575768799, + -1.6708032396099028, + 0.11196743066728138, + -0.6574223963715657, + -0.26452735030822866, + -0.0430333463931007, + 1.0474356228798032, + 0.7911744015989216, + -0.819785609999547, + -1.4064280857667697, + -0.766211242277805, + -0.2334208994599332, + -0.5620615405771786, + -0.21736568370198947, + 0.5847376160754969, + 0.17860211298812925, + -0.05316133510028627, + 0.918984899544715, + 0.6343816124053715, + 0.23764526207203054, + 1.2586331284366992, + -0.23326402550684516, + -2.272619208632468, + -1.4839638877702752, + -1.0448862044087963, + -0.35024748893532465, + 0.8876679053026956, + -0.2091555512060932, + -0.594199796699954, + -0.7299330720121392, + -1.7277561579362943, + 2.1036206091468563, + 0.42551673080260966, + 0.09399530386792017, + 1.4179220987700683, + -0.03515390605214721, + 0.3940966882728489, + 1.8397863204067253, + -0.9766803081266 + ] + }, + { + "marker": { + "color": "rgba(255, 0, 136, 1.0)", + "line": { + "width": 0.5 + }, + "opacity": 1, + "size": 15, + "symbol": "circle" + }, + "mode": "markers", + "name": "category2", + "text": [ + "ZZZ.SN", + "WWK.RN", + "HER.UA", + "FKB.LE", + "RTY.TW", + "DIF.QJ", + "BLL.DD", + "UBM.EP", + "NYN.VF", + "DEH.CH", + "JPY.LF", + "HHV.RZ", + "NJB.BL", + "QHN.ZX", + "GNG.UZ", + "NQJ.DO", + "TIL.MA", + "VDN.AA", + "XLK.AE", + "RVP.BD", + "GIH.LA", + "SDP.WH", + "WDE.GZ", + "RGT.QR", + "GUW.FO", + "MXS.LV", + "OVN.QW", + "KMP.VH", + "LRB.YK", + "PDO.XF", + "RLZ.OG", + "NSO.WK", + "LCW.LD", + "PXC.UA", + "DWY.QD", + "UTI.VJ", + "HSW.BI", + "LJN.PO", + "ZUN.HH", + "PNB.SF", + "GBD.JZ", + "VIK.CB", + "HRQ.JR", + "MFR.HE", + "YRP.BW", + "GOJ.HR", + "CXS.ZQ", + "FIQ.MM", + "FSH.TQ", + "JGF.IL", + "JIK.TD", + "GNT.SO", + "CJB.LA", + "IJC.FM", + "NVJ.RQ", + "REP.AN", + "OVE.BX", + "PWV.DH", + "EPB.CO", + "CWF.HK", + "TIQ.YM", + "XIE.WX", + "WNA.TL", + "ZNC.WY", + "TUG.KA", + "OEI.HD", + "JWM.ZD", + "UXI.XC", + "ZBI.FM", + "AGY.AE", + "SFK.OG", + "HVF.PT", + "LEB.VO", + "ZRZ.KW", + "YOJ.IP", + "GRY.QB", + "GBU.OJ", + "WMS.PU", + "MQQ.FG", + "SLE.CU", + "MDN.RF", + "MHL.NA", + "DJV.YU", + "JZJ.NI", + "YFO.UV", + "DFF.FI", + "TIA.VG", + "DEZ.GN", + "FCP.UV", + "KUL.VX", + "AIE.TS", + "FJG.HK", + "MRS.LX", + "XMM.XF", + "SHP.RQ", + "MJZ.RM", + "FEG.HD", + "XKK.CN", + "XFZ.CN", + "AEC.YE", + "AVH.KU", + "XAC.JW", + "SWH.OM", + "KFO.TY", + "SBT.BP", + "XXG.VU", + "ZQT.YW", + "CWC.GG", + "UTM.KJ", + "TVI.MB", + "QGO.PO", + "PZH.VI", + "EYF.EM", + "GJQ.XP", + "DPS.HA", + "VKS.ZD", + "USB.WJ", + "FIX.EV", + "VKP.UP", + "TPQ.EE", + "QIF.EH", + "YBL.FQ", + "XMR.CP", + "AEC.BH", + "LNE.EU", + "GHL.TY", + "YOG.WI", + "MFQ.UT", + "VRL.ZN", + "NML.PP", + "HCF.FM", + "KMH.MO", + "AOU.TC", + "EYO.IJ", + "TJU.CD", + "UQB.ZS", + "KVH.LQ", + "ALT.OD", + "LYZ.CE", + "MED.KS", + "TIJ.VE", + "RBZ.LH", + "WVC.PL", + "KWJ.TM", + "UBD.HU", + "QNO.OO", + "XHZ.WX", + "GFO.WK", + "MWD.HZ", + "CJY.ZR" + ], + "textfont": { + "color": "#666666" + }, + "type": "scatter3d", + "uid": "00cee635-125a-4cbe-a939-e1b89d54e695", + "x": [ + -0.0723723713809305, + 0.08796539051621403, + -0.43286986362939633, + 0.41722295060525677, + -1.3162064072639656, + -0.8746353242019018, + -0.22135805866337802, + 1.3454502644505508, + 0.021425067858882832, + 1.9123974710809555, + -0.13376016307637825, + -0.9729836015388302, + -0.24643458356491593, + -0.5393270638288997, + -1.060131555710581, + -0.7599513163865045, + 0.9658900051671271, + -1.3962653486652001, + -1.7478023986843731, + 1.2910621353928937, + 0.10752321419836257, + -0.9497990816606484, + -0.45226346273115, + -0.5952465257152788, + -0.2729852162520691, + 0.2740655115393325, + -2.464600171016311, + 0.725931340179941, + -0.41984989933458516, + -1.1088764703401426, + 0.07613614346432594, + -0.8230897364060836, + -1.4203344471427575, + 1.977854835524415, + -0.46190764675413004, + -0.5963110179121124, + -0.9481273011619328, + 0.26850545940133114, + -1.6019648908952389, + 0.22101616471515434, + -0.5897074607842415, + -0.8548198551313275, + 1.2035314491411633, + 0.4153862277212088, + 0.6614035947480404, + 0.3763838782517998, + -0.02160664614512912, + -1.1132135867693602, + -1.5781029108226434, + -0.6818827505985002, + 0.2841415329244078, + 0.24407612486239336, + -0.4275023823789238, + 0.8368221360521381, + -0.9647452070907263, + -2.710879617074514, + -0.7200227088032205, + 0.3671718245092183, + 1.4198951687495405, + -0.0986307063404477, + -0.3787227031168615, + -0.7622899079642111, + 0.7343962083456498, + 0.0013038839702048596, + 0.3746086733338585, + -1.1361207403928808, + 2.705058655145572, + -0.4725458988116169, + -0.2876319706677722, + 0.806034882665924, + -0.8730433465818302, + 0.25958526187973474, + 0.8043918463517531, + 0.3390074910636941, + -0.5479931493954622, + 1.139833900685186, + -3.4710332883540636, + 0.4080519340777286, + 0.7546660656587301, + -0.6593340838629084, + -2.150831249820456, + 1.0960637123421995, + 0.4542923335861996, + -1.936707950813389, + -0.9512914211442054, + 1.5555314487836183, + -0.7262166498379764, + 0.8174019468311442, + 0.9118064065064647, + 0.5094377922663972, + -1.4786230497898876, + -0.7228741264117257, + -0.34332974673983674, + 0.20962158822855737, + -0.7497433433184751, + 0.09644756030643366, + 0.635053460625785, + -1.0405747056469015, + -0.3208053672534767, + 1.827168296373234, + -0.06393798059444794, + 0.24295224314865282, + 0.6608409138885424, + -0.6654109865495957, + 0.7158379814684444, + 0.6636050874184409, + -0.4757689959827996, + -1.5344134937016802, + 1.027251130056879, + -0.1027532232920517, + -2.429315133194389, + 0.25129271484047894, + -1.1111579277862822, + -0.8066022617261023, + -1.0356616545854476, + 0.29075012711819925, + 0.6524274148048265, + -1.485552836648884, + -1.0693766447277615, + -1.405246018701382, + -0.842669370928808, + -0.6883148635284446, + 0.6690332634266216, + -0.21297946195158712, + -0.356474516511786, + -0.15920526114436173, + -0.42651441884109875, + -0.48253347688664766, + 0.12021548590742683, + -0.3117701705661916, + 0.21658752371592419, + -0.1343138515432746, + 1.1250625352056058, + -0.6236589767580611, + -0.2837693012427221, + 0.00787017413282482, + -0.6213611904307573, + 0.7792215856666566, + 0.7503925201370101, + -0.5607652554576587, + 0.5505654831119121, + -0.976390196030889, + -0.05885853109489425, + 0.5288724831383391, + -0.013748425430006461, + -0.43788938407776856, + -1.3064106968940439, + -1.1735931698727364, + -1.124362782618139, + 0.48179929009111433 + ], + "y": [ + 0.15460572569131656, + -0.3345271958872536, + -1.5318772853806926, + 0.5084035769570406, + 0.7686570668967762, + -0.381740649578056, + -0.6386165557550297, + -1.1124287547227056, + -0.946690853473212, + 0.006813615034158148, + 1.9084935077897793, + 0.005671974853224209, + -1.1315779921452078, + 1.041666574873669, + 0.26764044731848896, + 0.3353819071229824, + 0.2391971868703181, + 0.2461887776797717, + -2.6906865308587933, + 0.8442732787651794, + -0.9260870650126674, + -2.5569667331841863, + -0.5565616413716735, + -0.45879737942127685, + -1.5761182024175093, + -0.26063766761910756, + 1.1577659590663278, + 0.36086178888673714, + 0.36954735742348793, + -0.377436524340218, + -0.18491555637597068, + -0.32618768937670894, + -0.7596894543958008, + -0.3376598863682692, + 1.2016407604777122, + -0.26270589111592535, + 1.1859472223745882, + -1.0597207373200082, + -0.6881226302505854, + 0.7392358978276886, + -0.02515036007428323, + 0.8299933653958054, + 0.2556769559320765, + 1.6984242125585176, + -0.31057572315693505, + -0.10152753101780716, + -0.22571954108449002, + -0.7806089195381609, + -0.3781723752330959, + -0.6770085188948807, + 1.2273413115725678, + -1.214589675035593, + 1.4172491834667402, + -0.7526751964137378, + 0.4369978914591898, + -0.3590029981979847, + -0.8505951844130609, + 0.7945233173167862, + 0.3643266540192875, + -0.9631007015229305, + -2.5528045574386384, + -0.006868018849745354, + 0.33859497630943064, + -1.098473618301879, + 1.8300356665176254, + -0.549687999042204, + 2.55247411814646, + 0.05680461751572027, + 0.23939722694591328, + -1.0758637338722186, + 0.9869767529994801, + 1.4566913950171954, + -1.5803372614513835, + -1.462855452007982, + -1.1125941228824394, + 1.5107249828703548, + -0.049637537811503867, + 0.08165681618545972, + 1.3865360908440094, + -1.0472232381120172, + 1.1018155891703234, + 1.3467135467280997, + 0.00031104933158368237, + 2.719705599136437, + -0.5382017252952543, + -1.4591168757222932, + -1.1238763655452204, + -1.1045488128097112, + -1.0230115052784745, + 0.03702284499957629, + -1.4426108539438234, + -0.2080471064227889, + -0.12049935181491503, + -1.1473121797593244, + 1.854879061194587, + 0.898350091048901, + -1.4329788934034369, + -1.2076082366274061, + 0.061296715758991295, + 1.0680674533168686, + -2.0396113607426605, + 0.5625476280150953, + 0.7214222079636514, + -0.7188312641078931, + -0.7367590170549743, + -1.0690175819982006, + 0.5339293075154622, + 0.6932921181868307, + 1.4857685740988806, + 1.8298191877420455, + 1.033272474199928, + 1.5222543083343487, + -0.08296204741827473, + 0.6705203875111424, + -0.3140134936599945, + 1.3086479782434293, + 0.6406368035014399, + 0.9146201895039221, + 0.910626862456588, + -0.5899524007187746, + -0.4140124220531774, + 0.1653801515533485, + 0.8753107493560558, + 1.381362096232555, + 0.9947330237317614, + -0.16766697049612628, + -0.23561678941547945, + 2.3457114541015374, + 0.321299276030735, + -0.1454951750445577, + -1.0325655224788715, + 0.032895924155765574, + 0.9635356436982874, + -0.4973199567020265, + -0.9894372986599619, + -0.06321215610578482, + -0.28798257044747705, + 2.105139097667284, + 0.13079129063005812, + 0.57725631152528, + -0.7980383117474689, + -0.8548898197487316, + 1.031391936468895, + 0.48725297664825773, + 2.403771917998026, + 0.1613361860825177, + -2.3044667877098757, + -0.5508828913519621, + -0.36734912643749773, + -2.422057604039439 + ], + "z": [ + 0.7259042853534793, + 0.03818992076796208, + -0.4519459372922926, + 0.16156403710321124, + -0.298931845956592, + -0.8901165164352561, + 2.1464573453138796, + -0.2480649883306111, + 0.3447858542172635, + -0.07475614229407714, + 0.8484570640380754, + -1.505309300644938, + -1.0127274693356, + -0.3318751761304284, + -0.9688014315558918, + 1.4428756329453283, + -1.1453321110512544, + 0.8206908304331753, + 0.3573569555576878, + -0.09302255776218375, + -0.05078111819768811, + -0.05581770991940996, + 0.19058994095499174, + -0.4029388421363093, + 1.1400090629467552, + -0.4462506064128977, + -0.41036148790446153, + -0.04445201092635587, + -1.7064401230745505, + 0.4495724919662896, + -1.7897766570996136, + 1.195544792099702, + 0.5879534150779164, + -0.10329545863862669, + -0.3238692172080108, + 0.027097179053627768, + -0.9572310961037842, + 0.797875864347133, + 0.46912174345661084, + -0.589300178474068, + -0.335755830329004, + -0.6405364763908625, + 1.170502871846068, + -2.1636548718255173, + -0.22850028663806282, + -0.24267026428550373, + 0.5432036687637052, + -0.8980595020110745, + -0.0003720372370599259, + -1.8911832158019206, + 1.0556039286059113, + -0.9679149286486524, + 0.9589346416095401, + -0.2984355038262474, + 0.6644641023802029, + -0.527559615738454, + -0.9661740653488621, + -1.6956511956053475, + 1.9858513877851864, + 0.0676629771531715, + -1.0205694801837988, + 1.640302152260973, + -0.575686010290837, + -0.4774480018764279, + -1.4336707862390177, + 0.7144575333246992, + -1.4843392743481492, + -2.2378542909503296, + 0.4954977342379214, + 1.235577667505045, + 0.8136544249089475, + 0.07107637362122375, + 0.8537097533091115, + 0.808556207325229, + 0.09616636763172329, + 0.5405518514952774, + 0.21361323175989627, + -0.29013240583545835, + 0.10344463229323334, + -0.5717173785576739, + 1.0782567708831263, + 1.8431416677786712, + 0.379573873166879, + -1.2022883842488574, + -1.8911963113953578, + 0.0030564631095682973, + 0.5969232698105925, + 0.28666367812799476, + -0.5219985938658546, + 0.006043611080292201, + 1.055838341941071, + 1.2072859403246643, + -0.06616964090240775, + 0.08269207297379917, + -0.6354579735385933, + -1.0498835858541882, + 2.0095239653940036, + -0.31619028265817234, + 0.13883412120682723, + -1.0930065787895173, + -1.1718416618617613, + -0.20834348104679482, + -0.24692585993008379, + 1.3640926562389961, + 0.41818270792645573, + 0.7831291177726161, + 0.03344361153304665, + 1.1988743298993616, + 0.11023155300450387, + 0.8497421650748302, + -0.6750427850221057, + -0.8269133862127516, + -1.0379253354895865, + -1.0657140294879792, + 0.3361374482790177, + 0.6122443183427893, + 0.02094246132536331, + -0.06414622206510577, + 0.48139398304583586, + -0.16492633725406128, + 1.2165830979523826, + 0.10146179459898715, + -1.2163750909506563, + 0.9043510132939069, + 0.31323370369137965, + -0.19167735170947134, + -1.482291840960634, + 0.7718961556144626, + 0.8843444931621319, + 0.04301819954004237, + -0.4799799823252356, + 2.4334353394863903, + 0.2645009253556901, + 2.6678556375490357, + -2.424744489936907, + 1.8484329880485242, + 0.784011379883486, + -1.5982847809432699, + 0.330246850177193, + 0.03405236602964964, + 0.11520202123068723, + -0.6142940467450786, + 0.050187707415037155, + -1.7044936672073419, + 0.10189923409679963, + -0.9600886005802994, + -0.15977089638456402, + 0.39752744144393914, + 0.5909467887212351, + 0.8793412511974517 + ] + } + ], + "layout": { + "legend": { + "bgcolor": "#FFFFFF", + "font": { + "color": "#666666" + } + }, + "margin": { + "b": 0, + "l": 0, + "r": 0, + "t": 0 + }, + "paper_bgcolor": "#FFFFFF", + "plot_bgcolor": "#E5E5E5", + "scene": { + "xaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + }, + "yaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + }, + "zaxis": { + "gridcolor": "#F6F6F6", + "showgrid": true, + "tickfont": { + "color": "#666666" + }, + "title": { + "font": { + "color": "#666666" + }, + "text": "" + }, + "zerolinecolor": "#F6F6F6" + } + }, + "title": { + "font": { + "color": "#151516" + }, + "text": "Cufflinks - Scatter 3D Chart" + } + } + }, + "text/html": [ + "
\n", + " \n", + " \n", + "
\n", + " \n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cf.datagen.scatter3d(2,150).iplot(kind='scatter3d',x='x',y='y',z='z',size=15,categories='categories',text='text',\n", + " title='Cufflinks - Scatter 3D Chart',colors=['blue','pink'],width=0.5,margin=(0,0,0,0),\n", + " opacity=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\ProgramData\\Anaconda3\\lib\\site-packages\\cufflinks\\datagen.py:380: RuntimeWarning:\n", + "\n", + "invalid value encountered in true_divide\n", + "\n", + "d:\\ProgramData\\Anaconda3\\lib\\site-packages\\numpy\\core\\_methods.py:32: RuntimeWarning:\n", + "\n", + "invalid value encountered in reduce\n", + "\n", + "d:\\ProgramData\\Anaconda3\\lib\\site-packages\\numpy\\core\\_methods.py:28: RuntimeWarning:\n", + "\n", + "invalid value encountered in reduce\n", + "\n" + ] + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "linkText": "Export to plot.ly", + "plotlyServerURL": "https://plot.ly", + "responsive": true, + "showLink": true + }, + "data": [ + { + "colorscale": [ + [ + 0, + "rgb(84,48,5)" + ], + [ + 0.1, + "rgb(140,81,10)" + ], + [ + 0.2, + "rgb(191,129,45)" + ], + [ + 0.3, + "rgb(223,194,125)" + ], + [ + 0.4, + "rgb(246,232,195)" + ], + [ + 0.5, + "rgb(245,245,245)" + ], + [ + 0.6, + "rgb(199,234,229)" + ], + [ + 0.7, + "rgb(128,205,193)" + ], + [ + 0.8, + "rgb(53,151,143)" + ], + [ + 0.9, + "rgb(1,102,94)" + ], + [ + 1, + "rgb(0,60,48)" + ] + ], + "type": "surface", + "uid": "22febd9c-a890-483d-81cf-be6b10d84f53", + "x": [ + -10, + -9.75, + -9.5, + -9.25, + -9, + -8.75, + -8.5, + -8.25, + -8, + -7.75, + -7.5, + -7.25, + -7, + -6.75, + -6.5, + -6.25, + -6, + -5.75, + -5.5, + -5.25, + -5, + -4.75, + -4.5, + -4.25, + -4, + -3.75, + -3.5, + -3.25, + -3, + -2.75, + -2.5, + -2.25, + -2, + -1.75, + -1.5, + -1.25, + -1, + -0.75, + -0.5, + -0.25, + 0, + 0.25, + 0.5, + 0.75, + 1, + 1.25, + 1.5, + 1.75, + 2, + 2.25, + 2.5, + 2.75, + 3, + 3.25, + 3.5, + 3.75, + 4, + 4.25, + 4.5, + 4.75, + 5, + 5.25, + 5.5, + 5.75, + 6, + 6.25, + 6.5, + 6.75, + 7, + 7.25, + 7.5, + 7.75, + 8, + 8.25, + 8.5, + 8.75, + 9, + 9.25, + 9.5, + 9.75 + ], + "y": [ + -10, + -9.75, + -9.5, + -9.25, + -9, + -8.75, + -8.5, + -8.25, + -8, + -7.75, + -7.5, + -7.25, + -7, + -6.75, + -6.5, + -6.25, + -6, + -5.75, + -5.5, + -5.25, + -5, + -4.75, + -4.5, + -4.25, + -4, + -3.75, + -3.5, + -3.25, + -3, + -2.75, + -2.5, + -2.25, + -2, + -1.75, + -1.5, + -1.25, + -1, + -0.75, + -0.5, + -0.25, + 0, + 0.25, + 0.5, + 0.75, + 1, + 1.25, + 1.5, + 1.75, + 2, + 2.25, + 2.5, + 2.75, + 3, + 3.25, + 3.5, + 3.75, + 4, + 4.25, + 4.5, + 4.75, + 5, + 5.25, + 5.5, + 5.75, + 6, + 6.25, + 6.5, + 6.75, + 7, + 7.25, + 7.5, + 7.75, + 8, + 8.25, + 8.5, + 8.75, + 9, + 9.25, + 9.5, + 9.75 + ], + "z": [ + [ + 0.14141961054935853, + 0.14111903500315878, + 0.13650222610828716, + 0.12777380562398274, + 0.11526115097856117, + 0.0993958462307399, + 0.08069235790121831, + 0.059725017515438364, + 0.037104384846577534, + 0.013454008098850966, + -0.01061150357619211, + -0.0345063152690242, + -0.05769048962428924, + -0.07968395387291566, + -0.10007704610444179, + -0.11853755153953284, + -0.13481430178982187, + -0.1487375524385824, + -0.16021647158282734, + -0.16923416092386775, + -0.17584069010379264, + -0.1801446545297837, + -0.18230376872794093, + -0.18251498442862385, + -0.18100457917857166, + -0.17801860199902664, + -0.1738139924448547, + -0.16865061331126227, + -0.16278435980926842, + -0.15646143337355978, + -0.1499137997580331, + -0.14335579129849668, + -0.13698176393514344, + -0.13096468174943518, + -0.1254554756233313, + -0.12058300781296416, + -0.1164544699167505, + -0.1131560467581887, + -0.1107536917561867, + -0.10929387900894774, + -0.10880422217787396, + -0.10929387900894774, + -0.1107536917561867, + -0.1131560467581887, + -0.1164544699167505, + -0.12058300781296416, + -0.1254554756233313, + -0.13096468174943518, + -0.13698176393514344, + -0.14335579129849668, + -0.1499137997580331, + -0.15646143337355978, + -0.16278435980926842, + -0.16865061331126227, + -0.1738139924448547, + -0.17801860199902664, + -0.18100457917857166, + -0.18251498442862385, + -0.18230376872794093, + -0.1801446545297837, + -0.17584069010379264, + -0.16923416092386775, + -0.16021647158282734, + -0.1487375524385824, + -0.13481430178982187, + -0.11853755153953284, + -0.10007704610444179, + -0.07968395387291566, + -0.05769048962428924, + -0.0345063152690242, + -0.01061150357619211, + 0.013454008098850966, + 0.037104384846577534, + 0.059725017515438364, + 0.08069235790121831, + 0.0993958462307399, + 0.11526115097856117, + 0.12777380562398274, + 0.13650222610828716, + 0.14111903500315878 + ], + [ + 0.14111903500315878, + 0.13632396086944565, + 0.12719030582037316, + 0.11405907878471819, + 0.09738828403656238, + 0.07773008237271903, + 0.05570574218106777, + 0.03197958453286062, + 0.007233082355737275, + -0.017859822184363938, + -0.042655257000177006, + -0.06655906279410359, + -0.08904297911487404, + -0.10965701691843574, + -0.12803786284735597, + -0.14391335124448024, + -0.15710321083861073, + -0.16751643729146143, + -0.1751457556394694, + -0.1800597155006458, + -0.18239300622958532, + -0.18233559039097344, + -0.18012123502583363, + -0.1760159755489718, + -0.17030698199702413, + -0.16329221750830802, + -0.15527119023634722, + -0.14653700801271363, + -0.13736985507049018, + -0.12803192632998142, + -0.11876378051842666, + -0.10978201113265723, + -0.10127808535368477, + -0.09341816596346665, + -0.08634370978474622, + -0.08017262722723162, + -0.0750007897964791, + -0.07090368426500879, + -0.06793803188546253, + -0.06614321685638791, + -0.06554239869174844, + -0.06614321685638791, + -0.06793803188546253, + -0.07090368426500879, + -0.0750007897964791, + -0.08017262722723162, + -0.08634370978474622, + -0.09341816596346665, + -0.10127808535368477, + -0.10978201113265723, + -0.11876378051842666, + -0.12803192632998142, + -0.13736985507049018, + -0.14653700801271363, + -0.15527119023634722, + -0.16329221750830802, + -0.17030698199702413, + -0.1760159755489718, + -0.18012123502583363, + -0.18233559039097344, + -0.18239300622958532, + -0.1800597155006458, + -0.1751457556394694, + -0.16751643729146143, + -0.15710321083861073, + -0.14391335124448024, + -0.12803786284735597, + -0.10965701691843574, + -0.08904297911487404, + -0.06655906279410359, + -0.042655257000177006, + -0.017859822184363938, + 0.007233082355737275, + 0.03197958453286062, + 0.05570574218106777, + 0.07773008237271903, + 0.09738828403656238, + 0.11405907878471819, + 0.12719030582037316, + 0.13632396086944565 + ], + [ + 0.13650222610828716, + 0.12719030582037316, + 0.1136526088802527, + 0.09636827159298987, + 0.0759235678781371, + 0.05298490441364873, + 0.028270310898122826, + 0.0025207381574719806, + -0.023527608249201665, + -0.04916880920228074, + -0.07374973820785838, + -0.09668883252747353, + -0.11749065565570795, + -0.13575600794040762, + -0.1511875643863488, + -0.163591222139663, + -0.17287351607260817, + -0.17903560277058095, + -0.1821644169794075, + -0.18242166855756492, + -0.1800313728705813, + -0.1752665961050691, + -0.16843605361995675, + -0.15987112992755653, + -0.1499137997580331, + -0.13890582780165694, + -0.1271795169340972, + -0.11505016730310495, + -0.10281030706494565, + -0.0907256642328181, + -0.07903277128303789, + -0.06793803188546253, + -0.05761803324395176, + -0.04822085787410071, + -0.039868134180728126, + -0.032657564269347995, + -0.026665677985416577, + -0.021950582012676394, + -0.01855449981019833, + -0.016505930263581485, + -0.015821288518275644, + -0.016505930263581485, + -0.01855449981019833, + -0.021950582012676394, + -0.026665677985416577, + -0.032657564269347995, + -0.039868134180728126, + -0.04822085787410071, + -0.05761803324395176, + -0.06793803188546253, + -0.07903277128303789, + -0.0907256642328181, + -0.10281030706494565, + -0.11505016730310495, + -0.1271795169340972, + -0.13890582780165694, + -0.1499137997580331, + -0.15987112992755653, + -0.16843605361995675, + -0.1752665961050691, + -0.1800313728705813, + -0.18242166855756492, + -0.1821644169794075, + -0.17903560277058095, + -0.17287351607260817, + -0.163591222139663, + -0.1511875643863488, + -0.13575600794040762, + -0.11749065565570795, + -0.09668883252747353, + -0.07374973820785838, + -0.04916880920228074, + -0.023527608249201665, + 0.0025207381574719806, + 0.028270310898122826, + 0.05298490441364873, + 0.0759235678781371, + 0.09636827159298987, + 0.1136526088802527, + 0.12719030582037316 + ], + [ + 0.12777380562398274, + 0.11405907878471819, + 0.09636827159298987, + 0.07531659368730659, + 0.05161237775613617, + 0.026026147564044762, + -0.0006409754282528475, + -0.027588123185645037, + -0.054043516875550875, + -0.07929019757294747, + -0.10268778525178764, + -0.12368964794720452, + -0.14185512230149663, + -0.15685668268767797, + -0.16848219583369567, + -0.17663261032673944, + -0.18131560690315682, + -0.1826358700412797, + -0.18078273088932142, + -0.1760159755489718, + -0.16865061331126227, + -0.15904136091487175, + -0.14756752732225356, + -0.13461888616197776, + -0.12058300781296416, + -0.10583439818051152, + -0.0907256642328181, + -0.07558080422426758, + -0.060690608986011814, + -0.046310064114579955, + -0.032657564269347995, + -0.019915691575644292, + -0.00823327044894154, + 0.0022716100207446164, + 0.011507919583092052, + 0.019407660252202565, + 0.025921773001301992, + 0.031016232090896562, + 0.03466854669458865, + 0.03686485131708162, + 0.03759772656874239, + 0.03686485131708162, + 0.03466854669458865, + 0.031016232090896562, + 0.025921773001301992, + 0.019407660252202565, + 0.011507919583092052, + 0.0022716100207446164, + -0.00823327044894154, + -0.019915691575644292, + -0.032657564269347995, + -0.046310064114579955, + -0.060690608986011814, + -0.07558080422426758, + -0.0907256642328181, + -0.10583439818051152, + -0.12058300781296416, + -0.13461888616197776, + -0.14756752732225356, + -0.15904136091487175, + -0.16865061331126227, + -0.1760159755489718, + -0.18078273088932142, + -0.1826358700412797, + -0.18131560690315682, + -0.17663261032673944, + -0.16848219583369567, + -0.15685668268767797, + -0.14185512230149663, + -0.12368964794720452, + -0.10268778525178764, + -0.07929019757294747, + -0.054043516875550875, + -0.027588123185645037, + -0.0006409754282528475, + 0.026026147564044762, + 0.05161237775613617, + 0.07531659368730659, + 0.09636827159298987, + 0.11405907878471819 + ], + [ + 0.11526115097856117, + 0.09738828403656238, + 0.0759235678781371, + 0.05161237775613617, + 0.025275083284098894, + -0.0022274559793407315, + -0.03002807965783915, + -0.0572857273340844, + -0.08321475815193494, + -0.10711012813756442, + -0.1283676319466868, + -0.1464987033293174, + -0.16113955966514656, + -0.17205475511311313, + -0.17913546063850083, + -0.18239300622958532, + -0.18194839266053625, + -0.17801860199902664, + -0.17090060569317098, + -0.1609539875623888, + -0.14858307017251748, + -0.13421936300715656, + -0.11830504740258321, + -0.10127808535368477, + -0.08355939645450051, + -0.06554239869174844, + -0.04758506314163741, + -0.030004497243790427, + -0.013073952151520388, + 0.0029779491154211806, + 0.017966041941118966, + 0.031745840459068614, + 0.044209509361482956, + 0.05528095770522729, + 0.0649104168254659, + 0.07306884206017318, + 0.07974244535617742, + 0.08492762656935865, + 0.08862652853638416, + 0.09084339726921295, + 0.09158188560927924, + 0.09084339726921295, + 0.08862652853638416, + 0.08492762656935865, + 0.07974244535617742, + 0.07306884206017318, + 0.0649104168254659, + 0.05528095770522729, + 0.044209509361482956, + 0.031745840459068614, + 0.017966041941118966, + 0.0029779491154211806, + -0.013073952151520388, + -0.030004497243790427, + -0.04758506314163741, + -0.06554239869174844, + -0.08355939645450051, + -0.10127808535368477, + -0.11830504740258321, + -0.13421936300715656, + -0.14858307017251748, + -0.1609539875623888, + -0.17090060569317098, + -0.17801860199902664, + -0.18194839266053625, + -0.18239300622958532, + -0.17913546063850083, + -0.17205475511311313, + -0.16113955966514656, + -0.1464987033293174, + -0.1283676319466868, + -0.10711012813756442, + -0.08321475815193494, + -0.0572857273340844, + -0.03002807965783915, + -0.0022274559793407315, + 0.025275083284098894, + 0.05161237775613617, + 0.0759235678781371, + 0.09738828403656238 + ], + [ + 0.0993958462307399, + 0.07773008237271903, + 0.05298490441364873, + 0.026026147564044762, + -0.0022274559793407315, + -0.030841885736018544, + -0.05890402451081101, + -0.08555491563889543, + -0.11001880232017779, + -0.1316269478872783, + -0.14983554931501694, + -0.1642373823959323, + -0.17456713788189782, + -0.1807007071005138, + -0.18264893898060253, + -0.18054660691367944, + -0.17463748569481502, + -0.16525654180237792, + -0.1528102839666787, + -0.1377563081818195, + -0.12058300781296416, + -0.10179031338845618, + -0.08187218787401292, + -0.061301442485772274, + -0.040517266401149735, + -0.019915691575644292, + 0.0001569493213448689, + 0.019407660252202565, + 0.03759772656874239, + 0.054541276561040686, + 0.07010183827093616, + 0.08418731130237875, + 0.09674378883254962, + 0.10774865812501504, + 0.11720338291232232, + 0.12512633286074154, + 0.13154597877649798, + 0.13649472168344115, + 0.14000357308347133, + 0.14209785531573388, + 0.14279404657238684, + 0.14209785531573388, + 0.14000357308347133, + 0.13649472168344115, + 0.13154597877649798, + 0.12512633286074154, + 0.11720338291232232, + 0.10774865812501504, + 0.09674378883254962, + 0.08418731130237875, + 0.07010183827093616, + 0.054541276561040686, + 0.03759772656874239, + 0.019407660252202565, + 0.0001569493213448689, + -0.019915691575644292, + -0.040517266401149735, + -0.061301442485772274, + -0.08187218787401292, + -0.10179031338845618, + -0.12058300781296416, + -0.1377563081818195, + -0.1528102839666787, + -0.16525654180237792, + -0.17463748569481502, + -0.18054660691367944, + -0.18264893898060253, + -0.1807007071005138, + -0.17456713788189782, + -0.1642373823959323, + -0.14983554931501694, + -0.1316269478872783, + -0.11001880232017779, + -0.08555491563889543, + -0.05890402451081101, + -0.030841885736018544, + -0.0022274559793407315, + 0.026026147564044762, + 0.05298490441364873, + 0.07773008237271903 + ], + [ + 0.08069235790121831, + 0.05570574218106777, + 0.028270310898122826, + -0.0006409754282528475, + -0.03002807965783915, + -0.05890402451081101, + -0.08633239590937543, + -0.1114606806231028, + -0.13354819579908725, + -0.15198770280837584, + -0.16632015713858264, + -0.17624240938958516, + -0.18160802037610754, + -0.18242166855756492, + -0.1788278960809016, + -0.17109514979541934, + -0.15959621882048483, + -0.14478624788034108, + -0.1271795169340972, + -0.10732612754693129, + -0.0857896329957062, + -0.0631265026963309, + -0.039868134180728126, + -0.016505930263581485, + 0.0065202421682302655, + 0.02883009042098063, + 0.05010748884225075, + 0.07010183827093616, + 0.08862652853638416, + 0.10555493165712146, + 0.12081441070397907, + 0.13437885433763305, + 0.14626024334832619, + 0.15649972810645998, + 0.16515865057394133, + 0.17230988766358785, + 0.17802983029511174, + 0.18239124981424537, + 0.18545724476618586, + 0.18727640924644018, + 0.18787932061729182, + 0.18727640924644018, + 0.18545724476618586, + 0.18239124981424537, + 0.17802983029511174, + 0.17230988766358785, + 0.16515865057394133, + 0.15649972810645998, + 0.14626024334832619, + 0.13437885433763305, + 0.12081441070397907, + 0.10555493165712146, + 0.08862652853638416, + 0.07010183827093616, + 0.05010748884225075, + 0.02883009042098063, + 0.0065202421682302655, + -0.016505930263581485, + -0.039868134180728126, + -0.0631265026963309, + -0.0857896329957062, + -0.10732612754693129, + -0.1271795169340972, + -0.14478624788034108, + -0.15959621882048483, + -0.17109514979541934, + -0.1788278960809016, + -0.18242166855756492, + -0.18160802037610754, + -0.17624240938958516, + -0.16632015713858264, + -0.15198770280837584, + -0.13354819579908725, + -0.1114606806231028, + -0.08633239590937543, + -0.05890402451081101, + -0.03002807965783915, + -0.0006409754282528475, + 0.028270310898122826, + 0.05570574218106777 + ], + [ + 0.059725017515438364, + 0.03197958453286062, + 0.0025207381574719806, + -0.027588123185645037, + -0.0572857273340844, + -0.08555491563889543, + -0.1114606806231028, + -0.13418273806183595, + -0.15304146672549196, + -0.16751643729146143, + -0.17725715646546372, + -0.18208605074549258, + -0.18199408570471504, + -0.17712974307464055, + -0.16778234479339135, + -0.1543609103022869, + -0.13736985507049018, + -0.11738288358628372, + -0.0950164022704569, + -0.07090368426500879, + -0.045670869380806056, + -0.019915691575644292, + 0.0058103924762656495, + 0.031016232090896562, + 0.05528095770522729, + 0.07825990831739421, + 0.09968670899986165, + 0.11937185506223688, + 0.13719827990417027, + 0.15311446345017118, + 0.16712567793535366, + 0.1792839709402817, + 0.18967745729212915, + 0.19841943861188654, + 0.20563779959612533, + 0.21146505144444128, + 0.21602931256266372, + 0.21944644111666822, + 0.22181346801290225, + 0.2232034254780841, + 0.22366162672468853, + 0.2232034254780841, + 0.22181346801290225, + 0.21944644111666822, + 0.21602931256266372, + 0.21146505144444128, + 0.20563779959612533, + 0.19841943861188654, + 0.18967745729212915, + 0.1792839709402817, + 0.16712567793535366, + 0.15311446345017118, + 0.13719827990417027, + 0.11937185506223688, + 0.09968670899986165, + 0.07825990831739421, + 0.05528095770522729, + 0.031016232090896562, + 0.0058103924762656495, + -0.019915691575644292, + -0.045670869380806056, + -0.07090368426500879, + -0.0950164022704569, + -0.11738288358628372, + -0.13736985507049018, + -0.1543609103022869, + -0.16778234479339135, + -0.17712974307464055, + -0.18199408570471504, + -0.18208605074549258, + -0.17725715646546372, + -0.16751643729146143, + -0.15304146672549196, + -0.13418273806183595, + -0.1114606806231028, + -0.08555491563889543, + -0.0572857273340844, + -0.027588123185645037, + 0.0025207381574719806, + 0.03197958453286062 + ], + [ + 0.037104384846577534, + 0.007233082355737275, + -0.023527608249201665, + -0.054043516875550875, + -0.08321475815193494, + -0.11001880232017779, + -0.13354819579908725, + -0.15304146672549196, + -0.167906160972842, + -0.17773339606034183, + -0.18230376872794093, + -0.18158488243001691, + -0.17572115154133375, + -0.16501687105976595, + -0.1499137997580331, + -0.13096468174943518, + -0.10880422217787396, + -0.08411903827788304, + -0.05761803324395176, + -0.030004497243790427, + -0.001951040868825416, + 0.025921773001301992, + 0.05306249567952219, + 0.07900122348247962, + 0.10335731863015635, + 0.1258425822940911, + 0.14626024334832619, + 0.16450028494360933, + 0.18053174205108255, + 0.1943926655354523, + 0.2061784643801796, + 0.21602931256266372, + 0.22411724822563847, + 0.23063350923189954, + 0.23577655069724138, + 0.23974108638511749, + 0.242708395806646, + 0.24483804991090946, + 0.24626113579560338, + 0.24707500803079696, + 0.24733956165584545, + 0.24707500803079696, + 0.24626113579560338, + 0.24483804991090946, + 0.242708395806646, + 0.23974108638511749, + 0.23577655069724138, + 0.23063350923189954, + 0.22411724822563847, + 0.21602931256266372, + 0.2061784643801796, + 0.1943926655354523, + 0.18053174205108255, + 0.16450028494360933, + 0.14626024334832619, + 0.1258425822940911, + 0.10335731863015635, + 0.07900122348247962, + 0.05306249567952219, + 0.025921773001301992, + -0.001951040868825416, + -0.030004497243790427, + -0.05761803324395176, + -0.08411903827788304, + -0.10880422217787396, + -0.13096468174943518, + -0.1499137997580331, + -0.16501687105976595, + -0.17572115154133375, + -0.18158488243001691, + -0.18230376872794093, + -0.17773339606034183, + -0.167906160972842, + -0.15304146672549196, + -0.13354819579908725, + -0.11001880232017779, + -0.08321475815193494, + -0.054043516875550875, + -0.023527608249201665, + 0.007233082355737275 + ], + [ + 0.013454008098850966, + -0.017859822184363938, + -0.04916880920228074, + -0.07929019757294747, + -0.10711012813756442, + -0.1316269478872783, + -0.15198770280837584, + -0.16751643729146143, + -0.17773339606034183, + -0.18236471957976835, + -0.18134271385500067, + -0.1747972342928682, + -0.16303912773542587, + -0.14653700801271363, + -0.1258888846262905, + -0.10179031338845618, + -0.0750007897964791, + -0.046310064114579955, + -0.016505930263581485, + 0.013655158230898757, + 0.043473546354522816, + 0.07232710218505171, + 0.09968670899986165, + 0.12512633286074154, + 0.14832776112580212, + 0.16908036038891633, + 0.18727640924644018, + 0.20290271423033404, + 0.21602931256266372, + 0.22679610352037188, + 0.23539823538075702, + 0.2420710146043941, + 0.24707500803079696, + 0.2506818889186662, + 0.2531614457800734, + 0.25477004091850136, + 0.2557406839380664, + 0.2562747828163765, + 0.25653555744366946, + 0.2566430509401283, + 0.2566706526738519, + 0.2566430509401283, + 0.25653555744366946, + 0.2562747828163765, + 0.2557406839380664, + 0.25477004091850136, + 0.2531614457800734, + 0.2506818889186662, + 0.24707500803079696, + 0.2420710146043941, + 0.23539823538075702, + 0.22679610352037188, + 0.21602931256266372, + 0.20290271423033404, + 0.18727640924644018, + 0.16908036038891633, + 0.14832776112580212, + 0.12512633286074154, + 0.09968670899986165, + 0.07232710218505171, + 0.043473546354522816, + 0.013655158230898757, + -0.016505930263581485, + -0.046310064114579955, + -0.0750007897964791, + -0.10179031338845618, + -0.1258888846262905, + -0.14653700801271363, + -0.16303912773542587, + -0.1747972342928682, + -0.18134271385500067, + -0.18236471957976835, + -0.17773339606034183, + -0.16751643729146143, + -0.15198770280837584, + -0.1316269478872783, + -0.10711012813756442, + -0.07929019757294747, + -0.04916880920228074, + -0.017859822184363938 + ], + [ + -0.01061150357619211, + -0.042655257000177006, + -0.07374973820785838, + -0.10268778525178764, + -0.1283676319466868, + -0.14983554931501694, + -0.16632015713858264, + -0.17725715646546372, + -0.18230376872794093, + -0.18134271385500067, + -0.17447608825271163, + -0.16200998595397612, + -0.14443111863131364, + -0.12237701362727325, + -0.09660159075517502, + -0.06793803188546253, + -0.03726086233570953, + -0.005449066140771361, + 0.026648129724923395, + 0.058241427706856384, + 0.08862652853638416, + 0.11720338291232232, + 0.14348926836260514, + 0.16712567793535366, + 0.18787932061729182, + 0.20563779959612533, + 0.22040074178662336, + 0.23226729318028777, + 0.24142096714711753, + 0.24811283911536614, + 0.25264402764959015, + 0.255348298963932, + 0.256575492104657, + 0.2566762997375786, + 0.2559887694405144, + 0.2548267267047997, + 0.25347017586536014, + 0.252157618714697, + 0.25108014921898075, + 0.25037713957121355, + 0.25013332713993036, + 0.25037713957121355, + 0.25108014921898075, + 0.252157618714697, + 0.25347017586536014, + 0.2548267267047997, + 0.2559887694405144, + 0.2566762997375786, + 0.256575492104657, + 0.255348298963932, + 0.25264402764959015, + 0.24811283911536614, + 0.24142096714711753, + 0.23226729318028777, + 0.22040074178662336, + 0.20563779959612533, + 0.18787932061729182, + 0.16712567793535366, + 0.14348926836260514, + 0.11720338291232232, + 0.08862652853638416, + 0.058241427706856384, + 0.026648129724923395, + -0.005449066140771361, + -0.03726086233570953, + -0.06793803188546253, + -0.09660159075517502, + -0.12237701362727325, + -0.14443111863131364, + -0.16200998595397612, + -0.17447608825271163, + -0.18134271385500067, + -0.18230376872794093, + -0.17725715646546372, + -0.16632015713858264, + -0.14983554931501694, + -0.1283676319466868, + -0.10268778525178764, + -0.07374973820785838, + -0.042655257000177006 + ], + [ + -0.0345063152690242, + -0.06655906279410359, + -0.09668883252747353, + -0.12368964794720452, + -0.1464987033293174, + -0.1642373823959323, + -0.17624240938958516, + -0.18208605074549258, + -0.18158488243001691, + -0.1747972342928682, + -0.16200998595397612, + -0.1437158894806465, + -0.12058300781296416, + -0.09341816596346665, + -0.0631265026963309, + -0.03066927919323432, + 0.0029779491154211806, + 0.03686485131708162, + 0.07010183827093616, + 0.1018902143955224, + 0.13154597877649798, + 0.15851669454452746, + 0.18239124981424537, + 0.20290271423033404, + 0.21992483146863692, + 0.23346296309158113, + 0.24364050109720906, + 0.2506818889186662, + 0.254893432701845, + 0.2566430509401283, + 0.2563400102730029, + 0.25441554164532254, + 0.25130504004127213, + 0.24743234013685533, + 0.2431963471432226, + 0.23896010343988033, + 0.23504220166614895, + 0.2317103248693539, + 0.22917661128094333, + 0.22759450814784551, + 0.2270567942100705, + 0.22759450814784551, + 0.22917661128094333, + 0.2317103248693539, + 0.23504220166614895, + 0.23896010343988033, + 0.2431963471432226, + 0.24743234013685533, + 0.25130504004127213, + 0.25441554164532254, + 0.2563400102730029, + 0.2566430509401283, + 0.254893432701845, + 0.2506818889186662, + 0.24364050109720906, + 0.23346296309158113, + 0.21992483146863692, + 0.20290271423033404, + 0.18239124981424537, + 0.15851669454452746, + 0.13154597877649798, + 0.1018902143955224, + 0.07010183827093616, + 0.03686485131708162, + 0.0029779491154211806, + -0.03066927919323432, + -0.0631265026963309, + -0.09341816596346665, + -0.12058300781296416, + -0.1437158894806465, + -0.16200998595397612, + -0.1747972342928682, + -0.18158488243001691, + -0.18208605074549258, + -0.17624240938958516, + -0.1642373823959323, + -0.1464987033293174, + -0.12368964794720452, + -0.09668883252747353, + -0.06655906279410359 + ], + [ + -0.05769048962428924, + -0.08904297911487404, + -0.11749065565570795, + -0.14185512230149663, + -0.16113955966514656, + -0.17456713788189782, + -0.18160802037610754, + -0.18199408570471504, + -0.17572115154133375, + -0.16303912773542587, + -0.14443111863131364, + -0.12058300781296416, + -0.09234546620178369, + -0.060690608986011814, + -0.026665677985416577, + 0.008653858363151095, + 0.044209509361482956, + 0.07900122348247962, + 0.11212338767979044, + 0.14279404657238684, + 0.17037647050011584, + 0.1943926655354523, + 0.2145288714461612, + 0.23063350923189954, + 0.242708395806646, + 0.2508943222213973, + 0.2554522819126627, + 0.2567417315441088, + 0.25519727019112654, + 0.25130504004127213, + 0.2455799958764798, + 0.23854497801642713, + 0.23071227369415245, + 0.2225680860000738, + 0.21456006847846779, + 0.2070878465419809, + 0.20049625055173417, + 0.19507084218595108, + 0.19103523332295086, + 0.18854967763954522, + 0.18771045677679687, + 0.18854967763954522, + 0.19103523332295086, + 0.19507084218595108, + 0.20049625055173417, + 0.2070878465419809, + 0.21456006847846779, + 0.2225680860000738, + 0.23071227369415245, + 0.23854497801642713, + 0.2455799958764798, + 0.25130504004127213, + 0.25519727019112654, + 0.2567417315441088, + 0.2554522819126627, + 0.2508943222213973, + 0.242708395806646, + 0.23063350923189954, + 0.2145288714461612, + 0.1943926655354523, + 0.17037647050011584, + 0.14279404657238684, + 0.11212338767979044, + 0.07900122348247962, + 0.044209509361482956, + 0.008653858363151095, + -0.026665677985416577, + -0.060690608986011814, + -0.09234546620178369, + -0.12058300781296416, + -0.14443111863131364, + -0.16303912773542587, + -0.17572115154133375, + -0.18199408570471504, + -0.18160802037610754, + -0.17456713788189782, + -0.16113955966514656, + -0.14185512230149663, + -0.11749065565570795, + -0.08904297911487404 + ], + [ + -0.07968395387291566, + -0.10965701691843574, + -0.13575600794040762, + -0.15685668268767797, + -0.17205475511311313, + -0.1807007071005138, + -0.18242166855756492, + -0.17712974307464055, + -0.16501687105976595, + -0.14653700801271363, + -0.12237701362727325, + -0.09341816596346665, + -0.060690608986011814, + -0.02532329427921568, + 0.011507919583092052, + 0.04863139306208121, + 0.08492762656935865, + 0.11937185506223688, + 0.15106960365711752, + 0.1792839709402817, + 0.20345392533496165, + 0.2232034254780841, + 0.2383416766936446, + 0.24885528388828942, + 0.254893432701845, + 0.25674750760048576, + 0.2548267267047997, + 0.24963143467045815, + 0.24172565029557566, + 0.2317103248693539, + 0.22019854657881394, + 0.20779364608280457, + 0.19507084218595108, + 0.18256273925541686, + 0.17074867404778504, + 0.16004763127913005, + 0.15081422331281308, + 0.1433370736825879, + 0.13783886506830845, + 0.134477311926808, + 0.1333463922312941, + 0.134477311926808, + 0.13783886506830845, + 0.1433370736825879, + 0.15081422331281308, + 0.16004763127913005, + 0.17074867404778504, + 0.18256273925541686, + 0.19507084218595108, + 0.20779364608280457, + 0.22019854657881394, + 0.2317103248693539, + 0.24172565029557566, + 0.24963143467045815, + 0.2548267267047997, + 0.25674750760048576, + 0.254893432701845, + 0.24885528388828942, + 0.2383416766936446, + 0.2232034254780841, + 0.20345392533496165, + 0.1792839709402817, + 0.15106960365711752, + 0.11937185506223688, + 0.08492762656935865, + 0.04863139306208121, + 0.011507919583092052, + -0.02532329427921568, + -0.060690608986011814, + -0.09341816596346665, + -0.12237701362727325, + -0.14653700801271363, + -0.16501687105976595, + -0.17712974307464055, + -0.18242166855756492, + -0.1807007071005138, + -0.17205475511311313, + -0.15685668268767797, + -0.13575600794040762, + -0.10965701691843574 + ], + [ + -0.10007704610444179, + -0.12803786284735597, + -0.1511875643863488, + -0.16848219583369567, + -0.17913546063850083, + -0.18264893898060253, + -0.1788278960809016, + -0.16778234479339135, + -0.1499137997580331, + -0.1258888846262905, + -0.09660159075517502, + -0.0631265026963309, + -0.026665677985416577, + 0.011507919583092052, + 0.05010748884225075, + 0.0878871354792479, + 0.12369173187889267, + 0.15649972810645998, + 0.18545724476618586, + 0.20990234059772522, + 0.22937894091767205, + 0.24364050109720906, + 0.25264402764959015, + 0.25653555744366946, + 0.25562857790064414, + 0.25037713957121355, + 0.2413455569066888, + 0.22917661128094333, + 0.21456006847846779, + 0.1982031145119569, + 0.18080401871815463, + 0.1630299764243758, + 0.14549969299473817, + 0.12877087581897034, + 0.11333242903336226, + 0.09960082298540655, + 0.08791985781076668, + 0.07856287339249271, + 0.07173638515428266, + 0.06758414818694233, + 0.0661907655654817, + 0.06758414818694233, + 0.07173638515428266, + 0.07856287339249271, + 0.08791985781076668, + 0.09960082298540655, + 0.11333242903336226, + 0.12877087581897034, + 0.14549969299473817, + 0.1630299764243758, + 0.18080401871815463, + 0.1982031145119569, + 0.21456006847846779, + 0.22917661128094333, + 0.2413455569066888, + 0.25037713957121355, + 0.25562857790064414, + 0.25653555744366946, + 0.25264402764959015, + 0.24364050109720906, + 0.22937894091767205, + 0.20990234059772522, + 0.18545724476618586, + 0.15649972810645998, + 0.12369173187889267, + 0.0878871354792479, + 0.05010748884225075, + 0.011507919583092052, + -0.026665677985416577, + -0.0631265026963309, + -0.09660159075517502, + -0.1258888846262905, + -0.1499137997580331, + -0.16778234479339135, + -0.1788278960809016, + -0.18264893898060253, + -0.17913546063850083, + -0.16848219583369567, + -0.1511875643863488, + -0.12803786284735597 + ], + [ + -0.11853755153953284, + -0.14391335124448024, + -0.163591222139663, + -0.17663261032673944, + -0.18239300622958532, + -0.18054660691367944, + -0.17109514979541934, + -0.1543609103022869, + -0.13096468174943518, + -0.10179031338845618, + -0.06793803188546253, + -0.03066927919323432, + 0.008653858363151095, + 0.04863139306208121, + 0.0878871354792479, + 0.12512633286074154, + 0.15918658398472915, + 0.1890798565922851, + 0.21402402107025095, + 0.23346296309158113, + 0.24707500803079696, + 0.25477004091850136, + 0.2566762997375786, + 0.25311832399967577, + 0.24458792842044305, + 0.2317103248693539, + 0.2152076253393881, + 0.19586192453391038, + 0.17447999195279823, + 0.15186131748507978, + 0.12877087581897034, + 0.10591753298818528, + 0.08393854575868848, + 0.06339013493636744, + 0.044743679368913644, + 0.02838670735216783, + 0.014627580006334946, + 0.0037025838949493145, + -0.004215913110515241, + -0.009011537058698997, + -0.010617349295218181, + -0.009011537058698997, + -0.004215913110515241, + 0.0037025838949493145, + 0.014627580006334946, + 0.02838670735216783, + 0.044743679368913644, + 0.06339013493636744, + 0.08393854575868848, + 0.10591753298818528, + 0.12877087581897034, + 0.15186131748507978, + 0.17447999195279823, + 0.19586192453391038, + 0.2152076253393881, + 0.2317103248693539, + 0.24458792842044305, + 0.25311832399967577, + 0.2566762997375786, + 0.25477004091850136, + 0.24707500803079696, + 0.23346296309158113, + 0.21402402107025095, + 0.1890798565922851, + 0.15918658398472915, + 0.12512633286074154, + 0.0878871354792479, + 0.04863139306208121, + 0.008653858363151095, + -0.03066927919323432, + -0.06793803188546253, + -0.10179031338845618, + -0.13096468174943518, + -0.1543609103022869, + -0.17109514979541934, + -0.18054660691367944, + -0.18239300622958532, + -0.17663261032673944, + -0.163591222139663, + -0.14391335124448024 + ], + [ + -0.13481430178982187, + -0.15710321083861073, + -0.17287351607260817, + -0.18131560690315682, + -0.18194839266053625, + -0.17463748569481502, + -0.15959621882048483, + -0.13736985507049018, + -0.10880422217787396, + -0.0750007897964791, + -0.03726086233570953, + 0.0029779491154211806, + 0.044209509361482956, + 0.08492762656935865, + 0.12369173187889267, + 0.15918658398472915, + 0.1902732638436695, + 0.21602931256266372, + 0.23577655069724138, + 0.24909585663212155, + 0.25582893038458626, + 0.2560677827399544, + 0.25013332713993036, + 0.23854497801642713, + 0.22198354690007724, + 0.20124995852555586, + 0.17722237538812438, + 0.15081422331281308, + 0.12293536517635703, + 0.09445829662141196, + 0.0661907655654817, + 0.03885568116655977, + 0.013078615468659323, + -0.010617349295218181, + -0.03181017613329085, + -0.050171999808914604, + -0.06545830501430487, + -0.07749482277960204, + -0.08616386191642225, + -0.09139170665445415, + -0.09313849939964196, + -0.09139170665445415, + -0.08616386191642225, + -0.07749482277960204, + -0.06545830501430487, + -0.050171999808914604, + -0.03181017613329085, + -0.010617349295218181, + 0.013078615468659323, + 0.03885568116655977, + 0.0661907655654817, + 0.09445829662141196, + 0.12293536517635703, + 0.15081422331281308, + 0.17722237538812438, + 0.20124995852555586, + 0.22198354690007724, + 0.23854497801642713, + 0.25013332713993036, + 0.2560677827399544, + 0.25582893038458626, + 0.24909585663212155, + 0.23577655069724138, + 0.21602931256266372, + 0.1902732638436695, + 0.15918658398472915, + 0.12369173187889267, + 0.08492762656935865, + 0.044209509361482956, + 0.0029779491154211806, + -0.03726086233570953, + -0.0750007897964791, + -0.10880422217787396, + -0.13736985507049018, + -0.15959621882048483, + -0.17463748569481502, + -0.18194839266053625, + -0.18131560690315682, + -0.17287351607260817, + -0.15710321083861073 + ], + [ + -0.1487375524385824, + -0.16751643729146143, + -0.17903560277058095, + -0.1826358700412797, + -0.17801860199902664, + -0.16525654180237792, + -0.14478624788034108, + -0.11738288358628372, + -0.08411903827788304, + -0.046310064114579955, + -0.005449066140771361, + 0.03686485131708162, + 0.07900122348247962, + 0.11937185506223688, + 0.15649972810645998, + 0.1890798565922851, + 0.21602931256266372, + 0.2365243422174828, + 0.25002327766855664, + 0.2562747828163765, + 0.2553118000893658, + 0.24743234013685533, + 0.23316893482082693, + 0.21324911772700825, + 0.18854967763954522, + 0.16004763127913005, + 0.12877087581897034, + 0.0957513146109, + 0.06198291759831892, + 0.02838670735216783, + -0.004215913110515241, + -0.03512071345143313, + -0.06374895250625122, + -0.08964697741323371, + -0.11247819731414006, + -0.132008995765264, + -0.14809048863531396, + -0.16063822727306362, + -0.1696119802323752, + -0.17499760171649797, + -0.17679272260843765, + -0.17499760171649797, + -0.1696119802323752, + -0.16063822727306362, + -0.14809048863531396, + -0.132008995765264, + -0.11247819731414006, + -0.08964697741323371, + -0.06374895250625122, + -0.03512071345143313, + -0.004215913110515241, + 0.02838670735216783, + 0.06198291759831892, + 0.0957513146109, + 0.12877087581897034, + 0.16004763127913005, + 0.18854967763954522, + 0.21324911772700825, + 0.23316893482082693, + 0.24743234013685533, + 0.2553118000893658, + 0.2562747828163765, + 0.25002327766855664, + 0.2365243422174828, + 0.21602931256266372, + 0.1890798565922851, + 0.15649972810645998, + 0.11937185506223688, + 0.07900122348247962, + 0.03686485131708162, + -0.005449066140771361, + -0.046310064114579955, + -0.08411903827788304, + -0.11738288358628372, + -0.14478624788034108, + -0.16525654180237792, + -0.17801860199902664, + -0.1826358700412797, + -0.17903560277058095, + -0.16751643729146143 + ], + [ + -0.16021647158282734, + -0.1751457556394694, + -0.1821644169794075, + -0.18078273088932142, + -0.17090060569317098, + -0.1528102839666787, + -0.1271795169340972, + -0.0950164022704569, + -0.05761803324395176, + -0.016505930263581485, + 0.026648129724923395, + 0.07010183827093616, + 0.11212338767979044, + 0.15106960365711752, + 0.18545724476618586, + 0.21402402107025095, + 0.23577655069724138, + 0.25002327766855664, + 0.25639126767027576, + 0.2548267267047997, + 0.2455799958764798, + 0.22917661128094333, + 0.2063767337439853, + 0.17812580971586786, + 0.14549969299473817, + 0.1096476200446325, + 0.07173638515428266, + 0.032898814044057145, + -0.005810793613848673, + -0.043452159632214875, + -0.0792240541655952, + -0.11247819731414006, + -0.1427221428215067, + -0.1696119802323752, + -0.1929363397545002, + -0.2125937105436689, + -0.22856545626592412, + -0.24088710992360066, + -0.24962054293732017, + -0.254829433326894, + -0.2565601183892334, + -0.254829433326894, + -0.24962054293732017, + -0.24088710992360066, + -0.22856545626592412, + -0.2125937105436689, + -0.1929363397545002, + -0.1696119802323752, + -0.1427221428215067, + -0.11247819731414006, + -0.0792240541655952, + -0.043452159632214875, + -0.005810793613848673, + 0.032898814044057145, + 0.07173638515428266, + 0.1096476200446325, + 0.14549969299473817, + 0.17812580971586786, + 0.2063767337439853, + 0.22917661128094333, + 0.2455799958764798, + 0.2548267267047997, + 0.25639126767027576, + 0.25002327766855664, + 0.23577655069724138, + 0.21402402107025095, + 0.18545724476618586, + 0.15106960365711752, + 0.11212338767979044, + 0.07010183827093616, + 0.026648129724923395, + -0.016505930263581485, + -0.05761803324395176, + -0.0950164022704569, + -0.1271795169340972, + -0.1528102839666787, + -0.17090060569317098, + -0.18078273088932142, + -0.1821644169794075, + -0.1751457556394694 + ], + [ + -0.16923416092386775, + -0.1800597155006458, + -0.18242166855756492, + -0.1760159755489718, + -0.1609539875623888, + -0.1377563081818195, + -0.10732612754693129, + -0.07090368426500879, + -0.030004497243790427, + 0.013655158230898757, + 0.058241427706856384, + 0.1018902143955224, + 0.14279404657238684, + 0.1792839709402817, + 0.20990234059772522, + 0.23346296309158113, + 0.24909585663212155, + 0.2562747828163765, + 0.2548267267047997, + 0.24492352037505036, + 0.2270567942100705, + 0.20199833430642128, + 0.17074867404778504, + 0.134477311926808, + 0.09445829662141196, + 0.05200503792795912, + 0.00840808631479302, + -0.03512071345143313, + -0.07749482277960204, + -0.1177881852505473, + -0.15525760655490364, + -0.18935183535374994, + -0.21970771693043264, + -0.24613461781837798, + -0.268589046149572, + -0.28714197491104243, + -0.30194177876754097, + -0.31317589634427284, + -0.3210343185560354, + -0.32567778292945404, + -0.32721314035298743, + -0.32567778292945404, + -0.3210343185560354, + -0.31317589634427284, + -0.30194177876754097, + -0.28714197491104243, + -0.268589046149572, + -0.24613461781837798, + -0.21970771693043264, + -0.18935183535374994, + -0.15525760655490364, + -0.1177881852505473, + -0.07749482277960204, + -0.03512071345143313, + 0.00840808631479302, + 0.05200503792795912, + 0.09445829662141196, + 0.134477311926808, + 0.17074867404778504, + 0.20199833430642128, + 0.2270567942100705, + 0.24492352037505036, + 0.2548267267047997, + 0.2562747828163765, + 0.24909585663212155, + 0.23346296309158113, + 0.20990234059772522, + 0.1792839709402817, + 0.14279404657238684, + 0.1018902143955224, + 0.058241427706856384, + 0.013655158230898757, + -0.030004497243790427, + -0.07090368426500879, + -0.10732612754693129, + -0.1377563081818195, + -0.1609539875623888, + -0.1760159755489718, + -0.18242166855756492, + -0.1800597155006458 + ], + [ + -0.17584069010379264, + -0.18239300622958532, + -0.1800313728705813, + -0.16865061331126227, + -0.14858307017251748, + -0.12058300781296416, + -0.0857896329957062, + -0.045670869380806056, + -0.001951040868825416, + 0.043473546354522816, + 0.08862652853638416, + 0.13154597877649798, + 0.17037647050011584, + 0.20345392533496165, + 0.22937894091767205, + 0.24707500803079696, + 0.25582893038458626, + 0.2553118000893658, + 0.2455799958764798, + 0.2270567942100705, + 0.20049625055173417, + 0.16693195814109418, + 0.12761407121954643, + 0.08393854575868848, + 0.037372873633869375, + -0.010617349295218181, + -0.05863687417657578, + -0.10542055787501849, + -0.14988136590815446, + -0.19114437378651342, + -0.22856545626592412, + -0.2617343483375656, + -0.29046275344788247, + -0.31475910259630246, + -0.33479237619194996, + -0.35084804028714445, + -0.3632795822101567, + -0.37245933283868765, + -0.3787322233669178, + -0.382375848005458, + -0.3835697098652554, + -0.382375848005458, + -0.3787322233669178, + -0.37245933283868765, + -0.3632795822101567, + -0.35084804028714445, + -0.33479237619194996, + -0.31475910259630246, + -0.29046275344788247, + -0.2617343483375656, + -0.22856545626592412, + -0.19114437378651342, + -0.14988136590815446, + -0.10542055787501849, + -0.05863687417657578, + -0.010617349295218181, + 0.037372873633869375, + 0.08393854575868848, + 0.12761407121954643, + 0.16693195814109418, + 0.20049625055173417, + 0.2270567942100705, + 0.2455799958764798, + 0.2553118000893658, + 0.25582893038458626, + 0.24707500803079696, + 0.22937894091767205, + 0.20345392533496165, + 0.17037647050011584, + 0.13154597877649798, + 0.08862652853638416, + 0.043473546354522816, + -0.001951040868825416, + -0.045670869380806056, + -0.0857896329957062, + -0.12058300781296416, + -0.14858307017251748, + -0.16865061331126227, + -0.1800313728705813, + -0.18239300622958532 + ], + [ + -0.1801446545297837, + -0.18233559039097344, + -0.1752665961050691, + -0.15904136091487175, + -0.13421936300715656, + -0.10179031338845618, + -0.0631265026963309, + -0.019915691575644292, + 0.025921773001301992, + 0.07232710218505171, + 0.11720338291232232, + 0.15851669454452746, + 0.1943926655354523, + 0.2232034254780841, + 0.24364050109720906, + 0.25477004091850136, + 0.2560677827399544, + 0.24743234013685533, + 0.22917661128094333, + 0.20199833430642128, + 0.16693195814109418, + 0.12528500092613942, + 0.07856287339249271, + 0.02838670735216783, + -0.02359098016854476, + -0.0757679524450742, + -0.12666669235949252, + -0.17499760171649797, + -0.21970771693043264, + -0.26001264723920775, + -0.29541051237375787, + -0.32567778292945404, + -0.35084804028714445, + -0.37117570680030565, + -0.38708768931988075, + -0.3991265770886398, + -0.407889497747319, + -0.41396693622794944, + -0.417885750201407, + -0.4200602785751461, + -0.4207548585159486, + -0.4200602785751461, + -0.417885750201407, + -0.41396693622794944, + -0.407889497747319, + -0.3991265770886398, + -0.38708768931988075, + -0.37117570680030565, + -0.35084804028714445, + -0.32567778292945404, + -0.29541051237375787, + -0.26001264723920775, + -0.21970771693043264, + -0.17499760171649797, + -0.12666669235949252, + -0.0757679524450742, + -0.02359098016854476, + 0.02838670735216783, + 0.07856287339249271, + 0.12528500092613942, + 0.16693195814109418, + 0.20199833430642128, + 0.22917661128094333, + 0.24743234013685533, + 0.2560677827399544, + 0.25477004091850136, + 0.24364050109720906, + 0.2232034254780841, + 0.1943926655354523, + 0.15851669454452746, + 0.11720338291232232, + 0.07232710218505171, + 0.025921773001301992, + -0.019915691575644292, + -0.0631265026963309, + -0.10179031338845618, + -0.13421936300715656, + -0.15904136091487175, + -0.1752665961050691, + -0.18233559039097344 + ], + [ + -0.18230376872794093, + -0.18012123502583363, + -0.16843605361995675, + -0.14756752732225356, + -0.11830504740258321, + -0.08187218787401292, + -0.039868134180728126, + 0.0058103924762656495, + 0.05306249567952219, + 0.09968670899986165, + 0.14348926836260514, + 0.18239124981424537, + 0.2145288714461612, + 0.2383416766936446, + 0.25264402764959015, + 0.2566762997375786, + 0.25013332713993036, + 0.23316893482082693, + 0.2063767337439853, + 0.17074867404778504, + 0.12761407121954643, + 0.07856287339249271, + 0.02535776443828009, + -0.030159748399708135, + -0.08616386191642225, + -0.1409342819269669, + -0.1929363397545002, + -0.24088710992360066, + -0.2838041182964338, + -0.3210343185560354, + -0.35226222727992795, + -0.37749737145928347, + -0.3970424421347404, + -0.41144469052055266, + -0.42143408131469146, + -0.42785247459104203, + -0.43157859884674826, + -0.4334537754581445, + -0.434213248547002, + -0.43442757176285574, + -0.43445783007337646, + -0.43442757176285574, + -0.434213248547002, + -0.4334537754581445, + -0.43157859884674826, + -0.42785247459104203, + -0.42143408131469146, + -0.41144469052055266, + -0.3970424421347404, + -0.37749737145928347, + -0.35226222727992795, + -0.3210343185560354, + -0.2838041182964338, + -0.24088710992360066, + -0.1929363397545002, + -0.1409342819269669, + -0.08616386191642225, + -0.030159748399708135, + 0.02535776443828009, + 0.07856287339249271, + 0.12761407121954643, + 0.17074867404778504, + 0.2063767337439853, + 0.23316893482082693, + 0.25013332713993036, + 0.2566762997375786, + 0.25264402764959015, + 0.2383416766936446, + 0.2145288714461612, + 0.18239124981424537, + 0.14348926836260514, + 0.09968670899986165, + 0.05306249567952219, + 0.0058103924762656495, + -0.039868134180728126, + -0.08187218787401292, + -0.11830504740258321, + -0.14756752732225356, + -0.16843605361995675, + -0.18012123502583363 + ], + [ + -0.18251498442862385, + -0.1760159755489718, + -0.15987112992755653, + -0.13461888616197776, + -0.10127808535368477, + -0.061301442485772274, + -0.016505930263581485, + 0.031016232090896562, + 0.07900122348247962, + 0.12512633286074154, + 0.16712567793535366, + 0.20290271423033404, + 0.23063350923189954, + 0.24885528388828942, + 0.25653555744366946, + 0.25311832399967577, + 0.23854497801642713, + 0.21324911772700825, + 0.17812580971586786, + 0.134477311926808, + 0.08393854575868848, + 0.02838670735216783, + -0.030159748399708135, + -0.08964697741323371, + -0.14809048863531396, + -0.2036729142303004, + -0.254829433326894, + -0.3003162506586467, + -0.3392585664190622, + -0.37117570680030565, + -0.39598244357893553, + -0.41396693622794944, + -0.42574709936268906, + -0.43220845214435083, + -0.43442757176285574, + -0.4335860886421158, + -0.4308806796227811, + -0.4274347075936389, + -0.42421701152445723, + -0.42197287899622543, + -0.421171462695804, + -0.42197287899622543, + -0.42421701152445723, + -0.4274347075936389, + -0.4308806796227811, + -0.4335860886421158, + -0.43442757176285574, + -0.43220845214435083, + -0.42574709936268906, + -0.41396693622794944, + -0.39598244357893553, + -0.37117570680030565, + -0.3392585664190622, + -0.3003162506586467, + -0.254829433326894, + -0.2036729142303004, + -0.14809048863531396, + -0.08964697741323371, + -0.030159748399708135, + 0.02838670735216783, + 0.08393854575868848, + 0.134477311926808, + 0.17812580971586786, + 0.21324911772700825, + 0.23854497801642713, + 0.25311832399967577, + 0.25653555744366946, + 0.24885528388828942, + 0.23063350923189954, + 0.20290271423033404, + 0.16712567793535366, + 0.12512633286074154, + 0.07900122348247962, + 0.031016232090896562, + -0.016505930263581485, + -0.061301442485772274, + -0.10127808535368477, + -0.13461888616197776, + -0.15987112992755653, + -0.1760159755489718 + ], + [ + -0.18100457917857166, + -0.17030698199702413, + -0.1499137997580331, + -0.12058300781296416, + -0.08355939645450051, + -0.040517266401149735, + 0.0065202421682302655, + 0.05528095770522729, + 0.10335731863015635, + 0.14832776112580212, + 0.18787932061729182, + 0.21992483146863692, + 0.242708395806646, + 0.254893432701845, + 0.25562857790064414, + 0.24458792842044305, + 0.22198354690007724, + 0.18854967763954522, + 0.14549969299473817, + 0.09445829662141196, + 0.037372873633869375, + -0.02359098016854476, + -0.08616386191642225, + -0.14809048863531396, + -0.20724458052139974, + -0.2617343483375656, + -0.309992807249447, + -0.35084804028714445, + -0.3835697098652554, + -0.407889497747319, + -0.42399466300627076, + -0.43249545715781157, + -0.43436863670247905, + -0.4308806796227811, + -0.42349546556438716, + -0.4137720534188708, + -0.40325873487122593, + -0.39338972722403176, + -0.3853906832849483, + -0.3801986514917913, + -0.3784012476539641, + -0.3801986514917913, + -0.3853906832849483, + -0.39338972722403176, + -0.40325873487122593, + -0.4137720534188708, + -0.42349546556438716, + -0.4308806796227811, + -0.43436863670247905, + -0.43249545715781157, + -0.42399466300627076, + -0.407889497747319, + -0.3835697098652554, + -0.35084804028714445, + -0.309992807249447, + -0.2617343483375656, + -0.20724458052139974, + -0.14809048863531396, + -0.08616386191642225, + -0.02359098016854476, + 0.037372873633869375, + 0.09445829662141196, + 0.14549969299473817, + 0.18854967763954522, + 0.22198354690007724, + 0.24458792842044305, + 0.25562857790064414, + 0.254893432701845, + 0.242708395806646, + 0.21992483146863692, + 0.18787932061729182, + 0.14832776112580212, + 0.10335731863015635, + 0.05528095770522729, + 0.0065202421682302655, + -0.040517266401149735, + -0.08355939645450051, + -0.12058300781296416, + -0.1499137997580331, + -0.17030698199702413 + ], + [ + -0.17801860199902664, + -0.16329221750830802, + -0.13890582780165694, + -0.10583439818051152, + -0.06554239869174844, + -0.019915691575644292, + 0.02883009042098063, + 0.07825990831739421, + 0.1258425822940911, + 0.16908036038891633, + 0.20563779959612533, + 0.23346296309158113, + 0.2508943222213973, + 0.25674750760048576, + 0.25037713957121355, + 0.2317103248693539, + 0.20124995852555586, + 0.16004763127913005, + 0.1096476200446325, + 0.05200503792795912, + -0.010617349295218181, + -0.0757679524450742, + -0.1409342819269669, + -0.2036729142303004, + -0.2617343483375656, + -0.31317589634427284, + -0.3564564355250057, + -0.3905078789395116, + -0.4147795406040892, + -0.42925310491460716, + -0.43442757176285574, + -0.4312752446188071, + -0.421171462695804, + -0.40580225753498556, + -0.38705535500366767, + -0.36690087535799776, + -0.3472686537517362, + -0.32992927901128904, + -0.3163857196862348, + -0.3077817863653888, + -0.30483270332925, + -0.3077817863653888, + -0.3163857196862348, + -0.32992927901128904, + -0.3472686537517362, + -0.36690087535799776, + -0.38705535500366767, + -0.40580225753498556, + -0.421171462695804, + -0.4312752446188071, + -0.43442757176285574, + -0.42925310491460716, + -0.4147795406040892, + -0.3905078789395116, + -0.3564564355250057, + -0.31317589634427284, + -0.2617343483375656, + -0.2036729142303004, + -0.1409342819269669, + -0.0757679524450742, + -0.010617349295218181, + 0.05200503792795912, + 0.1096476200446325, + 0.16004763127913005, + 0.20124995852555586, + 0.2317103248693539, + 0.25037713957121355, + 0.25674750760048576, + 0.2508943222213973, + 0.23346296309158113, + 0.20563779959612533, + 0.16908036038891633, + 0.1258425822940911, + 0.07825990831739421, + 0.02883009042098063, + -0.019915691575644292, + -0.06554239869174844, + -0.10583439818051152, + -0.13890582780165694, + -0.16329221750830802 + ], + [ + -0.1738139924448547, + -0.15527119023634722, + -0.1271795169340972, + -0.0907256642328181, + -0.04758506314163741, + 0.0001569493213448689, + 0.05010748884225075, + 0.09968670899986165, + 0.14626024334832619, + 0.18727640924644018, + 0.22040074178662336, + 0.24364050109720906, + 0.2554522819126627, + 0.2548267267047997, + 0.2413455569066888, + 0.2152076253393881, + 0.17722237538812438, + 0.12877087581897034, + 0.07173638515428266, + 0.00840808631479302, + -0.05863687417657578, + -0.12666669235949252, + -0.1929363397545002, + -0.254829433326894, + -0.309992807249447, + -0.3564564355250057, + -0.39273214882544505, + -0.417885750201407, + -0.43157859884674826, + -0.434076417833265, + -0.42622489689420734, + -0.4093935036702951, + -0.3853906832849483, + -0.35635521764627226, + -0.324629843053556, + -0.2926242127644853, + -0.2626748843273063, + -0.23691017597600564, + -0.21712746254366178, + -0.20468978410715197, + -0.20044755867978276, + -0.20468978410715197, + -0.21712746254366178, + -0.23691017597600564, + -0.2626748843273063, + -0.2926242127644853, + -0.324629843053556, + -0.35635521764627226, + -0.3853906832849483, + -0.4093935036702951, + -0.42622489689420734, + -0.434076417833265, + -0.43157859884674826, + -0.417885750201407, + -0.39273214882544505, + -0.3564564355250057, + -0.309992807249447, + -0.254829433326894, + -0.1929363397545002, + -0.12666669235949252, + -0.05863687417657578, + 0.00840808631479302, + 0.07173638515428266, + 0.12877087581897034, + 0.17722237538812438, + 0.2152076253393881, + 0.2413455569066888, + 0.2548267267047997, + 0.2554522819126627, + 0.24364050109720906, + 0.22040074178662336, + 0.18727640924644018, + 0.14626024334832619, + 0.09968670899986165, + 0.05010748884225075, + 0.0001569493213448689, + -0.04758506314163741, + -0.0907256642328181, + -0.1271795169340972, + -0.15527119023634722 + ], + [ + -0.16865061331126227, + -0.14653700801271363, + -0.11505016730310495, + -0.07558080422426758, + -0.030004497243790427, + 0.019407660252202565, + 0.07010183827093616, + 0.11937185506223688, + 0.16450028494360933, + 0.20290271423033404, + 0.23226729318028777, + 0.2506818889186662, + 0.2567417315441088, + 0.24963143467045815, + 0.22917661128094333, + 0.19586192453391038, + 0.15081422331281308, + 0.0957513146109, + 0.032898814044057145, + -0.03512071345143313, + -0.10542055787501849, + -0.17499760171649797, + -0.24088710992360066, + -0.3003162506586467, + -0.35084804028714445, + -0.3905078789395116, + -0.417885750201407, + -0.43220845214435083, + -0.4333778373354074, + -0.42197287899622543, + -0.39921534828629784, + -0.36690087535799776, + -0.32729906443176787, + -0.28302803533990717, + -0.23691017597600564, + -0.19181693290541052, + -0.15051108239111077, + -0.11549507625799743, + -0.08887373699192957, + -0.0722388011028484, + -0.06658162124929747, + -0.0722388011028484, + -0.08887373699192957, + -0.11549507625799743, + -0.15051108239111077, + -0.19181693290541052, + -0.23691017597600564, + -0.28302803533990717, + -0.32729906443176787, + -0.36690087535799776, + -0.39921534828629784, + -0.42197287899622543, + -0.4333778373354074, + -0.43220845214435083, + -0.417885750201407, + -0.3905078789395116, + -0.35084804028714445, + -0.3003162506586467, + -0.24088710992360066, + -0.17499760171649797, + -0.10542055787501849, + -0.03512071345143313, + 0.032898814044057145, + 0.0957513146109, + 0.15081422331281308, + 0.19586192453391038, + 0.22917661128094333, + 0.24963143467045815, + 0.2567417315441088, + 0.2506818889186662, + 0.23226729318028777, + 0.20290271423033404, + 0.16450028494360933, + 0.11937185506223688, + 0.07010183827093616, + 0.019407660252202565, + -0.030004497243790427, + -0.07558080422426758, + -0.11505016730310495, + -0.14653700801271363 + ], + [ + -0.16278435980926842, + -0.13736985507049018, + -0.10281030706494565, + -0.060690608986011814, + -0.013073952151520388, + 0.03759772656874239, + 0.08862652853638416, + 0.13719827990417027, + 0.18053174205108255, + 0.21602931256266372, + 0.24142096714711753, + 0.254893432701845, + 0.25519727019112654, + 0.24172565029557566, + 0.21456006847846779, + 0.17447999195279823, + 0.12293536517635703, + 0.06198291759831892, + -0.005810793613848673, + -0.07749482277960204, + -0.14988136590815446, + -0.21970771693043264, + -0.2838041182964338, + -0.3392585664190622, + -0.3835697098652554, + -0.4147795406040892, + -0.43157859884674826, + -0.4333778373354074, + -0.4203430458705095, + -0.39338972722403176, + -0.3541384336243295, + -0.30483270332925, + -0.24822376277499153, + -0.187427969950852, + -0.1257644689695074, + -0.06658162124929747, + -0.0130814139378774, + 0.03184881503912622, + 0.0657883626364726, + 0.08691073780520595, + 0.0940800053732448, + 0.08691073780520595, + 0.0657883626364726, + 0.03184881503912622, + -0.0130814139378774, + -0.06658162124929747, + -0.1257644689695074, + -0.187427969950852, + -0.24822376277499153, + -0.30483270332925, + -0.3541384336243295, + -0.39338972722403176, + -0.4203430458705095, + -0.4333778373354074, + -0.43157859884674826, + -0.4147795406040892, + -0.3835697098652554, + -0.3392585664190622, + -0.2838041182964338, + -0.21970771693043264, + -0.14988136590815446, + -0.07749482277960204, + -0.005810793613848673, + 0.06198291759831892, + 0.12293536517635703, + 0.17447999195279823, + 0.21456006847846779, + 0.24172565029557566, + 0.25519727019112654, + 0.254893432701845, + 0.24142096714711753, + 0.21602931256266372, + 0.18053174205108255, + 0.13719827990417027, + 0.08862652853638416, + 0.03759772656874239, + -0.013073952151520388, + -0.060690608986011814, + -0.10281030706494565, + -0.13736985507049018 + ], + [ + -0.15646143337355978, + -0.12803192632998142, + -0.0907256642328181, + -0.046310064114579955, + 0.0029779491154211806, + 0.054541276561040686, + 0.10555493165712146, + 0.15311446345017118, + 0.1943926655354523, + 0.22679610352037188, + 0.24811283911536614, + 0.2566430509401283, + 0.25130504004127213, + 0.2317103248693539, + 0.1982031145119569, + 0.15186131748507978, + 0.09445829662141196, + 0.02838670735216783, + -0.043452159632214875, + -0.1177881852505473, + -0.19114437378651342, + -0.26001264723920775, + -0.3210343185560354, + -0.37117570680030565, + -0.407889497747319, + -0.42925310491460716, + -0.434076417833265, + -0.42197287899622543, + -0.39338972722403176, + -0.3495953826561967, + -0.2926242127644853, + -0.22518118755916025, + -0.15051108239111077, + -0.0722388011028484, + 0.005811034304373925, + 0.07980593576993696, + 0.14609889758077332, + 0.20141317105264114, + 0.24300880867803662, + 0.2688222513075441, + 0.277571630583514, + 0.2688222513075441, + 0.24300880867803662, + 0.20141317105264114, + 0.14609889758077332, + 0.07980593576993696, + 0.005811034304373925, + -0.0722388011028484, + -0.15051108239111077, + -0.22518118755916025, + -0.2926242127644853, + -0.3495953826561967, + -0.39338972722403176, + -0.42197287899622543, + -0.434076417833265, + -0.42925310491460716, + -0.407889497747319, + -0.37117570680030565, + -0.3210343185560354, + -0.26001264723920775, + -0.19114437378651342, + -0.1177881852505473, + -0.043452159632214875, + 0.02838670735216783, + 0.09445829662141196, + 0.15186131748507978, + 0.1982031145119569, + 0.2317103248693539, + 0.25130504004127213, + 0.2566430509401283, + 0.24811283911536614, + 0.22679610352037188, + 0.1943926655354523, + 0.15311446345017118, + 0.10555493165712146, + 0.054541276561040686, + 0.0029779491154211806, + -0.046310064114579955, + -0.0907256642328181, + -0.12803192632998142 + ], + [ + -0.1499137997580331, + -0.11876378051842666, + -0.07903277128303789, + -0.032657564269347995, + 0.017966041941118966, + 0.07010183827093616, + 0.12081441070397907, + 0.16712567793535366, + 0.2061784643801796, + 0.23539823538075702, + 0.25264402764959015, + 0.2563400102730029, + 0.2455799958764798, + 0.22019854657881394, + 0.18080401871815463, + 0.12877087581897034, + 0.0661907655654817, + -0.004215913110515241, + -0.0792240541655952, + -0.15525760655490364, + -0.22856545626592412, + -0.29541051237375787, + -0.35226222727992795, + -0.39598244357893553, + -0.42399466300627076, + -0.43442757176285574, + -0.42622489689420734, + -0.39921534828629784, + -0.3541384336243295, + -0.2926242127644853, + -0.21712746254366178, + -0.13081912452072303, + -0.03744017720227128, + 0.05887491198907235, + 0.1537963512162099, + 0.24300880867803662, + 0.32242214992953067, + 0.38837235101706136, + 0.43780226922078175, + 0.4684129583840573, + 0.47877771528316515, + 0.4684129583840573, + 0.43780226922078175, + 0.38837235101706136, + 0.32242214992953067, + 0.24300880867803662, + 0.1537963512162099, + 0.05887491198907235, + -0.03744017720227128, + -0.13081912452072303, + -0.21712746254366178, + -0.2926242127644853, + -0.3541384336243295, + -0.39921534828629784, + -0.42622489689420734, + -0.43442757176285574, + -0.42399466300627076, + -0.39598244357893553, + -0.35226222727992795, + -0.29541051237375787, + -0.22856545626592412, + -0.15525760655490364, + -0.0792240541655952, + -0.004215913110515241, + 0.0661907655654817, + 0.12877087581897034, + 0.18080401871815463, + 0.22019854657881394, + 0.2455799958764798, + 0.2563400102730029, + 0.25264402764959015, + 0.23539823538075702, + 0.2061784643801796, + 0.16712567793535366, + 0.12081441070397907, + 0.07010183827093616, + 0.017966041941118966, + -0.032657564269347995, + -0.07903277128303789, + -0.11876378051842666 + ], + [ + -0.14335579129849668, + -0.10978201113265723, + -0.06793803188546253, + -0.019915691575644292, + 0.031745840459068614, + 0.08418731130237875, + 0.13437885433763305, + 0.1792839709402817, + 0.21602931256266372, + 0.2420710146043941, + 0.255348298963932, + 0.25441554164532254, + 0.23854497801642713, + 0.20779364608280457, + 0.1630299764243758, + 0.10591753298818528, + 0.03885568116655977, + -0.03512071345143313, + -0.11247819731414006, + -0.18935183535374994, + -0.2617343483375656, + -0.32567778292945404, + -0.37749737145928347, + -0.41396693622794944, + -0.43249545715781157, + -0.4312752446188071, + -0.4093935036702951, + -0.36690087535799776, + -0.30483270332925, + -0.22518118755916025, + -0.13081912452072303, + -0.025378460035175753, + 0.08691073780520595, + 0.20141317105264114, + 0.3133036361206578, + 0.4177941096414197, + 0.5103612401471838, + 0.5869627944413911, + 0.6442321103834694, + 0.6796406846183429, + 0.69162061945593, + 0.6796406846183429, + 0.6442321103834694, + 0.5869627944413911, + 0.5103612401471838, + 0.4177941096414197, + 0.3133036361206578, + 0.20141317105264114, + 0.08691073780520595, + -0.025378460035175753, + -0.13081912452072303, + -0.22518118755916025, + -0.30483270332925, + -0.36690087535799776, + -0.4093935036702951, + -0.4312752446188071, + -0.43249545715781157, + -0.41396693622794944, + -0.37749737145928347, + -0.32567778292945404, + -0.2617343483375656, + -0.18935183535374994, + -0.11247819731414006, + -0.03512071345143313, + 0.03885568116655977, + 0.10591753298818528, + 0.1630299764243758, + 0.20779364608280457, + 0.23854497801642713, + 0.25441554164532254, + 0.255348298963932, + 0.2420710146043941, + 0.21602931256266372, + 0.1792839709402817, + 0.13437885433763305, + 0.08418731130237875, + 0.031745840459068614, + -0.019915691575644292, + -0.06793803188546253, + -0.10978201113265723 + ], + [ + -0.13698176393514344, + -0.10127808535368477, + -0.05761803324395176, + -0.00823327044894154, + 0.044209509361482956, + 0.09674378883254962, + 0.14626024334832619, + 0.18967745729212915, + 0.22411724822563847, + 0.24707500803079696, + 0.256575492104657, + 0.25130504004127213, + 0.23071227369415245, + 0.19507084218595108, + 0.14549969299473817, + 0.08393854575868848, + 0.013078615468659323, + -0.06374895250625122, + -0.1427221428215067, + -0.21970771693043264, + -0.29046275344788247, + -0.35084804028714445, + -0.3970424421347404, + -0.42574709936268906, + -0.43436863670247905, + -0.421171462695804, + -0.3853906832849483, + -0.32729906443176787, + -0.24822376277499153, + -0.15051108239111077, + -0.03744017720227128, + 0.08691073780520595, + 0.21783961811686398, + 0.35022902170777614, + 0.47877771528316515, + 0.5982441516081277, + 0.7036898157513979, + 0.7907103570985019, + 0.8556429685382863, + 0.8957396184216221, + 0.9092974268256817, + 0.8957396184216221, + 0.8556429685382863, + 0.7907103570985019, + 0.7036898157513979, + 0.5982441516081277, + 0.47877771528316515, + 0.35022902170777614, + 0.21783961811686398, + 0.08691073780520595, + -0.03744017720227128, + -0.15051108239111077, + -0.24822376277499153, + -0.32729906443176787, + -0.3853906832849483, + -0.421171462695804, + -0.43436863670247905, + -0.42574709936268906, + -0.3970424421347404, + -0.35084804028714445, + -0.29046275344788247, + -0.21970771693043264, + -0.1427221428215067, + -0.06374895250625122, + 0.013078615468659323, + 0.08393854575868848, + 0.14549969299473817, + 0.19507084218595108, + 0.23071227369415245, + 0.25130504004127213, + 0.256575492104657, + 0.24707500803079696, + 0.22411724822563847, + 0.18967745729212915, + 0.14626024334832619, + 0.09674378883254962, + 0.044209509361482956, + -0.00823327044894154, + -0.05761803324395176, + -0.10127808535368477 + ], + [ + -0.13096468174943518, + -0.09341816596346665, + -0.04822085787410071, + 0.0022716100207446164, + 0.05528095770522729, + 0.10774865812501504, + 0.15649972810645998, + 0.19841943861188654, + 0.23063350923189954, + 0.2506818889186662, + 0.2566762997375786, + 0.24743234013685533, + 0.2225680860000738, + 0.18256273925541686, + 0.12877087581897034, + 0.06339013493636744, + -0.010617349295218181, + -0.08964697741323371, + -0.1696119802323752, + -0.24613461781837798, + -0.31475910259630246, + -0.37117570680030565, + -0.41144469052055266, + -0.43220845214435083, + -0.4308806796227811, + -0.40580225753498556, + -0.35635521764627226, + -0.28302803533990717, + -0.187427969950852, + -0.0722388011028484, + 0.05887491198907235, + 0.20141317105264114, + 0.35022902170777614, + 0.49975144871271493, + 0.6442321103834694, + 0.7780040258931075, + 0.8957396184216221, + 0.992695449836068, + 1.0649315658049785, + 1.1094945766040856, + 1.124555367855928, + 1.1094945766040856, + 1.0649315658049785, + 0.992695449836068, + 0.8957396184216221, + 0.7780040258931075, + 0.6442321103834694, + 0.49975144871271493, + 0.35022902170777614, + 0.20141317105264114, + 0.05887491198907235, + -0.0722388011028484, + -0.187427969950852, + -0.28302803533990717, + -0.35635521764627226, + -0.40580225753498556, + -0.4308806796227811, + -0.43220845214435083, + -0.41144469052055266, + -0.37117570680030565, + -0.31475910259630246, + -0.24613461781837798, + -0.1696119802323752, + -0.08964697741323371, + -0.010617349295218181, + 0.06339013493636744, + 0.12877087581897034, + 0.18256273925541686, + 0.2225680860000738, + 0.24743234013685533, + 0.2566762997375786, + 0.2506818889186662, + 0.23063350923189954, + 0.19841943861188654, + 0.15649972810645998, + 0.10774865812501504, + 0.05528095770522729, + 0.0022716100207446164, + -0.04822085787410071, + -0.09341816596346665 + ], + [ + -0.1254554756233313, + -0.08634370978474622, + -0.039868134180728126, + 0.011507919583092052, + 0.0649104168254659, + 0.11720338291232232, + 0.16515865057394133, + 0.20563779959612533, + 0.23577655069724138, + 0.2531614457800734, + 0.2559887694405144, + 0.2431963471432226, + 0.21456006847846779, + 0.17074867404778504, + 0.11333242903336226, + 0.044743679368913644, + -0.03181017613329085, + -0.11247819731414006, + -0.1929363397545002, + -0.268589046149572, + -0.33479237619194996, + -0.38708768931988075, + -0.42143408131469146, + -0.43442757176285574, + -0.42349546556438716, + -0.38705535500366767, + -0.324629843053556, + -0.23691017597600564, + -0.1257644689695074, + 0.005811034304373925, + 0.1537963512162099, + 0.3133036361206578, + 0.47877771528316515, + 0.6442321103834694, + 0.803509484779075, + 0.9505541014891831, + 1.0796831610910465, + 1.1858438330909473, + 1.2648434125627805, + 1.3135412961886945, + 1.3299933154720727, + 1.3135412961886945, + 1.2648434125627805, + 1.1858438330909473, + 1.0796831610910465, + 0.9505541014891831, + 0.803509484779075, + 0.6442321103834694, + 0.47877771528316515, + 0.3133036361206578, + 0.1537963512162099, + 0.005811034304373925, + -0.1257644689695074, + -0.23691017597600564, + -0.324629843053556, + -0.38705535500366767, + -0.42349546556438716, + -0.43442757176285574, + -0.42143408131469146, + -0.38708768931988075, + -0.33479237619194996, + -0.268589046149572, + -0.1929363397545002, + -0.11247819731414006, + -0.03181017613329085, + 0.044743679368913644, + 0.11333242903336226, + 0.17074867404778504, + 0.21456006847846779, + 0.2431963471432226, + 0.2559887694405144, + 0.2531614457800734, + 0.23577655069724138, + 0.20563779959612533, + 0.16515865057394133, + 0.11720338291232232, + 0.0649104168254659, + 0.011507919583092052, + -0.039868134180728126, + -0.08634370978474622 + ], + [ + -0.12058300781296416, + -0.08017262722723162, + -0.032657564269347995, + 0.019407660252202565, + 0.07306884206017318, + 0.12512633286074154, + 0.17230988766358785, + 0.21146505144444128, + 0.23974108638511749, + 0.25477004091850136, + 0.2548267267047997, + 0.23896010343988033, + 0.2070878465419809, + 0.16004763127913005, + 0.09960082298540655, + 0.02838670735216783, + -0.050171999808914604, + -0.132008995765264, + -0.2125937105436689, + -0.28714197491104243, + -0.35084804028714445, + -0.3991265770886398, + -0.42785247459104203, + -0.4335860886421158, + -0.4137720534188708, + -0.36690087535799776, + -0.2926242127644853, + -0.19181693290541052, + -0.06658162124929747, + 0.07980593576993696, + 0.24300880867803662, + 0.4177941096414197, + 0.5982441516081277, + 0.7780040258931075, + 0.9505541014891831, + 1.1094945766040856, + 1.2488284837498442, + 1.3632295064019535, + 1.4482816142111579, + 1.500678835049543, + 1.518375390968938, + 1.500678835049543, + 1.4482816142111579, + 1.3632295064019535, + 1.2488284837498442, + 1.1094945766040856, + 0.9505541014891831, + 0.7780040258931075, + 0.5982441516081277, + 0.4177941096414197, + 0.24300880867803662, + 0.07980593576993696, + -0.06658162124929747, + -0.19181693290541052, + -0.2926242127644853, + -0.36690087535799776, + -0.4137720534188708, + -0.4335860886421158, + -0.42785247459104203, + -0.3991265770886398, + -0.35084804028714445, + -0.28714197491104243, + -0.2125937105436689, + -0.132008995765264, + -0.050171999808914604, + 0.02838670735216783, + 0.09960082298540655, + 0.16004763127913005, + 0.2070878465419809, + 0.23896010343988033, + 0.2548267267047997, + 0.25477004091850136, + 0.23974108638511749, + 0.21146505144444128, + 0.17230988766358785, + 0.12512633286074154, + 0.07306884206017318, + 0.019407660252202565, + -0.032657564269347995, + -0.08017262722723162 + ], + [ + -0.1164544699167505, + -0.0750007897964791, + -0.026665677985416577, + 0.025921773001301992, + 0.07974244535617742, + 0.13154597877649798, + 0.17802983029511174, + 0.21602931256266372, + 0.242708395806646, + 0.2557406839380664, + 0.25347017586536014, + 0.23504220166614895, + 0.20049625055173417, + 0.15081422331281308, + 0.08791985781076668, + 0.014627580006334946, + -0.06545830501430487, + -0.14809048863531396, + -0.22856545626592412, + -0.30194177876754097, + -0.3632795822101567, + -0.407889497747319, + -0.43157859884674826, + -0.4308806796227811, + -0.40325873487122593, + -0.3472686537517362, + -0.2626748843273063, + -0.15051108239111077, + -0.0130814139378774, + 0.14609889758077332, + 0.32242214992953067, + 0.5103612401471838, + 0.7036898157513979, + 0.8957396184216221, + 1.0796831610910465, + 1.2488284837498442, + 1.3969119972732167, + 1.518375390968938, + 1.608613254431116, + 1.6641794167481594, + 1.682941969615793, + 1.6641794167481594, + 1.608613254431116, + 1.518375390968938, + 1.3969119972732167, + 1.2488284837498442, + 1.0796831610910465, + 0.8957396184216221, + 0.7036898157513979, + 0.5103612401471838, + 0.32242214992953067, + 0.14609889758077332, + -0.0130814139378774, + -0.15051108239111077, + -0.2626748843273063, + -0.3472686537517362, + -0.40325873487122593, + -0.4308806796227811, + -0.43157859884674826, + -0.407889497747319, + -0.3632795822101567, + -0.30194177876754097, + -0.22856545626592412, + -0.14809048863531396, + -0.06545830501430487, + 0.014627580006334946, + 0.08791985781076668, + 0.15081422331281308, + 0.20049625055173417, + 0.23504220166614895, + 0.25347017586536014, + 0.2557406839380664, + 0.242708395806646, + 0.21602931256266372, + 0.17802983029511174, + 0.13154597877649798, + 0.07974244535617742, + 0.025921773001301992, + -0.026665677985416577, + -0.0750007897964791 + ], + [ + -0.1131560467581887, + -0.07090368426500879, + -0.021950582012676394, + 0.031016232090896562, + 0.08492762656935865, + 0.13649472168344115, + 0.18239124981424537, + 0.21944644111666822, + 0.24483804991090946, + 0.2562747828163765, + 0.252157618714697, + 0.2317103248693539, + 0.19507084218595108, + 0.1433370736825879, + 0.07856287339249271, + 0.0037025838949493145, + -0.07749482277960204, + -0.16063822727306362, + -0.24088710992360066, + -0.31317589634427284, + -0.37245933283868765, + -0.41396693622794944, + -0.4334537754581445, + -0.4274347075936389, + -0.39338972722403176, + -0.32992927901128904, + -0.23691017597600564, + -0.11549507625799743, + 0.03184881503912622, + 0.20141317105264114, + 0.38837235101706136, + 0.5869627944413911, + 0.7907103570985019, + 0.992695449836068, + 1.1858438330909473, + 1.3632295064019535, + 1.518375390968938, + 1.6455374774968983, + 1.7399588071171015, + 1.7980810383563555, + 1.8177033600622243, + 1.7980810383563555, + 1.7399588071171015, + 1.6455374774968983, + 1.518375390968938, + 1.3632295064019535, + 1.1858438330909473, + 0.992695449836068, + 0.7907103570985019, + 0.5869627944413911, + 0.38837235101706136, + 0.20141317105264114, + 0.03184881503912622, + -0.11549507625799743, + -0.23691017597600564, + -0.32992927901128904, + -0.39338972722403176, + -0.4274347075936389, + -0.4334537754581445, + -0.41396693622794944, + -0.37245933283868765, + -0.31317589634427284, + -0.24088710992360066, + -0.16063822727306362, + -0.07749482277960204, + 0.0037025838949493145, + 0.07856287339249271, + 0.1433370736825879, + 0.19507084218595108, + 0.2317103248693539, + 0.252157618714697, + 0.2562747828163765, + 0.24483804991090946, + 0.21944644111666822, + 0.18239124981424537, + 0.13649472168344115, + 0.08492762656935865, + 0.031016232090896562, + -0.021950582012676394, + -0.07090368426500879 + ], + [ + -0.1107536917561867, + -0.06793803188546253, + -0.01855449981019833, + 0.03466854669458865, + 0.08862652853638416, + 0.14000357308347133, + 0.18545724476618586, + 0.22181346801290225, + 0.24626113579560338, + 0.25653555744366946, + 0.25108014921898075, + 0.22917661128094333, + 0.19103523332295086, + 0.13783886506830845, + 0.07173638515428266, + -0.004215913110515241, + -0.08616386191642225, + -0.1696119802323752, + -0.24962054293732017, + -0.3210343185560354, + -0.3787322233669178, + -0.417885750201407, + -0.434213248547002, + -0.42421701152445723, + -0.3853906832849483, + -0.3163857196862348, + -0.21712746254366178, + -0.08887373699192957, + 0.0657883626364726, + 0.24300880867803662, + 0.43780226922078175, + 0.6442321103834694, + 0.8556429685382863, + 1.0649315658049785, + 1.2648434125627805, + 1.4482816142111579, + 1.608613254431116, + 1.7399588071171015, + 1.8374507397311368, + 1.8974488797623419, + 1.917702154416812, + 1.8974488797623419, + 1.8374507397311368, + 1.7399588071171015, + 1.608613254431116, + 1.4482816142111579, + 1.2648434125627805, + 1.0649315658049785, + 0.8556429685382863, + 0.6442321103834694, + 0.43780226922078175, + 0.24300880867803662, + 0.0657883626364726, + -0.08887373699192957, + -0.21712746254366178, + -0.3163857196862348, + -0.3853906832849483, + -0.42421701152445723, + -0.434213248547002, + -0.417885750201407, + -0.3787322233669178, + -0.3210343185560354, + -0.24962054293732017, + -0.1696119802323752, + -0.08616386191642225, + -0.004215913110515241, + 0.07173638515428266, + 0.13783886506830845, + 0.19103523332295086, + 0.22917661128094333, + 0.25108014921898075, + 0.25653555744366946, + 0.24626113579560338, + 0.22181346801290225, + 0.18545724476618586, + 0.14000357308347133, + 0.08862652853638416, + 0.03466854669458865, + -0.01855449981019833, + -0.06793803188546253 + ], + [ + -0.10929387900894774, + -0.06614321685638791, + -0.016505930263581485, + 0.03686485131708162, + 0.09084339726921295, + 0.14209785531573388, + 0.18727640924644018, + 0.2232034254780841, + 0.24707500803079696, + 0.2566430509401283, + 0.25037713957121355, + 0.22759450814784551, + 0.18854967763954522, + 0.134477311926808, + 0.06758414818694233, + -0.009011537058698997, + -0.09139170665445415, + -0.17499760171649797, + -0.254829433326894, + -0.32567778292945404, + -0.382375848005458, + -0.4200602785751461, + -0.43442757176285574, + -0.42197287899622543, + -0.3801986514917913, + -0.3077817863653888, + -0.20468978410715197, + -0.0722388011028484, + 0.08691073780520595, + 0.2688222513075441, + 0.4684129583840573, + 0.6796406846183429, + 0.8957396184216221, + 1.1094945766040856, + 1.3135412961886945, + 1.500678835049543, + 1.6641794167481594, + 1.7980810383563555, + 1.8974488797623419, + 1.9585929762944412, + 1.9792316740361835, + 1.9585929762944412, + 1.8974488797623419, + 1.7980810383563555, + 1.6641794167481594, + 1.500678835049543, + 1.3135412961886945, + 1.1094945766040856, + 0.8957396184216221, + 0.6796406846183429, + 0.4684129583840573, + 0.2688222513075441, + 0.08691073780520595, + -0.0722388011028484, + -0.20468978410715197, + -0.3077817863653888, + -0.3801986514917913, + -0.42197287899622543, + -0.43442757176285574, + -0.4200602785751461, + -0.382375848005458, + -0.32567778292945404, + -0.254829433326894, + -0.17499760171649797, + -0.09139170665445415, + -0.009011537058698997, + 0.06758414818694233, + 0.134477311926808, + 0.18854967763954522, + 0.22759450814784551, + 0.25037713957121355, + 0.2566430509401283, + 0.24707500803079696, + 0.2232034254780841, + 0.18727640924644018, + 0.14209785531573388, + 0.09084339726921295, + 0.03686485131708162, + -0.016505930263581485, + -0.06614321685638791 + ], + [ + -0.10880422217787396, + -0.06554239869174844, + -0.015821288518275644, + 0.03759772656874239, + 0.09158188560927924, + 0.14279404657238684, + 0.18787932061729182, + 0.22366162672468853, + 0.24733956165584545, + 0.2566706526738519, + 0.25013332713993036, + 0.2270567942100705, + 0.18771045677679687, + 0.1333463922312941, + 0.0661907655654817, + -0.010617349295218181, + -0.09313849939964196, + -0.17679272260843765, + -0.2565601183892334, + -0.32721314035298743, + -0.3835697098652554, + -0.4207548585159486, + -0.43445783007337646, + -0.421171462695804, + -0.3784012476539641, + -0.30483270332925, + -0.20044755867978276, + -0.06658162124929747, + 0.0940800053732448, + 0.277571630583514, + 0.47877771528316515, + 0.69162061945593, + 0.9092974268256817, + 1.124555367855928, + 1.3299933154720727, + 1.518375390968938, + 1.682941969615793, + 1.8177033600622243, + 1.917702154416812, + 1.9792316740361835, + null, + 1.9792316740361835, + 1.917702154416812, + 1.8177033600622243, + 1.682941969615793, + 1.518375390968938, + 1.3299933154720727, + 1.124555367855928, + 0.9092974268256817, + 0.69162061945593, + 0.47877771528316515, + 0.277571630583514, + 0.0940800053732448, + -0.06658162124929747, + -0.20044755867978276, + -0.30483270332925, + -0.3784012476539641, + -0.421171462695804, + -0.43445783007337646, + -0.4207548585159486, + -0.3835697098652554, + -0.32721314035298743, + -0.2565601183892334, + -0.17679272260843765, + -0.09313849939964196, + -0.010617349295218181, + 0.0661907655654817, + 0.1333463922312941, + 0.18771045677679687, + 0.2270567942100705, + 0.25013332713993036, + 0.2566706526738519, + 0.24733956165584545, + 0.22366162672468853, + 0.18787932061729182, + 0.14279404657238684, + 0.09158188560927924, + 0.03759772656874239, + -0.015821288518275644, + -0.06554239869174844 + ], + [ + -0.10929387900894774, + -0.06614321685638791, + -0.016505930263581485, + 0.03686485131708162, + 0.09084339726921295, + 0.14209785531573388, + 0.18727640924644018, + 0.2232034254780841, + 0.24707500803079696, + 0.2566430509401283, + 0.25037713957121355, + 0.22759450814784551, + 0.18854967763954522, + 0.134477311926808, + 0.06758414818694233, + -0.009011537058698997, + -0.09139170665445415, + -0.17499760171649797, + -0.254829433326894, + -0.32567778292945404, + -0.382375848005458, + -0.4200602785751461, + -0.43442757176285574, + -0.42197287899622543, + -0.3801986514917913, + -0.3077817863653888, + -0.20468978410715197, + -0.0722388011028484, + 0.08691073780520595, + 0.2688222513075441, + 0.4684129583840573, + 0.6796406846183429, + 0.8957396184216221, + 1.1094945766040856, + 1.3135412961886945, + 1.500678835049543, + 1.6641794167481594, + 1.7980810383563555, + 1.8974488797623419, + 1.9585929762944412, + 1.9792316740361835, + 1.9585929762944412, + 1.8974488797623419, + 1.7980810383563555, + 1.6641794167481594, + 1.500678835049543, + 1.3135412961886945, + 1.1094945766040856, + 0.8957396184216221, + 0.6796406846183429, + 0.4684129583840573, + 0.2688222513075441, + 0.08691073780520595, + -0.0722388011028484, + -0.20468978410715197, + -0.3077817863653888, + -0.3801986514917913, + -0.42197287899622543, + -0.43442757176285574, + -0.4200602785751461, + -0.382375848005458, + -0.32567778292945404, + -0.254829433326894, + -0.17499760171649797, + -0.09139170665445415, + -0.009011537058698997, + 0.06758414818694233, + 0.134477311926808, + 0.18854967763954522, + 0.22759450814784551, + 0.25037713957121355, + 0.2566430509401283, + 0.24707500803079696, + 0.2232034254780841, + 0.18727640924644018, + 0.14209785531573388, + 0.09084339726921295, + 0.03686485131708162, + -0.016505930263581485, + -0.06614321685638791 + ], + [ + -0.1107536917561867, + -0.06793803188546253, + -0.01855449981019833, + 0.03466854669458865, + 0.08862652853638416, + 0.14000357308347133, + 0.18545724476618586, + 0.22181346801290225, + 0.24626113579560338, + 0.25653555744366946, + 0.25108014921898075, + 0.22917661128094333, + 0.19103523332295086, + 0.13783886506830845, + 0.07173638515428266, + -0.004215913110515241, + -0.08616386191642225, + -0.1696119802323752, + -0.24962054293732017, + -0.3210343185560354, + -0.3787322233669178, + -0.417885750201407, + -0.434213248547002, + -0.42421701152445723, + -0.3853906832849483, + -0.3163857196862348, + -0.21712746254366178, + -0.08887373699192957, + 0.0657883626364726, + 0.24300880867803662, + 0.43780226922078175, + 0.6442321103834694, + 0.8556429685382863, + 1.0649315658049785, + 1.2648434125627805, + 1.4482816142111579, + 1.608613254431116, + 1.7399588071171015, + 1.8374507397311368, + 1.8974488797623419, + 1.917702154416812, + 1.8974488797623419, + 1.8374507397311368, + 1.7399588071171015, + 1.608613254431116, + 1.4482816142111579, + 1.2648434125627805, + 1.0649315658049785, + 0.8556429685382863, + 0.6442321103834694, + 0.43780226922078175, + 0.24300880867803662, + 0.0657883626364726, + -0.08887373699192957, + -0.21712746254366178, + -0.3163857196862348, + -0.3853906832849483, + -0.42421701152445723, + -0.434213248547002, + -0.417885750201407, + -0.3787322233669178, + -0.3210343185560354, + -0.24962054293732017, + -0.1696119802323752, + -0.08616386191642225, + -0.004215913110515241, + 0.07173638515428266, + 0.13783886506830845, + 0.19103523332295086, + 0.22917661128094333, + 0.25108014921898075, + 0.25653555744366946, + 0.24626113579560338, + 0.22181346801290225, + 0.18545724476618586, + 0.14000357308347133, + 0.08862652853638416, + 0.03466854669458865, + -0.01855449981019833, + -0.06793803188546253 + ], + [ + -0.1131560467581887, + -0.07090368426500879, + -0.021950582012676394, + 0.031016232090896562, + 0.08492762656935865, + 0.13649472168344115, + 0.18239124981424537, + 0.21944644111666822, + 0.24483804991090946, + 0.2562747828163765, + 0.252157618714697, + 0.2317103248693539, + 0.19507084218595108, + 0.1433370736825879, + 0.07856287339249271, + 0.0037025838949493145, + -0.07749482277960204, + -0.16063822727306362, + -0.24088710992360066, + -0.31317589634427284, + -0.37245933283868765, + -0.41396693622794944, + -0.4334537754581445, + -0.4274347075936389, + -0.39338972722403176, + -0.32992927901128904, + -0.23691017597600564, + -0.11549507625799743, + 0.03184881503912622, + 0.20141317105264114, + 0.38837235101706136, + 0.5869627944413911, + 0.7907103570985019, + 0.992695449836068, + 1.1858438330909473, + 1.3632295064019535, + 1.518375390968938, + 1.6455374774968983, + 1.7399588071171015, + 1.7980810383563555, + 1.8177033600622243, + 1.7980810383563555, + 1.7399588071171015, + 1.6455374774968983, + 1.518375390968938, + 1.3632295064019535, + 1.1858438330909473, + 0.992695449836068, + 0.7907103570985019, + 0.5869627944413911, + 0.38837235101706136, + 0.20141317105264114, + 0.03184881503912622, + -0.11549507625799743, + -0.23691017597600564, + -0.32992927901128904, + -0.39338972722403176, + -0.4274347075936389, + -0.4334537754581445, + -0.41396693622794944, + -0.37245933283868765, + -0.31317589634427284, + -0.24088710992360066, + -0.16063822727306362, + -0.07749482277960204, + 0.0037025838949493145, + 0.07856287339249271, + 0.1433370736825879, + 0.19507084218595108, + 0.2317103248693539, + 0.252157618714697, + 0.2562747828163765, + 0.24483804991090946, + 0.21944644111666822, + 0.18239124981424537, + 0.13649472168344115, + 0.08492762656935865, + 0.031016232090896562, + -0.021950582012676394, + -0.07090368426500879 + ], + [ + -0.1164544699167505, + -0.0750007897964791, + -0.026665677985416577, + 0.025921773001301992, + 0.07974244535617742, + 0.13154597877649798, + 0.17802983029511174, + 0.21602931256266372, + 0.242708395806646, + 0.2557406839380664, + 0.25347017586536014, + 0.23504220166614895, + 0.20049625055173417, + 0.15081422331281308, + 0.08791985781076668, + 0.014627580006334946, + -0.06545830501430487, + -0.14809048863531396, + -0.22856545626592412, + -0.30194177876754097, + -0.3632795822101567, + -0.407889497747319, + -0.43157859884674826, + -0.4308806796227811, + -0.40325873487122593, + -0.3472686537517362, + -0.2626748843273063, + -0.15051108239111077, + -0.0130814139378774, + 0.14609889758077332, + 0.32242214992953067, + 0.5103612401471838, + 0.7036898157513979, + 0.8957396184216221, + 1.0796831610910465, + 1.2488284837498442, + 1.3969119972732167, + 1.518375390968938, + 1.608613254431116, + 1.6641794167481594, + 1.682941969615793, + 1.6641794167481594, + 1.608613254431116, + 1.518375390968938, + 1.3969119972732167, + 1.2488284837498442, + 1.0796831610910465, + 0.8957396184216221, + 0.7036898157513979, + 0.5103612401471838, + 0.32242214992953067, + 0.14609889758077332, + -0.0130814139378774, + -0.15051108239111077, + -0.2626748843273063, + -0.3472686537517362, + -0.40325873487122593, + -0.4308806796227811, + -0.43157859884674826, + -0.407889497747319, + -0.3632795822101567, + -0.30194177876754097, + -0.22856545626592412, + -0.14809048863531396, + -0.06545830501430487, + 0.014627580006334946, + 0.08791985781076668, + 0.15081422331281308, + 0.20049625055173417, + 0.23504220166614895, + 0.25347017586536014, + 0.2557406839380664, + 0.242708395806646, + 0.21602931256266372, + 0.17802983029511174, + 0.13154597877649798, + 0.07974244535617742, + 0.025921773001301992, + -0.026665677985416577, + -0.0750007897964791 + ], + [ + -0.12058300781296416, + -0.08017262722723162, + -0.032657564269347995, + 0.019407660252202565, + 0.07306884206017318, + 0.12512633286074154, + 0.17230988766358785, + 0.21146505144444128, + 0.23974108638511749, + 0.25477004091850136, + 0.2548267267047997, + 0.23896010343988033, + 0.2070878465419809, + 0.16004763127913005, + 0.09960082298540655, + 0.02838670735216783, + -0.050171999808914604, + -0.132008995765264, + -0.2125937105436689, + -0.28714197491104243, + -0.35084804028714445, + -0.3991265770886398, + -0.42785247459104203, + -0.4335860886421158, + -0.4137720534188708, + -0.36690087535799776, + -0.2926242127644853, + -0.19181693290541052, + -0.06658162124929747, + 0.07980593576993696, + 0.24300880867803662, + 0.4177941096414197, + 0.5982441516081277, + 0.7780040258931075, + 0.9505541014891831, + 1.1094945766040856, + 1.2488284837498442, + 1.3632295064019535, + 1.4482816142111579, + 1.500678835049543, + 1.518375390968938, + 1.500678835049543, + 1.4482816142111579, + 1.3632295064019535, + 1.2488284837498442, + 1.1094945766040856, + 0.9505541014891831, + 0.7780040258931075, + 0.5982441516081277, + 0.4177941096414197, + 0.24300880867803662, + 0.07980593576993696, + -0.06658162124929747, + -0.19181693290541052, + -0.2926242127644853, + -0.36690087535799776, + -0.4137720534188708, + -0.4335860886421158, + -0.42785247459104203, + -0.3991265770886398, + -0.35084804028714445, + -0.28714197491104243, + -0.2125937105436689, + -0.132008995765264, + -0.050171999808914604, + 0.02838670735216783, + 0.09960082298540655, + 0.16004763127913005, + 0.2070878465419809, + 0.23896010343988033, + 0.2548267267047997, + 0.25477004091850136, + 0.23974108638511749, + 0.21146505144444128, + 0.17230988766358785, + 0.12512633286074154, + 0.07306884206017318, + 0.019407660252202565, + -0.032657564269347995, + -0.08017262722723162 + ], + [ + -0.1254554756233313, + -0.08634370978474622, + -0.039868134180728126, + 0.011507919583092052, + 0.0649104168254659, + 0.11720338291232232, + 0.16515865057394133, + 0.20563779959612533, + 0.23577655069724138, + 0.2531614457800734, + 0.2559887694405144, + 0.2431963471432226, + 0.21456006847846779, + 0.17074867404778504, + 0.11333242903336226, + 0.044743679368913644, + -0.03181017613329085, + -0.11247819731414006, + -0.1929363397545002, + -0.268589046149572, + -0.33479237619194996, + -0.38708768931988075, + -0.42143408131469146, + -0.43442757176285574, + -0.42349546556438716, + -0.38705535500366767, + -0.324629843053556, + -0.23691017597600564, + -0.1257644689695074, + 0.005811034304373925, + 0.1537963512162099, + 0.3133036361206578, + 0.47877771528316515, + 0.6442321103834694, + 0.803509484779075, + 0.9505541014891831, + 1.0796831610910465, + 1.1858438330909473, + 1.2648434125627805, + 1.3135412961886945, + 1.3299933154720727, + 1.3135412961886945, + 1.2648434125627805, + 1.1858438330909473, + 1.0796831610910465, + 0.9505541014891831, + 0.803509484779075, + 0.6442321103834694, + 0.47877771528316515, + 0.3133036361206578, + 0.1537963512162099, + 0.005811034304373925, + -0.1257644689695074, + -0.23691017597600564, + -0.324629843053556, + -0.38705535500366767, + -0.42349546556438716, + -0.43442757176285574, + -0.42143408131469146, + -0.38708768931988075, + -0.33479237619194996, + -0.268589046149572, + -0.1929363397545002, + -0.11247819731414006, + -0.03181017613329085, + 0.044743679368913644, + 0.11333242903336226, + 0.17074867404778504, + 0.21456006847846779, + 0.2431963471432226, + 0.2559887694405144, + 0.2531614457800734, + 0.23577655069724138, + 0.20563779959612533, + 0.16515865057394133, + 0.11720338291232232, + 0.0649104168254659, + 0.011507919583092052, + -0.039868134180728126, + -0.08634370978474622 + ], + [ + -0.13096468174943518, + -0.09341816596346665, + -0.04822085787410071, + 0.0022716100207446164, + 0.05528095770522729, + 0.10774865812501504, + 0.15649972810645998, + 0.19841943861188654, + 0.23063350923189954, + 0.2506818889186662, + 0.2566762997375786, + 0.24743234013685533, + 0.2225680860000738, + 0.18256273925541686, + 0.12877087581897034, + 0.06339013493636744, + -0.010617349295218181, + -0.08964697741323371, + -0.1696119802323752, + -0.24613461781837798, + -0.31475910259630246, + -0.37117570680030565, + -0.41144469052055266, + -0.43220845214435083, + -0.4308806796227811, + -0.40580225753498556, + -0.35635521764627226, + -0.28302803533990717, + -0.187427969950852, + -0.0722388011028484, + 0.05887491198907235, + 0.20141317105264114, + 0.35022902170777614, + 0.49975144871271493, + 0.6442321103834694, + 0.7780040258931075, + 0.8957396184216221, + 0.992695449836068, + 1.0649315658049785, + 1.1094945766040856, + 1.124555367855928, + 1.1094945766040856, + 1.0649315658049785, + 0.992695449836068, + 0.8957396184216221, + 0.7780040258931075, + 0.6442321103834694, + 0.49975144871271493, + 0.35022902170777614, + 0.20141317105264114, + 0.05887491198907235, + -0.0722388011028484, + -0.187427969950852, + -0.28302803533990717, + -0.35635521764627226, + -0.40580225753498556, + -0.4308806796227811, + -0.43220845214435083, + -0.41144469052055266, + -0.37117570680030565, + -0.31475910259630246, + -0.24613461781837798, + -0.1696119802323752, + -0.08964697741323371, + -0.010617349295218181, + 0.06339013493636744, + 0.12877087581897034, + 0.18256273925541686, + 0.2225680860000738, + 0.24743234013685533, + 0.2566762997375786, + 0.2506818889186662, + 0.23063350923189954, + 0.19841943861188654, + 0.15649972810645998, + 0.10774865812501504, + 0.05528095770522729, + 0.0022716100207446164, + -0.04822085787410071, + -0.09341816596346665 + ], + [ + -0.13698176393514344, + -0.10127808535368477, + -0.05761803324395176, + -0.00823327044894154, + 0.044209509361482956, + 0.09674378883254962, + 0.14626024334832619, + 0.18967745729212915, + 0.22411724822563847, + 0.24707500803079696, + 0.256575492104657, + 0.25130504004127213, + 0.23071227369415245, + 0.19507084218595108, + 0.14549969299473817, + 0.08393854575868848, + 0.013078615468659323, + -0.06374895250625122, + -0.1427221428215067, + -0.21970771693043264, + -0.29046275344788247, + -0.35084804028714445, + -0.3970424421347404, + -0.42574709936268906, + -0.43436863670247905, + -0.421171462695804, + -0.3853906832849483, + -0.32729906443176787, + -0.24822376277499153, + -0.15051108239111077, + -0.03744017720227128, + 0.08691073780520595, + 0.21783961811686398, + 0.35022902170777614, + 0.47877771528316515, + 0.5982441516081277, + 0.7036898157513979, + 0.7907103570985019, + 0.8556429685382863, + 0.8957396184216221, + 0.9092974268256817, + 0.8957396184216221, + 0.8556429685382863, + 0.7907103570985019, + 0.7036898157513979, + 0.5982441516081277, + 0.47877771528316515, + 0.35022902170777614, + 0.21783961811686398, + 0.08691073780520595, + -0.03744017720227128, + -0.15051108239111077, + -0.24822376277499153, + -0.32729906443176787, + -0.3853906832849483, + -0.421171462695804, + -0.43436863670247905, + -0.42574709936268906, + -0.3970424421347404, + -0.35084804028714445, + -0.29046275344788247, + -0.21970771693043264, + -0.1427221428215067, + -0.06374895250625122, + 0.013078615468659323, + 0.08393854575868848, + 0.14549969299473817, + 0.19507084218595108, + 0.23071227369415245, + 0.25130504004127213, + 0.256575492104657, + 0.24707500803079696, + 0.22411724822563847, + 0.18967745729212915, + 0.14626024334832619, + 0.09674378883254962, + 0.044209509361482956, + -0.00823327044894154, + -0.05761803324395176, + -0.10127808535368477 + ], + [ + -0.14335579129849668, + -0.10978201113265723, + -0.06793803188546253, + -0.019915691575644292, + 0.031745840459068614, + 0.08418731130237875, + 0.13437885433763305, + 0.1792839709402817, + 0.21602931256266372, + 0.2420710146043941, + 0.255348298963932, + 0.25441554164532254, + 0.23854497801642713, + 0.20779364608280457, + 0.1630299764243758, + 0.10591753298818528, + 0.03885568116655977, + -0.03512071345143313, + -0.11247819731414006, + -0.18935183535374994, + -0.2617343483375656, + -0.32567778292945404, + -0.37749737145928347, + -0.41396693622794944, + -0.43249545715781157, + -0.4312752446188071, + -0.4093935036702951, + -0.36690087535799776, + -0.30483270332925, + -0.22518118755916025, + -0.13081912452072303, + -0.025378460035175753, + 0.08691073780520595, + 0.20141317105264114, + 0.3133036361206578, + 0.4177941096414197, + 0.5103612401471838, + 0.5869627944413911, + 0.6442321103834694, + 0.6796406846183429, + 0.69162061945593, + 0.6796406846183429, + 0.6442321103834694, + 0.5869627944413911, + 0.5103612401471838, + 0.4177941096414197, + 0.3133036361206578, + 0.20141317105264114, + 0.08691073780520595, + -0.025378460035175753, + -0.13081912452072303, + -0.22518118755916025, + -0.30483270332925, + -0.36690087535799776, + -0.4093935036702951, + -0.4312752446188071, + -0.43249545715781157, + -0.41396693622794944, + -0.37749737145928347, + -0.32567778292945404, + -0.2617343483375656, + -0.18935183535374994, + -0.11247819731414006, + -0.03512071345143313, + 0.03885568116655977, + 0.10591753298818528, + 0.1630299764243758, + 0.20779364608280457, + 0.23854497801642713, + 0.25441554164532254, + 0.255348298963932, + 0.2420710146043941, + 0.21602931256266372, + 0.1792839709402817, + 0.13437885433763305, + 0.08418731130237875, + 0.031745840459068614, + -0.019915691575644292, + -0.06793803188546253, + -0.10978201113265723 + ], + [ + -0.1499137997580331, + -0.11876378051842666, + -0.07903277128303789, + -0.032657564269347995, + 0.017966041941118966, + 0.07010183827093616, + 0.12081441070397907, + 0.16712567793535366, + 0.2061784643801796, + 0.23539823538075702, + 0.25264402764959015, + 0.2563400102730029, + 0.2455799958764798, + 0.22019854657881394, + 0.18080401871815463, + 0.12877087581897034, + 0.0661907655654817, + -0.004215913110515241, + -0.0792240541655952, + -0.15525760655490364, + -0.22856545626592412, + -0.29541051237375787, + -0.35226222727992795, + -0.39598244357893553, + -0.42399466300627076, + -0.43442757176285574, + -0.42622489689420734, + -0.39921534828629784, + -0.3541384336243295, + -0.2926242127644853, + -0.21712746254366178, + -0.13081912452072303, + -0.03744017720227128, + 0.05887491198907235, + 0.1537963512162099, + 0.24300880867803662, + 0.32242214992953067, + 0.38837235101706136, + 0.43780226922078175, + 0.4684129583840573, + 0.47877771528316515, + 0.4684129583840573, + 0.43780226922078175, + 0.38837235101706136, + 0.32242214992953067, + 0.24300880867803662, + 0.1537963512162099, + 0.05887491198907235, + -0.03744017720227128, + -0.13081912452072303, + -0.21712746254366178, + -0.2926242127644853, + -0.3541384336243295, + -0.39921534828629784, + -0.42622489689420734, + -0.43442757176285574, + -0.42399466300627076, + -0.39598244357893553, + -0.35226222727992795, + -0.29541051237375787, + -0.22856545626592412, + -0.15525760655490364, + -0.0792240541655952, + -0.004215913110515241, + 0.0661907655654817, + 0.12877087581897034, + 0.18080401871815463, + 0.22019854657881394, + 0.2455799958764798, + 0.2563400102730029, + 0.25264402764959015, + 0.23539823538075702, + 0.2061784643801796, + 0.16712567793535366, + 0.12081441070397907, + 0.07010183827093616, + 0.017966041941118966, + -0.032657564269347995, + -0.07903277128303789, + -0.11876378051842666 + ], + [ + -0.15646143337355978, + -0.12803192632998142, + -0.0907256642328181, + -0.046310064114579955, + 0.0029779491154211806, + 0.054541276561040686, + 0.10555493165712146, + 0.15311446345017118, + 0.1943926655354523, + 0.22679610352037188, + 0.24811283911536614, + 0.2566430509401283, + 0.25130504004127213, + 0.2317103248693539, + 0.1982031145119569, + 0.15186131748507978, + 0.09445829662141196, + 0.02838670735216783, + -0.043452159632214875, + -0.1177881852505473, + -0.19114437378651342, + -0.26001264723920775, + -0.3210343185560354, + -0.37117570680030565, + -0.407889497747319, + -0.42925310491460716, + -0.434076417833265, + -0.42197287899622543, + -0.39338972722403176, + -0.3495953826561967, + -0.2926242127644853, + -0.22518118755916025, + -0.15051108239111077, + -0.0722388011028484, + 0.005811034304373925, + 0.07980593576993696, + 0.14609889758077332, + 0.20141317105264114, + 0.24300880867803662, + 0.2688222513075441, + 0.277571630583514, + 0.2688222513075441, + 0.24300880867803662, + 0.20141317105264114, + 0.14609889758077332, + 0.07980593576993696, + 0.005811034304373925, + -0.0722388011028484, + -0.15051108239111077, + -0.22518118755916025, + -0.2926242127644853, + -0.3495953826561967, + -0.39338972722403176, + -0.42197287899622543, + -0.434076417833265, + -0.42925310491460716, + -0.407889497747319, + -0.37117570680030565, + -0.3210343185560354, + -0.26001264723920775, + -0.19114437378651342, + -0.1177881852505473, + -0.043452159632214875, + 0.02838670735216783, + 0.09445829662141196, + 0.15186131748507978, + 0.1982031145119569, + 0.2317103248693539, + 0.25130504004127213, + 0.2566430509401283, + 0.24811283911536614, + 0.22679610352037188, + 0.1943926655354523, + 0.15311446345017118, + 0.10555493165712146, + 0.054541276561040686, + 0.0029779491154211806, + -0.046310064114579955, + -0.0907256642328181, + -0.12803192632998142 + ], + [ + -0.16278435980926842, + -0.13736985507049018, + -0.10281030706494565, + -0.060690608986011814, + -0.013073952151520388, + 0.03759772656874239, + 0.08862652853638416, + 0.13719827990417027, + 0.18053174205108255, + 0.21602931256266372, + 0.24142096714711753, + 0.254893432701845, + 0.25519727019112654, + 0.24172565029557566, + 0.21456006847846779, + 0.17447999195279823, + 0.12293536517635703, + 0.06198291759831892, + -0.005810793613848673, + -0.07749482277960204, + -0.14988136590815446, + -0.21970771693043264, + -0.2838041182964338, + -0.3392585664190622, + -0.3835697098652554, + -0.4147795406040892, + -0.43157859884674826, + -0.4333778373354074, + -0.4203430458705095, + -0.39338972722403176, + -0.3541384336243295, + -0.30483270332925, + -0.24822376277499153, + -0.187427969950852, + -0.1257644689695074, + -0.06658162124929747, + -0.0130814139378774, + 0.03184881503912622, + 0.0657883626364726, + 0.08691073780520595, + 0.0940800053732448, + 0.08691073780520595, + 0.0657883626364726, + 0.03184881503912622, + -0.0130814139378774, + -0.06658162124929747, + -0.1257644689695074, + -0.187427969950852, + -0.24822376277499153, + -0.30483270332925, + -0.3541384336243295, + -0.39338972722403176, + -0.4203430458705095, + -0.4333778373354074, + -0.43157859884674826, + -0.4147795406040892, + -0.3835697098652554, + -0.3392585664190622, + -0.2838041182964338, + -0.21970771693043264, + -0.14988136590815446, + -0.07749482277960204, + -0.005810793613848673, + 0.06198291759831892, + 0.12293536517635703, + 0.17447999195279823, + 0.21456006847846779, + 0.24172565029557566, + 0.25519727019112654, + 0.254893432701845, + 0.24142096714711753, + 0.21602931256266372, + 0.18053174205108255, + 0.13719827990417027, + 0.08862652853638416, + 0.03759772656874239, + -0.013073952151520388, + -0.060690608986011814, + -0.10281030706494565, + -0.13736985507049018 + ], + [ + -0.16865061331126227, + -0.14653700801271363, + -0.11505016730310495, + -0.07558080422426758, + -0.030004497243790427, + 0.019407660252202565, + 0.07010183827093616, + 0.11937185506223688, + 0.16450028494360933, + 0.20290271423033404, + 0.23226729318028777, + 0.2506818889186662, + 0.2567417315441088, + 0.24963143467045815, + 0.22917661128094333, + 0.19586192453391038, + 0.15081422331281308, + 0.0957513146109, + 0.032898814044057145, + -0.03512071345143313, + -0.10542055787501849, + -0.17499760171649797, + -0.24088710992360066, + -0.3003162506586467, + -0.35084804028714445, + -0.3905078789395116, + -0.417885750201407, + -0.43220845214435083, + -0.4333778373354074, + -0.42197287899622543, + -0.39921534828629784, + -0.36690087535799776, + -0.32729906443176787, + -0.28302803533990717, + -0.23691017597600564, + -0.19181693290541052, + -0.15051108239111077, + -0.11549507625799743, + -0.08887373699192957, + -0.0722388011028484, + -0.06658162124929747, + -0.0722388011028484, + -0.08887373699192957, + -0.11549507625799743, + -0.15051108239111077, + -0.19181693290541052, + -0.23691017597600564, + -0.28302803533990717, + -0.32729906443176787, + -0.36690087535799776, + -0.39921534828629784, + -0.42197287899622543, + -0.4333778373354074, + -0.43220845214435083, + -0.417885750201407, + -0.3905078789395116, + -0.35084804028714445, + -0.3003162506586467, + -0.24088710992360066, + -0.17499760171649797, + -0.10542055787501849, + -0.03512071345143313, + 0.032898814044057145, + 0.0957513146109, + 0.15081422331281308, + 0.19586192453391038, + 0.22917661128094333, + 0.24963143467045815, + 0.2567417315441088, + 0.2506818889186662, + 0.23226729318028777, + 0.20290271423033404, + 0.16450028494360933, + 0.11937185506223688, + 0.07010183827093616, + 0.019407660252202565, + -0.030004497243790427, + -0.07558080422426758, + -0.11505016730310495, + -0.14653700801271363 + ], + [ + -0.1738139924448547, + -0.15527119023634722, + -0.1271795169340972, + -0.0907256642328181, + -0.04758506314163741, + 0.0001569493213448689, + 0.05010748884225075, + 0.09968670899986165, + 0.14626024334832619, + 0.18727640924644018, + 0.22040074178662336, + 0.24364050109720906, + 0.2554522819126627, + 0.2548267267047997, + 0.2413455569066888, + 0.2152076253393881, + 0.17722237538812438, + 0.12877087581897034, + 0.07173638515428266, + 0.00840808631479302, + -0.05863687417657578, + -0.12666669235949252, + -0.1929363397545002, + -0.254829433326894, + -0.309992807249447, + -0.3564564355250057, + -0.39273214882544505, + -0.417885750201407, + -0.43157859884674826, + -0.434076417833265, + -0.42622489689420734, + -0.4093935036702951, + -0.3853906832849483, + -0.35635521764627226, + -0.324629843053556, + -0.2926242127644853, + -0.2626748843273063, + -0.23691017597600564, + -0.21712746254366178, + -0.20468978410715197, + -0.20044755867978276, + -0.20468978410715197, + -0.21712746254366178, + -0.23691017597600564, + -0.2626748843273063, + -0.2926242127644853, + -0.324629843053556, + -0.35635521764627226, + -0.3853906832849483, + -0.4093935036702951, + -0.42622489689420734, + -0.434076417833265, + -0.43157859884674826, + -0.417885750201407, + -0.39273214882544505, + -0.3564564355250057, + -0.309992807249447, + -0.254829433326894, + -0.1929363397545002, + -0.12666669235949252, + -0.05863687417657578, + 0.00840808631479302, + 0.07173638515428266, + 0.12877087581897034, + 0.17722237538812438, + 0.2152076253393881, + 0.2413455569066888, + 0.2548267267047997, + 0.2554522819126627, + 0.24364050109720906, + 0.22040074178662336, + 0.18727640924644018, + 0.14626024334832619, + 0.09968670899986165, + 0.05010748884225075, + 0.0001569493213448689, + -0.04758506314163741, + -0.0907256642328181, + -0.1271795169340972, + -0.15527119023634722 + ], + [ + -0.17801860199902664, + -0.16329221750830802, + -0.13890582780165694, + -0.10583439818051152, + -0.06554239869174844, + -0.019915691575644292, + 0.02883009042098063, + 0.07825990831739421, + 0.1258425822940911, + 0.16908036038891633, + 0.20563779959612533, + 0.23346296309158113, + 0.2508943222213973, + 0.25674750760048576, + 0.25037713957121355, + 0.2317103248693539, + 0.20124995852555586, + 0.16004763127913005, + 0.1096476200446325, + 0.05200503792795912, + -0.010617349295218181, + -0.0757679524450742, + -0.1409342819269669, + -0.2036729142303004, + -0.2617343483375656, + -0.31317589634427284, + -0.3564564355250057, + -0.3905078789395116, + -0.4147795406040892, + -0.42925310491460716, + -0.43442757176285574, + -0.4312752446188071, + -0.421171462695804, + -0.40580225753498556, + -0.38705535500366767, + -0.36690087535799776, + -0.3472686537517362, + -0.32992927901128904, + -0.3163857196862348, + -0.3077817863653888, + -0.30483270332925, + -0.3077817863653888, + -0.3163857196862348, + -0.32992927901128904, + -0.3472686537517362, + -0.36690087535799776, + -0.38705535500366767, + -0.40580225753498556, + -0.421171462695804, + -0.4312752446188071, + -0.43442757176285574, + -0.42925310491460716, + -0.4147795406040892, + -0.3905078789395116, + -0.3564564355250057, + -0.31317589634427284, + -0.2617343483375656, + -0.2036729142303004, + -0.1409342819269669, + -0.0757679524450742, + -0.010617349295218181, + 0.05200503792795912, + 0.1096476200446325, + 0.16004763127913005, + 0.20124995852555586, + 0.2317103248693539, + 0.25037713957121355, + 0.25674750760048576, + 0.2508943222213973, + 0.23346296309158113, + 0.20563779959612533, + 0.16908036038891633, + 0.1258425822940911, + 0.07825990831739421, + 0.02883009042098063, + -0.019915691575644292, + -0.06554239869174844, + -0.10583439818051152, + -0.13890582780165694, + -0.16329221750830802 + ], + [ + -0.18100457917857166, + -0.17030698199702413, + -0.1499137997580331, + -0.12058300781296416, + -0.08355939645450051, + -0.040517266401149735, + 0.0065202421682302655, + 0.05528095770522729, + 0.10335731863015635, + 0.14832776112580212, + 0.18787932061729182, + 0.21992483146863692, + 0.242708395806646, + 0.254893432701845, + 0.25562857790064414, + 0.24458792842044305, + 0.22198354690007724, + 0.18854967763954522, + 0.14549969299473817, + 0.09445829662141196, + 0.037372873633869375, + -0.02359098016854476, + -0.08616386191642225, + -0.14809048863531396, + -0.20724458052139974, + -0.2617343483375656, + -0.309992807249447, + -0.35084804028714445, + -0.3835697098652554, + -0.407889497747319, + -0.42399466300627076, + -0.43249545715781157, + -0.43436863670247905, + -0.4308806796227811, + -0.42349546556438716, + -0.4137720534188708, + -0.40325873487122593, + -0.39338972722403176, + -0.3853906832849483, + -0.3801986514917913, + -0.3784012476539641, + -0.3801986514917913, + -0.3853906832849483, + -0.39338972722403176, + -0.40325873487122593, + -0.4137720534188708, + -0.42349546556438716, + -0.4308806796227811, + -0.43436863670247905, + -0.43249545715781157, + -0.42399466300627076, + -0.407889497747319, + -0.3835697098652554, + -0.35084804028714445, + -0.309992807249447, + -0.2617343483375656, + -0.20724458052139974, + -0.14809048863531396, + -0.08616386191642225, + -0.02359098016854476, + 0.037372873633869375, + 0.09445829662141196, + 0.14549969299473817, + 0.18854967763954522, + 0.22198354690007724, + 0.24458792842044305, + 0.25562857790064414, + 0.254893432701845, + 0.242708395806646, + 0.21992483146863692, + 0.18787932061729182, + 0.14832776112580212, + 0.10335731863015635, + 0.05528095770522729, + 0.0065202421682302655, + -0.040517266401149735, + -0.08355939645450051, + -0.12058300781296416, + -0.1499137997580331, + -0.17030698199702413 + ], + [ + -0.18251498442862385, + -0.1760159755489718, + -0.15987112992755653, + -0.13461888616197776, + -0.10127808535368477, + -0.061301442485772274, + -0.016505930263581485, + 0.031016232090896562, + 0.07900122348247962, + 0.12512633286074154, + 0.16712567793535366, + 0.20290271423033404, + 0.23063350923189954, + 0.24885528388828942, + 0.25653555744366946, + 0.25311832399967577, + 0.23854497801642713, + 0.21324911772700825, + 0.17812580971586786, + 0.134477311926808, + 0.08393854575868848, + 0.02838670735216783, + -0.030159748399708135, + -0.08964697741323371, + -0.14809048863531396, + -0.2036729142303004, + -0.254829433326894, + -0.3003162506586467, + -0.3392585664190622, + -0.37117570680030565, + -0.39598244357893553, + -0.41396693622794944, + -0.42574709936268906, + -0.43220845214435083, + -0.43442757176285574, + -0.4335860886421158, + -0.4308806796227811, + -0.4274347075936389, + -0.42421701152445723, + -0.42197287899622543, + -0.421171462695804, + -0.42197287899622543, + -0.42421701152445723, + -0.4274347075936389, + -0.4308806796227811, + -0.4335860886421158, + -0.43442757176285574, + -0.43220845214435083, + -0.42574709936268906, + -0.41396693622794944, + -0.39598244357893553, + -0.37117570680030565, + -0.3392585664190622, + -0.3003162506586467, + -0.254829433326894, + -0.2036729142303004, + -0.14809048863531396, + -0.08964697741323371, + -0.030159748399708135, + 0.02838670735216783, + 0.08393854575868848, + 0.134477311926808, + 0.17812580971586786, + 0.21324911772700825, + 0.23854497801642713, + 0.25311832399967577, + 0.25653555744366946, + 0.24885528388828942, + 0.23063350923189954, + 0.20290271423033404, + 0.16712567793535366, + 0.12512633286074154, + 0.07900122348247962, + 0.031016232090896562, + -0.016505930263581485, + -0.061301442485772274, + -0.10127808535368477, + -0.13461888616197776, + -0.15987112992755653, + -0.1760159755489718 + ], + [ + -0.18230376872794093, + -0.18012123502583363, + -0.16843605361995675, + -0.14756752732225356, + -0.11830504740258321, + -0.08187218787401292, + -0.039868134180728126, + 0.0058103924762656495, + 0.05306249567952219, + 0.09968670899986165, + 0.14348926836260514, + 0.18239124981424537, + 0.2145288714461612, + 0.2383416766936446, + 0.25264402764959015, + 0.2566762997375786, + 0.25013332713993036, + 0.23316893482082693, + 0.2063767337439853, + 0.17074867404778504, + 0.12761407121954643, + 0.07856287339249271, + 0.02535776443828009, + -0.030159748399708135, + -0.08616386191642225, + -0.1409342819269669, + -0.1929363397545002, + -0.24088710992360066, + -0.2838041182964338, + -0.3210343185560354, + -0.35226222727992795, + -0.37749737145928347, + -0.3970424421347404, + -0.41144469052055266, + -0.42143408131469146, + -0.42785247459104203, + -0.43157859884674826, + -0.4334537754581445, + -0.434213248547002, + -0.43442757176285574, + -0.43445783007337646, + -0.43442757176285574, + -0.434213248547002, + -0.4334537754581445, + -0.43157859884674826, + -0.42785247459104203, + -0.42143408131469146, + -0.41144469052055266, + -0.3970424421347404, + -0.37749737145928347, + -0.35226222727992795, + -0.3210343185560354, + -0.2838041182964338, + -0.24088710992360066, + -0.1929363397545002, + -0.1409342819269669, + -0.08616386191642225, + -0.030159748399708135, + 0.02535776443828009, + 0.07856287339249271, + 0.12761407121954643, + 0.17074867404778504, + 0.2063767337439853, + 0.23316893482082693, + 0.25013332713993036, + 0.2566762997375786, + 0.25264402764959015, + 0.2383416766936446, + 0.2145288714461612, + 0.18239124981424537, + 0.14348926836260514, + 0.09968670899986165, + 0.05306249567952219, + 0.0058103924762656495, + -0.039868134180728126, + -0.08187218787401292, + -0.11830504740258321, + -0.14756752732225356, + -0.16843605361995675, + -0.18012123502583363 + ], + [ + -0.1801446545297837, + -0.18233559039097344, + -0.1752665961050691, + -0.15904136091487175, + -0.13421936300715656, + -0.10179031338845618, + -0.0631265026963309, + -0.019915691575644292, + 0.025921773001301992, + 0.07232710218505171, + 0.11720338291232232, + 0.15851669454452746, + 0.1943926655354523, + 0.2232034254780841, + 0.24364050109720906, + 0.25477004091850136, + 0.2560677827399544, + 0.24743234013685533, + 0.22917661128094333, + 0.20199833430642128, + 0.16693195814109418, + 0.12528500092613942, + 0.07856287339249271, + 0.02838670735216783, + -0.02359098016854476, + -0.0757679524450742, + -0.12666669235949252, + -0.17499760171649797, + -0.21970771693043264, + -0.26001264723920775, + -0.29541051237375787, + -0.32567778292945404, + -0.35084804028714445, + -0.37117570680030565, + -0.38708768931988075, + -0.3991265770886398, + -0.407889497747319, + -0.41396693622794944, + -0.417885750201407, + -0.4200602785751461, + -0.4207548585159486, + -0.4200602785751461, + -0.417885750201407, + -0.41396693622794944, + -0.407889497747319, + -0.3991265770886398, + -0.38708768931988075, + -0.37117570680030565, + -0.35084804028714445, + -0.32567778292945404, + -0.29541051237375787, + -0.26001264723920775, + -0.21970771693043264, + -0.17499760171649797, + -0.12666669235949252, + -0.0757679524450742, + -0.02359098016854476, + 0.02838670735216783, + 0.07856287339249271, + 0.12528500092613942, + 0.16693195814109418, + 0.20199833430642128, + 0.22917661128094333, + 0.24743234013685533, + 0.2560677827399544, + 0.25477004091850136, + 0.24364050109720906, + 0.2232034254780841, + 0.1943926655354523, + 0.15851669454452746, + 0.11720338291232232, + 0.07232710218505171, + 0.025921773001301992, + -0.019915691575644292, + -0.0631265026963309, + -0.10179031338845618, + -0.13421936300715656, + -0.15904136091487175, + -0.1752665961050691, + -0.18233559039097344 + ], + [ + -0.17584069010379264, + -0.18239300622958532, + -0.1800313728705813, + -0.16865061331126227, + -0.14858307017251748, + -0.12058300781296416, + -0.0857896329957062, + -0.045670869380806056, + -0.001951040868825416, + 0.043473546354522816, + 0.08862652853638416, + 0.13154597877649798, + 0.17037647050011584, + 0.20345392533496165, + 0.22937894091767205, + 0.24707500803079696, + 0.25582893038458626, + 0.2553118000893658, + 0.2455799958764798, + 0.2270567942100705, + 0.20049625055173417, + 0.16693195814109418, + 0.12761407121954643, + 0.08393854575868848, + 0.037372873633869375, + -0.010617349295218181, + -0.05863687417657578, + -0.10542055787501849, + -0.14988136590815446, + -0.19114437378651342, + -0.22856545626592412, + -0.2617343483375656, + -0.29046275344788247, + -0.31475910259630246, + -0.33479237619194996, + -0.35084804028714445, + -0.3632795822101567, + -0.37245933283868765, + -0.3787322233669178, + -0.382375848005458, + -0.3835697098652554, + -0.382375848005458, + -0.3787322233669178, + -0.37245933283868765, + -0.3632795822101567, + -0.35084804028714445, + -0.33479237619194996, + -0.31475910259630246, + -0.29046275344788247, + -0.2617343483375656, + -0.22856545626592412, + -0.19114437378651342, + -0.14988136590815446, + -0.10542055787501849, + -0.05863687417657578, + -0.010617349295218181, + 0.037372873633869375, + 0.08393854575868848, + 0.12761407121954643, + 0.16693195814109418, + 0.20049625055173417, + 0.2270567942100705, + 0.2455799958764798, + 0.2553118000893658, + 0.25582893038458626, + 0.24707500803079696, + 0.22937894091767205, + 0.20345392533496165, + 0.17037647050011584, + 0.13154597877649798, + 0.08862652853638416, + 0.043473546354522816, + -0.001951040868825416, + -0.045670869380806056, + -0.0857896329957062, + -0.12058300781296416, + -0.14858307017251748, + -0.16865061331126227, + -0.1800313728705813, + -0.18239300622958532 + ], + [ + -0.16923416092386775, + -0.1800597155006458, + -0.18242166855756492, + -0.1760159755489718, + -0.1609539875623888, + -0.1377563081818195, + -0.10732612754693129, + -0.07090368426500879, + -0.030004497243790427, + 0.013655158230898757, + 0.058241427706856384, + 0.1018902143955224, + 0.14279404657238684, + 0.1792839709402817, + 0.20990234059772522, + 0.23346296309158113, + 0.24909585663212155, + 0.2562747828163765, + 0.2548267267047997, + 0.24492352037505036, + 0.2270567942100705, + 0.20199833430642128, + 0.17074867404778504, + 0.134477311926808, + 0.09445829662141196, + 0.05200503792795912, + 0.00840808631479302, + -0.03512071345143313, + -0.07749482277960204, + -0.1177881852505473, + -0.15525760655490364, + -0.18935183535374994, + -0.21970771693043264, + -0.24613461781837798, + -0.268589046149572, + -0.28714197491104243, + -0.30194177876754097, + -0.31317589634427284, + -0.3210343185560354, + -0.32567778292945404, + -0.32721314035298743, + -0.32567778292945404, + -0.3210343185560354, + -0.31317589634427284, + -0.30194177876754097, + -0.28714197491104243, + -0.268589046149572, + -0.24613461781837798, + -0.21970771693043264, + -0.18935183535374994, + -0.15525760655490364, + -0.1177881852505473, + -0.07749482277960204, + -0.03512071345143313, + 0.00840808631479302, + 0.05200503792795912, + 0.09445829662141196, + 0.134477311926808, + 0.17074867404778504, + 0.20199833430642128, + 0.2270567942100705, + 0.24492352037505036, + 0.2548267267047997, + 0.2562747828163765, + 0.24909585663212155, + 0.23346296309158113, + 0.20990234059772522, + 0.1792839709402817, + 0.14279404657238684, + 0.1018902143955224, + 0.058241427706856384, + 0.013655158230898757, + -0.030004497243790427, + -0.07090368426500879, + -0.10732612754693129, + -0.1377563081818195, + -0.1609539875623888, + -0.1760159755489718, + -0.18242166855756492, + -0.1800597155006458 + ], + [ + -0.16021647158282734, + -0.1751457556394694, + -0.1821644169794075, + -0.18078273088932142, + -0.17090060569317098, + -0.1528102839666787, + -0.1271795169340972, + -0.0950164022704569, + -0.05761803324395176, + -0.016505930263581485, + 0.026648129724923395, + 0.07010183827093616, + 0.11212338767979044, + 0.15106960365711752, + 0.18545724476618586, + 0.21402402107025095, + 0.23577655069724138, + 0.25002327766855664, + 0.25639126767027576, + 0.2548267267047997, + 0.2455799958764798, + 0.22917661128094333, + 0.2063767337439853, + 0.17812580971586786, + 0.14549969299473817, + 0.1096476200446325, + 0.07173638515428266, + 0.032898814044057145, + -0.005810793613848673, + -0.043452159632214875, + -0.0792240541655952, + -0.11247819731414006, + -0.1427221428215067, + -0.1696119802323752, + -0.1929363397545002, + -0.2125937105436689, + -0.22856545626592412, + -0.24088710992360066, + -0.24962054293732017, + -0.254829433326894, + -0.2565601183892334, + -0.254829433326894, + -0.24962054293732017, + -0.24088710992360066, + -0.22856545626592412, + -0.2125937105436689, + -0.1929363397545002, + -0.1696119802323752, + -0.1427221428215067, + -0.11247819731414006, + -0.0792240541655952, + -0.043452159632214875, + -0.005810793613848673, + 0.032898814044057145, + 0.07173638515428266, + 0.1096476200446325, + 0.14549969299473817, + 0.17812580971586786, + 0.2063767337439853, + 0.22917661128094333, + 0.2455799958764798, + 0.2548267267047997, + 0.25639126767027576, + 0.25002327766855664, + 0.23577655069724138, + 0.21402402107025095, + 0.18545724476618586, + 0.15106960365711752, + 0.11212338767979044, + 0.07010183827093616, + 0.026648129724923395, + -0.016505930263581485, + -0.05761803324395176, + -0.0950164022704569, + -0.1271795169340972, + -0.1528102839666787, + -0.17090060569317098, + -0.18078273088932142, + -0.1821644169794075, + -0.1751457556394694 + ], + [ + -0.1487375524385824, + -0.16751643729146143, + -0.17903560277058095, + -0.1826358700412797, + -0.17801860199902664, + -0.16525654180237792, + -0.14478624788034108, + -0.11738288358628372, + -0.08411903827788304, + -0.046310064114579955, + -0.005449066140771361, + 0.03686485131708162, + 0.07900122348247962, + 0.11937185506223688, + 0.15649972810645998, + 0.1890798565922851, + 0.21602931256266372, + 0.2365243422174828, + 0.25002327766855664, + 0.2562747828163765, + 0.2553118000893658, + 0.24743234013685533, + 0.23316893482082693, + 0.21324911772700825, + 0.18854967763954522, + 0.16004763127913005, + 0.12877087581897034, + 0.0957513146109, + 0.06198291759831892, + 0.02838670735216783, + -0.004215913110515241, + -0.03512071345143313, + -0.06374895250625122, + -0.08964697741323371, + -0.11247819731414006, + -0.132008995765264, + -0.14809048863531396, + -0.16063822727306362, + -0.1696119802323752, + -0.17499760171649797, + -0.17679272260843765, + -0.17499760171649797, + -0.1696119802323752, + -0.16063822727306362, + -0.14809048863531396, + -0.132008995765264, + -0.11247819731414006, + -0.08964697741323371, + -0.06374895250625122, + -0.03512071345143313, + -0.004215913110515241, + 0.02838670735216783, + 0.06198291759831892, + 0.0957513146109, + 0.12877087581897034, + 0.16004763127913005, + 0.18854967763954522, + 0.21324911772700825, + 0.23316893482082693, + 0.24743234013685533, + 0.2553118000893658, + 0.2562747828163765, + 0.25002327766855664, + 0.2365243422174828, + 0.21602931256266372, + 0.1890798565922851, + 0.15649972810645998, + 0.11937185506223688, + 0.07900122348247962, + 0.03686485131708162, + -0.005449066140771361, + -0.046310064114579955, + -0.08411903827788304, + -0.11738288358628372, + -0.14478624788034108, + -0.16525654180237792, + -0.17801860199902664, + -0.1826358700412797, + -0.17903560277058095, + -0.16751643729146143 + ], + [ + -0.13481430178982187, + -0.15710321083861073, + -0.17287351607260817, + -0.18131560690315682, + -0.18194839266053625, + -0.17463748569481502, + -0.15959621882048483, + -0.13736985507049018, + -0.10880422217787396, + -0.0750007897964791, + -0.03726086233570953, + 0.0029779491154211806, + 0.044209509361482956, + 0.08492762656935865, + 0.12369173187889267, + 0.15918658398472915, + 0.1902732638436695, + 0.21602931256266372, + 0.23577655069724138, + 0.24909585663212155, + 0.25582893038458626, + 0.2560677827399544, + 0.25013332713993036, + 0.23854497801642713, + 0.22198354690007724, + 0.20124995852555586, + 0.17722237538812438, + 0.15081422331281308, + 0.12293536517635703, + 0.09445829662141196, + 0.0661907655654817, + 0.03885568116655977, + 0.013078615468659323, + -0.010617349295218181, + -0.03181017613329085, + -0.050171999808914604, + -0.06545830501430487, + -0.07749482277960204, + -0.08616386191642225, + -0.09139170665445415, + -0.09313849939964196, + -0.09139170665445415, + -0.08616386191642225, + -0.07749482277960204, + -0.06545830501430487, + -0.050171999808914604, + -0.03181017613329085, + -0.010617349295218181, + 0.013078615468659323, + 0.03885568116655977, + 0.0661907655654817, + 0.09445829662141196, + 0.12293536517635703, + 0.15081422331281308, + 0.17722237538812438, + 0.20124995852555586, + 0.22198354690007724, + 0.23854497801642713, + 0.25013332713993036, + 0.2560677827399544, + 0.25582893038458626, + 0.24909585663212155, + 0.23577655069724138, + 0.21602931256266372, + 0.1902732638436695, + 0.15918658398472915, + 0.12369173187889267, + 0.08492762656935865, + 0.044209509361482956, + 0.0029779491154211806, + -0.03726086233570953, + -0.0750007897964791, + -0.10880422217787396, + -0.13736985507049018, + -0.15959621882048483, + -0.17463748569481502, + -0.18194839266053625, + -0.18131560690315682, + -0.17287351607260817, + -0.15710321083861073 + ], + [ + -0.11853755153953284, + -0.14391335124448024, + -0.163591222139663, + -0.17663261032673944, + -0.18239300622958532, + -0.18054660691367944, + -0.17109514979541934, + -0.1543609103022869, + -0.13096468174943518, + -0.10179031338845618, + -0.06793803188546253, + -0.03066927919323432, + 0.008653858363151095, + 0.04863139306208121, + 0.0878871354792479, + 0.12512633286074154, + 0.15918658398472915, + 0.1890798565922851, + 0.21402402107025095, + 0.23346296309158113, + 0.24707500803079696, + 0.25477004091850136, + 0.2566762997375786, + 0.25311832399967577, + 0.24458792842044305, + 0.2317103248693539, + 0.2152076253393881, + 0.19586192453391038, + 0.17447999195279823, + 0.15186131748507978, + 0.12877087581897034, + 0.10591753298818528, + 0.08393854575868848, + 0.06339013493636744, + 0.044743679368913644, + 0.02838670735216783, + 0.014627580006334946, + 0.0037025838949493145, + -0.004215913110515241, + -0.009011537058698997, + -0.010617349295218181, + -0.009011537058698997, + -0.004215913110515241, + 0.0037025838949493145, + 0.014627580006334946, + 0.02838670735216783, + 0.044743679368913644, + 0.06339013493636744, + 0.08393854575868848, + 0.10591753298818528, + 0.12877087581897034, + 0.15186131748507978, + 0.17447999195279823, + 0.19586192453391038, + 0.2152076253393881, + 0.2317103248693539, + 0.24458792842044305, + 0.25311832399967577, + 0.2566762997375786, + 0.25477004091850136, + 0.24707500803079696, + 0.23346296309158113, + 0.21402402107025095, + 0.1890798565922851, + 0.15918658398472915, + 0.12512633286074154, + 0.0878871354792479, + 0.04863139306208121, + 0.008653858363151095, + -0.03066927919323432, + -0.06793803188546253, + -0.10179031338845618, + -0.13096468174943518, + -0.1543609103022869, + -0.17109514979541934, + -0.18054660691367944, + -0.18239300622958532, + -0.17663261032673944, + -0.163591222139663, + -0.14391335124448024 + ], + [ + -0.10007704610444179, + -0.12803786284735597, + -0.1511875643863488, + -0.16848219583369567, + -0.17913546063850083, + -0.18264893898060253, + -0.1788278960809016, + -0.16778234479339135, + -0.1499137997580331, + -0.1258888846262905, + -0.09660159075517502, + -0.0631265026963309, + -0.026665677985416577, + 0.011507919583092052, + 0.05010748884225075, + 0.0878871354792479, + 0.12369173187889267, + 0.15649972810645998, + 0.18545724476618586, + 0.20990234059772522, + 0.22937894091767205, + 0.24364050109720906, + 0.25264402764959015, + 0.25653555744366946, + 0.25562857790064414, + 0.25037713957121355, + 0.2413455569066888, + 0.22917661128094333, + 0.21456006847846779, + 0.1982031145119569, + 0.18080401871815463, + 0.1630299764243758, + 0.14549969299473817, + 0.12877087581897034, + 0.11333242903336226, + 0.09960082298540655, + 0.08791985781076668, + 0.07856287339249271, + 0.07173638515428266, + 0.06758414818694233, + 0.0661907655654817, + 0.06758414818694233, + 0.07173638515428266, + 0.07856287339249271, + 0.08791985781076668, + 0.09960082298540655, + 0.11333242903336226, + 0.12877087581897034, + 0.14549969299473817, + 0.1630299764243758, + 0.18080401871815463, + 0.1982031145119569, + 0.21456006847846779, + 0.22917661128094333, + 0.2413455569066888, + 0.25037713957121355, + 0.25562857790064414, + 0.25653555744366946, + 0.25264402764959015, + 0.24364050109720906, + 0.22937894091767205, + 0.20990234059772522, + 0.18545724476618586, + 0.15649972810645998, + 0.12369173187889267, + 0.0878871354792479, + 0.05010748884225075, + 0.011507919583092052, + -0.026665677985416577, + -0.0631265026963309, + -0.09660159075517502, + -0.1258888846262905, + -0.1499137997580331, + -0.16778234479339135, + -0.1788278960809016, + -0.18264893898060253, + -0.17913546063850083, + -0.16848219583369567, + -0.1511875643863488, + -0.12803786284735597 + ], + [ + -0.07968395387291566, + -0.10965701691843574, + -0.13575600794040762, + -0.15685668268767797, + -0.17205475511311313, + -0.1807007071005138, + -0.18242166855756492, + -0.17712974307464055, + -0.16501687105976595, + -0.14653700801271363, + -0.12237701362727325, + -0.09341816596346665, + -0.060690608986011814, + -0.02532329427921568, + 0.011507919583092052, + 0.04863139306208121, + 0.08492762656935865, + 0.11937185506223688, + 0.15106960365711752, + 0.1792839709402817, + 0.20345392533496165, + 0.2232034254780841, + 0.2383416766936446, + 0.24885528388828942, + 0.254893432701845, + 0.25674750760048576, + 0.2548267267047997, + 0.24963143467045815, + 0.24172565029557566, + 0.2317103248693539, + 0.22019854657881394, + 0.20779364608280457, + 0.19507084218595108, + 0.18256273925541686, + 0.17074867404778504, + 0.16004763127913005, + 0.15081422331281308, + 0.1433370736825879, + 0.13783886506830845, + 0.134477311926808, + 0.1333463922312941, + 0.134477311926808, + 0.13783886506830845, + 0.1433370736825879, + 0.15081422331281308, + 0.16004763127913005, + 0.17074867404778504, + 0.18256273925541686, + 0.19507084218595108, + 0.20779364608280457, + 0.22019854657881394, + 0.2317103248693539, + 0.24172565029557566, + 0.24963143467045815, + 0.2548267267047997, + 0.25674750760048576, + 0.254893432701845, + 0.24885528388828942, + 0.2383416766936446, + 0.2232034254780841, + 0.20345392533496165, + 0.1792839709402817, + 0.15106960365711752, + 0.11937185506223688, + 0.08492762656935865, + 0.04863139306208121, + 0.011507919583092052, + -0.02532329427921568, + -0.060690608986011814, + -0.09341816596346665, + -0.12237701362727325, + -0.14653700801271363, + -0.16501687105976595, + -0.17712974307464055, + -0.18242166855756492, + -0.1807007071005138, + -0.17205475511311313, + -0.15685668268767797, + -0.13575600794040762, + -0.10965701691843574 + ], + [ + -0.05769048962428924, + -0.08904297911487404, + -0.11749065565570795, + -0.14185512230149663, + -0.16113955966514656, + -0.17456713788189782, + -0.18160802037610754, + -0.18199408570471504, + -0.17572115154133375, + -0.16303912773542587, + -0.14443111863131364, + -0.12058300781296416, + -0.09234546620178369, + -0.060690608986011814, + -0.026665677985416577, + 0.008653858363151095, + 0.044209509361482956, + 0.07900122348247962, + 0.11212338767979044, + 0.14279404657238684, + 0.17037647050011584, + 0.1943926655354523, + 0.2145288714461612, + 0.23063350923189954, + 0.242708395806646, + 0.2508943222213973, + 0.2554522819126627, + 0.2567417315441088, + 0.25519727019112654, + 0.25130504004127213, + 0.2455799958764798, + 0.23854497801642713, + 0.23071227369415245, + 0.2225680860000738, + 0.21456006847846779, + 0.2070878465419809, + 0.20049625055173417, + 0.19507084218595108, + 0.19103523332295086, + 0.18854967763954522, + 0.18771045677679687, + 0.18854967763954522, + 0.19103523332295086, + 0.19507084218595108, + 0.20049625055173417, + 0.2070878465419809, + 0.21456006847846779, + 0.2225680860000738, + 0.23071227369415245, + 0.23854497801642713, + 0.2455799958764798, + 0.25130504004127213, + 0.25519727019112654, + 0.2567417315441088, + 0.2554522819126627, + 0.2508943222213973, + 0.242708395806646, + 0.23063350923189954, + 0.2145288714461612, + 0.1943926655354523, + 0.17037647050011584, + 0.14279404657238684, + 0.11212338767979044, + 0.07900122348247962, + 0.044209509361482956, + 0.008653858363151095, + -0.026665677985416577, + -0.060690608986011814, + -0.09234546620178369, + -0.12058300781296416, + -0.14443111863131364, + -0.16303912773542587, + -0.17572115154133375, + -0.18199408570471504, + -0.18160802037610754, + -0.17456713788189782, + -0.16113955966514656, + -0.14185512230149663, + -0.11749065565570795, + -0.08904297911487404 + ], + [ + -0.0345063152690242, + -0.06655906279410359, + -0.09668883252747353, + -0.12368964794720452, + -0.1464987033293174, + -0.1642373823959323, + -0.17624240938958516, + -0.18208605074549258, + -0.18158488243001691, + -0.1747972342928682, + -0.16200998595397612, + -0.1437158894806465, + -0.12058300781296416, + -0.09341816596346665, + -0.0631265026963309, + -0.03066927919323432, + 0.0029779491154211806, + 0.03686485131708162, + 0.07010183827093616, + 0.1018902143955224, + 0.13154597877649798, + 0.15851669454452746, + 0.18239124981424537, + 0.20290271423033404, + 0.21992483146863692, + 0.23346296309158113, + 0.24364050109720906, + 0.2506818889186662, + 0.254893432701845, + 0.2566430509401283, + 0.2563400102730029, + 0.25441554164532254, + 0.25130504004127213, + 0.24743234013685533, + 0.2431963471432226, + 0.23896010343988033, + 0.23504220166614895, + 0.2317103248693539, + 0.22917661128094333, + 0.22759450814784551, + 0.2270567942100705, + 0.22759450814784551, + 0.22917661128094333, + 0.2317103248693539, + 0.23504220166614895, + 0.23896010343988033, + 0.2431963471432226, + 0.24743234013685533, + 0.25130504004127213, + 0.25441554164532254, + 0.2563400102730029, + 0.2566430509401283, + 0.254893432701845, + 0.2506818889186662, + 0.24364050109720906, + 0.23346296309158113, + 0.21992483146863692, + 0.20290271423033404, + 0.18239124981424537, + 0.15851669454452746, + 0.13154597877649798, + 0.1018902143955224, + 0.07010183827093616, + 0.03686485131708162, + 0.0029779491154211806, + -0.03066927919323432, + -0.0631265026963309, + -0.09341816596346665, + -0.12058300781296416, + -0.1437158894806465, + -0.16200998595397612, + -0.1747972342928682, + -0.18158488243001691, + -0.18208605074549258, + -0.17624240938958516, + -0.1642373823959323, + -0.1464987033293174, + -0.12368964794720452, + -0.09668883252747353, + -0.06655906279410359 + ], + [ + -0.01061150357619211, + -0.042655257000177006, + -0.07374973820785838, + -0.10268778525178764, + -0.1283676319466868, + -0.14983554931501694, + -0.16632015713858264, + -0.17725715646546372, + -0.18230376872794093, + -0.18134271385500067, + -0.17447608825271163, + -0.16200998595397612, + -0.14443111863131364, + -0.12237701362727325, + -0.09660159075517502, + -0.06793803188546253, + -0.03726086233570953, + -0.005449066140771361, + 0.026648129724923395, + 0.058241427706856384, + 0.08862652853638416, + 0.11720338291232232, + 0.14348926836260514, + 0.16712567793535366, + 0.18787932061729182, + 0.20563779959612533, + 0.22040074178662336, + 0.23226729318028777, + 0.24142096714711753, + 0.24811283911536614, + 0.25264402764959015, + 0.255348298963932, + 0.256575492104657, + 0.2566762997375786, + 0.2559887694405144, + 0.2548267267047997, + 0.25347017586536014, + 0.252157618714697, + 0.25108014921898075, + 0.25037713957121355, + 0.25013332713993036, + 0.25037713957121355, + 0.25108014921898075, + 0.252157618714697, + 0.25347017586536014, + 0.2548267267047997, + 0.2559887694405144, + 0.2566762997375786, + 0.256575492104657, + 0.255348298963932, + 0.25264402764959015, + 0.24811283911536614, + 0.24142096714711753, + 0.23226729318028777, + 0.22040074178662336, + 0.20563779959612533, + 0.18787932061729182, + 0.16712567793535366, + 0.14348926836260514, + 0.11720338291232232, + 0.08862652853638416, + 0.058241427706856384, + 0.026648129724923395, + -0.005449066140771361, + -0.03726086233570953, + -0.06793803188546253, + -0.09660159075517502, + -0.12237701362727325, + -0.14443111863131364, + -0.16200998595397612, + -0.17447608825271163, + -0.18134271385500067, + -0.18230376872794093, + -0.17725715646546372, + -0.16632015713858264, + -0.14983554931501694, + -0.1283676319466868, + -0.10268778525178764, + -0.07374973820785838, + -0.042655257000177006 + ], + [ + 0.013454008098850966, + -0.017859822184363938, + -0.04916880920228074, + -0.07929019757294747, + -0.10711012813756442, + -0.1316269478872783, + -0.15198770280837584, + -0.16751643729146143, + -0.17773339606034183, + -0.18236471957976835, + -0.18134271385500067, + -0.1747972342928682, + -0.16303912773542587, + -0.14653700801271363, + -0.1258888846262905, + -0.10179031338845618, + -0.0750007897964791, + -0.046310064114579955, + -0.016505930263581485, + 0.013655158230898757, + 0.043473546354522816, + 0.07232710218505171, + 0.09968670899986165, + 0.12512633286074154, + 0.14832776112580212, + 0.16908036038891633, + 0.18727640924644018, + 0.20290271423033404, + 0.21602931256266372, + 0.22679610352037188, + 0.23539823538075702, + 0.2420710146043941, + 0.24707500803079696, + 0.2506818889186662, + 0.2531614457800734, + 0.25477004091850136, + 0.2557406839380664, + 0.2562747828163765, + 0.25653555744366946, + 0.2566430509401283, + 0.2566706526738519, + 0.2566430509401283, + 0.25653555744366946, + 0.2562747828163765, + 0.2557406839380664, + 0.25477004091850136, + 0.2531614457800734, + 0.2506818889186662, + 0.24707500803079696, + 0.2420710146043941, + 0.23539823538075702, + 0.22679610352037188, + 0.21602931256266372, + 0.20290271423033404, + 0.18727640924644018, + 0.16908036038891633, + 0.14832776112580212, + 0.12512633286074154, + 0.09968670899986165, + 0.07232710218505171, + 0.043473546354522816, + 0.013655158230898757, + -0.016505930263581485, + -0.046310064114579955, + -0.0750007897964791, + -0.10179031338845618, + -0.1258888846262905, + -0.14653700801271363, + -0.16303912773542587, + -0.1747972342928682, + -0.18134271385500067, + -0.18236471957976835, + -0.17773339606034183, + -0.16751643729146143, + -0.15198770280837584, + -0.1316269478872783, + -0.10711012813756442, + -0.07929019757294747, + -0.04916880920228074, + -0.017859822184363938 + ], + [ + 0.037104384846577534, + 0.007233082355737275, + -0.023527608249201665, + -0.054043516875550875, + -0.08321475815193494, + -0.11001880232017779, + -0.13354819579908725, + -0.15304146672549196, + -0.167906160972842, + -0.17773339606034183, + -0.18230376872794093, + -0.18158488243001691, + -0.17572115154133375, + -0.16501687105976595, + -0.1499137997580331, + -0.13096468174943518, + -0.10880422217787396, + -0.08411903827788304, + -0.05761803324395176, + -0.030004497243790427, + -0.001951040868825416, + 0.025921773001301992, + 0.05306249567952219, + 0.07900122348247962, + 0.10335731863015635, + 0.1258425822940911, + 0.14626024334832619, + 0.16450028494360933, + 0.18053174205108255, + 0.1943926655354523, + 0.2061784643801796, + 0.21602931256266372, + 0.22411724822563847, + 0.23063350923189954, + 0.23577655069724138, + 0.23974108638511749, + 0.242708395806646, + 0.24483804991090946, + 0.24626113579560338, + 0.24707500803079696, + 0.24733956165584545, + 0.24707500803079696, + 0.24626113579560338, + 0.24483804991090946, + 0.242708395806646, + 0.23974108638511749, + 0.23577655069724138, + 0.23063350923189954, + 0.22411724822563847, + 0.21602931256266372, + 0.2061784643801796, + 0.1943926655354523, + 0.18053174205108255, + 0.16450028494360933, + 0.14626024334832619, + 0.1258425822940911, + 0.10335731863015635, + 0.07900122348247962, + 0.05306249567952219, + 0.025921773001301992, + -0.001951040868825416, + -0.030004497243790427, + -0.05761803324395176, + -0.08411903827788304, + -0.10880422217787396, + -0.13096468174943518, + -0.1499137997580331, + -0.16501687105976595, + -0.17572115154133375, + -0.18158488243001691, + -0.18230376872794093, + -0.17773339606034183, + -0.167906160972842, + -0.15304146672549196, + -0.13354819579908725, + -0.11001880232017779, + -0.08321475815193494, + -0.054043516875550875, + -0.023527608249201665, + 0.007233082355737275 + ], + [ + 0.059725017515438364, + 0.03197958453286062, + 0.0025207381574719806, + -0.027588123185645037, + -0.0572857273340844, + -0.08555491563889543, + -0.1114606806231028, + -0.13418273806183595, + -0.15304146672549196, + -0.16751643729146143, + -0.17725715646546372, + -0.18208605074549258, + -0.18199408570471504, + -0.17712974307464055, + -0.16778234479339135, + -0.1543609103022869, + -0.13736985507049018, + -0.11738288358628372, + -0.0950164022704569, + -0.07090368426500879, + -0.045670869380806056, + -0.019915691575644292, + 0.0058103924762656495, + 0.031016232090896562, + 0.05528095770522729, + 0.07825990831739421, + 0.09968670899986165, + 0.11937185506223688, + 0.13719827990417027, + 0.15311446345017118, + 0.16712567793535366, + 0.1792839709402817, + 0.18967745729212915, + 0.19841943861188654, + 0.20563779959612533, + 0.21146505144444128, + 0.21602931256266372, + 0.21944644111666822, + 0.22181346801290225, + 0.2232034254780841, + 0.22366162672468853, + 0.2232034254780841, + 0.22181346801290225, + 0.21944644111666822, + 0.21602931256266372, + 0.21146505144444128, + 0.20563779959612533, + 0.19841943861188654, + 0.18967745729212915, + 0.1792839709402817, + 0.16712567793535366, + 0.15311446345017118, + 0.13719827990417027, + 0.11937185506223688, + 0.09968670899986165, + 0.07825990831739421, + 0.05528095770522729, + 0.031016232090896562, + 0.0058103924762656495, + -0.019915691575644292, + -0.045670869380806056, + -0.07090368426500879, + -0.0950164022704569, + -0.11738288358628372, + -0.13736985507049018, + -0.1543609103022869, + -0.16778234479339135, + -0.17712974307464055, + -0.18199408570471504, + -0.18208605074549258, + -0.17725715646546372, + -0.16751643729146143, + -0.15304146672549196, + -0.13418273806183595, + -0.1114606806231028, + -0.08555491563889543, + -0.0572857273340844, + -0.027588123185645037, + 0.0025207381574719806, + 0.03197958453286062 + ], + [ + 0.08069235790121831, + 0.05570574218106777, + 0.028270310898122826, + -0.0006409754282528475, + -0.03002807965783915, + -0.05890402451081101, + -0.08633239590937543, + -0.1114606806231028, + -0.13354819579908725, + -0.15198770280837584, + -0.16632015713858264, + -0.17624240938958516, + -0.18160802037610754, + -0.18242166855756492, + -0.1788278960809016, + -0.17109514979541934, + -0.15959621882048483, + -0.14478624788034108, + -0.1271795169340972, + -0.10732612754693129, + -0.0857896329957062, + -0.0631265026963309, + -0.039868134180728126, + -0.016505930263581485, + 0.0065202421682302655, + 0.02883009042098063, + 0.05010748884225075, + 0.07010183827093616, + 0.08862652853638416, + 0.10555493165712146, + 0.12081441070397907, + 0.13437885433763305, + 0.14626024334832619, + 0.15649972810645998, + 0.16515865057394133, + 0.17230988766358785, + 0.17802983029511174, + 0.18239124981424537, + 0.18545724476618586, + 0.18727640924644018, + 0.18787932061729182, + 0.18727640924644018, + 0.18545724476618586, + 0.18239124981424537, + 0.17802983029511174, + 0.17230988766358785, + 0.16515865057394133, + 0.15649972810645998, + 0.14626024334832619, + 0.13437885433763305, + 0.12081441070397907, + 0.10555493165712146, + 0.08862652853638416, + 0.07010183827093616, + 0.05010748884225075, + 0.02883009042098063, + 0.0065202421682302655, + -0.016505930263581485, + -0.039868134180728126, + -0.0631265026963309, + -0.0857896329957062, + -0.10732612754693129, + -0.1271795169340972, + -0.14478624788034108, + -0.15959621882048483, + -0.17109514979541934, + -0.1788278960809016, + -0.18242166855756492, + -0.18160802037610754, + -0.17624240938958516, + -0.16632015713858264, + -0.15198770280837584, + -0.13354819579908725, + -0.1114606806231028, + -0.08633239590937543, + -0.05890402451081101, + -0.03002807965783915, + -0.0006409754282528475, + 0.028270310898122826, + 0.05570574218106777 + ], + [ + 0.0993958462307399, + 0.07773008237271903, + 0.05298490441364873, + 0.026026147564044762, + -0.0022274559793407315, + -0.030841885736018544, + -0.05890402451081101, + -0.08555491563889543, + -0.11001880232017779, + -0.1316269478872783, + -0.14983554931501694, + -0.1642373823959323, + -0.17456713788189782, + -0.1807007071005138, + -0.18264893898060253, + -0.18054660691367944, + -0.17463748569481502, + -0.16525654180237792, + -0.1528102839666787, + -0.1377563081818195, + -0.12058300781296416, + -0.10179031338845618, + -0.08187218787401292, + -0.061301442485772274, + -0.040517266401149735, + -0.019915691575644292, + 0.0001569493213448689, + 0.019407660252202565, + 0.03759772656874239, + 0.054541276561040686, + 0.07010183827093616, + 0.08418731130237875, + 0.09674378883254962, + 0.10774865812501504, + 0.11720338291232232, + 0.12512633286074154, + 0.13154597877649798, + 0.13649472168344115, + 0.14000357308347133, + 0.14209785531573388, + 0.14279404657238684, + 0.14209785531573388, + 0.14000357308347133, + 0.13649472168344115, + 0.13154597877649798, + 0.12512633286074154, + 0.11720338291232232, + 0.10774865812501504, + 0.09674378883254962, + 0.08418731130237875, + 0.07010183827093616, + 0.054541276561040686, + 0.03759772656874239, + 0.019407660252202565, + 0.0001569493213448689, + -0.019915691575644292, + -0.040517266401149735, + -0.061301442485772274, + -0.08187218787401292, + -0.10179031338845618, + -0.12058300781296416, + -0.1377563081818195, + -0.1528102839666787, + -0.16525654180237792, + -0.17463748569481502, + -0.18054660691367944, + -0.18264893898060253, + -0.1807007071005138, + -0.17456713788189782, + -0.1642373823959323, + -0.14983554931501694, + -0.1316269478872783, + -0.11001880232017779, + -0.08555491563889543, + -0.05890402451081101, + -0.030841885736018544, + -0.0022274559793407315, + 0.026026147564044762, + 0.05298490441364873, + 0.07773008237271903 + ], + [ + 0.11526115097856117, + 0.09738828403656238, + 0.0759235678781371, + 0.05161237775613617, + 0.025275083284098894, + -0.0022274559793407315, + -0.03002807965783915, + -0.0572857273340844, + -0.08321475815193494, + -0.10711012813756442, + -0.1283676319466868, + -0.1464987033293174, + -0.16113955966514656, + -0.17205475511311313, + -0.17913546063850083, + -0.18239300622958532, + -0.18194839266053625, + -0.17801860199902664, + -0.17090060569317098, + -0.1609539875623888, + -0.14858307017251748, + -0.13421936300715656, + -0.11830504740258321, + -0.10127808535368477, + -0.08355939645450051, + -0.06554239869174844, + -0.04758506314163741, + -0.030004497243790427, + -0.013073952151520388, + 0.0029779491154211806, + 0.017966041941118966, + 0.031745840459068614, + 0.044209509361482956, + 0.05528095770522729, + 0.0649104168254659, + 0.07306884206017318, + 0.07974244535617742, + 0.08492762656935865, + 0.08862652853638416, + 0.09084339726921295, + 0.09158188560927924, + 0.09084339726921295, + 0.08862652853638416, + 0.08492762656935865, + 0.07974244535617742, + 0.07306884206017318, + 0.0649104168254659, + 0.05528095770522729, + 0.044209509361482956, + 0.031745840459068614, + 0.017966041941118966, + 0.0029779491154211806, + -0.013073952151520388, + -0.030004497243790427, + -0.04758506314163741, + -0.06554239869174844, + -0.08355939645450051, + -0.10127808535368477, + -0.11830504740258321, + -0.13421936300715656, + -0.14858307017251748, + -0.1609539875623888, + -0.17090060569317098, + -0.17801860199902664, + -0.18194839266053625, + -0.18239300622958532, + -0.17913546063850083, + -0.17205475511311313, + -0.16113955966514656, + -0.1464987033293174, + -0.1283676319466868, + -0.10711012813756442, + -0.08321475815193494, + -0.0572857273340844, + -0.03002807965783915, + -0.0022274559793407315, + 0.025275083284098894, + 0.05161237775613617, + 0.0759235678781371, + 0.09738828403656238 + ], + [ + 0.12777380562398274, + 0.11405907878471819, + 0.09636827159298987, + 0.07531659368730659, + 0.05161237775613617, + 0.026026147564044762, + -0.0006409754282528475, + -0.027588123185645037, + -0.054043516875550875, + -0.07929019757294747, + -0.10268778525178764, + -0.12368964794720452, + -0.14185512230149663, + -0.15685668268767797, + -0.16848219583369567, + -0.17663261032673944, + -0.18131560690315682, + -0.1826358700412797, + -0.18078273088932142, + -0.1760159755489718, + -0.16865061331126227, + -0.15904136091487175, + -0.14756752732225356, + -0.13461888616197776, + -0.12058300781296416, + -0.10583439818051152, + -0.0907256642328181, + -0.07558080422426758, + -0.060690608986011814, + -0.046310064114579955, + -0.032657564269347995, + -0.019915691575644292, + -0.00823327044894154, + 0.0022716100207446164, + 0.011507919583092052, + 0.019407660252202565, + 0.025921773001301992, + 0.031016232090896562, + 0.03466854669458865, + 0.03686485131708162, + 0.03759772656874239, + 0.03686485131708162, + 0.03466854669458865, + 0.031016232090896562, + 0.025921773001301992, + 0.019407660252202565, + 0.011507919583092052, + 0.0022716100207446164, + -0.00823327044894154, + -0.019915691575644292, + -0.032657564269347995, + -0.046310064114579955, + -0.060690608986011814, + -0.07558080422426758, + -0.0907256642328181, + -0.10583439818051152, + -0.12058300781296416, + -0.13461888616197776, + -0.14756752732225356, + -0.15904136091487175, + -0.16865061331126227, + -0.1760159755489718, + -0.18078273088932142, + -0.1826358700412797, + -0.18131560690315682, + -0.17663261032673944, + -0.16848219583369567, + -0.15685668268767797, + -0.14185512230149663, + -0.12368964794720452, + -0.10268778525178764, + -0.07929019757294747, + -0.054043516875550875, + -0.027588123185645037, + -0.0006409754282528475, + 0.026026147564044762, + 0.05161237775613617, + 0.07531659368730659, + 0.09636827159298987, + 0.11405907878471819 + ], + [ + 0.13650222610828716, + 0.12719030582037316, + 0.1136526088802527, + 0.09636827159298987, + 0.0759235678781371, + 0.05298490441364873, + 0.028270310898122826, + 0.0025207381574719806, + -0.023527608249201665, + -0.04916880920228074, + -0.07374973820785838, + -0.09668883252747353, + -0.11749065565570795, + -0.13575600794040762, + -0.1511875643863488, + -0.163591222139663, + -0.17287351607260817, + -0.17903560277058095, + -0.1821644169794075, + -0.18242166855756492, + -0.1800313728705813, + -0.1752665961050691, + -0.16843605361995675, + -0.15987112992755653, + -0.1499137997580331, + -0.13890582780165694, + -0.1271795169340972, + -0.11505016730310495, + -0.10281030706494565, + -0.0907256642328181, + -0.07903277128303789, + -0.06793803188546253, + -0.05761803324395176, + -0.04822085787410071, + -0.039868134180728126, + -0.032657564269347995, + -0.026665677985416577, + -0.021950582012676394, + -0.01855449981019833, + -0.016505930263581485, + -0.015821288518275644, + -0.016505930263581485, + -0.01855449981019833, + -0.021950582012676394, + -0.026665677985416577, + -0.032657564269347995, + -0.039868134180728126, + -0.04822085787410071, + -0.05761803324395176, + -0.06793803188546253, + -0.07903277128303789, + -0.0907256642328181, + -0.10281030706494565, + -0.11505016730310495, + -0.1271795169340972, + -0.13890582780165694, + -0.1499137997580331, + -0.15987112992755653, + -0.16843605361995675, + -0.1752665961050691, + -0.1800313728705813, + -0.18242166855756492, + -0.1821644169794075, + -0.17903560277058095, + -0.17287351607260817, + -0.163591222139663, + -0.1511875643863488, + -0.13575600794040762, + -0.11749065565570795, + -0.09668883252747353, + -0.07374973820785838, + -0.04916880920228074, + -0.023527608249201665, + 0.0025207381574719806, + 0.028270310898122826, + 0.05298490441364873, + 0.0759235678781371, + 0.09636827159298987, + 0.1136526088802527, + 0.12719030582037316 + ], + [ + 0.14111903500315878, + 0.13632396086944565, + 0.12719030582037316, + 0.11405907878471819, + 0.09738828403656238, + 0.07773008237271903, + 0.05570574218106777, + 0.03197958453286062, + 0.007233082355737275, + -0.017859822184363938, + -0.042655257000177006, + -0.06655906279410359, + -0.08904297911487404, + -0.10965701691843574, + -0.12803786284735597, + -0.14391335124448024, + -0.15710321083861073, + -0.16751643729146143, + -0.1751457556394694, + -0.1800597155006458, + -0.18239300622958532, + -0.18233559039097344, + -0.18012123502583363, + -0.1760159755489718, + -0.17030698199702413, + -0.16329221750830802, + -0.15527119023634722, + -0.14653700801271363, + -0.13736985507049018, + -0.12803192632998142, + -0.11876378051842666, + -0.10978201113265723, + -0.10127808535368477, + -0.09341816596346665, + -0.08634370978474622, + -0.08017262722723162, + -0.0750007897964791, + -0.07090368426500879, + -0.06793803188546253, + -0.06614321685638791, + -0.06554239869174844, + -0.06614321685638791, + -0.06793803188546253, + -0.07090368426500879, + -0.0750007897964791, + -0.08017262722723162, + -0.08634370978474622, + -0.09341816596346665, + -0.10127808535368477, + -0.10978201113265723, + -0.11876378051842666, + -0.12803192632998142, + -0.13736985507049018, + -0.14653700801271363, + -0.15527119023634722, + -0.16329221750830802, + -0.17030698199702413, + -0.1760159755489718, + -0.18012123502583363, + -0.18233559039097344, + -0.18239300622958532, + -0.1800597155006458, + -0.1751457556394694, + -0.16751643729146143, + -0.15710321083861073, + -0.14391335124448024, + -0.12803786284735597, + -0.10965701691843574, + -0.08904297911487404, + -0.06655906279410359, + -0.042655257000177006, + -0.017859822184363938, + 0.007233082355737275, + 0.03197958453286062, + 0.05570574218106777, + 0.07773008237271903, + 0.09738828403656238, + 0.11405907878471819, + 0.12719030582037316, + 0.13632396086944565 + ] + ] + } + ], + "layout": { + "legend": { + "bgcolor": "#151516", + "font": { + "color": "#D9D9D9" + } + }, + "margin": { + "b": 0, + "l": 0, + "r": 0, + "t": 0 + }, + "paper_bgcolor": "#151516", + "plot_bgcolor": "#151516", + "title": { + "font": { + "color": "#D9D9D9" + }, + "text": "Cufflinks - Surface Plot" + }, + "xaxis": { + "gridcolor": "#434343", + "showgrid": true, + "tickfont": { + "color": "#C2C2C2" + }, + "title": { + "font": { + "color": "#D9D9D9" + }, + "text": "" + }, + "zerolinecolor": "#666570" + }, + "yaxis": { + "gridcolor": "#434343", + "showgrid": true, + "tickfont": { + "color": "#C2C2C2" + }, + "title": { + "font": { + "color": "#D9D9D9" + }, + "text": "" + }, + "zerolinecolor": "#666570" + } + } + }, + "text/html": [ + "
\n", + " \n", + " \n", + "
\n", + " \n", + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "cf.datagen.sinwave(10,.25).iplot(kind='surface',theme='solar',colorscale='brbg',title='Cufflinks - Surface Plot',\n", + " margin=(0,0,0,0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3.魔法命令 \n", + "\n", + "Magic命令是Jupyter notebook中的一组便捷功能,旨在解决标准数据分析中的一些常见问题。 你可以在%lsmagic的帮助下看到所有可用的魔法。" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "application/json": { + "cell": { + "!": "OSMagics", + "HTML": "Other", + "SVG": "Other", + "bash": "Other", + "capture": "ExecutionMagics", + "cmd": "Other", + "debug": "ExecutionMagics", + "file": "Other", + "html": "DisplayMagics", + "javascript": "DisplayMagics", + "js": "DisplayMagics", + "latex": "DisplayMagics", + "markdown": "DisplayMagics", + "perl": "Other", + "prun": "ExecutionMagics", + "pypy": "Other", + "python": "Other", + "python2": "Other", + "python3": "Other", + "ruby": "Other", + "script": "ScriptMagics", + "sh": "Other", + "svg": "DisplayMagics", + "sx": "OSMagics", + "system": "OSMagics", + "time": "ExecutionMagics", + "timeit": "ExecutionMagics", + "writefile": "OSMagics" + }, + "line": { + "alias": "OSMagics", + "alias_magic": "BasicMagics", + "autoawait": "AsyncMagics", + "autocall": "AutoMagics", + "automagic": "AutoMagics", + "autosave": "KernelMagics", + "bookmark": "OSMagics", + "cd": "OSMagics", + "clear": "KernelMagics", + "cls": "KernelMagics", + "colors": "BasicMagics", + "config": "ConfigMagics", + "connect_info": "KernelMagics", + "copy": "Other", + "ddir": "Other", + "debug": "ExecutionMagics", + "dhist": "OSMagics", + "dirs": "OSMagics", + "doctest_mode": "BasicMagics", + "echo": "Other", + "ed": "Other", + "edit": "KernelMagics", + "env": "OSMagics", + "gui": "BasicMagics", + "hist": "Other", + "history": "HistoryMagics", + "killbgscripts": "ScriptMagics", + "ldir": "Other", + "less": "KernelMagics", + "load": "CodeMagics", + "load_ext": "ExtensionMagics", + "loadpy": "CodeMagics", + "logoff": "LoggingMagics", + "logon": "LoggingMagics", + "logstart": "LoggingMagics", + "logstate": "LoggingMagics", + "logstop": "LoggingMagics", + "ls": "Other", + "lsmagic": "BasicMagics", + "macro": "ExecutionMagics", + "magic": "BasicMagics", + "matplotlib": "PylabMagics", + "mkdir": "Other", + "more": "KernelMagics", + "notebook": "BasicMagics", + "page": "BasicMagics", + "pastebin": "CodeMagics", + "pdb": "ExecutionMagics", + "pdef": "NamespaceMagics", + "pdoc": "NamespaceMagics", + "pfile": "NamespaceMagics", + "pinfo": "NamespaceMagics", + "pinfo2": "NamespaceMagics", + "pip": "BasicMagics", + "popd": "OSMagics", + "pprint": "BasicMagics", + "precision": "BasicMagics", + "prun": "ExecutionMagics", + "psearch": "NamespaceMagics", + "psource": "NamespaceMagics", + "pushd": "OSMagics", + "pwd": "OSMagics", + "pycat": "OSMagics", + "pylab": "PylabMagics", + "qtconsole": "KernelMagics", + "quickref": "BasicMagics", + "recall": "HistoryMagics", + "rehashx": "OSMagics", + "reload_ext": "ExtensionMagics", + "ren": "Other", + "rep": "Other", + "rerun": "HistoryMagics", + "reset": "NamespaceMagics", + "reset_selective": "NamespaceMagics", + "rmdir": "Other", + "run": "ExecutionMagics", + "save": "CodeMagics", + "sc": "OSMagics", + "set_env": "OSMagics", + "store": "StoreMagics", + "sx": "OSMagics", + "system": "OSMagics", + "tb": "ExecutionMagics", + "time": "ExecutionMagics", + "timeit": "ExecutionMagics", + "unalias": "OSMagics", + "unload_ext": "ExtensionMagics", + "who": "NamespaceMagics", + "who_ls": "NamespaceMagics", + "whos": "NamespaceMagics", + "xdel": "NamespaceMagics", + "xmode": "BasicMagics" + } + }, + "text/plain": [ + "Available line magics:\n", + "%alias %alias_magic %autoawait %autocall %automagic %autosave %bookmark %cd %clear %cls %colors %config %connect_info %copy %ddir %debug %dhist %dirs %doctest_mode %echo %ed %edit %env %gui %hist %history %killbgscripts %ldir %less %load %load_ext %loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %macro %magic %matplotlib %mkdir %more %notebook %page %pastebin %pdb %pdef %pdoc %pfile %pinfo %pinfo2 %popd %pprint %precision %prun %psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall %rehashx %reload_ext %ren %rep %rerun %reset %reset_selective %rmdir %run %save %sc %set_env %store %sx %system %tb %time %timeit %unalias %unload_ext %who %who_ls %whos %xdel %xmode\n", + "\n", + "Available cell magics:\n", + "%%! %%HTML %%SVG %%bash %%capture %%cmd %%debug %%file %%html %%javascript %%js %%latex %%markdown %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script %%sh %%svg %%sx %%system %%time %%timeit %%writefile\n", + "\n", + "Automagic is ON, % prefix IS NOT needed for line magics." + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%lsmagic" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "魔术命令有两种:行命令,以单个%字符为前缀,在单行输入上操作,以及单元命令,与双%%字符为前缀,并在多行输入上操作。\n", + "让我们看一下在常见数据分析任务中可能有用的一些内容:\n", + "\n", + "## % pastebin\n", + "\n", + "%pastebin将代码上传到Pastebin并返回url。Pastebin是一个在线内容托管服务,我们可以存储纯文本,如源代码片段,然后可以与其他人共享网址。事实上,Github gist也类似于pastebin,虽然有版本控制。" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'http://dpaste.com/33VJ5KY'" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%pastebin \"HelloWorld.py\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## %matplotlib notebook\n", + "\n", + "经常使用jupyter notebook的朋友一定知道%matplotlib inline命令,它是用来在对数据可视化时将matplotlib的各种图表嵌入notebook中显示,但是你可能不知道还有一个%matplotlib notebook命令,它扩展了%matplotlib inline命令,让图像具备放大,缩小等功能。" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support.' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('
');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " fig.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '
');\n", + " var titletext = $(\n", + " '
');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('
');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband = $('');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('
')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('
" + ], + "text/plain": [ + "AutoETS(seasonal='mul', sp=12, trend='add')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 使用OOP 比较模型\n", + "exp.compare_models()" + ] + }, + { + "cell_type": "markdown", + "id": "340de1e2", + "metadata": {}, + "source": [ + "请注意,函数式 API 和 OOP API 之间的输出是一致的。 此notebook中的其余功能将仅使用函数式 API 来展示。\n", + "\n", + "___" + ] + }, + { + "cell_type": "markdown", + "id": "6a77ec0c", + "metadata": {}, + "source": [ + "## Analyze Model" + ] + }, + { + "cell_type": "markdown", + "id": "595ea108", + "metadata": {}, + "source": [ + "您可以使用 `plot_model` 函数来分析经过训练的模型在测试集上的性能。 在某些情况下可能需要重新训练模型。" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "0ec7fad6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plotly.com" + }, + "data": [ + { + "line": { + "color": "#1f77b4" + }, + "marker": { + "size": 5 + }, + "mode": "lines+markers", + "name": "Forecast | ETS", + "showlegend": true, + "type": "scatter", + "x": [ + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00" + ], + "y": [ + 442.9862, + 388.2091, + 427.7009 + ] + }, + { + "line": { + "width": 0 + }, + "marker": { + "color": "#68BBE3" + }, + "mode": "lines", + "name": "Lower Interval", + "showlegend": false, + "type": "scatter", + "x": [ + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00" + ], + "y": [ + 424.9511, + 371.5726, + 409.45 + ] + }, + { + "fill": "tonexty", + "fillcolor": "rgba(104,187,227,0.5)", + "line": { + "width": 0 + }, + "marker": { + "color": "#68BBE3" + }, + "mode": "lines", + "name": "Prediction Interval | ETS", + "showlegend": true, + "type": "scatter", + "x": [ + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00" + ], + "y": [ + 461.5179, + 406.9327, + 448.098 + ] + }, + { + "marker": { + "color": "#3f3f3f", + "size": 5 + }, + "mode": "lines+markers", + "name": "Original", + "showlegend": true, + "type": "scatter", + "x": [ + "1949-01-01T00:00:00", + "1949-02-01T00:00:00", + "1949-03-01T00:00:00", + "1949-04-01T00:00:00", + "1949-05-01T00:00:00", + "1949-06-01T00:00:00", + "1949-07-01T00:00:00", + "1949-08-01T00:00:00", + "1949-09-01T00:00:00", + "1949-10-01T00:00:00", + "1949-11-01T00:00:00", + "1949-12-01T00:00:00", + "1950-01-01T00:00:00", + "1950-02-01T00:00:00", + "1950-03-01T00:00:00", + "1950-04-01T00:00:00", + "1950-05-01T00:00:00", + "1950-06-01T00:00:00", + "1950-07-01T00:00:00", + "1950-08-01T00:00:00", + "1950-09-01T00:00:00", + "1950-10-01T00:00:00", + "1950-11-01T00:00:00", + "1950-12-01T00:00:00", + "1951-01-01T00:00:00", + "1951-02-01T00:00:00", + "1951-03-01T00:00:00", + "1951-04-01T00:00:00", + "1951-05-01T00:00:00", + "1951-06-01T00:00:00", + "1951-07-01T00:00:00", + "1951-08-01T00:00:00", + "1951-09-01T00:00:00", + "1951-10-01T00:00:00", + "1951-11-01T00:00:00", + "1951-12-01T00:00:00", + "1952-01-01T00:00:00", + "1952-02-01T00:00:00", + "1952-03-01T00:00:00", + "1952-04-01T00:00:00", + "1952-05-01T00:00:00", + "1952-06-01T00:00:00", + "1952-07-01T00:00:00", + "1952-08-01T00:00:00", + "1952-09-01T00:00:00", + "1952-10-01T00:00:00", + "1952-11-01T00:00:00", + "1952-12-01T00:00:00", + "1953-01-01T00:00:00", + "1953-02-01T00:00:00", + "1953-03-01T00:00:00", + "1953-04-01T00:00:00", + "1953-05-01T00:00:00", + "1953-06-01T00:00:00", + "1953-07-01T00:00:00", + "1953-08-01T00:00:00", + "1953-09-01T00:00:00", + "1953-10-01T00:00:00", + "1953-11-01T00:00:00", + "1953-12-01T00:00:00", + "1954-01-01T00:00:00", + "1954-02-01T00:00:00", + "1954-03-01T00:00:00", + "1954-04-01T00:00:00", + "1954-05-01T00:00:00", + "1954-06-01T00:00:00", + "1954-07-01T00:00:00", + "1954-08-01T00:00:00", + "1954-09-01T00:00:00", + "1954-10-01T00:00:00", + "1954-11-01T00:00:00", + "1954-12-01T00:00:00", + "1955-01-01T00:00:00", + "1955-02-01T00:00:00", + "1955-03-01T00:00:00", + "1955-04-01T00:00:00", + "1955-05-01T00:00:00", + "1955-06-01T00:00:00", + "1955-07-01T00:00:00", + "1955-08-01T00:00:00", + "1955-09-01T00:00:00", + "1955-10-01T00:00:00", + "1955-11-01T00:00:00", + "1955-12-01T00:00:00", + "1956-01-01T00:00:00", + "1956-02-01T00:00:00", + "1956-03-01T00:00:00", + "1956-04-01T00:00:00", + "1956-05-01T00:00:00", + "1956-06-01T00:00:00", + "1956-07-01T00:00:00", + "1956-08-01T00:00:00", + "1956-09-01T00:00:00", + "1956-10-01T00:00:00", + "1956-11-01T00:00:00", + "1956-12-01T00:00:00", + "1957-01-01T00:00:00", + "1957-02-01T00:00:00", + "1957-03-01T00:00:00", + "1957-04-01T00:00:00", + "1957-05-01T00:00:00", + "1957-06-01T00:00:00", + "1957-07-01T00:00:00", + "1957-08-01T00:00:00", + "1957-09-01T00:00:00", + "1957-10-01T00:00:00", + "1957-11-01T00:00:00", + "1957-12-01T00:00:00", + "1958-01-01T00:00:00", + "1958-02-01T00:00:00", + "1958-03-01T00:00:00", + "1958-04-01T00:00:00", + "1958-05-01T00:00:00", + "1958-06-01T00:00:00", + "1958-07-01T00:00:00", + "1958-08-01T00:00:00", + "1958-09-01T00:00:00", + "1958-10-01T00:00:00", + "1958-11-01T00:00:00", + "1958-12-01T00:00:00", + "1959-01-01T00:00:00", + "1959-02-01T00:00:00", + "1959-03-01T00:00:00", + "1959-04-01T00:00:00", + "1959-05-01T00:00:00", + "1959-06-01T00:00:00", + "1959-07-01T00:00:00", + "1959-08-01T00:00:00", + "1959-09-01T00:00:00", + "1959-10-01T00:00:00", + "1959-11-01T00:00:00", + "1959-12-01T00:00:00", + "1960-01-01T00:00:00", + "1960-02-01T00:00:00", + "1960-03-01T00:00:00", + "1960-04-01T00:00:00", + "1960-05-01T00:00:00", + "1960-06-01T00:00:00", + "1960-07-01T00:00:00", + "1960-08-01T00:00:00", + "1960-09-01T00:00:00", + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00" + ], + "y": [ + 112, + 118, + 132, + 129, + 121, + 135, + 148, + 148, + 136, + 119, + 104, + 118, + 115, + 126, + 141, + 135, + 125, + 149, + 170, + 170, + 158, + 133, + 114, + 140, + 145, + 150, + 178, + 163, + 172, + 178, + 199, + 199, + 184, + 162, + 146, + 166, + 171, + 180, + 193, + 181, + 183, + 218, + 230, + 242, + 209, + 191, + 172, + 194, + 196, + 196, + 236, + 235, + 229, + 243, + 264, + 272, + 237, + 211, + 180, + 201, + 204, + 188, + 235, + 227, + 234, + 264, + 302, + 293, + 259, + 229, + 203, + 229, + 242, + 233, + 267, + 269, + 270, + 315, + 364, + 347, + 312, + 274, + 237, + 278, + 284, + 277, + 317, + 313, + 318, + 374, + 413, + 405, + 355, + 306, + 271, + 306, + 315, + 301, + 356, + 348, + 355, + 422, + 465, + 467, + 404, + 347, + 305, + 336, + 340, + 318, + 362, + 348, + 363, + 435, + 491, + 505, + 404, + 359, + 310, + 337, + 360, + 342, + 406, + 396, + 420, + 472, + 548, + 559, + 463, + 407, + 362, + 405, + 417, + 391, + 419, + 461, + 472, + 535, + 622, + 606, + 508, + 461, + 390, + 432 + ] + } + ], + "layout": { + "showlegend": true, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "rgb(51,51,51)" + }, + "error_y": { + "color": "rgb(51,51,51)" + }, + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "baxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "rgb(237,237,237)" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "rgb(217,217,217)" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "colorscale": { + "sequential": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "sequentialminus": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ] + }, + "colorway": [ + "#F8766D", + "#A3A500", + "#00BF7D", + "#00B0F6", + "#E76BF3" + ], + "font": { + "color": "rgb(51,51,51)" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "rgb(237,237,237)", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "paper_bgcolor": "white", + "plot_bgcolor": "rgb(237,237,237)", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "fillcolor": "black", + "line": { + "width": 0 + }, + "opacity": 0.3 + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + } + } + }, + "title": { + "text": "Actual vs. 'Out-of-Sample' Forecast | Number of airline passengers" + }, + "xaxis": { + "title": { + "text": "Time" + } + }, + "yaxis": { + "title": { + "text": "Values" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 绘制预测图\n", + "plot_model(best, plot = 'forecast')" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "6c5be2b7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plotly.com" + }, + "data": [ + { + "line": { + "color": "#1f77b4" + }, + "marker": { + "size": 5 + }, + "mode": "lines+markers", + "name": "Forecast | ETS", + "showlegend": true, + "type": "scatter", + "x": [ + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00", + "1961-01-01T00:00:00", + "1961-02-01T00:00:00", + "1961-03-01T00:00:00", + "1961-04-01T00:00:00", + "1961-05-01T00:00:00", + "1961-06-01T00:00:00", + "1961-07-01T00:00:00", + "1961-08-01T00:00:00", + "1961-09-01T00:00:00", + "1961-10-01T00:00:00", + "1961-11-01T00:00:00", + "1961-12-01T00:00:00", + "1962-01-01T00:00:00", + "1962-02-01T00:00:00", + "1962-03-01T00:00:00", + "1962-04-01T00:00:00", + "1962-05-01T00:00:00", + "1962-06-01T00:00:00", + "1962-07-01T00:00:00", + "1962-08-01T00:00:00", + "1962-09-01T00:00:00", + "1962-10-01T00:00:00", + "1962-11-01T00:00:00", + "1962-12-01T00:00:00", + "1963-01-01T00:00:00", + "1963-02-01T00:00:00", + "1963-03-01T00:00:00", + "1963-04-01T00:00:00", + "1963-05-01T00:00:00", + "1963-06-01T00:00:00", + "1963-07-01T00:00:00", + "1963-08-01T00:00:00", + "1963-09-01T00:00:00" + ], + "y": [ + 442.9862, + 388.2091, + 427.7009, + 440.8288, + 414.1672, + 460.3095, + 489.8045, + 500.616, + 567.9572, + 657.4233, + 648.7133, + 541.5307, + 472.1916, + 413.6633, + 455.5921, + 469.4208, + 440.8854, + 489.8456, + 521.0661, + 532.3985, + 603.8253, + 698.724, + 689.2546, + 575.1983, + 501.397, + 439.1175, + 483.4833, + 498.0127, + 467.6037, + 519.3818, + 552.3276, + 564.1811, + 639.6934, + 740.0248, + 729.7959, + 608.8659 + ] + }, + { + "line": { + "width": 0 + }, + "marker": { + "color": "#68BBE3" + }, + "mode": "lines", + "name": "Lower Interval", + "showlegend": false, + "type": "scatter", + "x": [ + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00", + "1961-01-01T00:00:00", + "1961-02-01T00:00:00", + "1961-03-01T00:00:00", + "1961-04-01T00:00:00", + "1961-05-01T00:00:00", + "1961-06-01T00:00:00", + "1961-07-01T00:00:00", + "1961-08-01T00:00:00", + "1961-09-01T00:00:00", + "1961-10-01T00:00:00", + "1961-11-01T00:00:00", + "1961-12-01T00:00:00", + "1962-01-01T00:00:00", + "1962-02-01T00:00:00", + "1962-03-01T00:00:00", + "1962-04-01T00:00:00", + "1962-05-01T00:00:00", + "1962-06-01T00:00:00", + "1962-07-01T00:00:00", + "1962-08-01T00:00:00", + "1962-09-01T00:00:00", + "1962-10-01T00:00:00", + "1962-11-01T00:00:00", + "1962-12-01T00:00:00", + "1963-01-01T00:00:00", + "1963-02-01T00:00:00", + "1963-03-01T00:00:00", + "1963-04-01T00:00:00", + "1963-05-01T00:00:00", + "1963-06-01T00:00:00", + "1963-07-01T00:00:00", + "1963-08-01T00:00:00", + "1963-09-01T00:00:00" + ], + "y": [ + 424.9511, + 371.5726, + 409.45, + 422.3821, + 394.2024, + 440.0158, + 466.8642, + 476.9509, + 542.7137, + 628.0535, + 621.176, + 518.085, + 442.3006, + 387.6366, + 426.3442, + 441.6405, + 411.9389, + 458.1427, + 488.4728, + 497.6479, + 565.7008, + 657.7688, + 648.9213, + 540.1729, + 461.8621, + 403.95, + 447.4011, + 461.6135, + 430.7421, + 477.0225, + 507.1223, + 519.685, + 595.2369, + 689.7752, + 679.7743, + 563.4676 + ] + }, + { + "fill": "tonexty", + "fillcolor": "rgba(104,187,227,0.5)", + "line": { + "width": 0 + }, + "marker": { + "color": "#68BBE3" + }, + "mode": "lines", + "name": "Prediction Interval | ETS", + "showlegend": true, + "type": "scatter", + "x": [ + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00", + "1961-01-01T00:00:00", + "1961-02-01T00:00:00", + "1961-03-01T00:00:00", + "1961-04-01T00:00:00", + "1961-05-01T00:00:00", + "1961-06-01T00:00:00", + "1961-07-01T00:00:00", + "1961-08-01T00:00:00", + "1961-09-01T00:00:00", + "1961-10-01T00:00:00", + "1961-11-01T00:00:00", + "1961-12-01T00:00:00", + "1962-01-01T00:00:00", + "1962-02-01T00:00:00", + "1962-03-01T00:00:00", + "1962-04-01T00:00:00", + "1962-05-01T00:00:00", + "1962-06-01T00:00:00", + "1962-07-01T00:00:00", + "1962-08-01T00:00:00", + "1962-09-01T00:00:00", + "1962-10-01T00:00:00", + "1962-11-01T00:00:00", + "1962-12-01T00:00:00", + "1963-01-01T00:00:00", + "1963-02-01T00:00:00", + "1963-03-01T00:00:00", + "1963-04-01T00:00:00", + "1963-05-01T00:00:00", + "1963-06-01T00:00:00", + "1963-07-01T00:00:00", + "1963-08-01T00:00:00", + "1963-09-01T00:00:00" + ], + "y": [ + 460.167, + 407.0492, + 446.7903, + 459.6397, + 434.062, + 482.5441, + 512.5627, + 525.19, + 594.7906, + 687.4621, + 676.7587, + 567.8426, + 503.6261, + 443.1601, + 487.0991, + 500.9924, + 469.8886, + 521.6775, + 554.4375, + 568.9595, + 643.2014, + 741.7039, + 732.6646, + 612.8775, + 539.8041, + 476.5502, + 521.9675, + 534.8244, + 504.4501, + 558.287, + 594.6478, + 610.3517, + 689.4034, + 793.9931, + 782.3682, + 655.0312 + ] + }, + { + "marker": { + "color": "#3f3f3f", + "size": 5 + }, + "mode": "lines+markers", + "name": "Original", + "showlegend": true, + "type": "scatter", + "x": [ + "1949-01-01T00:00:00", + "1949-02-01T00:00:00", + "1949-03-01T00:00:00", + "1949-04-01T00:00:00", + "1949-05-01T00:00:00", + "1949-06-01T00:00:00", + "1949-07-01T00:00:00", + "1949-08-01T00:00:00", + "1949-09-01T00:00:00", + "1949-10-01T00:00:00", + "1949-11-01T00:00:00", + "1949-12-01T00:00:00", + "1950-01-01T00:00:00", + "1950-02-01T00:00:00", + "1950-03-01T00:00:00", + "1950-04-01T00:00:00", + "1950-05-01T00:00:00", + "1950-06-01T00:00:00", + "1950-07-01T00:00:00", + "1950-08-01T00:00:00", + "1950-09-01T00:00:00", + "1950-10-01T00:00:00", + "1950-11-01T00:00:00", + "1950-12-01T00:00:00", + "1951-01-01T00:00:00", + "1951-02-01T00:00:00", + "1951-03-01T00:00:00", + "1951-04-01T00:00:00", + "1951-05-01T00:00:00", + "1951-06-01T00:00:00", + "1951-07-01T00:00:00", + "1951-08-01T00:00:00", + "1951-09-01T00:00:00", + "1951-10-01T00:00:00", + "1951-11-01T00:00:00", + "1951-12-01T00:00:00", + "1952-01-01T00:00:00", + "1952-02-01T00:00:00", + "1952-03-01T00:00:00", + "1952-04-01T00:00:00", + "1952-05-01T00:00:00", + "1952-06-01T00:00:00", + "1952-07-01T00:00:00", + "1952-08-01T00:00:00", + "1952-09-01T00:00:00", + "1952-10-01T00:00:00", + "1952-11-01T00:00:00", + "1952-12-01T00:00:00", + "1953-01-01T00:00:00", + "1953-02-01T00:00:00", + "1953-03-01T00:00:00", + "1953-04-01T00:00:00", + "1953-05-01T00:00:00", + "1953-06-01T00:00:00", + "1953-07-01T00:00:00", + "1953-08-01T00:00:00", + "1953-09-01T00:00:00", + "1953-10-01T00:00:00", + "1953-11-01T00:00:00", + "1953-12-01T00:00:00", + "1954-01-01T00:00:00", + "1954-02-01T00:00:00", + "1954-03-01T00:00:00", + "1954-04-01T00:00:00", + "1954-05-01T00:00:00", + "1954-06-01T00:00:00", + "1954-07-01T00:00:00", + "1954-08-01T00:00:00", + "1954-09-01T00:00:00", + "1954-10-01T00:00:00", + "1954-11-01T00:00:00", + "1954-12-01T00:00:00", + "1955-01-01T00:00:00", + "1955-02-01T00:00:00", + "1955-03-01T00:00:00", + "1955-04-01T00:00:00", + "1955-05-01T00:00:00", + "1955-06-01T00:00:00", + "1955-07-01T00:00:00", + "1955-08-01T00:00:00", + "1955-09-01T00:00:00", + "1955-10-01T00:00:00", + "1955-11-01T00:00:00", + "1955-12-01T00:00:00", + "1956-01-01T00:00:00", + "1956-02-01T00:00:00", + "1956-03-01T00:00:00", + "1956-04-01T00:00:00", + "1956-05-01T00:00:00", + "1956-06-01T00:00:00", + "1956-07-01T00:00:00", + "1956-08-01T00:00:00", + "1956-09-01T00:00:00", + "1956-10-01T00:00:00", + "1956-11-01T00:00:00", + "1956-12-01T00:00:00", + "1957-01-01T00:00:00", + "1957-02-01T00:00:00", + "1957-03-01T00:00:00", + "1957-04-01T00:00:00", + "1957-05-01T00:00:00", + "1957-06-01T00:00:00", + "1957-07-01T00:00:00", + "1957-08-01T00:00:00", + "1957-09-01T00:00:00", + "1957-10-01T00:00:00", + "1957-11-01T00:00:00", + "1957-12-01T00:00:00", + "1958-01-01T00:00:00", + "1958-02-01T00:00:00", + "1958-03-01T00:00:00", + "1958-04-01T00:00:00", + "1958-05-01T00:00:00", + "1958-06-01T00:00:00", + "1958-07-01T00:00:00", + "1958-08-01T00:00:00", + "1958-09-01T00:00:00", + "1958-10-01T00:00:00", + "1958-11-01T00:00:00", + "1958-12-01T00:00:00", + "1959-01-01T00:00:00", + "1959-02-01T00:00:00", + "1959-03-01T00:00:00", + "1959-04-01T00:00:00", + "1959-05-01T00:00:00", + "1959-06-01T00:00:00", + "1959-07-01T00:00:00", + "1959-08-01T00:00:00", + "1959-09-01T00:00:00", + "1959-10-01T00:00:00", + "1959-11-01T00:00:00", + "1959-12-01T00:00:00", + "1960-01-01T00:00:00", + "1960-02-01T00:00:00", + "1960-03-01T00:00:00", + "1960-04-01T00:00:00", + "1960-05-01T00:00:00", + "1960-06-01T00:00:00", + "1960-07-01T00:00:00", + "1960-08-01T00:00:00", + "1960-09-01T00:00:00", + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00" + ], + "y": [ + 112, + 118, + 132, + 129, + 121, + 135, + 148, + 148, + 136, + 119, + 104, + 118, + 115, + 126, + 141, + 135, + 125, + 149, + 170, + 170, + 158, + 133, + 114, + 140, + 145, + 150, + 178, + 163, + 172, + 178, + 199, + 199, + 184, + 162, + 146, + 166, + 171, + 180, + 193, + 181, + 183, + 218, + 230, + 242, + 209, + 191, + 172, + 194, + 196, + 196, + 236, + 235, + 229, + 243, + 264, + 272, + 237, + 211, + 180, + 201, + 204, + 188, + 235, + 227, + 234, + 264, + 302, + 293, + 259, + 229, + 203, + 229, + 242, + 233, + 267, + 269, + 270, + 315, + 364, + 347, + 312, + 274, + 237, + 278, + 284, + 277, + 317, + 313, + 318, + 374, + 413, + 405, + 355, + 306, + 271, + 306, + 315, + 301, + 356, + 348, + 355, + 422, + 465, + 467, + 404, + 347, + 305, + 336, + 340, + 318, + 362, + 348, + 363, + 435, + 491, + 505, + 404, + 359, + 310, + 337, + 360, + 342, + 406, + 396, + 420, + 472, + 548, + 559, + 463, + 407, + 362, + 405, + 417, + 391, + 419, + 461, + 472, + 535, + 622, + 606, + 508, + 461, + 390, + 432 + ] + } + ], + "layout": { + "showlegend": true, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "rgb(51,51,51)" + }, + "error_y": { + "color": "rgb(51,51,51)" + }, + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "baxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "rgb(237,237,237)" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "rgb(217,217,217)" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "colorscale": { + "sequential": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "sequentialminus": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ] + }, + "colorway": [ + "#F8766D", + "#A3A500", + "#00BF7D", + "#00B0F6", + "#E76BF3" + ], + "font": { + "color": "rgb(51,51,51)" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "rgb(237,237,237)", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "paper_bgcolor": "white", + "plot_bgcolor": "rgb(237,237,237)", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "fillcolor": "black", + "line": { + "width": 0 + }, + "opacity": 0.3 + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + } + } + }, + "title": { + "text": "Actual vs. 'Out-of-Sample' Forecast | Number of airline passengers" + }, + "xaxis": { + "title": { + "text": "Time" + } + }, + "yaxis": { + "title": { + "text": "Values" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 绘制预测未来36个月的预测结果\n", + "plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 36})" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "9fc4b9b1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plotly.com" + }, + "data": [ + { + "line": { + "color": "rgb(31, 119, 180)", + "width": 2 + }, + "marker": { + "color": "rgb(31, 119, 180)", + "size": 5 + }, + "mode": "lines+markers", + "name": "Number of airline passengers", + "type": "scattergl", + "x": [ + "1949-01-01T00:00:00", + "1949-02-01T00:00:00", + "1949-03-01T00:00:00", + "1949-04-01T00:00:00", + "1949-05-01T00:00:00", + "1949-06-01T00:00:00", + "1949-07-01T00:00:00", + "1949-08-01T00:00:00", + "1949-09-01T00:00:00", + "1949-10-01T00:00:00", + "1949-11-01T00:00:00", + "1949-12-01T00:00:00", + "1950-01-01T00:00:00", + "1950-02-01T00:00:00", + "1950-03-01T00:00:00", + "1950-04-01T00:00:00", + "1950-05-01T00:00:00", + "1950-06-01T00:00:00", + "1950-07-01T00:00:00", + "1950-08-01T00:00:00", + "1950-09-01T00:00:00", + "1950-10-01T00:00:00", + "1950-11-01T00:00:00", + "1950-12-01T00:00:00", + "1951-01-01T00:00:00", + "1951-02-01T00:00:00", + "1951-03-01T00:00:00", + "1951-04-01T00:00:00", + "1951-05-01T00:00:00", + "1951-06-01T00:00:00", + "1951-07-01T00:00:00", + "1951-08-01T00:00:00", + "1951-09-01T00:00:00", + "1951-10-01T00:00:00", + "1951-11-01T00:00:00", + "1951-12-01T00:00:00", + "1952-01-01T00:00:00", + "1952-02-01T00:00:00", + "1952-03-01T00:00:00", + "1952-04-01T00:00:00", + "1952-05-01T00:00:00", + "1952-06-01T00:00:00", + "1952-07-01T00:00:00", + "1952-08-01T00:00:00", + "1952-09-01T00:00:00", + "1952-10-01T00:00:00", + "1952-11-01T00:00:00", + "1952-12-01T00:00:00", + "1953-01-01T00:00:00", + "1953-02-01T00:00:00", + "1953-03-01T00:00:00", + "1953-04-01T00:00:00", + "1953-05-01T00:00:00", + "1953-06-01T00:00:00", + "1953-07-01T00:00:00", + "1953-08-01T00:00:00", + "1953-09-01T00:00:00", + "1953-10-01T00:00:00", + "1953-11-01T00:00:00", + "1953-12-01T00:00:00", + "1954-01-01T00:00:00", + "1954-02-01T00:00:00", + "1954-03-01T00:00:00", + "1954-04-01T00:00:00", + "1954-05-01T00:00:00", + "1954-06-01T00:00:00", + "1954-07-01T00:00:00", + "1954-08-01T00:00:00", + "1954-09-01T00:00:00", + "1954-10-01T00:00:00", + "1954-11-01T00:00:00", + "1954-12-01T00:00:00", + "1955-01-01T00:00:00", + "1955-02-01T00:00:00", + "1955-03-01T00:00:00", + "1955-04-01T00:00:00", + "1955-05-01T00:00:00", + "1955-06-01T00:00:00", + "1955-07-01T00:00:00", + "1955-08-01T00:00:00", + "1955-09-01T00:00:00", + "1955-10-01T00:00:00", + "1955-11-01T00:00:00", + "1955-12-01T00:00:00", + "1956-01-01T00:00:00", + "1956-02-01T00:00:00", + "1956-03-01T00:00:00", + "1956-04-01T00:00:00", + "1956-05-01T00:00:00", + "1956-06-01T00:00:00", + "1956-07-01T00:00:00", + "1956-08-01T00:00:00", + "1956-09-01T00:00:00", + "1956-10-01T00:00:00", + "1956-11-01T00:00:00", + "1956-12-01T00:00:00", + "1957-01-01T00:00:00", + "1957-02-01T00:00:00", + "1957-03-01T00:00:00", + "1957-04-01T00:00:00", + "1957-05-01T00:00:00", + "1957-06-01T00:00:00", + "1957-07-01T00:00:00", + "1957-08-01T00:00:00", + "1957-09-01T00:00:00", + "1957-10-01T00:00:00", + "1957-11-01T00:00:00", + "1957-12-01T00:00:00", + "1958-01-01T00:00:00", + "1958-02-01T00:00:00", + "1958-03-01T00:00:00", + "1958-04-01T00:00:00", + "1958-05-01T00:00:00", + "1958-06-01T00:00:00", + "1958-07-01T00:00:00", + "1958-08-01T00:00:00", + "1958-09-01T00:00:00", + "1958-10-01T00:00:00", + "1958-11-01T00:00:00", + "1958-12-01T00:00:00", + "1959-01-01T00:00:00", + "1959-02-01T00:00:00", + "1959-03-01T00:00:00", + "1959-04-01T00:00:00", + "1959-05-01T00:00:00", + "1959-06-01T00:00:00", + "1959-07-01T00:00:00", + "1959-08-01T00:00:00", + "1959-09-01T00:00:00", + "1959-10-01T00:00:00", + "1959-11-01T00:00:00", + "1959-12-01T00:00:00", + "1960-01-01T00:00:00", + "1960-02-01T00:00:00", + "1960-03-01T00:00:00", + "1960-04-01T00:00:00", + "1960-05-01T00:00:00", + "1960-06-01T00:00:00", + "1960-07-01T00:00:00", + "1960-08-01T00:00:00", + "1960-09-01T00:00:00", + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00" + ], + "xaxis": "x", + "y": [ + 112, + 118, + 132, + 129, + 121, + 135, + 148, + 148, + 136, + 119, + 104, + 118, + 115, + 126, + 141, + 135, + 125, + 149, + 170, + 170, + 158, + 133, + 114, + 140, + 145, + 150, + 178, + 163, + 172, + 178, + 199, + 199, + 184, + 162, + 146, + 166, + 171, + 180, + 193, + 181, + 183, + 218, + 230, + 242, + 209, + 191, + 172, + 194, + 196, + 196, + 236, + 235, + 229, + 243, + 264, + 272, + 237, + 211, + 180, + 201, + 204, + 188, + 235, + 227, + 234, + 264, + 302, + 293, + 259, + 229, + 203, + 229, + 242, + 233, + 267, + 269, + 270, + 315, + 364, + 347, + 312, + 274, + 237, + 278, + 284, + 277, + 317, + 313, + 318, + 374, + 413, + 405, + 355, + 306, + 271, + 306, + 315, + 301, + 356, + 348, + 355, + 422, + 465, + 467, + 404, + 347, + 305, + 336, + 340, + 318, + 362, + 348, + 363, + 435, + 491, + 505, + 404, + 359, + 310, + 337, + 360, + 342, + 406, + 396, + 420, + 472, + 548, + 559, + 463, + 407, + 362, + 405, + 417, + 391, + 419, + 461, + 472, + 535, + 622, + 606, + 508, + 461, + 390, + 432 + ], + "yaxis": "y" + }, + { + "line": { + "color": "rgb(255, 127, 14)", + "width": 2 + }, + "marker": { + "color": "rgb(255, 127, 14)", + "size": 5 + }, + "mode": "lines+markers", + "name": "ETS", + "type": "scattergl", + "x": [ + "1949-01-01T00:00:00", + "1949-02-01T00:00:00", + "1949-03-01T00:00:00", + "1949-04-01T00:00:00", + "1949-05-01T00:00:00", + "1949-06-01T00:00:00", + "1949-07-01T00:00:00", + "1949-08-01T00:00:00", + "1949-09-01T00:00:00", + "1949-10-01T00:00:00", + "1949-11-01T00:00:00", + "1949-12-01T00:00:00", + "1950-01-01T00:00:00", + "1950-02-01T00:00:00", + "1950-03-01T00:00:00", + "1950-04-01T00:00:00", + "1950-05-01T00:00:00", + "1950-06-01T00:00:00", + "1950-07-01T00:00:00", + "1950-08-01T00:00:00", + "1950-09-01T00:00:00", + "1950-10-01T00:00:00", + "1950-11-01T00:00:00", + "1950-12-01T00:00:00", + "1951-01-01T00:00:00", + "1951-02-01T00:00:00", + "1951-03-01T00:00:00", + "1951-04-01T00:00:00", + "1951-05-01T00:00:00", + "1951-06-01T00:00:00", + "1951-07-01T00:00:00", + "1951-08-01T00:00:00", + "1951-09-01T00:00:00", + "1951-10-01T00:00:00", + "1951-11-01T00:00:00", + "1951-12-01T00:00:00", + "1952-01-01T00:00:00", + "1952-02-01T00:00:00", + "1952-03-01T00:00:00", + "1952-04-01T00:00:00", + "1952-05-01T00:00:00", + "1952-06-01T00:00:00", + "1952-07-01T00:00:00", + "1952-08-01T00:00:00", + "1952-09-01T00:00:00", + "1952-10-01T00:00:00", + "1952-11-01T00:00:00", + "1952-12-01T00:00:00", + "1953-01-01T00:00:00", + "1953-02-01T00:00:00", + "1953-03-01T00:00:00", + "1953-04-01T00:00:00", + "1953-05-01T00:00:00", + "1953-06-01T00:00:00", + "1953-07-01T00:00:00", + "1953-08-01T00:00:00", + "1953-09-01T00:00:00", + "1953-10-01T00:00:00", + "1953-11-01T00:00:00", + "1953-12-01T00:00:00", + "1954-01-01T00:00:00", + "1954-02-01T00:00:00", + "1954-03-01T00:00:00", + "1954-04-01T00:00:00", + "1954-05-01T00:00:00", + "1954-06-01T00:00:00", + "1954-07-01T00:00:00", + "1954-08-01T00:00:00", + "1954-09-01T00:00:00", + "1954-10-01T00:00:00", + "1954-11-01T00:00:00", + "1954-12-01T00:00:00", + "1955-01-01T00:00:00", + "1955-02-01T00:00:00", + "1955-03-01T00:00:00", + "1955-04-01T00:00:00", + "1955-05-01T00:00:00", + "1955-06-01T00:00:00", + "1955-07-01T00:00:00", + "1955-08-01T00:00:00", + "1955-09-01T00:00:00", + "1955-10-01T00:00:00", + "1955-11-01T00:00:00", + "1955-12-01T00:00:00", + "1956-01-01T00:00:00", + "1956-02-01T00:00:00", + "1956-03-01T00:00:00", + "1956-04-01T00:00:00", + "1956-05-01T00:00:00", + "1956-06-01T00:00:00", + "1956-07-01T00:00:00", + "1956-08-01T00:00:00", + "1956-09-01T00:00:00", + "1956-10-01T00:00:00", + "1956-11-01T00:00:00", + "1956-12-01T00:00:00", + "1957-01-01T00:00:00", + "1957-02-01T00:00:00", + "1957-03-01T00:00:00", + "1957-04-01T00:00:00", + "1957-05-01T00:00:00", + "1957-06-01T00:00:00", + "1957-07-01T00:00:00", + "1957-08-01T00:00:00", + "1957-09-01T00:00:00", + "1957-10-01T00:00:00", + "1957-11-01T00:00:00", + "1957-12-01T00:00:00", + "1958-01-01T00:00:00", + "1958-02-01T00:00:00", + "1958-03-01T00:00:00", + "1958-04-01T00:00:00", + "1958-05-01T00:00:00", + "1958-06-01T00:00:00", + "1958-07-01T00:00:00", + "1958-08-01T00:00:00", + "1958-09-01T00:00:00", + "1958-10-01T00:00:00", + "1958-11-01T00:00:00", + "1958-12-01T00:00:00", + "1959-01-01T00:00:00", + "1959-02-01T00:00:00", + "1959-03-01T00:00:00", + "1959-04-01T00:00:00", + "1959-05-01T00:00:00", + "1959-06-01T00:00:00", + "1959-07-01T00:00:00", + "1959-08-01T00:00:00", + "1959-09-01T00:00:00", + "1959-10-01T00:00:00", + "1959-11-01T00:00:00", + "1959-12-01T00:00:00", + "1960-01-01T00:00:00", + "1960-02-01T00:00:00", + "1960-03-01T00:00:00", + "1960-04-01T00:00:00", + "1960-05-01T00:00:00", + "1960-06-01T00:00:00", + "1960-07-01T00:00:00", + "1960-08-01T00:00:00", + "1960-09-01T00:00:00", + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00" + ], + "xaxis": "x", + "y": [ + 0.5999000000000052, + -2.1293000000000006, + -2.765199999999993, + -1.4716999999999985, + -2.7787000000000006, + -2.0498000000000047, + -3.3649000000000058, + -3.4949000000000012, + -3.8529000000000053, + -4.464200000000005, + -6.406000000000006, + -8.676299999999998, + -14.42779999999999, + -6.138299999999987, + -5.300900000000013, + -6.441699999999997, + -6.585100000000011, + 4.155300000000011, + 8.721000000000004, + 4.970499999999987, + 3.774000000000001, + -4.397099999999995, + -7.053700000000006, + 2.3788000000000125, + 4.8770000000000095, + -6.09729999999999, + 4.261500000000012, + -6.673300000000012, + 14.869400000000013, + -11.187900000000013, + -7.8825999999999965, + -3.0745000000000005, + -0.973700000000008, + 4.605899999999991, + 7.251499999999993, + -4.661599999999993, + -1.4935999999999865, + -0.8351000000000113, + -17.891899999999993, + -9.824999999999989, + -6.737300000000005, + 17.973700000000008, + -2.116199999999992, + 10.363900000000001, + -7.975999999999999, + 4.922500000000014, + 6.303200000000004, + 0.7236000000000047, + -3.1952, + -12.436200000000014, + 9.397600000000011, + 17.114100000000008, + 1.3780999999999892, + -17.744100000000003, + -7.2952000000000226, + -5.210899999999981, + -5.018100000000004, + -5.338099999999997, + -10.466800000000006, + -10.091700000000003, + -7.22999999999999, + -25.662499999999994, + -6.81389999999999, + -4.986099999999993, + 8.699600000000004, + 14.877800000000008, + 24.818499999999972, + -2.2287999999999784, + 0.8301999999999907, + -2.807700000000011, + 2.1097000000000037, + 0.7752000000000123, + 8.099199999999996, + 4.686399999999992, + -19.8673, + -3.1207999999999743, + -4.183499999999981, + 14.0043, + 25.577099999999973, + 7.800299999999993, + 10.949599999999975, + 3.696900000000028, + -2.0392999999999972, + 9.63760000000002, + 1.419300000000021, + 6.3827, + -4.655599999999993, + -8.606800000000021, + -3.2110000000000127, + 8.353200000000015, + -1.0260000000000105, + 12.468500000000006, + 3.341099999999983, + -2.6345000000000027, + 3.8202999999999747, + -3.828700000000026, + -0.22320000000001983, + -3.3514999999999873, + 6.492000000000019, + -2.2993000000000166, + -0.4925999999999817, + 8.60669999999999, + 4.501199999999983, + 20.193600000000004, + 7.485299999999995, + 1.9603999999999928, + 1.102700000000027, + -9.387099999999975, + -11.875699999999995, + -15.792500000000018, + -23.24029999999999, + -22.587400000000002, + -7.464999999999975, + 1.309000000000026, + 13.850900000000024, + 29.694200000000023, + -13.681300000000022, + 4.402300000000025, + -2.5597999999999956, + -10.299800000000005, + 7.947400000000016, + 4.838000000000022, + 12.401999999999987, + 6.258800000000008, + 10.433499999999981, + -21.01679999999999, + 5.833999999999946, + 12.27679999999998, + 14.609300000000019, + 7.737199999999973, + 13.811199999999985, + 17.502200000000016, + 2.204999999999984, + -1.8133000000000266, + -40.91890000000001, + 27.346299999999985, + 7.155899999999974, + -0.021299999999996544, + 6.196299999999951, + -18.645999999999958, + 1.6895000000000095, + null, + null, + null + ], + "yaxis": "y" + } + ], + "layout": { + "showlegend": true, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "rgb(51,51,51)" + }, + "error_y": { + "color": "rgb(51,51,51)" + }, + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "baxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "rgb(237,237,237)" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "rgb(217,217,217)" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "colorscale": { + "sequential": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "sequentialminus": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ] + }, + "colorway": [ + "#F8766D", + "#A3A500", + "#00BF7D", + "#00B0F6", + "#E76BF3" + ], + "font": { + "color": "rgb(51,51,51)" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "rgb(237,237,237)", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "paper_bgcolor": "white", + "plot_bgcolor": "rgb(237,237,237)", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "fillcolor": "black", + "line": { + "width": 0 + }, + "opacity": 0.3 + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + } + } + }, + "title": { + "text": "Actual vs. Residuals" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ] + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ] + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 残差图\n", + "plot_model(best, plot = 'residuals')" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "da718984", + "metadata": {}, + "outputs": [], + "source": [ + "#查看所有可以绘制的图\n", + "#help(plot_model)" + ] + }, + { + "cell_type": "markdown", + "id": "6bd66179", + "metadata": {}, + "source": [ + "`plot_model` 函数的替代方法是 `evaluate_model`。 它只能在jupyter notebook中使用,因为它使用了 ipywidget。" + ] + }, + { + "cell_type": "markdown", + "id": "954cbeff", + "metadata": {}, + "source": [ + "## Prediction\n", + " \n", + "`predict_model` 函数返回 `y_pred`。 当data参数为“None”(默认)时,它使用“setup”函数中定义的“fh”。" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "87c1a007", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
 ModelMASERMSSEMAERMSEMAPESMAPER2
0ETS0.25160.29628.034610.74220.01790.01820.8642
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 对测试进行预测\n", + "holdout_pred = predict_model(best)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "5c01ac77", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
y_pred
1960-10442.9862
1960-11388.2091
1960-12427.7009
\n", + "
" + ], + "text/plain": [ + " y_pred\n", + "1960-10 442.9862\n", + "1960-11 388.2091\n", + "1960-12 427.7009" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 显示预测结果\n", + "holdout_pred.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "766ed344", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + " \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", + "
y_pred
1960-10442.9862
1960-11388.2091
1960-12427.7009
1961-01440.8288
1961-02414.1672
1961-03460.3095
1961-04489.8045
1961-05500.6160
1961-06567.9572
1961-07657.4233
1961-08648.7133
1961-09541.5307
1961-10472.1916
1961-11413.6633
1961-12455.5921
1962-01469.4208
1962-02440.8854
1962-03489.8456
1962-04521.0661
1962-05532.3985
1962-06603.8253
1962-07698.7240
1962-08689.2546
1962-09575.1983
1962-10501.3970
1962-11439.1175
1962-12483.4833
1963-01498.0127
1963-02467.6037
1963-03519.3818
1963-04552.3276
1963-05564.1811
1963-06639.6934
1963-07740.0248
1963-08729.7959
1963-09608.8659
\n", + "
" + ], + "text/plain": [ + " y_pred\n", + "1960-10 442.9862\n", + "1960-11 388.2091\n", + "1960-12 427.7009\n", + "1961-01 440.8288\n", + "1961-02 414.1672\n", + "1961-03 460.3095\n", + "1961-04 489.8045\n", + "1961-05 500.6160\n", + "1961-06 567.9572\n", + "1961-07 657.4233\n", + "1961-08 648.7133\n", + "1961-09 541.5307\n", + "1961-10 472.1916\n", + "1961-11 413.6633\n", + "1961-12 455.5921\n", + "1962-01 469.4208\n", + "1962-02 440.8854\n", + "1962-03 489.8456\n", + "1962-04 521.0661\n", + "1962-05 532.3985\n", + "1962-06 603.8253\n", + "1962-07 698.7240\n", + "1962-08 689.2546\n", + "1962-09 575.1983\n", + "1962-10 501.3970\n", + "1962-11 439.1175\n", + "1962-12 483.4833\n", + "1963-01 498.0127\n", + "1963-02 467.6037\n", + "1963-03 519.3818\n", + "1963-04 552.3276\n", + "1963-05 564.1811\n", + "1963-06 639.6934\n", + "1963-07 740.0248\n", + "1963-08 729.7959\n", + "1963-09 608.8659" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 产生未来36个周期的预测结果\n", + "predict_model(best, fh = 36)" + ] + }, + { + "cell_type": "markdown", + "id": "e4384735", + "metadata": {}, + "source": [ + "## Save Model" + ] + }, + { + "cell_type": "markdown", + "id": "cd63f053", + "metadata": {}, + "source": [ + "最后,您可以使用 pycaret 的 `save_model` 函数将整个模型保存在磁盘上供以后使用。" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "4181de41", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Transformation Pipeline and Model Successfully Saved\n" + ] + }, + { + "data": { + "text/plain": [ + "(ForecastingPipeline(steps=[('forecaster',\n", + " TransformedTargetForecaster(steps=[('model',\n", + " AutoETS(seasonal='mul',\n", + " sp=12,\n", + " trend='add'))]))]),\n", + " 'my_first_pipeline.pkl')" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 保存模型\n", + "save_model(best, 'my_first_pipeline')" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "40ed5152", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Transformation Pipeline and Model Successfully Loaded\n" + ] + }, + { + "data": { + "text/html": [ + "
ForecastingPipeline(steps=[('forecaster',\n",
+       "                            TransformedTargetForecaster(steps=[('model',\n",
+       "                                                                AutoETS(seasonal='mul',\n",
+       "                                                                        sp=12,\n",
+       "                                                                        trend='add'))]))])
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "ForecastingPipeline(steps=[('forecaster',\n", + " TransformedTargetForecaster(steps=[('model',\n", + " AutoETS(seasonal='mul',\n", + " sp=12,\n", + " trend='add'))]))])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 加载模型\n", + "loaded_best_pipeline = load_model('my_first_pipeline')\n", + "loaded_best_pipeline" + ] + }, + { + "cell_type": "markdown", + "id": "b2c7d62e", + "metadata": {}, + "source": [ + "# 👇 逐个函数的详细概述" + ] + }, + { + "cell_type": "markdown", + "id": "e05937f5", + "metadata": {}, + "source": [ + "## ✅ Setup\n", + "此函数初始化训练环境并创建转换管道。在 PyCaret 中执行任何其他函数之前必须调用setup函数。`Setup`只有一个必需参数,即`data`. 所有其他参数都是可选的。" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "24e503be", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + " \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", + "
 DescriptionValue
0session_id123
1TargetNumber of airline passengers
2ApproachUnivariate
3Exogenous VariablesNot Present
4Original data shape(144, 1)
5Transformed data shape(144, 1)
6Transformed train set shape(141, 1)
7Transformed test set shape(3, 1)
8Rows with missing values0.0%
9Fold GeneratorExpandingWindowSplitter
10Fold Number3
11Enforce Prediction IntervalFalse
12Splits used for hyperparametersall
13User Defined Seasonal Period(s)None
14Ignore Seasonality TestFalse
15Seasonality Detection Algoauto
16Max Period to Consider60
17Seasonal Period(s) Tested[12, 24, 36, 11, 48]
18Significant Seasonal Period(s)[12, 24, 36, 11, 48]
19Significant Seasonal Period(s) without Harmonics[48, 36, 11]
20Remove HarmonicsFalse
21Harmonics Order Methodharmonic_max
22Num Seasonalities to Use1
23All Seasonalities to Use[12]
24Primary Seasonality12
25Seasonality PresentTrue
26Target Strictly PositiveTrue
27Target White NoiseNo
28Recommended d1
29Recommended Seasonal D1
30PreprocessFalse
31CPU Jobs-1
32Use GPUFalse
33Log ExperimentFalse
34Experiment Namets-default-name
35USId85f
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "s = setup(data, fh = 3, session_id = 123)" + ] + }, + { + "cell_type": "markdown", + "id": "924d198b", + "metadata": {}, + "source": [ + "要访问setup函数创建的所有内置变量,例如变换后的数据集、random_state 等,您可以使用`get_config`方法。" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "76128b08", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'USI',\n", + " 'X',\n", + " 'X_test',\n", + " 'X_test_transformed',\n", + " 'X_train',\n", + " 'X_train_transformed',\n", + " 'X_transformed',\n", + " '_available_plots',\n", + " '_ml_usecase',\n", + " 'all_sps_to_use',\n", + " 'approach_type',\n", + " 'candidate_sps',\n", + " 'data',\n", + " 'dataset',\n", + " 'dataset_transformed',\n", + " 'enforce_exogenous',\n", + " 'enforce_pi',\n", + " 'exogenous_present',\n", + " 'exp_id',\n", + " 'exp_name_log',\n", + " 'fh',\n", + " 'fold_generator',\n", + " 'fold_param',\n", + " 'gpu_n_jobs_param',\n", + " 'gpu_param',\n", + " 'html_param',\n", + " 'idx',\n", + " 'index_type',\n", + " 'is_multiclass',\n", + " 'log_plots_param',\n", + " 'logging_param',\n", + " 'memory',\n", + " 'model_engines',\n", + " 'n_jobs_param',\n", + " 'pipeline',\n", + " 'primary_sp_to_use',\n", + " 'seasonality_present',\n", + " 'seed',\n", + " 'significant_sps',\n", + " 'significant_sps_no_harmonics',\n", + " 'strictly_positive',\n", + " 'test',\n", + " 'test_transformed',\n", + " 'train',\n", + " 'train_transformed',\n", + " 'variable_and_property_keys',\n", + " 'variables',\n", + " 'y',\n", + " 'y_test',\n", + " 'y_test_transformed',\n", + " 'y_train',\n", + " 'y_train_transformed',\n", + " 'y_transformed'}" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 查看所有可访问的内置变量\n", + "get_config()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "dbc43292", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Period\n", + "1949-01 112.0\n", + "1949-02 118.0\n", + "1949-03 132.0\n", + "1949-04 129.0\n", + "1949-05 121.0\n", + " ... \n", + "1960-05 472.0\n", + "1960-06 535.0\n", + "1960-07 622.0\n", + "1960-08 606.0\n", + "1960-09 508.0\n", + "Freq: M, Name: Number of airline passengers, Length: 141, dtype: float64" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 访问 y_train_transformed 内置变量\n", + "get_config('y_train_transformed')" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "ef9cd061", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The current seed is: 123\n", + "The new seed is: 786\n" + ] + } + ], + "source": [ + "# 另一个例子: 访问 seed\n", + "print(\"The current seed is: {}\".format(get_config('seed')))\n", + "\n", + "# 我们使用 set_config 来改变 seed变量的值\n", + "set_config('seed', 786)\n", + "print(\"The new seed is: {}\".format(get_config('seed')))" + ] + }, + { + "cell_type": "markdown", + "id": "7afbe41d", + "metadata": {}, + "source": [ + "所有预处理配置和实验设置/参数都传递到`setup`函数中。要查看所有可用参数,请查看文档字符串:" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "2885a14f", + "metadata": {}, + "outputs": [], + "source": [ + "# help(setup)" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "34ae0fce", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + " \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", + "
 DescriptionValue
0session_id123
1TargetNumber of airline passengers
2ApproachUnivariate
3Exogenous VariablesNot Present
4Original data shape(144, 1)
5Transformed data shape(144, 1)
6Transformed train set shape(141, 1)
7Transformed test set shape(3, 1)
8Rows with missing values0.0%
9Fold GeneratorExpandingWindowSplitter
10Fold Number3
11Enforce Prediction IntervalFalse
12Splits used for hyperparametersall
13User Defined Seasonal Period(s)None
14Ignore Seasonality TestFalse
15Seasonality Detection Algoauto
16Max Period to Consider60
17Seasonal Period(s) Tested[12, 24, 36, 11, 48]
18Significant Seasonal Period(s)[12, 24, 36, 11, 48]
19Significant Seasonal Period(s) without Harmonics[48, 36, 11]
20Remove HarmonicsFalse
21Harmonics Order Methodharmonic_max
22Num Seasonalities to Use1
23All Seasonalities to Use[12]
24Primary Seasonality12
25Seasonality PresentTrue
26Target Strictly PositiveTrue
27Target White NoiseNo
28Recommended d1
29Recommended Seasonal D1
30PreprocessTrue
31Numerical Imputation (Target)drift
32Transformation (Target)None
33Scaling (Target)None
34Feature Engineering (Target) - Reduced RegressionFalse
35CPU Jobs-1
36Use GPUFalse
37Log ExperimentFalse
38Experiment Namets-default-name
39USI7a02
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 初始化 setup 设置fold_strategy = expanding\n", + "s = setup(data, fh = 3, session_id = 123,\n", + " fold_strategy = 'expanding', numeric_imputation_target = 'drift')" + ] + }, + { + "cell_type": "markdown", + "id": "36b8b803", + "metadata": {}, + "source": [ + "## ✅ Compare Models\n", + "\n", + "此函数使用交叉验证训练和评估模型库中所有可用模型的性能。 此函数的输出是具有平均交叉验证分数的评分表格。 可以使用`get_metrics`函数访问在 CV 期间评估的指标。 可以使用 `add_metric` 和 `remove_metric` 函数添加或删除自定义指标。" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "a3350418", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ModelMASERMSSEMAERMSEMAPESMAPER2TT (Sec)
etsETS0.49120.554115.094319.31050.03180.0316-0.44640.1100
exp_smoothExponential Smoothing0.49290.556115.147719.37920.03200.0317-0.46040.1133
arimaARIMA0.69640.711021.375724.77740.04470.0456-0.54950.0967
auto_arimaAuto ARIMA0.71360.694521.938924.21370.04590.0464-0.545411.5833
par_cds_dtPassive Aggressive w/ Cond. Deseasonalize & Detrending0.72120.669622.179423.36730.04530.04680.02610.0833
lar_cds_dtLeast Angular Regressor w/ Cond. Deseasonalize & Detrending0.85020.826426.264628.99230.05130.05340.03650.0833
huber_cds_dtHuber w/ Cond. Deseasonalize & Detrending0.86580.836226.782629.39470.05160.05360.15010.0867
lr_cds_dtLinear w/ Cond. Deseasonalize & Detrending0.89040.872227.526630.62430.05340.0555-0.00920.1033
ridge_cds_dtRidge w/ Cond. Deseasonalize & Detrending0.89050.872227.527030.62460.05340.0555-0.00920.1000
en_cds_dtElastic Net w/ Cond. Deseasonalize & Detrending0.89440.874627.653530.71270.05350.0557-0.00630.1033
llar_cds_dtLasso Least Angular Regressor w/ Cond. Deseasonalize & Detrending0.89660.875827.722430.75800.05360.0558-0.00420.0867
lasso_cds_dtLasso w/ Cond. Deseasonalize & Detrending0.89660.875927.723130.75940.05360.0558-0.00400.1067
br_cds_dtBayesian Ridge w/ Cond. Deseasonalize & Detrending0.91560.887828.318831.18210.05470.0569-0.02090.0767
knn_cds_dtK Neighbors w/ Cond. Deseasonalize & Detrending1.06950.992433.150034.92770.06310.0656-0.16820.0967
thetaTheta Forecaster1.08391.039333.322336.25550.06860.0710-1.79260.0533
et_cds_dtExtra Trees w/ Cond. Deseasonalize & Detrending1.16941.088436.216038.27290.06940.0727-0.43520.1567
dt_cds_dtDecision Tree w/ Cond. Deseasonalize & Detrending1.19301.134636.910639.85180.07330.0769-0.81350.0833
lightgbm_cds_dtLight Gradient Boosting w/ Cond. Deseasonalize & Detrending1.20191.136237.235939.98270.07130.0746-0.60510.0867
omp_cds_dtOrthogonal Matching Pursuit w/ Cond. Deseasonalize & Detrending1.21711.147537.645740.30700.07240.0757-0.70570.0800
ada_cds_dtAdaBoost w/ Cond. Deseasonalize & Detrending1.24151.174538.487341.34660.07280.0765-0.57110.1133
rf_cds_dtRandom Forest w/ Cond. Deseasonalize & Detrending1.25741.183738.873641.54800.07530.0789-0.94580.1667
gbr_cds_dtGradient Boosting w/ Cond. Deseasonalize & Detrending1.27021.182039.300441.53550.07600.0797-0.83440.1033
xgboost_cds_dtExtreme Gradient Boosting w/ Cond. Deseasonalize & Detrending1.31981.204540.834242.30450.07920.0831-0.91920.1133
naiveNaive Forecaster1.56541.495148.444452.52320.09200.0981-1.83440.0433
snaiveSeasonal Naive Forecaster1.67411.534351.666753.73500.10520.1117-4.53880.0467
polytrendPolynomial Trend Forecaster2.15532.109666.981774.40480.12410.1350-4.25250.0367
crostonCroston2.45652.351376.395382.97940.13940.1562-4.58950.0400
grand_meansGrand Means Forecaster7.30656.5029226.0502228.38800.44690.5821-72.11830.0467
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "best = compare_models()" + ] + }, + { + "cell_type": "markdown", + "id": "cd18dcf6", + "metadata": {}, + "source": [ + "`compare_models` 默认使用模型库中的所有模型(除了带有 `Turbo=False` 的模型)。 要查看所有可用模型,您可以使用函数 `models()`" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "432e93d7", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + " \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", + "
NameReferenceTurbo
ID
naiveNaive Forecastersktime.forecasting.naive.NaiveForecasterTrue
grand_meansGrand Means Forecastersktime.forecasting.naive.NaiveForecasterTrue
snaiveSeasonal Naive Forecastersktime.forecasting.naive.NaiveForecasterTrue
polytrendPolynomial Trend Forecastersktime.forecasting.trend.PolynomialTrendForeca...True
arimaARIMAsktime.forecasting.arima.ARIMATrue
auto_arimaAuto ARIMAsktime.forecasting.arima.AutoARIMATrue
exp_smoothExponential Smoothingsktime.forecasting.exp_smoothing.ExponentialSm...True
crostonCrostonsktime.forecasting.croston.CrostonTrue
etsETSsktime.forecasting.ets.AutoETSTrue
thetaTheta Forecastersktime.forecasting.theta.ThetaForecasterTrue
tbatsTBATSsktime.forecasting.tbats.TBATSFalse
batsBATSsktime.forecasting.bats.BATSFalse
lr_cds_dtLinear w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
en_cds_dtElastic Net w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
ridge_cds_dtRidge w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
lasso_cds_dtLasso w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
lar_cds_dtLeast Angular Regressor w/ Cond. Deseasonalize...pycaret.containers.models.time_series.BaseCdsD...True
llar_cds_dtLasso Least Angular Regressor w/ Cond. Deseaso...pycaret.containers.models.time_series.BaseCdsD...True
br_cds_dtBayesian Ridge w/ Cond. Deseasonalize & Detren...pycaret.containers.models.time_series.BaseCdsD...True
huber_cds_dtHuber w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
par_cds_dtPassive Aggressive w/ Cond. Deseasonalize & De...pycaret.containers.models.time_series.BaseCdsD...True
omp_cds_dtOrthogonal Matching Pursuit w/ Cond. Deseasona...pycaret.containers.models.time_series.BaseCdsD...True
knn_cds_dtK Neighbors w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
dt_cds_dtDecision Tree w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
rf_cds_dtRandom Forest w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
et_cds_dtExtra Trees w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
gbr_cds_dtGradient Boosting w/ Cond. Deseasonalize & Det...pycaret.containers.models.time_series.BaseCdsD...True
ada_cds_dtAdaBoost w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
xgboost_cds_dtExtreme Gradient Boosting w/ Cond. Deseasonali...pycaret.containers.models.time_series.BaseCdsD...True
lightgbm_cds_dtLight Gradient Boosting w/ Cond. Deseasonalize...pycaret.containers.models.time_series.BaseCdsD...True
\n", + "
" + ], + "text/plain": [ + " Name \\\n", + "ID \n", + "naive Naive Forecaster \n", + "grand_means Grand Means Forecaster \n", + "snaive Seasonal Naive Forecaster \n", + "polytrend Polynomial Trend Forecaster \n", + "arima ARIMA \n", + "auto_arima Auto ARIMA \n", + "exp_smooth Exponential Smoothing \n", + "croston Croston \n", + "ets ETS \n", + "theta Theta Forecaster \n", + "tbats TBATS \n", + "bats BATS \n", + "lr_cds_dt Linear w/ Cond. Deseasonalize & Detrending \n", + "en_cds_dt Elastic Net w/ Cond. Deseasonalize & Detrending \n", + "ridge_cds_dt Ridge w/ Cond. Deseasonalize & Detrending \n", + "lasso_cds_dt Lasso w/ Cond. Deseasonalize & Detrending \n", + "lar_cds_dt Least Angular Regressor w/ Cond. Deseasonalize... \n", + "llar_cds_dt Lasso Least Angular Regressor w/ Cond. Deseaso... \n", + "br_cds_dt Bayesian Ridge w/ Cond. Deseasonalize & Detren... \n", + "huber_cds_dt Huber w/ Cond. Deseasonalize & Detrending \n", + "par_cds_dt Passive Aggressive w/ Cond. Deseasonalize & De... \n", + "omp_cds_dt Orthogonal Matching Pursuit w/ Cond. Deseasona... \n", + "knn_cds_dt K Neighbors w/ Cond. Deseasonalize & Detrending \n", + "dt_cds_dt Decision Tree w/ Cond. Deseasonalize & Detrending \n", + "rf_cds_dt Random Forest w/ Cond. Deseasonalize & Detrending \n", + "et_cds_dt Extra Trees w/ Cond. Deseasonalize & Detrending \n", + "gbr_cds_dt Gradient Boosting w/ Cond. Deseasonalize & Det... \n", + "ada_cds_dt AdaBoost w/ Cond. Deseasonalize & Detrending \n", + "xgboost_cds_dt Extreme Gradient Boosting w/ Cond. Deseasonali... \n", + "lightgbm_cds_dt Light Gradient Boosting w/ Cond. Deseasonalize... \n", + "\n", + " Reference Turbo \n", + "ID \n", + "naive sktime.forecasting.naive.NaiveForecaster True \n", + "grand_means sktime.forecasting.naive.NaiveForecaster True \n", + "snaive sktime.forecasting.naive.NaiveForecaster True \n", + "polytrend sktime.forecasting.trend.PolynomialTrendForeca... True \n", + "arima sktime.forecasting.arima.ARIMA True \n", + "auto_arima sktime.forecasting.arima.AutoARIMA True \n", + "exp_smooth sktime.forecasting.exp_smoothing.ExponentialSm... True \n", + "croston sktime.forecasting.croston.Croston True \n", + "ets sktime.forecasting.ets.AutoETS True \n", + "theta sktime.forecasting.theta.ThetaForecaster True \n", + "tbats sktime.forecasting.tbats.TBATS False \n", + "bats sktime.forecasting.bats.BATS False \n", + "lr_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "en_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "ridge_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "lasso_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "lar_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "llar_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "br_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "huber_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "par_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "omp_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "knn_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "dt_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "rf_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "et_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "gbr_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "ada_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "xgboost_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "lightgbm_cds_dt pycaret.containers.models.time_series.BaseCdsD... True " + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 查看所有可用模型\n", + "models()" + ] + }, + { + "cell_type": "markdown", + "id": "f588f54b", + "metadata": {}, + "source": [ + "您可以使用 `compare_models` 中的 `include` 和 `exclude` 参数仅训练特定模型或通过在 `exclude` 参数中传递模型 ID 将特定模型排除在训练之外。" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "f2a7e578", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "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", + "
 ModelMASERMSSEMAERMSEMAPESMAPER2TT (Sec)
etsETS0.49120.554115.094319.31050.03180.0316-0.44640.0900
arimaARIMA0.69640.711021.375724.77740.04470.0456-0.54950.0700
thetaTheta Forecaster1.08391.039333.322336.25550.06860.0710-1.79260.0333
naiveNaive Forecaster1.56541.495148.444452.52320.09200.0981-1.83440.0267
snaiveSeasonal Naive Forecaster1.67411.534351.666753.73500.10520.1117-4.53880.0267
polytrendPolynomial Trend Forecaster2.15532.109666.981774.40480.12410.1350-4.25250.0267
grand_meansGrand Means Forecaster7.30656.5029226.0502228.38800.44690.5821-72.11830.0300
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "compare_ts_models = compare_models(include = ['ets', 'arima', 'theta', 'naive', 'snaive', 'grand_means', 'polytrend'])" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "c15a467e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
AutoETS(seasonal='mul', sp=12, trend='add')
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "AutoETS(seasonal='mul', sp=12, trend='add')" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "compare_ts_models" + ] + }, + { + "cell_type": "markdown", + "id": "af9ae6cd", + "metadata": {}, + "source": [ + "上面的函数返回经过训练的模型对象作为输出。 评分表格只显示不返回。 如果您需要访问评分表格,您可以使用`pull`函数来访问dataframe。" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "fc529e25", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
ModelMASERMSSEMAERMSEMAPESMAPER2TT (Sec)
etsETS0.49120.554115.094319.31050.03180.0316-0.44640.0900
arimaARIMA0.69640.71121.375724.77740.04470.0456-0.54950.0700
thetaTheta Forecaster1.08391.039333.322336.25550.06860.071-1.79260.0333
naiveNaive Forecaster1.56541.495148.444452.52320.0920.0981-1.83440.0267
snaiveSeasonal Naive Forecaster1.67411.534351.666753.7350.10520.1117-4.53880.0267
polytrendPolynomial Trend Forecaster2.15532.109666.981774.40480.12410.135-4.25250.0267
grand_meansGrand Means Forecaster7.30656.5029226.0502228.3880.44690.5821-72.11830.0300
\n", + "
" + ], + "text/plain": [ + " Model MASE RMSSE MAE RMSE \\\n", + "ets ETS 0.4912 0.5541 15.0943 19.3105 \n", + "arima ARIMA 0.6964 0.711 21.3757 24.7774 \n", + "theta Theta Forecaster 1.0839 1.0393 33.3223 36.2555 \n", + "naive Naive Forecaster 1.5654 1.4951 48.4444 52.5232 \n", + "snaive Seasonal Naive Forecaster 1.6741 1.5343 51.6667 53.735 \n", + "polytrend Polynomial Trend Forecaster 2.1553 2.1096 66.9817 74.4048 \n", + "grand_means Grand Means Forecaster 7.3065 6.5029 226.0502 228.388 \n", + "\n", + " MAPE SMAPE R2 TT (Sec) \n", + "ets 0.0318 0.0316 -0.4464 0.0900 \n", + "arima 0.0447 0.0456 -0.5495 0.0700 \n", + "theta 0.0686 0.071 -1.7926 0.0333 \n", + "naive 0.092 0.0981 -1.8344 0.0267 \n", + "snaive 0.1052 0.1117 -4.5388 0.0267 \n", + "polytrend 0.1241 0.135 -4.2525 0.0267 \n", + "grand_means 0.4469 0.5821 -72.1183 0.0300 " + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "compare_ts_models_results = pull()\n", + "compare_ts_models_results" + ] + }, + { + "cell_type": "markdown", + "id": "05a72fc2", + "metadata": {}, + "source": [ + "默认情况下,`compare_models`根据`sort`参数中定义的指标返回性能最佳的单个模型。 让我们更改代码以返回 3 个基于`MAE`的顶级模型。" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "1066dd07", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
 ModelMASERMSSEMAERMSEMAPESMAPER2TT (Sec)
etsETS0.49120.554115.094319.31050.03180.0316-0.44640.1100
exp_smoothExponential Smoothing0.49290.556115.147719.37920.03200.0317-0.46040.0867
arimaARIMA0.69640.711021.375724.77740.04470.0456-0.54950.0767
auto_arimaAuto ARIMA0.71360.694521.938924.21370.04590.0464-0.545411.3167
par_cds_dtPassive Aggressive w/ Cond. Deseasonalize & Detrending0.72120.669622.179423.36730.04530.04680.02610.1033
lar_cds_dtLeast Angular Regressor w/ Cond. Deseasonalize & Detrending0.85020.826426.264628.99230.05130.05340.03650.1000
huber_cds_dtHuber w/ Cond. Deseasonalize & Detrending0.86580.836226.782629.39470.05160.05360.15010.1067
lr_cds_dtLinear w/ Cond. Deseasonalize & Detrending0.89040.872227.526630.62430.05340.0555-0.00920.0967
ridge_cds_dtRidge w/ Cond. Deseasonalize & Detrending0.89050.872227.527030.62460.05340.0555-0.00920.0967
en_cds_dtElastic Net w/ Cond. Deseasonalize & Detrending0.89440.874627.653530.71270.05350.0557-0.00630.1033
llar_cds_dtLasso Least Angular Regressor w/ Cond. Deseasonalize & Detrending0.89660.875827.722430.75800.05360.0558-0.00420.1033
lasso_cds_dtLasso w/ Cond. Deseasonalize & Detrending0.89660.875927.723130.75940.05360.0558-0.00400.1100
br_cds_dtBayesian Ridge w/ Cond. Deseasonalize & Detrending0.91560.887828.318831.18210.05470.0569-0.02090.1033
knn_cds_dtK Neighbors w/ Cond. Deseasonalize & Detrending1.06950.992433.150034.92770.06310.0656-0.16820.1133
thetaTheta Forecaster1.08391.039333.322336.25550.06860.0710-1.79260.0533
et_cds_dtExtra Trees w/ Cond. Deseasonalize & Detrending1.16941.088436.216038.27290.06940.0727-0.43520.1667
dt_cds_dtDecision Tree w/ Cond. Deseasonalize & Detrending1.19301.134636.910639.85180.07330.0769-0.81350.1000
lightgbm_cds_dtLight Gradient Boosting w/ Cond. Deseasonalize & Detrending1.20191.136237.235939.98270.07130.0746-0.60510.1100
omp_cds_dtOrthogonal Matching Pursuit w/ Cond. Deseasonalize & Detrending1.21711.147537.645740.30700.07240.0757-0.70570.1000
ada_cds_dtAdaBoost w/ Cond. Deseasonalize & Detrending1.24151.174538.487341.34660.07280.0765-0.57110.1300
rf_cds_dtRandom Forest w/ Cond. Deseasonalize & Detrending1.25741.183738.873641.54800.07530.0789-0.94580.1933
gbr_cds_dtGradient Boosting w/ Cond. Deseasonalize & Detrending1.27021.182039.300441.53550.07600.0797-0.83440.1233
xgboost_cds_dtExtreme Gradient Boosting w/ Cond. Deseasonalize & Detrending1.31981.204540.834242.30450.07920.0831-0.91920.1267
naiveNaive Forecaster1.56541.495148.444452.52320.09200.0981-1.83440.0267
snaiveSeasonal Naive Forecaster1.67411.534351.666753.73500.10520.1117-4.53880.0300
polytrendPolynomial Trend Forecaster2.15532.109666.981774.40480.12410.1350-4.25250.0300
crostonCroston2.45652.351376.395382.97940.13940.1562-4.58950.0400
grand_meansGrand Means Forecaster7.30656.5029226.0502228.38800.44690.5821-72.11830.0300
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "best_mae_models_top3 = compare_models(sort = 'MAE', n_select = 3)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "aa259708", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[AutoETS(seasonal='mul', sp=12, trend='add'),\n", + " ExponentialSmoothing(seasonal='mul', sp=12, trend='add'),\n", + " ARIMA(seasonal_order=(0, 1, 0, 12))]" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 列出前3个MAE指标最优的模型\n", + "best_mae_models_top3" + ] + }, + { + "cell_type": "markdown", + "id": "1d91d27e", + "metadata": {}, + "source": [ + "您可能会发现在`compare_models`中非常有用的其他一些参数是:\n", + "\n", + "- fold\n", + "- cross_validation\n", + "- budget_time\n", + "- errors\n", + "- parallel\n", + "- engine\n", + "\n", + "您可以查看函数的文档字符串以获取更多信息。" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "f0c49e0b", + "metadata": {}, + "outputs": [], + "source": [ + "# help(compare_models)" + ] + }, + { + "cell_type": "markdown", + "id": "f8b75e77", + "metadata": {}, + "source": [ + "## ✅ 检查统计数据\n", + "`check_stats`函数用于获取汇总统计数据并对原始数据或模型残差执行统计检测。" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "a5990dc3", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + " \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", + " \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", + "
TestTest NameDataPropertySettingValue
0SummaryStatisticsTransformedLength144.0
1SummaryStatisticsTransformed# Missing Values0.0
2SummaryStatisticsTransformedMean280.298611
3SummaryStatisticsTransformedMedian265.5
4SummaryStatisticsTransformedStandard Deviation119.966317
5SummaryStatisticsTransformedVariance14391.917201
6SummaryStatisticsTransformedKurtosis-0.364942
7SummaryStatisticsTransformedSkewness0.58316
8SummaryStatisticsTransformed# Distinct Values118.0
9White NoiseLjung-BoxTransformedTest Statictic{'alpha': 0.05, 'K': 24}1606.083817
10White NoiseLjung-BoxTransformedTest Statictic{'alpha': 0.05, 'K': 48}1933.155822
11White NoiseLjung-BoxTransformedp-value{'alpha': 0.05, 'K': 24}0.0
12White NoiseLjung-BoxTransformedp-value{'alpha': 0.05, 'K': 48}0.0
13White NoiseLjung-BoxTransformedWhite Noise{'alpha': 0.05, 'K': 24}False
14White NoiseLjung-BoxTransformedWhite Noise{'alpha': 0.05, 'K': 48}False
15StationarityADFTransformedStationarity{'alpha': 0.05}False
16StationarityADFTransformedp-value{'alpha': 0.05}0.99188
17StationarityADFTransformedTest Statistic{'alpha': 0.05}0.815369
18StationarityADFTransformedCritical Value 1%{'alpha': 0.05}-3.481682
19StationarityADFTransformedCritical Value 5%{'alpha': 0.05}-2.884042
20StationarityADFTransformedCritical Value 10%{'alpha': 0.05}-2.57877
21StationarityKPSSTransformedTrend Stationarity{'alpha': 0.05}True
22StationarityKPSSTransformedp-value{'alpha': 0.05}0.1
23StationarityKPSSTransformedTest Statistic{'alpha': 0.05}0.09615
24StationarityKPSSTransformedCritical Value 10%{'alpha': 0.05}0.119
25StationarityKPSSTransformedCritical Value 5%{'alpha': 0.05}0.146
26StationarityKPSSTransformedCritical Value 2.5%{'alpha': 0.05}0.176
27StationarityKPSSTransformedCritical Value 1%{'alpha': 0.05}0.216
28NormalityShapiroTransformedNormality{'alpha': 0.05}False
29NormalityShapiroTransformedp-value{'alpha': 0.05}0.000068
\n", + "
" + ], + "text/plain": [ + " Test Test Name Data Property \\\n", + "0 Summary Statistics Transformed Length \n", + "1 Summary Statistics Transformed # Missing Values \n", + "2 Summary Statistics Transformed Mean \n", + "3 Summary Statistics Transformed Median \n", + "4 Summary Statistics Transformed Standard Deviation \n", + "5 Summary Statistics Transformed Variance \n", + "6 Summary Statistics Transformed Kurtosis \n", + "7 Summary Statistics Transformed Skewness \n", + "8 Summary Statistics Transformed # Distinct Values \n", + "9 White Noise Ljung-Box Transformed Test Statictic \n", + "10 White Noise Ljung-Box Transformed Test Statictic \n", + "11 White Noise Ljung-Box Transformed p-value \n", + "12 White Noise Ljung-Box Transformed p-value \n", + "13 White Noise Ljung-Box Transformed White Noise \n", + "14 White Noise Ljung-Box Transformed White Noise \n", + "15 Stationarity ADF Transformed Stationarity \n", + "16 Stationarity ADF Transformed p-value \n", + "17 Stationarity ADF Transformed Test Statistic \n", + "18 Stationarity ADF Transformed Critical Value 1% \n", + "19 Stationarity ADF Transformed Critical Value 5% \n", + "20 Stationarity ADF Transformed Critical Value 10% \n", + "21 Stationarity KPSS Transformed Trend Stationarity \n", + "22 Stationarity KPSS Transformed p-value \n", + "23 Stationarity KPSS Transformed Test Statistic \n", + "24 Stationarity KPSS Transformed Critical Value 10% \n", + "25 Stationarity KPSS Transformed Critical Value 5% \n", + "26 Stationarity KPSS Transformed Critical Value 2.5% \n", + "27 Stationarity KPSS Transformed Critical Value 1% \n", + "28 Normality Shapiro Transformed Normality \n", + "29 Normality Shapiro Transformed p-value \n", + "\n", + " Setting Value \n", + "0 144.0 \n", + "1 0.0 \n", + "2 280.298611 \n", + "3 265.5 \n", + "4 119.966317 \n", + "5 14391.917201 \n", + "6 -0.364942 \n", + "7 0.58316 \n", + "8 118.0 \n", + "9 {'alpha': 0.05, 'K': 24} 1606.083817 \n", + "10 {'alpha': 0.05, 'K': 48} 1933.155822 \n", + "11 {'alpha': 0.05, 'K': 24} 0.0 \n", + "12 {'alpha': 0.05, 'K': 48} 0.0 \n", + "13 {'alpha': 0.05, 'K': 24} False \n", + "14 {'alpha': 0.05, 'K': 48} False \n", + "15 {'alpha': 0.05} False \n", + "16 {'alpha': 0.05} 0.99188 \n", + "17 {'alpha': 0.05} 0.815369 \n", + "18 {'alpha': 0.05} -3.481682 \n", + "19 {'alpha': 0.05} -2.884042 \n", + "20 {'alpha': 0.05} -2.57877 \n", + "21 {'alpha': 0.05} True \n", + "22 {'alpha': 0.05} 0.1 \n", + "23 {'alpha': 0.05} 0.09615 \n", + "24 {'alpha': 0.05} 0.119 \n", + "25 {'alpha': 0.05} 0.146 \n", + "26 {'alpha': 0.05} 0.176 \n", + "27 {'alpha': 0.05} 0.216 \n", + "28 {'alpha': 0.05} False \n", + "29 {'alpha': 0.05} 0.000068 " + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 对原始数据进行统计检测\n", + "check_stats()" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "4aae2067", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + " \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", + " \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", + "
TestTest NameDataPropertySettingValue
0SummaryStatisticsResidualLength141.0
1SummaryStatisticsResidual# Missing Values0.0
2SummaryStatisticsResidualMean-0.040882
3SummaryStatisticsResidualMedian-0.9737
4SummaryStatisticsResidualStandard Deviation10.584861
5SummaryStatisticsResidualVariance112.039282
6SummaryStatisticsResidualKurtosis1.564369
7SummaryStatisticsResidualSkewness-0.180448
8SummaryStatisticsResidual# Distinct Values141.0
9White NoiseLjung-BoxResidualTest Statictic{'alpha': 0.05, 'K': 24}41.375602
10White NoiseLjung-BoxResidualTest Statictic{'alpha': 0.05, 'K': 48}62.2296
11White NoiseLjung-BoxResidualp-value{'alpha': 0.05, 'K': 24}0.015143
12White NoiseLjung-BoxResidualp-value{'alpha': 0.05, 'K': 48}0.081358
13White NoiseLjung-BoxResidualWhite Noise{'alpha': 0.05, 'K': 24}False
14White NoiseLjung-BoxResidualWhite Noise{'alpha': 0.05, 'K': 48}True
15StationarityADFResidualStationarity{'alpha': 0.05}True
16StationarityADFResidualp-value{'alpha': 0.05}0.000377
17StationarityADFResidualTest Statistic{'alpha': 0.05}-4.341133
18StationarityADFResidualCritical Value 1%{'alpha': 0.05}-3.481282
19StationarityADFResidualCritical Value 5%{'alpha': 0.05}-2.883868
20StationarityADFResidualCritical Value 10%{'alpha': 0.05}-2.578677
21StationarityKPSSResidualTrend Stationarity{'alpha': 0.05}True
22StationarityKPSSResidualp-value{'alpha': 0.05}0.1
23StationarityKPSSResidualTest Statistic{'alpha': 0.05}0.036132
24StationarityKPSSResidualCritical Value 10%{'alpha': 0.05}0.119
25StationarityKPSSResidualCritical Value 5%{'alpha': 0.05}0.146
26StationarityKPSSResidualCritical Value 2.5%{'alpha': 0.05}0.176
27StationarityKPSSResidualCritical Value 1%{'alpha': 0.05}0.216
28NormalityShapiroResidualNormality{'alpha': 0.05}False
29NormalityShapiroResidualp-value{'alpha': 0.05}0.026096
\n", + "
" + ], + "text/plain": [ + " Test Test Name Data Property \\\n", + "0 Summary Statistics Residual Length \n", + "1 Summary Statistics Residual # Missing Values \n", + "2 Summary Statistics Residual Mean \n", + "3 Summary Statistics Residual Median \n", + "4 Summary Statistics Residual Standard Deviation \n", + "5 Summary Statistics Residual Variance \n", + "6 Summary Statistics Residual Kurtosis \n", + "7 Summary Statistics Residual Skewness \n", + "8 Summary Statistics Residual # Distinct Values \n", + "9 White Noise Ljung-Box Residual Test Statictic \n", + "10 White Noise Ljung-Box Residual Test Statictic \n", + "11 White Noise Ljung-Box Residual p-value \n", + "12 White Noise Ljung-Box Residual p-value \n", + "13 White Noise Ljung-Box Residual White Noise \n", + "14 White Noise Ljung-Box Residual White Noise \n", + "15 Stationarity ADF Residual Stationarity \n", + "16 Stationarity ADF Residual p-value \n", + "17 Stationarity ADF Residual Test Statistic \n", + "18 Stationarity ADF Residual Critical Value 1% \n", + "19 Stationarity ADF Residual Critical Value 5% \n", + "20 Stationarity ADF Residual Critical Value 10% \n", + "21 Stationarity KPSS Residual Trend Stationarity \n", + "22 Stationarity KPSS Residual p-value \n", + "23 Stationarity KPSS Residual Test Statistic \n", + "24 Stationarity KPSS Residual Critical Value 10% \n", + "25 Stationarity KPSS Residual Critical Value 5% \n", + "26 Stationarity KPSS Residual Critical Value 2.5% \n", + "27 Stationarity KPSS Residual Critical Value 1% \n", + "28 Normality Shapiro Residual Normality \n", + "29 Normality Shapiro Residual p-value \n", + "\n", + " Setting Value \n", + "0 141.0 \n", + "1 0.0 \n", + "2 -0.040882 \n", + "3 -0.9737 \n", + "4 10.584861 \n", + "5 112.039282 \n", + "6 1.564369 \n", + "7 -0.180448 \n", + "8 141.0 \n", + "9 {'alpha': 0.05, 'K': 24} 41.375602 \n", + "10 {'alpha': 0.05, 'K': 48} 62.2296 \n", + "11 {'alpha': 0.05, 'K': 24} 0.015143 \n", + "12 {'alpha': 0.05, 'K': 48} 0.081358 \n", + "13 {'alpha': 0.05, 'K': 24} False \n", + "14 {'alpha': 0.05, 'K': 48} True \n", + "15 {'alpha': 0.05} True \n", + "16 {'alpha': 0.05} 0.000377 \n", + "17 {'alpha': 0.05} -4.341133 \n", + "18 {'alpha': 0.05} -3.481282 \n", + "19 {'alpha': 0.05} -2.883868 \n", + "20 {'alpha': 0.05} -2.578677 \n", + "21 {'alpha': 0.05} True \n", + "22 {'alpha': 0.05} 0.1 \n", + "23 {'alpha': 0.05} 0.036132 \n", + "24 {'alpha': 0.05} 0.119 \n", + "25 {'alpha': 0.05} 0.146 \n", + "26 {'alpha': 0.05} 0.176 \n", + "27 {'alpha': 0.05} 0.216 \n", + "28 {'alpha': 0.05} False \n", + "29 {'alpha': 0.05} 0.026096 " + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 对最优模型的残差进行统计检测\n", + "check_stats(estimator = best)" + ] + }, + { + "cell_type": "markdown", + "id": "9e6c47cb", + "metadata": {}, + "source": [ + "## ✅ 实验日志记录\n", + "PyCaret 集成了许多不同类型的实验日志记录器(默认 = 'mlflow')。要在 PyCaret 中打开实验跟踪,您可以设置`log_experiment`和`experiment_name`参数。它将根据定义的记录器自动跟踪所有指标、超参数等。" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "1af63fd0", + "metadata": {}, + "outputs": [], + "source": [ + "# from pycaret.time_series import *\n", + "# s = setup(data, fh = 3, session_id = 123, log_experiment='mlflow', experiment_name='airline_experiment')" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "42cd6120", + "metadata": {}, + "outputs": [], + "source": [ + "# compare models\n", + "# best = compare_models()" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "adc82ce5", + "metadata": {}, + "outputs": [], + "source": [ + "# start mlflow server on localhost:5000\n", + "# !mlflow ui" + ] + }, + { + "cell_type": "markdown", + "id": "a06f9df7", + "metadata": {}, + "source": [ + "默认情况下,PyCaret 使用 `MLFlow` 记录器,可以使用 `log_experiment` 参数进行更改。 以下记录器可用:\n", + " \n", + " - mlflow\n", + " - wandb\n", + " - comet_ml\n", + " - dagshub\n", + " \n", + "您可能会发现有用的其他日志记录相关参数是:\n", + "\n", + "- experiment_custom_tags\n", + "- log_plots\n", + "- log_data\n", + "- log_profile\n", + "\n", + "有关更多信息,请查看 `setup` 函数的文档字符串。" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "2f8b6aa1", + "metadata": {}, + "outputs": [], + "source": [ + "# help(setup)" + ] + }, + { + "cell_type": "markdown", + "id": "6ce0b555", + "metadata": {}, + "source": [ + "## ✅ Create Model\n", + "\n", + "此函数使用交叉验证训练和评估给定估计器的性能。 此函数的输出是一个评分表格,其中包含按fold计算的 CV 分数。 可以使用`get_metrics`函数访问在 CV 期间评估的指标。 可以使用 `add_metric` 和 `remove_metric` 函数添加或删除自定义指标。 可以使用模型函数访问所有可用模型。" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "837cebfa", + "metadata": {}, + "outputs": [ + { + "data": { + "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", + " \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", + "
NameReferenceTurbo
ID
naiveNaive Forecastersktime.forecasting.naive.NaiveForecasterTrue
grand_meansGrand Means Forecastersktime.forecasting.naive.NaiveForecasterTrue
snaiveSeasonal Naive Forecastersktime.forecasting.naive.NaiveForecasterTrue
polytrendPolynomial Trend Forecastersktime.forecasting.trend.PolynomialTrendForeca...True
arimaARIMAsktime.forecasting.arima.ARIMATrue
auto_arimaAuto ARIMAsktime.forecasting.arima.AutoARIMATrue
exp_smoothExponential Smoothingsktime.forecasting.exp_smoothing.ExponentialSm...True
crostonCrostonsktime.forecasting.croston.CrostonTrue
etsETSsktime.forecasting.ets.AutoETSTrue
thetaTheta Forecastersktime.forecasting.theta.ThetaForecasterTrue
tbatsTBATSsktime.forecasting.tbats.TBATSFalse
batsBATSsktime.forecasting.bats.BATSFalse
lr_cds_dtLinear w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
en_cds_dtElastic Net w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
ridge_cds_dtRidge w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
lasso_cds_dtLasso w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
lar_cds_dtLeast Angular Regressor w/ Cond. Deseasonalize...pycaret.containers.models.time_series.BaseCdsD...True
llar_cds_dtLasso Least Angular Regressor w/ Cond. Deseaso...pycaret.containers.models.time_series.BaseCdsD...True
br_cds_dtBayesian Ridge w/ Cond. Deseasonalize & Detren...pycaret.containers.models.time_series.BaseCdsD...True
huber_cds_dtHuber w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
par_cds_dtPassive Aggressive w/ Cond. Deseasonalize & De...pycaret.containers.models.time_series.BaseCdsD...True
omp_cds_dtOrthogonal Matching Pursuit w/ Cond. Deseasona...pycaret.containers.models.time_series.BaseCdsD...True
knn_cds_dtK Neighbors w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
dt_cds_dtDecision Tree w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
rf_cds_dtRandom Forest w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
et_cds_dtExtra Trees w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
gbr_cds_dtGradient Boosting w/ Cond. Deseasonalize & Det...pycaret.containers.models.time_series.BaseCdsD...True
ada_cds_dtAdaBoost w/ Cond. Deseasonalize & Detrendingpycaret.containers.models.time_series.BaseCdsD...True
xgboost_cds_dtExtreme Gradient Boosting w/ Cond. Deseasonali...pycaret.containers.models.time_series.BaseCdsD...True
lightgbm_cds_dtLight Gradient Boosting w/ Cond. Deseasonalize...pycaret.containers.models.time_series.BaseCdsD...True
\n", + "
" + ], + "text/plain": [ + " Name \\\n", + "ID \n", + "naive Naive Forecaster \n", + "grand_means Grand Means Forecaster \n", + "snaive Seasonal Naive Forecaster \n", + "polytrend Polynomial Trend Forecaster \n", + "arima ARIMA \n", + "auto_arima Auto ARIMA \n", + "exp_smooth Exponential Smoothing \n", + "croston Croston \n", + "ets ETS \n", + "theta Theta Forecaster \n", + "tbats TBATS \n", + "bats BATS \n", + "lr_cds_dt Linear w/ Cond. Deseasonalize & Detrending \n", + "en_cds_dt Elastic Net w/ Cond. Deseasonalize & Detrending \n", + "ridge_cds_dt Ridge w/ Cond. Deseasonalize & Detrending \n", + "lasso_cds_dt Lasso w/ Cond. Deseasonalize & Detrending \n", + "lar_cds_dt Least Angular Regressor w/ Cond. Deseasonalize... \n", + "llar_cds_dt Lasso Least Angular Regressor w/ Cond. Deseaso... \n", + "br_cds_dt Bayesian Ridge w/ Cond. Deseasonalize & Detren... \n", + "huber_cds_dt Huber w/ Cond. Deseasonalize & Detrending \n", + "par_cds_dt Passive Aggressive w/ Cond. Deseasonalize & De... \n", + "omp_cds_dt Orthogonal Matching Pursuit w/ Cond. Deseasona... \n", + "knn_cds_dt K Neighbors w/ Cond. Deseasonalize & Detrending \n", + "dt_cds_dt Decision Tree w/ Cond. Deseasonalize & Detrending \n", + "rf_cds_dt Random Forest w/ Cond. Deseasonalize & Detrending \n", + "et_cds_dt Extra Trees w/ Cond. Deseasonalize & Detrending \n", + "gbr_cds_dt Gradient Boosting w/ Cond. Deseasonalize & Det... \n", + "ada_cds_dt AdaBoost w/ Cond. Deseasonalize & Detrending \n", + "xgboost_cds_dt Extreme Gradient Boosting w/ Cond. Deseasonali... \n", + "lightgbm_cds_dt Light Gradient Boosting w/ Cond. Deseasonalize... \n", + "\n", + " Reference Turbo \n", + "ID \n", + "naive sktime.forecasting.naive.NaiveForecaster True \n", + "grand_means sktime.forecasting.naive.NaiveForecaster True \n", + "snaive sktime.forecasting.naive.NaiveForecaster True \n", + "polytrend sktime.forecasting.trend.PolynomialTrendForeca... True \n", + "arima sktime.forecasting.arima.ARIMA True \n", + "auto_arima sktime.forecasting.arima.AutoARIMA True \n", + "exp_smooth sktime.forecasting.exp_smoothing.ExponentialSm... True \n", + "croston sktime.forecasting.croston.Croston True \n", + "ets sktime.forecasting.ets.AutoETS True \n", + "theta sktime.forecasting.theta.ThetaForecaster True \n", + "tbats sktime.forecasting.tbats.TBATS False \n", + "bats sktime.forecasting.bats.BATS False \n", + "lr_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "en_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "ridge_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "lasso_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "lar_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "llar_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "br_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "huber_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "par_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "omp_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "knn_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "dt_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "rf_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "et_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "gbr_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "ada_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "xgboost_cds_dt pycaret.containers.models.time_series.BaseCdsD... True \n", + "lightgbm_cds_dt pycaret.containers.models.time_series.BaseCdsD... True " + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 查看所有可用的模型\n", + "models()" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "16641cab", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "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", + "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.50830.723715.476625.00400.03710.0354-2.8434
11960-030.68560.626221.031921.79880.04370.04480.5529
21960-060.27970.31238.774311.12860.01470.01460.9512
MeanNaT0.49120.554115.094319.31050.03180.0316-0.4464
SDNaT0.16620.17555.01155.93160.01240.01261.7027
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 训练 ets 模型 默认参数 fold=3\n", + "ets = create_model('ets')" + ] + }, + { + "cell_type": "markdown", + "id": "074b4572", + "metadata": {}, + "source": [ + "上面的函数返回经过训练的模型对象作为输出。评分网格只显示不返回。如果您需要访问评分网格,您可以使用`pull`函数来访问dataframe。" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "fe277e1b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "data": { + "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", + "
cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.50830.723715.476625.00400.03710.0354-2.8434
11960-030.68560.626221.031921.79880.04370.04480.5529
21960-060.27970.31238.774311.12860.01470.01460.9512
MeanNaT0.49120.554115.094319.31050.03180.0316-0.4464
SDNaT0.16620.17555.01155.93160.01240.01261.7027
\n", + "
" + ], + "text/plain": [ + " cutoff MASE RMSSE MAE RMSE MAPE SMAPE R2\n", + "0 1959-12 0.5083 0.7237 15.4766 25.0040 0.0371 0.0354 -2.8434\n", + "1 1960-03 0.6856 0.6262 21.0319 21.7988 0.0437 0.0448 0.5529\n", + "2 1960-06 0.2797 0.3123 8.7743 11.1286 0.0147 0.0146 0.9512\n", + "Mean NaT 0.4912 0.5541 15.0943 19.3105 0.0318 0.0316 -0.4464\n", + "SD NaT 0.1662 0.1755 5.0115 5.9316 0.0124 0.0126 1.7027" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ets_results = pull()\n", + "print(type(ets_results))\n", + "ets_results" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "148a74c4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "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", + "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-060.81520.821223.711427.07770.04360.04480.6016
11959-090.16220.17234.83395.82160.01270.01280.9213
21959-120.67880.785720.670027.14320.05010.0481-3.5292
31960-032.03771.803762.507562.78740.12760.1363-2.7090
41960-060.53520.528716.789518.83590.02820.02860.8603
MeanNaT0.84580.822325.702428.33320.05240.0541-0.7710
SDNaT0.63460.542819.487618.90530.03970.04301.9377
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 使用参数 fold=5 训练 theta模型\n", + "theta = create_model('theta', fold=5)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "5a8906a8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "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", + "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-061.95971.965857.003364.82140.10460.1117-1.2833
11959-092.55282.333776.059278.85910.19790.1784-13.4324
21959-120.39800.368612.120612.73510.03000.02980.0030
31960-032.16882.116366.526273.66880.13240.1436-4.1060
41960-061.95521.829161.339165.16820.10340.1083-0.6723
MeanNaT1.80691.722754.609759.05050.11360.1143-3.8982
SDNaT0.73720.697422.173923.75680.05410.04934.9680
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
ThetaForecaster(deseasonalize=False, sp=12)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "ThetaForecaster(deseasonalize=False, sp=12)" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 训练 theta 模型指定模型参数\n", + "create_model('theta', deseasonalize = False, fold=5)" + ] + }, + { + "cell_type": "markdown", + "id": "08634e9e", + "metadata": {}, + "source": [ + "您可能会发现非常有用的其他一些参数`create_model`是:\n", + "\n", + "- cross_validation\n", + "- engine\n", + "- fit_kwargs\n", + "\n", + "您可以查看函数的文档字符串以获取更多信息。" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "3fb32c74", + "metadata": {}, + "outputs": [], + "source": [ + "# help(create_model)" + ] + }, + { + "cell_type": "markdown", + "id": "d5378836", + "metadata": {}, + "source": [ + "## ✅ Tune Model\n", + "\n", + "该`tune_model`函数调整模型的超参数。此函数的输出是一个评分表格,其中包含按fold交叉验证的分数。根据优化参数中定义的指标选择最佳模型。可以使用该函数访问在交叉验证期间评估的指标`get_metrics`。`add_metric`可以使用和函数添加或删除自定义指标`remove_metric`。" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "402597f2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "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", + "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.50390.545915.343418.85930.03770.0388-1.1865
11960-031.55661.374747.748947.85260.09840.1036-1.1544
21960-061.51851.483247.639552.84330.08380.0884-0.0996
MeanNaT1.19301.134636.910639.85180.07330.0769-0.8135
SDNaT0.48750.418615.250414.98310.02590.02770.5050
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 使用默认参数训练 dt 模型\n", + "dt = create_model('dt_cds_dt')" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "90dc451d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "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", + "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.63690.782219.393827.02250.04700.0450-3.4890
11960-031.30051.163939.893840.51550.08190.0856-0.5444
21960-060.95610.978829.997134.87420.04950.05120.5211
MeanNaT0.96450.975029.761634.13740.05950.0606-1.1708
SDNaT0.27100.15598.37075.53310.01590.01781.6960
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fitting 3 folds for each of 10 candidates, totalling 30 fits\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 32 concurrent workers.\n", + "[Parallel(n_jobs=-1)]: Done 30 out of 30 | elapsed: 0.6s finished\n" + ] + } + ], + "source": [ + "# 调整 dt 的超参数\n", + "tuned_dt = tune_model(dt)" + ] + }, + { + "cell_type": "markdown", + "id": "805b66b9", + "metadata": {}, + "source": [ + "可以在参数中定义要优化的指标`optimize`(默认值 = 'MASE')。此外,可以使用`custom_grid`参数传递自定义调整表格。" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "cca8e640", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n",
+       "                                                                        10, 9,\n",
+       "                                                                        8, 7, 6,\n",
+       "                                                                        5, 4, 3,\n",
+       "                                                                        2, 1]},\n",
+       "                                                   n_jobs=1)],\n",
+       "                    regressor=DecisionTreeRegressor(random_state=123), sp=12,\n",
+       "                    window_length=12)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n", + " 10, 9,\n", + " 8, 7, 6,\n", + " 5, 4, 3,\n", + " 2, 1]},\n", + " n_jobs=1)],\n", + " regressor=DecisionTreeRegressor(random_state=123), sp=12,\n", + " window_length=12)" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dt" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "31e050ff", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "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", + "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.54660.581516.645020.09100.04090.0421-1.4814
11960-031.27771.138839.194539.64190.07990.0833-0.4785
21960-061.67421.526252.523454.37720.09060.0952-0.1643
MeanNaT1.16621.082236.121038.03670.07050.0735-0.7081
SDNaT0.46700.387714.807714.04320.02140.02270.5617
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fitting 3 folds for each of 7 candidates, totalling 21 fits\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 32 concurrent workers.\n", + "[Parallel(n_jobs=-1)]: Done 2 out of 21 | elapsed: 0.4s remaining: 3.8s\n", + "[Parallel(n_jobs=-1)]: Done 21 out of 21 | elapsed: 0.5s finished\n" + ] + } + ], + "source": [ + "# 定义超参数调试 grid\n", + "dt_grid = {'regressor__max_depth' : [None, 2, 4, 6, 8, 10, 12]}\n", + "\n", + "# 使用自定义网格和指标= MAE 来调整模型 \n", + "tuned_dt = tune_model(dt, custom_grid = dt_grid, optimize = 'MAE')" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "a19788f5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n",
+       "                                                                        10, 9,\n",
+       "                                                                        8, 7, 6,\n",
+       "                                                                        5, 4, 3,\n",
+       "                                                                        2, 1]},\n",
+       "                                                   n_jobs=1)],\n",
+       "                    regressor=DecisionTreeRegressor(max_depth=4,\n",
+       "                                                    random_state=123),\n",
+       "                    sp=12, window_length=12)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "BaseCdsDtForecaster(fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n", + " 10, 9,\n", + " 8, 7, 6,\n", + " 5, 4, 3,\n", + " 2, 1]},\n", + " n_jobs=1)],\n", + " regressor=DecisionTreeRegressor(max_depth=4,\n", + " random_state=123),\n", + " sp=12, window_length=12)" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#查看 tuned_dt 参数\n", + "tuned_dt" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "6cca514b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "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", + "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.63690.782219.393827.02250.04700.0450-3.4890
11960-031.30051.163939.893840.51550.08190.0856-0.5444
21960-060.95610.978829.997134.87420.04950.05120.5211
MeanNaT0.96450.975029.761634.13740.05950.0606-1.1708
SDNaT0.27100.15598.37075.53310.01590.01781.6960
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fitting 3 folds for each of 10 candidates, totalling 30 fits\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 32 concurrent workers.\n", + "[Parallel(n_jobs=-1)]: Done 30 out of 30 | elapsed: 0.6s finished\n" + ] + } + ], + "source": [ + "# 要访问调试器对象,您可以设置 return_tuner = True\n", + "tuned_dt, tuner = tune_model(dt, return_tuner=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "80cbb4a6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
BaseCdsDtForecaster(degree=3, deseasonal_model='multiplicative',\n",
+       "                    fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n",
+       "                                                                        10, 9,\n",
+       "                                                                        8, 7, 6,\n",
+       "                                                                        5, 4, 3,\n",
+       "                                                                        2, 1]},\n",
+       "                                                   n_jobs=1)],\n",
+       "                    regressor=DecisionTreeRegressor(max_depth=9,\n",
+       "                                                    max_features='log2',\n",
+       "                                                    min_impurity_decrease=0.005742993267225779,\n",
+       "                                                    min_samples_leaf=5,\n",
+       "                                                    min_samples_split=4,\n",
+       "                                                    random_state=123),\n",
+       "                    sp=12, window_length=22)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "BaseCdsDtForecaster(degree=3, deseasonal_model='multiplicative',\n", + " fe_target_rr=[WindowSummarizer(lag_feature={'lag': [12, 11,\n", + " 10, 9,\n", + " 8, 7, 6,\n", + " 5, 4, 3,\n", + " 2, 1]},\n", + " n_jobs=1)],\n", + " regressor=DecisionTreeRegressor(max_depth=9,\n", + " max_features='log2',\n", + " min_impurity_decrease=0.005742993267225779,\n", + " min_samples_leaf=5,\n", + " min_samples_split=4,\n", + " random_state=123),\n", + " sp=12, window_length=22)" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 模型对象\n", + "tuned_dt" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "7d5e49ca", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 调试器对象\n", + "tuner" + ] + }, + { + "cell_type": "markdown", + "id": "a1e2875b", + "metadata": {}, + "source": [ + "有关所有可用的更多详细信息`search_library` ,`search_algorithm`请查看文档字符串。您可能会发现非常有用的`tune_model`中的其他一些参数是:\n", + "\n", + "- choose_better\n", + "- custom_scorer\n", + "- n_iter\n", + "- search_algorithm\n", + "- optimize\n", + "\n", + "您可以查看函数的文档字符串以获取更多信息。" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "94f9c86e", + "metadata": {}, + "outputs": [], + "source": [ + "# help(tune_model)" + ] + }, + { + "cell_type": "markdown", + "id": "ea8a9a4e", + "metadata": {}, + "source": [ + "## ✅ Blend Models" + ] + }, + { + "cell_type": "markdown", + "id": "2ede29c4", + "metadata": {}, + "source": [ + "blend_models是一种集成模型的方法,此方法训练一个`EnsembleForecaster`为在 estimator_list 参数中传递的多个特定模型。此函数的输出是一个评分表格,其中包含按fold计算的 CV 分数。可以使用该函数访问在 CV 期间评估的指标`get_metrics`。`add_metric`可以使用和函数添加或删除自定义指标`remove_metric`。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "948d24c3", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "61a7a1c5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[AutoETS(seasonal='mul', sp=12, trend='add'),\n", + " ExponentialSmoothing(seasonal='mul', sp=12, trend='add'),\n", + " ARIMA(seasonal_order=(0, 1, 0, 12))]" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 基于最优 mae 的前 3 个模型\n", + "best_mae_models_top3" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "04f65f2f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "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", + "
 cutoffMASERMSSEMAERMSEMAPESMAPER2
01959-120.51320.694915.626424.00880.03750.0360-2.5436
11960-030.90230.811427.676928.24480.05720.05900.2494
21960-060.26500.26748.31449.52560.01380.01380.9643
MeanNaT0.56020.591217.205920.59310.03620.0362-0.4433
SDNaT0.26230.23397.98328.01470.01770.01851.5135
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
_EnsembleForecasterWithVoting(forecasters=[('ETS',\n",
+       "                                            AutoETS(seasonal='mul', sp=12,\n",
+       "                                                    trend='add')),\n",
+       "                                           ('Exponential Smoothing',\n",
+       "                                            ExponentialSmoothing(seasonal='mul',\n",
+       "                                                                 sp=12,\n",
+       "                                                                 trend='add')),\n",
+       "                                           ('ARIMA',\n",
+       "                                            ARIMA(seasonal_order=(0, 1, 0,\n",
+       "                                                                  12)))],\n",
+       "                              n_jobs=-1)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" + ], + "text/plain": [ + "_EnsembleForecasterWithVoting(forecasters=[('ETS',\n", + " AutoETS(seasonal='mul', sp=12,\n", + " trend='add')),\n", + " ('Exponential Smoothing',\n", + " ExponentialSmoothing(seasonal='mul',\n", + " sp=12,\n", + " trend='add')),\n", + " ('ARIMA',\n", + " ARIMA(seasonal_order=(0, 1, 0,\n", + " 12)))],\n", + " n_jobs=-1)" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 混合(blend) 前3个模型\n", + "blend_models(best_mae_models_top3)" + ] + }, + { + "cell_type": "markdown", + "id": "9e788c9c", + "metadata": {}, + "source": [ + "您可能会发现`blend_models`非常有用的其他一些参数是:\n", + "\n", + "\n", + "- choose_better\n", + "- method\n", + "- weights\n", + "- fit_kwargs\n", + "- optimize\n", + "\n", + "您可以查看函数的文档字符串以获取更多信息。" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "99b549a6", + "metadata": {}, + "outputs": [], + "source": [ + "# help(blend_models)" + ] + }, + { + "cell_type": "markdown", + "id": "279a3127", + "metadata": {}, + "source": [ + "## ✅ 模型绘图" + ] + }, + { + "cell_type": "markdown", + "id": "862bd3e9", + "metadata": {}, + "source": [ + "此函数分析训练模型在保留集上的性能。在某些情况下可能需要重新训练模型。" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "9c8da9b4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plotly.com" + }, + "data": [ + { + "line": { + "color": "#1f77b4" + }, + "marker": { + "size": 5 + }, + "mode": "lines+markers", + "name": "Forecast | ETS", + "showlegend": true, + "type": "scatter", + "x": [ + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00" + ], + "y": [ + 442.9862, + 388.2091, + 427.7009 + ] + }, + { + "line": { + "width": 0 + }, + "marker": { + "color": "#68BBE3" + }, + "mode": "lines", + "name": "Lower Interval", + "showlegend": false, + "type": "scatter", + "x": [ + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00" + ], + "y": [ + 424.9511, + 371.5726, + 409.45 + ] + }, + { + "fill": "tonexty", + "fillcolor": "rgba(104,187,227,0.5)", + "line": { + "width": 0 + }, + "marker": { + "color": "#68BBE3" + }, + "mode": "lines", + "name": "Prediction Interval | ETS", + "showlegend": true, + "type": "scatter", + "x": [ + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00" + ], + "y": [ + 461.5179, + 406.9327, + 448.098 + ] + }, + { + "marker": { + "color": "#3f3f3f", + "size": 5 + }, + "mode": "lines+markers", + "name": "Original", + "showlegend": true, + "type": "scatter", + "x": [ + "1949-01-01T00:00:00", + "1949-02-01T00:00:00", + "1949-03-01T00:00:00", + "1949-04-01T00:00:00", + "1949-05-01T00:00:00", + "1949-06-01T00:00:00", + "1949-07-01T00:00:00", + "1949-08-01T00:00:00", + "1949-09-01T00:00:00", + "1949-10-01T00:00:00", + "1949-11-01T00:00:00", + "1949-12-01T00:00:00", + "1950-01-01T00:00:00", + "1950-02-01T00:00:00", + "1950-03-01T00:00:00", + "1950-04-01T00:00:00", + "1950-05-01T00:00:00", + "1950-06-01T00:00:00", + "1950-07-01T00:00:00", + "1950-08-01T00:00:00", + "1950-09-01T00:00:00", + "1950-10-01T00:00:00", + "1950-11-01T00:00:00", + "1950-12-01T00:00:00", + "1951-01-01T00:00:00", + "1951-02-01T00:00:00", + "1951-03-01T00:00:00", + "1951-04-01T00:00:00", + "1951-05-01T00:00:00", + "1951-06-01T00:00:00", + "1951-07-01T00:00:00", + "1951-08-01T00:00:00", + "1951-09-01T00:00:00", + "1951-10-01T00:00:00", + "1951-11-01T00:00:00", + "1951-12-01T00:00:00", + "1952-01-01T00:00:00", + "1952-02-01T00:00:00", + "1952-03-01T00:00:00", + "1952-04-01T00:00:00", + "1952-05-01T00:00:00", + "1952-06-01T00:00:00", + "1952-07-01T00:00:00", + "1952-08-01T00:00:00", + "1952-09-01T00:00:00", + "1952-10-01T00:00:00", + "1952-11-01T00:00:00", + "1952-12-01T00:00:00", + "1953-01-01T00:00:00", + "1953-02-01T00:00:00", + "1953-03-01T00:00:00", + "1953-04-01T00:00:00", + "1953-05-01T00:00:00", + "1953-06-01T00:00:00", + "1953-07-01T00:00:00", + "1953-08-01T00:00:00", + "1953-09-01T00:00:00", + "1953-10-01T00:00:00", + "1953-11-01T00:00:00", + "1953-12-01T00:00:00", + "1954-01-01T00:00:00", + "1954-02-01T00:00:00", + "1954-03-01T00:00:00", + "1954-04-01T00:00:00", + "1954-05-01T00:00:00", + "1954-06-01T00:00:00", + "1954-07-01T00:00:00", + "1954-08-01T00:00:00", + "1954-09-01T00:00:00", + "1954-10-01T00:00:00", + "1954-11-01T00:00:00", + "1954-12-01T00:00:00", + "1955-01-01T00:00:00", + "1955-02-01T00:00:00", + "1955-03-01T00:00:00", + "1955-04-01T00:00:00", + "1955-05-01T00:00:00", + "1955-06-01T00:00:00", + "1955-07-01T00:00:00", + "1955-08-01T00:00:00", + "1955-09-01T00:00:00", + "1955-10-01T00:00:00", + "1955-11-01T00:00:00", + "1955-12-01T00:00:00", + "1956-01-01T00:00:00", + "1956-02-01T00:00:00", + "1956-03-01T00:00:00", + "1956-04-01T00:00:00", + "1956-05-01T00:00:00", + "1956-06-01T00:00:00", + "1956-07-01T00:00:00", + "1956-08-01T00:00:00", + "1956-09-01T00:00:00", + "1956-10-01T00:00:00", + "1956-11-01T00:00:00", + "1956-12-01T00:00:00", + "1957-01-01T00:00:00", + "1957-02-01T00:00:00", + "1957-03-01T00:00:00", + "1957-04-01T00:00:00", + "1957-05-01T00:00:00", + "1957-06-01T00:00:00", + "1957-07-01T00:00:00", + "1957-08-01T00:00:00", + "1957-09-01T00:00:00", + "1957-10-01T00:00:00", + "1957-11-01T00:00:00", + "1957-12-01T00:00:00", + "1958-01-01T00:00:00", + "1958-02-01T00:00:00", + "1958-03-01T00:00:00", + "1958-04-01T00:00:00", + "1958-05-01T00:00:00", + "1958-06-01T00:00:00", + "1958-07-01T00:00:00", + "1958-08-01T00:00:00", + "1958-09-01T00:00:00", + "1958-10-01T00:00:00", + "1958-11-01T00:00:00", + "1958-12-01T00:00:00", + "1959-01-01T00:00:00", + "1959-02-01T00:00:00", + "1959-03-01T00:00:00", + "1959-04-01T00:00:00", + "1959-05-01T00:00:00", + "1959-06-01T00:00:00", + "1959-07-01T00:00:00", + "1959-08-01T00:00:00", + "1959-09-01T00:00:00", + "1959-10-01T00:00:00", + "1959-11-01T00:00:00", + "1959-12-01T00:00:00", + "1960-01-01T00:00:00", + "1960-02-01T00:00:00", + "1960-03-01T00:00:00", + "1960-04-01T00:00:00", + "1960-05-01T00:00:00", + "1960-06-01T00:00:00", + "1960-07-01T00:00:00", + "1960-08-01T00:00:00", + "1960-09-01T00:00:00", + "1960-10-01T00:00:00", + "1960-11-01T00:00:00", + "1960-12-01T00:00:00" + ], + "y": [ + 112, + 118, + 132, + 129, + 121, + 135, + 148, + 148, + 136, + 119, + 104, + 118, + 115, + 126, + 141, + 135, + 125, + 149, + 170, + 170, + 158, + 133, + 114, + 140, + 145, + 150, + 178, + 163, + 172, + 178, + 199, + 199, + 184, + 162, + 146, + 166, + 171, + 180, + 193, + 181, + 183, + 218, + 230, + 242, + 209, + 191, + 172, + 194, + 196, + 196, + 236, + 235, + 229, + 243, + 264, + 272, + 237, + 211, + 180, + 201, + 204, + 188, + 235, + 227, + 234, + 264, + 302, + 293, + 259, + 229, + 203, + 229, + 242, + 233, + 267, + 269, + 270, + 315, + 364, + 347, + 312, + 274, + 237, + 278, + 284, + 277, + 317, + 313, + 318, + 374, + 413, + 405, + 355, + 306, + 271, + 306, + 315, + 301, + 356, + 348, + 355, + 422, + 465, + 467, + 404, + 347, + 305, + 336, + 340, + 318, + 362, + 348, + 363, + 435, + 491, + 505, + 404, + 359, + 310, + 337, + 360, + 342, + 406, + 396, + 420, + 472, + 548, + 559, + 463, + 407, + 362, + 405, + 417, + 391, + 419, + 461, + 472, + 535, + 622, + 606, + 508, + 461, + 390, + 432 + ] + } + ], + "layout": { + "showlegend": true, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "rgb(51,51,51)" + }, + "error_y": { + "color": "rgb(51,51,51)" + }, + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "baxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "rgb(237,237,237)" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "rgb(217,217,217)" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "colorscale": { + "sequential": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "sequentialminus": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ] + }, + "colorway": [ + "#F8766D", + "#A3A500", + "#00BF7D", + "#00B0F6", + "#E76BF3" + ], + "font": { + "color": "rgb(51,51,51)" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "rgb(237,237,237)", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "paper_bgcolor": "white", + "plot_bgcolor": "rgb(237,237,237)", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "fillcolor": "black", + "line": { + "width": 0 + }, + "opacity": 0.3 + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + } + } + }, + "title": { + "text": "Actual vs. 'Out-of-Sample' Forecast | Number of airline passengers" + }, + "xaxis": { + "title": { + "text": "Time" + } + }, + "yaxis": { + "title": { + "text": "Values" + } + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 绘制预测图\n", + "plot_model(best, plot = 'forecast')" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "a750d486", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plotly.com" + }, + "data": [ + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 0, + 0 + ], + "xaxis": "x", + "y": [ + 0, + 1 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 1, + 1 + ], + "xaxis": "x", + "y": [ + 0, + 0.9480473407524915 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 2, + 2 + ], + "xaxis": "x", + "y": [ + 0, + 0.8755748351253507 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 3, + 3 + ], + "xaxis": "x", + "y": [ + 0, + 0.8066811554965002 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 4, + 4 + ], + "xaxis": "x", + "y": [ + 0, + 0.7526254173883077 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 5, + 5 + ], + "xaxis": "x", + "y": [ + 0, + 0.7137699726519648 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 6, + 6 + ], + "xaxis": "x", + "y": [ + 0, + 0.6817336033310043 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 7, + 7 + ], + "xaxis": "x", + "y": [ + 0, + 0.6629043863684492 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 8, + 8 + ], + "xaxis": "x", + "y": [ + 0, + 0.6556104843250862 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 9, + 9 + ], + "xaxis": "x", + "y": [ + 0, + 0.6709483279245044 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 10, + 10 + ], + "xaxis": "x", + "y": [ + 0, + 0.7027199209090718 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 11, + 11 + ], + "xaxis": "x", + "y": [ + 0, + 0.7432401890069327 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 12, + 12 + ], + "xaxis": "x", + "y": [ + 0, + 0.7603950422625558 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 13, + 13 + ], + "xaxis": "x", + "y": [ + 0, + 0.7126608704038238 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 14, + 14 + ], + "xaxis": "x", + "y": [ + 0, + 0.6463422792677535 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 15, + 15 + ], + "xaxis": "x", + "y": [ + 0, + 0.5859234238634494 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 16, + 16 + ], + "xaxis": "x", + "y": [ + 0, + 0.5379551907815616 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 17, + 17 + ], + "xaxis": "x", + "y": [ + 0, + 0.49974752598517996 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 18, + 18 + ], + "xaxis": "x", + "y": [ + 0, + 0.46873401291508715 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 19, + 19 + ], + "xaxis": "x", + "y": [ + 0, + 0.4498706649766616 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 20, + 20 + ], + "xaxis": "x", + "y": [ + 0, + 0.4416287957460463 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 21, + 21 + ], + "xaxis": "x", + "y": [ + 0, + 0.4572237571141587 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 22, + 22 + ], + "xaxis": "x", + "y": [ + 0, + 0.4824820295144397 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 23, + 23 + ], + "xaxis": "x", + "y": [ + 0, + 0.5171269883891182 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 24, + 24 + ], + "xaxis": "x", + "y": [ + 0, + 0.532189830465802 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 25, + 25 + ], + "xaxis": "x", + "y": [ + 0, + 0.4939756937750339 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 26, + 26 + ], + "xaxis": "x", + "y": [ + 0, + 0.4377213370680656 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 27, + 27 + ], + "xaxis": "x", + "y": [ + 0, + 0.3876028997464519 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 28, + 28 + ], + "xaxis": "x", + "y": [ + 0, + 0.3480250323299374 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 29, + 29 + ], + "xaxis": "x", + "y": [ + 0, + 0.31498387947256945 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 30, + 30 + ], + "xaxis": "x", + "y": [ + 0, + 0.2884968187844052 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 31, + 31 + ], + "xaxis": "x", + "y": [ + 0, + 0.2708018671117992 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 32, + 32 + ], + "xaxis": "x", + "y": [ + 0, + 0.26429010598992786 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 33, + 33 + ], + "xaxis": "x", + "y": [ + 0, + 0.276799336950146 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 34, + 34 + ], + "xaxis": "x", + "y": [ + 0, + 0.29852149515565224 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 35, + 35 + ], + "xaxis": "x", + "y": [ + 0, + 0.32558711661066314 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 36, + 36 + ], + "xaxis": "x", + "y": [ + 0, + 0.33702359902053575 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 37, + 37 + ], + "xaxis": "x", + "y": [ + 0, + 0.3033348585579199 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 38, + 38 + ], + "xaxis": "x", + "y": [ + 0, + 0.2539770814071908 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 39, + 39 + ], + "xaxis": "x", + "y": [ + 0, + 0.21065533781406406 + ], + "yaxis": "y" + }, + { + "line": { + "color": "#3f3f3f" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 40, + 40 + ], + "xaxis": "x", + "y": [ + 0, + 0.17217092361106262 + ], + "yaxis": "y" + }, + { + "marker": { + "color": "#1f77b4", + "size": 10 + }, + "mode": "markers", + "name": "ACF", + "showlegend": false, + "type": "scattergl", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ], + "xaxis": "x", + "y": [ + 1, + 0.9480473407524915, + 0.8755748351253507, + 0.8066811554965002, + 0.7526254173883077, + 0.7137699726519648, + 0.6817336033310043, + 0.6629043863684492, + 0.6556104843250862, + 0.6709483279245044, + 0.7027199209090718, + 0.7432401890069327, + 0.7603950422625558, + 0.7126608704038238, + 0.6463422792677535, + 0.5859234238634494, + 0.5379551907815616, + 0.49974752598517996, + 0.46873401291508715, + 0.4498706649766616, + 0.4416287957460463, + 0.4572237571141587, + 0.4824820295144397, + 0.5171269883891182, + 0.532189830465802, + 0.4939756937750339, + 0.4377213370680656, + 0.3876028997464519, + 0.3480250323299374, + 0.31498387947256945, + 0.2884968187844052, + 0.2708018671117992, + 0.26429010598992786, + 0.276799336950146, + 0.29852149515565224, + 0.32558711661066314, + 0.33702359902053575, + 0.3033348585579199, + 0.2539770814071908, + 0.21065533781406406, + 0.17217092361106262 + ], + "yaxis": "y" + }, + { + "line": { + "color": "rgba(255,255,255,0)" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "UC", + "showlegend": false, + "type": "scatter", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ], + "xaxis": "x", + "y": [ + 0, + 0.16333033204500447, + 0.27318615521458, + 0.3399017661883753, + 0.38762383148595225, + 0.42482244845589956, + 0.45569292201744294, + 0.4821334810270368, + 0.5058641279364026, + 0.5280447239635008, + 0.550317641681715, + 0.5737563310797158, + 0.598889949958539, + 0.624113974952015, + 0.6454578001172308, + 0.6624988158521083, + 0.676181413525544, + 0.687503897843146, + 0.6971273493682075, + 0.7054848995976516, + 0.7130966532991216, + 0.72035595943078, + 0.7280566375097888, + 0.7365368914864218, + 0.7461597871836548, + 0.7562179276283605, + 0.7647773994303543, + 0.7714317972264942, + 0.7766097146258821, + 0.7807591896188131, + 0.7841418116449759, + 0.7869682474990506, + 0.7894502115268107, + 0.7918070128489083, + 0.7943841542594856, + 0.7973711774106018, + 0.8009098872583174, + 0.804684292481433, + 0.8077289046875541, + 0.8098564828638037, + 0.8113169075162117 + ], + "yaxis": "y" + }, + { + "fill": "tonexty", + "fillcolor": "rgba(32, 146, 230,0.3)", + "line": { + "color": "rgba(255,255,255,0)" + }, + "marker": { + "size": 10 + }, + "mode": "lines", + "name": "LC", + "showlegend": false, + "type": "scatter", + "x": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ], + "xaxis": "x", + "y": [ + 0, + -0.16333033204500447, + -0.27318615521458, + -0.3399017661883753, + -0.38762383148595225, + -0.4248224484558996, + -0.45569292201744294, + -0.4821334810270367, + -0.5058641279364027, + -0.5280447239635009, + -0.5503176416817149, + -0.5737563310797159, + -0.5988899499585391, + -0.6241139749520151, + -0.6454578001172308, + -0.6624988158521085, + -0.676181413525544, + -0.6875038978431461, + -0.6971273493682075, + -0.7054848995976515, + -0.7130966532991216, + -0.7203559594307799, + -0.7280566375097887, + -0.7365368914864218, + -0.7461597871836547, + -0.7562179276283606, + -0.7647773994303542, + -0.7714317972264944, + -0.7766097146258821, + -0.780759189618813, + -0.7841418116449759, + -0.7869682474990506, + -0.7894502115268106, + -0.7918070128489083, + -0.7943841542594856, + -0.7973711774106018, + -0.8009098872583174, + -0.804684292481433, + -0.8077289046875542, + -0.8098564828638037, + -0.8113169075162117 + ], + "yaxis": "y" + } + ], + "layout": { + "annotations": [ + { + "font": { + "size": 16 + }, + "showarrow": false, + "text": "Number of airline passengers (transformed)", + "x": 0.5, + "xanchor": "center", + "xref": "paper", + "y": 1, + "yanchor": "bottom", + "yref": "paper" + } + ], + "showlegend": false, + "template": { + "data": { + "bar": [ + { + "error_x": { + "color": "rgb(51,51,51)" + }, + "error_y": { + "color": "rgb(51,51,51)" + }, + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "bar" + } + ], + "barpolar": [ + { + "marker": { + "line": { + "color": "rgb(237,237,237)", + "width": 0.5 + }, + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "barpolar" + } + ], + "carpet": [ + { + "aaxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "baxis": { + "endlinecolor": "rgb(51,51,51)", + "gridcolor": "white", + "linecolor": "white", + "minorgridcolor": "white", + "startlinecolor": "rgb(51,51,51)" + }, + "type": "carpet" + } + ], + "choropleth": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "choropleth" + } + ], + "contour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "contour" + } + ], + "contourcarpet": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "contourcarpet" + } + ], + "heatmap": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmap" + } + ], + "heatmapgl": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "heatmapgl" + } + ], + "histogram": [ + { + "marker": { + "pattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + } + }, + "type": "histogram" + } + ], + "histogram2d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2d" + } + ], + "histogram2dcontour": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "histogram2dcontour" + } + ], + "mesh3d": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "type": "mesh3d" + } + ], + "parcoords": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "parcoords" + } + ], + "pie": [ + { + "automargin": true, + "type": "pie" + } + ], + "scatter": [ + { + "fillpattern": { + "fillmode": "overlay", + "size": 10, + "solidity": 0.2 + }, + "type": "scatter" + } + ], + "scatter3d": [ + { + "line": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatter3d" + } + ], + "scattercarpet": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattercarpet" + } + ], + "scattergeo": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergeo" + } + ], + "scattergl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattergl" + } + ], + "scattermapbox": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scattermapbox" + } + ], + "scatterpolar": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolar" + } + ], + "scatterpolargl": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterpolargl" + } + ], + "scatterternary": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "type": "scatterternary" + } + ], + "surface": [ + { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + }, + "colorscale": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "type": "surface" + } + ], + "table": [ + { + "cells": { + "fill": { + "color": "rgb(237,237,237)" + }, + "line": { + "color": "white" + } + }, + "header": { + "fill": { + "color": "rgb(217,217,217)" + }, + "line": { + "color": "white" + } + }, + "type": "table" + } + ] + }, + "layout": { + "annotationdefaults": { + "arrowhead": 0, + "arrowwidth": 1 + }, + "autotypenumbers": "strict", + "coloraxis": { + "colorbar": { + "outlinewidth": 0, + "tickcolor": "rgb(237,237,237)", + "ticklen": 6, + "ticks": "inside" + } + }, + "colorscale": { + "sequential": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ], + "sequentialminus": [ + [ + 0, + "rgb(20,44,66)" + ], + [ + 1, + "rgb(90,179,244)" + ] + ] + }, + "colorway": [ + "#F8766D", + "#A3A500", + "#00BF7D", + "#00B0F6", + "#E76BF3" + ], + "font": { + "color": "rgb(51,51,51)" + }, + "geo": { + "bgcolor": "white", + "lakecolor": "white", + "landcolor": "rgb(237,237,237)", + "showlakes": true, + "showland": true, + "subunitcolor": "white" + }, + "hoverlabel": { + "align": "left" + }, + "hovermode": "closest", + "paper_bgcolor": "white", + "plot_bgcolor": "rgb(237,237,237)", + "polar": { + "angularaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "radialaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "scene": { + "xaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "yaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + }, + "zaxis": { + "backgroundcolor": "rgb(237,237,237)", + "gridcolor": "white", + "gridwidth": 2, + "linecolor": "white", + "showbackground": true, + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "zerolinecolor": "white" + } + }, + "shapedefaults": { + "fillcolor": "black", + "line": { + "width": 0 + }, + "opacity": 0.3 + }, + "ternary": { + "aaxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "baxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + }, + "bgcolor": "rgb(237,237,237)", + "caxis": { + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside" + } + }, + "xaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + }, + "yaxis": { + "automargin": true, + "gridcolor": "white", + "linecolor": "white", + "showgrid": true, + "tickcolor": "rgb(51,51,51)", + "ticks": "outside", + "title": { + "standoff": 15 + }, + "zerolinecolor": "white" + } + } + }, + "title": { + "text": "Autocorrelation (ACF) | Number of airline passengers" + }, + "xaxis": { + "anchor": "y", + "domain": [ + 0, + 1 + ], + "range": [ + -1, + 42 + ], + "title": { + "text": "Lags" + } + }, + "yaxis": { + "anchor": "x", + "domain": [ + 0, + 1 + ], + "range": [ + -1.1, + 1.1 + ], + "title": { + "text": "ACF" + }, + "zerolinecolor": "#000000" + } + } + }, + "text/html": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 画 acf 图\n", + "# for certain plots you don't need a trained model\n", + "plot_model(plot = 'acf')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b18d34a5", + "metadata": {}, + "outputs": [], + "source": [ + "# plot diagnostics\n", + "# for certain plots you don't need a trained model\n", + "plot_model(plot = 'diagnostics')" + ] + }, + { + "cell_type": "markdown", + "id": "2fef279d", + "metadata": {}, + "source": [ + "您可能会发现`plot_model`非常有用的其他一些参数是:\n", + "\n", + "- fig_kwargs\n", + "- data_kwargs\n", + "- display_format\n", + "- return_fig\n", + "- return_data\n", + "- save\n", + "\n", + "您可以查看函数的文档字符串以获取更多信息。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54b09b8e", + "metadata": {}, + "outputs": [], + "source": [ + "# help(plot_model)" + ] + }, + { + "cell_type": "markdown", + "id": "e27c212b", + "metadata": {}, + "source": [ + "## ✅ Finalize Model\n", + "此函数在包括保留集在内的整个数据集上训练最终模型。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "65225684", + "metadata": {}, + "outputs": [], + "source": [ + "final_best = finalize_model(best)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "80d17fec", + "metadata": {}, + "outputs": [], + "source": [ + "final_best" + ] + }, + { + "cell_type": "markdown", + "id": "ed00202c", + "metadata": {}, + "source": [ + "## ✅ Deploy Model\n", + "此函数将整个 ML 管道部署在云端。\n", + "\n", + "**AWS:** 在 AWS S3 上部署模型时,必须使用命令行界面配置环境变量。要配置 AWS 环境变量,请输入`aws configure` 终端。需要以下信息,这些信息可以使用您的亚马逊控制台帐户的身份和访问管理 (IAM) 门户生成:\n", + "\n", + "- AWS Access Key ID\n", + "- AWS Secret Key Access\n", + "- Default Region Name (can be seen under Global settings on your AWS console)\n", + "- Default output format (must be left blank)\n", + "\n", + "**GCP:** 要在 Google Cloud Platform ('gcp') 上部署模型,必须使用命令行或 GCP 控制台创建项目。创建项目后,您必须创建一个服务帐户并将服务帐户密钥下载为 JSON 文件,以便在您的本地环境中设置环境变量。了解更多信息:: https://cloud.google.com/docs/authentication/production\n", + "\n", + "**Azure:** 要在 Microsoft Azure(“azure”)上部署模型,必须在本地环境中设置连接字符串的环境变量。转到 Azure 门户上的存储帐户设置以访问所需的连接字符串。AZURE_STORAGE_CONNECTION_STRING(需要作为环境变量)了解更多信息: https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-python?toc=%2Fpython%2Fazure%2FTOC.json" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "40b20a18", + "metadata": {}, + "outputs": [], + "source": [ + "# deploy model on aws s3\n", + "# deploy_model(best, model_name = 'my_first_platform_on_aws',\n", + "# platform = 'aws', authentication = {'bucket' : 'pycaret-test'})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9e236516", + "metadata": {}, + "outputs": [], + "source": [ + "# load model from aws s3\n", + "# loaded_from_aws = load_model(model_name = 'my_first_platform_on_aws', platform = 'aws',\n", + "# authentication = {'bucket' : 'pycaret-test'})\n", + "\n", + "# loaded_from_aws" + ] + }, + { + "cell_type": "markdown", + "id": "e169ae86", + "metadata": {}, + "source": [ + "## ✅ Save / Load Model\n", + "\n", + "此函数将转换管道(pipeline)和经过训练的模型对象作为 pickle 文件保存到当前工作目录中,供以后使用。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bc5cf24a", + "metadata": {}, + "outputs": [], + "source": [ + "# 保存模型\n", + "save_model(best, 'my_first_model')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e8478d34", + "metadata": {}, + "outputs": [], + "source": [ + "# 加载模型\n", + "loaded_from_disk = load_model('my_first_model')\n", + "loaded_from_disk" + ] + }, + { + "cell_type": "markdown", + "id": "de5eee8c", + "metadata": {}, + "source": [ + "## ✅ Save / Load Experiment\n", + "此函数将所有实验变量保存在磁盘上,允许稍后在不重新运行设置函数的情况下恢复。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6a3c61b6", + "metadata": {}, + "outputs": [], + "source": [ + "# 保存实验\n", + "save_experiment('my_experiment')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "83252c09", + "metadata": {}, + "outputs": [], + "source": [ + "# 从磁盘加载实验\n", + "exp_from_disk = load_experiment('my_experiment', data=data)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "pycaret30", + "language": "python", + "name": "pycaret30" + }, + "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.8.16" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 0770774f0280895ebbdd6d1643405894aec7e4d3 Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Wed, 26 Apr 2023 13:44:28 +0800 Subject: [PATCH 33/42] Add files via upload --- ...0\347\224\250\344\273\243\347\240\201.txt" | 162 ++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 "\345\270\270\347\224\250\344\273\243\347\240\201.txt" diff --git "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" new file mode 100644 index 0000000..f057a15 --- /dev/null +++ "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" @@ -0,0 +1,162 @@ +ȥ +df = df.drop_duplicates().reset_index(drop=True) +ɾijһ +df2=df2.drop(cols,axis=1) +ɾ +df.drop(index=[0, 1]) + +dateתַ + +from datetime import datetime, date, time +d = date.fromisoformat('2018-09-22') +t = time.fromisoformat('16:28:22') +dt = datetime.fromisoformat('2018-09-22') + +sdate = pd.to_datetime(ds).strftime('%Y-%m-%d') +st = "2019-01-20 00:00:00" +dt = datetime.datetime.strptime(st, '%Y-%m-%d %H:%M:%S') +st = "2019-01-20" +dt = datetime.datetime.strptime(st, '%Y-%m-%d') +start=pd.to_datetime('2017-01-01') + + + +޸ +train['tf_status'] = t1['tf_status'].astype(np.int64) + +޸ +df['ds'] = pd.to_datetime(df['ds']) + +޸ֶ +df.rename(columns={'#studentid':'studentid'}, inplace = True) + +# +df['year']=df.datetime.apply(lambda x: x.year) +df['month'] = df.datetime.apply(lambda x: x.month) +df['year'] = df['year'].astype(np.int64) +df['month'] = df['month'].astype(np.int64) + +ɾֶ +df.drop(['#id'], axis=1, inplace=True) + +鿴ж10% +print(df.weeks.quantile(np.arange(.9,1,.01))) + + +df = df.set_index(['hetongdetailid']) + +жϿֵ + +print(" cat ܹ %d ֵ." % df['cat'].isnull().sum()) + +print(" review ܹ %d ֵ." % df['review'].isnull().sum()) + +df[df.isnull().values==True] + +df = df[pd.notnull(df['review'])] + + +df.sort_values(by="x1",ascending= False) + +ģѯ +df_remark_tf[df_remark_tf["content_method"].str.contains(keystring)] + +޸ֶ +df_appraise['deptid'] = df_appraise['deptid'].astype(np.int64) + +޸(https://blog.csdn.net/zhangchuang601/article/details/79583551) +df.loc[1,['name','age']] = ['bb',11] +df.iloc[1,2] = 19#޸ijһ +df.loc[df[df.htid.isin(ids)].index,"y"]=1 + +ݿ +df.to_sql(name='predict',con=mysql_engine,if_exists = 'replace') + + +dt = datetime.datetime(year, month, 1) + +鿴10%ݷֲ +print(movie_rating_count['totalRatingCount'].quantile(np.arange(.9,1,.01))) + +#-------plotly.express------------------------- +#ͼ +import plotly.express as px + +fig = px.line(df, x='date', y='y_true', + labels={'date':'', 'y_true':''}, + markers=True) +fig.update_xaxes(tickformat = "%Y-%m-%d", hoverformat = "%Y-%m-%d") +fig.update_layout(title_text="߲ҵͼ", title_x=0.5) +fig.update_traces(marker=dict(size=3)) #ƵĴС +fig.show() + +#ɢͼ +fig = px.scatter(df, x="ʵ", y="ʵ",hover_data=['did','']) +fig.update_traces(marker=dict(size=4)) #ĴС +fig.show() + +---------------------------------- +1nohup command & + nohup jupyter notebook & + +2ҵPID(رǰִ̨еĽ̵IJ裬ҵPID) +ps -ef | grep xxxx +ps -ef 鿴еḶ̌grep xxxxҵxxxxĿ + +3kill +kill -9 PID + +-------------ָ˿------------------------------------- +firewall-cmd --zone=public --add-port=8504/tcp --permanent +firewall-cmd --reload + +netstat -ntlp //鿴ǰtcp˿ڡ +netstat -ntulp |grep 8888 //鿴1935˿ʹ + +------------------pip---------------------------------------- +python -m pip install --upgrade pip + +-------------⻷----------------------------- +# ⻷ +conda create --name yourenvname python=3.8 + +# ⻷ +conda activate yourenvname + +#˳⻷ +conda deactivate + +#ɾ⻷ +conda remove -n py39 --all + +# jupyter notebook⻷ +python -m ipykernel install --user --name yourenvname --display-name "display-name" + + +------------------jupyter notebook⻷---------------------------------------- +1.cmd⻷torch_env +activate torch_env + +2.pip install ipykernel ipython +س + +3.ipython kernel install --user --name torch_env +س + +4.ٴνjupyter notebook +ϽǣnewѡҪ⻷ + +5.⣬Ҫָļдjupyter notebook,ֻҪļλãߵλÿcmd,jupyter notebook,ɽ·ΪԼҪġ + +jupyter ɾ⻷ +6.jupyter kernelspec uninstall myenv + +---------pip install װ----------------------------------------- +pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple + + + + + + + From a112a508a6a32866779653f4e2b1f25716a883f5 Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Mon, 9 Oct 2023 11:45:27 +0800 Subject: [PATCH 34/42] =?UTF-8?q?Update=20=E5=B8=B8=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\347\224\250\344\273\243\347\240\201.txt" | 144 +++++++++++------- 1 file changed, 87 insertions(+), 57 deletions(-) diff --git "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" index f057a15..8396fca 100644 --- "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" +++ "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" @@ -1,11 +1,11 @@ -ȥ +去重 df = df.drop_duplicates().reset_index(drop=True) -ɾijһ +删除某一列 df2=df2.drop(cols,axis=1) -ɾ +删除两行 df.drop(index=[0, 1]) -dateתַ +date转字符串 from datetime import datetime, date, time d = date.fromisoformat('2018-09-22') @@ -21,139 +21,169 @@ start=pd.to_datetime('2017-01-01') -޸ +修改类型 train['tf_status'] = t1['tf_status'].astype(np.int64) -޸ +修改日期类型 df['ds'] = pd.to_datetime(df['ds']) -޸ֶ +修改字段名 df.rename(columns={'#studentid':'studentid'}, inplace = True) -# +#加年月 df['year']=df.datetime.apply(lambda x: x.year) df['month'] = df.datetime.apply(lambda x: x.month) df['year'] = df['year'].astype(np.int64) df['month'] = df['month'].astype(np.int64) -ɾֶ +删除字段 df.drop(['#id'], axis=1, inplace=True) -鿴ж10% +查看数据中顶部10%的数据 print(df.weeks.quantile(np.arange(.9,1,.01))) - +设置索引 df = df.set_index(['hetongdetailid']) -жϿֵ - -print(" cat ܹ %d ֵ." % df['cat'].isnull().sum()) - -print(" review ܹ %d ֵ." % df['review'].isnull().sum()) +判断空值 + +print("在 cat 列中总共有 %d 个空值." % df['cat'].isnull().sum()) + +print("在 review 列中总共有 %d 个空值." % df['review'].isnull().sum()) df[df.isnull().values==True] - + df = df[pd.notnull(df['review'])] - +排序 df.sort_values(by="x1",ascending= False) -ģѯ +模糊查询 df_remark_tf[df_remark_tf["content_method"].str.contains(keystring)] -޸ֶ +修改字段类型 df_appraise['deptid'] = df_appraise['deptid'].astype(np.int64) -޸(https://blog.csdn.net/zhangchuang601/article/details/79583551) +修改数据(https://blog.csdn.net/zhangchuang601/article/details/79583551) df.loc[1,['name','age']] = ['bb',11] -df.iloc[1,2] = 19#޸ijһ +df.iloc[1,2] = 19#修改某一无 df.loc[df[df.htid.isin(ids)].index,"y"]=1 -ݿ +保存数据库 df.to_sql(name='predict',con=mysql_engine,if_exists = 'replace') - +生成日期 dt = datetime.datetime(year, month, 1) -鿴10%ݷֲ +查看顶部10%数据分布 print(movie_rating_count['totalRatingCount'].quantile(np.arange(.9,1,.01))) #-------plotly.express------------------------- -#ͼ +#折线图 import plotly.express as px fig = px.line(df, x='date', y='y_true', - labels={'date':'', 'y_true':''}, + labels={'date':'日期', 'y_true':'话务量'}, markers=True) fig.update_xaxes(tickformat = "%Y-%m-%d", hoverformat = "%Y-%m-%d") -fig.update_layout(title_text="߲ҵͼ", title_x=0.5) -fig.update_traces(marker=dict(size=3)) #ƵĴС +fig.update_layout(title_text="热线部门日业务量趋势图", title_x=0.5) +fig.update_traces(marker=dict(size=3)) #控制点的大小 fig.show() -#ɢͼ -fig = px.scatter(df, x="ʵ", y="ʵ",hover_data=['did','']) -fig.update_traces(marker=dict(size=4)) #ĴС +#散点图 +fig = px.scatter(df, x="真实订单量", y="真实金额",hover_data=['did','日期']) +fig.update_traces(marker=dict(size=4)) #点的大小 fig.show() ---------------------------------- -1nohup command & - nohup jupyter notebook & +1、nohup command & +例如 nohup jupyter notebook & -2ҵPID(رǰִ̨еĽ̵IJ裬ҵPID) +2、找到进程PID(关闭在前面后台执行的进程的步骤,首先找到其进程PID) ps -ef | grep xxxx -ps -ef 鿴еḶ̌grep xxxxҵxxxxĿ +ps -ef 查看本机所有的进程;grep xxxx代表过滤找到条件xxxx的项目 -3kill -kill -9 PID +3、kill掉进程 +kill -9 具体的PID --------------ָ˿------------------------------------- +-------------打开指定端口------------------------------------- firewall-cmd --zone=public --add-port=8504/tcp --permanent firewall-cmd --reload -netstat -ntlp //鿴ǰtcp˿ڡ -netstat -ntulp |grep 8888 //鿴1935˿ʹ +netstat -ntlp //查看当前所有tcp端口· +netstat -ntulp |grep 8888 //查看所有1935端口使用情况 -------------------pip---------------------------------------- +------------------更新pip命令---------------------------------------- python -m pip install --upgrade pip --------------⻷----------------------------- -# ⻷ +-------------搭建虚拟环境----------------------------- +# 创建虚拟环境 conda create --name yourenvname python=3.8 -# ⻷ +# 进入虚拟环境 conda activate yourenvname -#˳⻷ +#退出虚拟环境 conda deactivate -#ɾ⻷ +#删除虚拟环境 conda remove -n py39 --all -# jupyter notebook⻷ +# 在jupyter notebook中添加虚拟环境 python -m ipykernel install --user --name yourenvname --display-name "display-name" -------------------jupyter notebook⻷---------------------------------------- -1.cmd⻷torch_env +------------------在jupyter notebook里面添加虚拟环境---------------------------------------- +1.cmd进入虚拟环境(torch_env) activate torch_env 2.pip install ipykernel ipython -س +回车 3.ipython kernel install --user --name torch_env -س +回车 -4.ٴνjupyter notebook -ϽǣnewѡҪ⻷ +4.再次进入jupyter notebook +右上角,new,即可选择需要的虚拟环境。 -5.⣬Ҫָļдjupyter notebook,ֻҪļλãߵλÿcmd,jupyter notebook,ɽ·ΪԼҪġ +5.另外,如果需要在指定文件夹中打开jupyter notebook,只需要打开文件夹所在位置,点击搜索框左边的位置框,输入cmd,再输入jupyter notebook,即可将路径设为自己需要的。 -jupyter ɾ⻷ +在jupyter 中删除虚拟环境 6.jupyter kernelspec uninstall myenv ----------pip install װ----------------------------------------- +---------pip install 镜像安装----------------------------------------- pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple +#base64转PIL +def base64_to_pil(img_base64): + base64_decoded = base64.b64decode(img_base64) + byte_stream = io.BytesIO(base64_decoded) + pil_image = Image.open(byte_stream) + return pil_image +--------------------图个格式转换--------------------------------------------------- +#PIL转base64 +def image_to_base64_str(pil_image): + byte_arr = io.BytesIO() + pil_image.save(byte_arr, format='PNG') + byte_arr = byte_arr.getvalue() + return str(base64.b64encode(byte_arr).decode('utf-8')) + +#数组转base64(方法一) +pil_image = Image.fromarray(cv2.cvtColor(image_array, cv2.COLOR_BGR2RGB)) +image_base64 = image_to_base64_str(pil_image) + +#数组转base64(方法二) +retval, buffer = cv2.imencode('.png', img_mask_face_array) +image_mask_face_base64 = base64.b64encode(buffer).decode('utf-8') + +# 将PIL转换为NumPy数组 +array_image = np.array(pil_image) +array_image = np.asarray(pil_image) + +#array to pil +from PIL import Image +pil_image = Image.fromarray(image_array) + From a2348a1fef0ff9af2dc6c69aaeca748e6721fb94 Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Mon, 9 Oct 2023 11:46:26 +0800 Subject: [PATCH 35/42] =?UTF-8?q?Update=20=E5=B8=B8=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\345\270\270\347\224\250\344\273\243\347\240\201.txt" | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" index 8396fca..8bc50cd 100644 --- "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" +++ "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" @@ -154,13 +154,15 @@ activate torch_env ---------pip install 镜像安装----------------------------------------- pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple +--------------------图个格式转换--------------------------------------------------- + #base64转PIL def base64_to_pil(img_base64): base64_decoded = base64.b64decode(img_base64) byte_stream = io.BytesIO(base64_decoded) pil_image = Image.open(byte_stream) return pil_image ---------------------图个格式转换--------------------------------------------------- + #PIL转base64 def image_to_base64_str(pil_image): byte_arr = io.BytesIO() From 17f3961afa8ccb1cc21abc9ee459df9bab3f5f4e Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Tue, 21 May 2024 10:41:03 +0800 Subject: [PATCH 36/42] =?UTF-8?q?Update=20=E5=B8=B8=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\345\270\270\347\224\250\344\273\243\347\240\201.txt" | 1 + 1 file changed, 1 insertion(+) diff --git "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" index 8bc50cd..58b2103 100644 --- "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" +++ "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" @@ -155,6 +155,7 @@ activate torch_env pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple --------------------图个格式转换--------------------------------------------------- +from PIL import Image #base64转PIL def base64_to_pil(img_base64): From af6ed5455eb532c51d51d129a1bf0a9f4cfc40e7 Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Fri, 17 Oct 2025 14:42:28 +0800 Subject: [PATCH 37/42] =?UTF-8?q?Update=20=E5=B8=B8=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81.txt=20with=20new=20code=20snippets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...70\347\224\250\344\273\243\347\240\201.txt" | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" index 58b2103..a59954d 100644 --- "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" +++ "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" @@ -188,6 +188,24 @@ from PIL import Image pil_image = Image.fromarray(image_array) +音量调节 +alsamixer + +常用开机自启管理命令总结 +拷贝.service文件: sudo cp mcp_pipe.service /etc/systemd/system/mcp_pipe.service +赋权限:sudo chmod 644 /etc/systemd/system/mcp_pipe.service +重新加载 systemd 配置:sudo systemctl daemon-reload + +启用开机自启: sudo systemctl enable mcp_pipe.service +禁止开机自启: sudo systemctl disable mcp_pipe.service +立即启动: sudo systemctl start mcp_pipe.service +立即停止: sudo systemctl stop mcp_pipe.service +重启服务: sudo systemctl restart mcp_pipe.service +查看状态: sudo systemctl status mcp_pipe.service +查看实时日志:journalctl -u mcp_pipe.service -f + + + From 3f2fd81227ab672e895683f56b53f5200c10814c Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Mon, 20 Oct 2025 16:06:51 +0800 Subject: [PATCH 38/42] =?UTF-8?q?Update=20=E5=B8=B8=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...270\347\224\250\344\273\243\347\240\201.txt" | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" index a59954d..71fae59 100644 --- "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" +++ "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" @@ -204,6 +204,23 @@ alsamixer 查看状态: sudo systemctl status mcp_pipe.service 查看实时日志:journalctl -u mcp_pipe.service -f +第一步:在 GitLab 上创建一个新的空项目 +在您的浏览器中打开 GitLab,并导航到 xiaozhi 组。 +点击页面右上角的蓝色按钮 "New project"。 +选择 "Create blank project"。 +在 "Project name" 字段中,为您的项目命名,例如 simple-py-xiaozhi。 +确保 "Project slug" 和 "Project URL" 是正确的。 +您可以选择将 "Visibility Level" 设置为 "Private" 或 "Internal"。 +不要 勾选 "Initialize repository with a README"。因为您本地已经有项目了,所以要创建一个空的项目。 +点击 "Create project"。 + +1. cd D:\work\py-xiaozhi\simple-py-xiaozhi +2. git init +3. git remote add origin [您在GitLab上创建的项目的URL] +4. git add . +5. git commit -m "Initial commit" +6. git push -u origin main + From 5b6f9a012fcf0f90904a0b4bfca17921627cd7e3 Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Thu, 23 Oct 2025 08:27:00 +0800 Subject: [PATCH 39/42] =?UTF-8?q?Update=20=E5=B8=B8=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81.txt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...70\270\347\224\250\344\273\243\347\240\201.txt" | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" index 71fae59..4c692d2 100644 --- "a/\345\270\270\347\224\250\344\273\243\347\240\201.txt" +++ "b/\345\270\270\347\224\250\344\273\243\347\240\201.txt" @@ -221,6 +221,20 @@ alsamixer 5. git commit -m "Initial commit" 6. git push -u origin main +---------esp32编译---------------------- +cd ~/work/esp-idf +source ./export.sh + +1. idf.py set-target esp32s3 +2. idf.py menuconfig +3. idf.py build +------生成单个固件文件----- +4. cd build , +5. python3 -m esptool --chip esp32s3 merge_bin -o ../xiaozhi_ok.bin @flash_args +6. 烧录固件: +python -m esptool --chip esp32s3 -p /dev/tty.usbmodemXXXX -b 460800 --before default_reset --after hard_reset write_flash -z 0x0 xiaozhi.bin + + From 916d7ca0823349be3de30f450fd682c52d32c60e Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Thu, 21 May 2026 22:23:16 +0800 Subject: [PATCH 40/42] Add files via upload --- alignment_guide.md | 111 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 alignment_guide.md diff --git a/alignment_guide.md b/alignment_guide.md new file mode 100644 index 0000000..b0d3cb5 --- /dev/null +++ b/alignment_guide.md @@ -0,0 +1,111 @@ +# 🛠️ FastUMI 数据采集:T265 坐标系对齐与复位指南 + +在使用基于 Intel RealSense T265 的手持设备(如 FastUMI)进行机器人操作数据采集时,**“对齐”(Alignment)或“复位”(Reset)是最关键的一步**。 + +本指南将通过图文为您详细说明为什么需要对齐,以及如何正确地进行物理操作。 + +--- + +## 1. 为什么要进行“对齐”? + +T265 追踪相机(视觉里程计)没有内建的绝对坐标感。当你启动录制程序的瞬间,T265 会武断地宣布: +**“我现在所在的这个点就是宇宙的中心 (0,0,0),我现在的朝向就是正前方!”** + +### ❌ 如果不对齐(错误示范) + +如果你随便找个地方按下了“开始录制”,那么每次生成的轨迹数据都会落在不同的坐标系中。机器人学习算法看到的数据就像下面这样混乱: + +```mermaid +graph TD + subgraph 真实世界 (你想抓的杯子都在桌子中央) + Cup1((杯子)) + Cup2((杯子)) + end + + subgraph T265眼中的世界 (数据错乱) + A[录制1: 离杯子远点启动] --> |数据记录| X1((杯子坐标: x=10)) + B[录制2: 离杯子近点启动] --> |数据记录| X2((杯子坐标: x=2)) + end + + style Cup1 fill:#f9f,stroke:#333,stroke-width:2px + style X1 fill:#ff9,stroke:#333,stroke-width:2px +``` + +### ✅ 正确的对齐(锚点效应) + +通过在每次点击“开始录制”之前,将手持设备放置在**同一个物理锚点**,我们就强行把 T265 的“随机坐标系”和“机器人的绝对坐标系”绑定在了一起。 + +```mermaid +flowchart LR + A[物理锚点\n(例如:桌角)] -->|每次都在此启动| B(T265: 这里是 0,0,0) + B -->|config.json 转换| C{机器人基座:\n 锚点位于 x=0.5, z=0.3} + C -->|输出最终数据| D[所有动作轨迹精准对齐] + + style A fill:#bbf,stroke:#333,stroke-width:2px + style D fill:#bfb,stroke:#333,stroke-width:2px +``` + +--- + +## 2. 三种实用的物理对齐方案 + +为了确保每次启动时的位置和角度完全一致,以下是实验室中最常用的三种方案(按精度从低到高排列): + +### 方案一:桌面标记法(十字胶带) +**精度:⭐ | 成本:极低** + +这是最简单的方案,适用于对绝对精度要求不极端的任务。 + +1. **准备**:在操作台面上,用有色胶带贴一个明显的“十”字作为对齐点。 +2. **标定**:测量这个“十”字中心到机器人真实底座的物理距离(X, Y, Z),将数值填入 `config.json` 的 `base_position`。 +3. **操作**: + - 每次录制前,将手持夹爪的尖端(TCP)或者设备底部的固定点**垂直对准**十字中心。 + - 保持设备的朝向(例如:始终垂直于桌子边缘)。 + - 点击“开始录制”。 + +> **⚠️ 注意**:人手很难保证每次倾斜角度完全一致,这会导致生成的轨迹在旋转(Orientation)上产生误差。 + +--- + +### 方案二:物理挡块法(推荐,最常用) +**精度:⭐⭐⭐⭐ | 成本:低** + +这是性价比最高的方法,能有效限制位置和角度误差。 + +1. **准备**:在操作台边缘,使用重物(如两块方正的铅块)或 3D 打印一个直角底座(Dock),用强力双面胶固定在桌面上。 +2. **标定**:测量挡块的内角顶点到机器人基座的距离,填入 `base_position`。 +3. **操作**: + - 每次录制前,将手持设备的手柄底部**紧紧靠住**挡块的直角内部。 + - 确保设备的背面贴紧挡块的一侧(保证朝向一致)。 + - 确认设备稳定后,点击“开始录制”。 + - 录制开始后,再把设备拿起来去执行操作。 + +> **💡 提示**:你可以想象你在使用一个“充电底座”。每次出门干活前,都必须从底座上拔下来。启动的那一刻,设备必须安稳地坐在底座里。 + +--- + +### 方案三:机器人夹持法(最高精度) +**精度:⭐⭐⭐⭐⭐ | 成本:高(需要操作机械臂)** + +如果你的终极目标是在真实机器人上进行毫米级的抓取,这是最严谨的方法。 + +1. **准备**:编写一个简单的脚本,让真实机械臂移动到一个固定的“Home”位置(例如正前方,姿态垂直向下)。 +2. **操作**: + - 在录制开始前,操作者拿着 FastUMI 采集器,将采集器的夹爪与真实机器人的夹爪(或法兰盘特定位置)**物理对接**(例如:互相咬合,或者靠死)。 + - 此时,采集器的位姿被机械臂死死限制住了。 + - 第二个人在电脑上点击“开始录制”。 + - 录制开始后,操作者移开采集器,去执行演示动作。 +3. **配置**:此时 `config.json` 中的 `base_position` 就是机器人这个“Home”位置的精确坐标。 + +--- + +## 3. 常见问题排查 (Troubleshooting) + +| 现象 | 可能原因 | 解决办法 | +| :--- | :--- | :--- | +| **机器人回放时,动作总是偏向一侧几厘米** | `base_position` 测量不准,或者物理锚点移动了。 | 重新拿卷尺精确测量锚点到机器人底座的距离并更新 config。 | +| **机器人回放时,高度(Z轴)越来越低,最后砸桌子** | T265 启动时的俯仰角(Pitch)没对准。启动时可能手抖让设备往下倾斜了。 | 使用**物理挡块法**,确保启动时设备是绝对垂直/水平的。 | +| **轨迹偶尔会“瞬移”或大范围漂移** | T265 在采集过程中镜头被遮挡,或者周围环境特征太少(如大面积白墙)。 | 保证相机视野清晰;在桌面上放一些有纹理的物体帮助 T265 定位。 | + +--- +**总结**:数据采集的真理是——**垃圾进,垃圾出 (Garbage In, Garbage Out)**。花 10 分钟搭建一个稳固的对齐挡块,能为你省去后期数天的除错时间。 From 1308230c918aacd787d1c2f2f33beba9c565022f Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Thu, 21 May 2026 22:24:31 +0800 Subject: [PATCH 41/42] Add files via upload From c891a9d6ade2e568d4906ea0391537af757a34b7 Mon Sep 17 00:00:00 2001 From: tongzm <39787084+tongzm@users.noreply.github.com> Date: Thu, 21 May 2026 22:40:12 +0800 Subject: [PATCH 42/42] Add files via upload --- alignment_guide.md | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/alignment_guide.md b/alignment_guide.md index b0d3cb5..183848b 100644 --- a/alignment_guide.md +++ b/alignment_guide.md @@ -17,18 +17,18 @@ T265 追踪相机(视觉里程计)没有内建的绝对坐标感。当你启 ```mermaid graph TD - subgraph 真实世界 (你想抓的杯子都在桌子中央) - Cup1((杯子)) - Cup2((杯子)) + subgraph "现实物理空间 (目标杯子位置固定)" + Cup((杯子)) end - subgraph T265眼中的世界 (数据错乱) - A[录制1: 离杯子远点启动] --> |数据记录| X1((杯子坐标: x=10)) - B[录制2: 离杯子近点启动] --> |数据记录| X2((杯子坐标: x=2)) + subgraph "T265 记录的数据 (因启动点不同而错乱)" + A["演示 1: 在远点按下启动"] -->|导致| X1(("数据记录: 杯子在 10m 处")) + B["演示 2: 在近点按下启动"] -->|导致| X2(("数据记录: 杯子在 2m 处")) end - style Cup1 fill:#f9f,stroke:#333,stroke-width:2px + style Cup fill:#f9f,stroke:#333,stroke-width:2px style X1 fill:#ff9,stroke:#333,stroke-width:2px + style X2 fill:#ff9,stroke:#333,stroke-width:2px ``` ### ✅ 正确的对齐(锚点效应) @@ -36,10 +36,10 @@ graph TD 通过在每次点击“开始录制”之前,将手持设备放置在**同一个物理锚点**,我们就强行把 T265 的“随机坐标系”和“机器人的绝对坐标系”绑定在了一起。 ```mermaid -flowchart LR - A[物理锚点\n(例如:桌角)] -->|每次都在此启动| B(T265: 这里是 0,0,0) - B -->|config.json 转换| C{机器人基座:\n 锚点位于 x=0.5, z=0.3} - C -->|输出最终数据| D[所有动作轨迹精准对齐] +graph TD + A["物理锚点\n(如:桌角)"] -->|固定位置启动| B("T265: 这里是 0,0,0") + B -->|config.json 转换| C{"机器人基座:\n 锚点固定位位姿"} + C -->|输出数据| D["所有动作轨迹对齐"] style A fill:#bbf,stroke:#333,stroke-width:2px style D fill:#bfb,stroke:#333,stroke-width:2px @@ -63,8 +63,6 @@ flowchart LR - 保持设备的朝向(例如:始终垂直于桌子边缘)。 - 点击“开始录制”。 -> **⚠️ 注意**:人手很难保证每次倾斜角度完全一致,这会导致生成的轨迹在旋转(Orientation)上产生误差。 - --- ### 方案二:物理挡块法(推荐,最常用) @@ -80,8 +78,6 @@ flowchart LR - 确认设备稳定后,点击“开始录制”。 - 录制开始后,再把设备拿起来去执行操作。 -> **💡 提示**:你可以想象你在使用一个“充电底座”。每次出门干活前,都必须从底座上拔下来。启动的那一刻,设备必须安稳地坐在底座里。 - --- ### 方案三:机器人夹持法(最高精度)