Last active
February 19, 2019 18:20
-
-
Save krishnachouhan/ff820f5b5631d8b1a764de6783bf6536 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"##" | |
] | |
}, | |
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"toc": true | |
}, | |
"source": [ | |
"<h1>Table of Contents<span class=\"tocSkip\"></span></h1>\n", | |
"<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Snippets\" data-toc-modified-id=\"Snippets-1\"><span class=\"toc-item-num\">1 </span>Snippets</a></span><ul class=\"toc-item\"><li><span><a href=\"#Imports\" data-toc-modified-id=\"Imports-1.1\"><span class=\"toc-item-num\">1.1 </span>Imports</a></span></li><li><span><a href=\"#Code\" data-toc-modified-id=\"Code-1.2\"><span class=\"toc-item-num\">1.2 </span>Code</a></span><ul class=\"toc-item\"><li><span><a href=\"#GroupBy\" data-toc-modified-id=\"GroupBy-1.2.1\"><span class=\"toc-item-num\">1.2.1 </span>GroupBy</a></span></li><li><span><a href=\"#To-DateTime\" data-toc-modified-id=\"To-DateTime-1.2.2\"><span class=\"toc-item-num\">1.2.2 </span>To DateTime</a></span></li><li><span><a href=\"#List-Containing-Dates\" data-toc-modified-id=\"List-Containing-Dates-1.2.3\"><span class=\"toc-item-num\">1.2.3 </span>List Containing Dates</a></span></li><li><span><a href=\"#To-Csv\" data-toc-modified-id=\"To-Csv-1.2.4\"><span class=\"toc-item-num\">1.2.4 </span>To Csv</a></span></li></ul></li><li><span><a href=\"#MAPS\" data-toc-modified-id=\"MAPS-1.3\"><span class=\"toc-item-num\">1.3 </span>MAPS</a></span><ul class=\"toc-item\"><li><span><a href=\"#Plot-Size\" data-toc-modified-id=\"Plot-Size-1.3.1\"><span class=\"toc-item-num\">1.3.1 </span>Plot Size</a></span></li><li><span><a href=\"#Bar-Graph-1\" data-toc-modified-id=\"Bar-Graph-1-1.3.2\"><span class=\"toc-item-num\">1.3.2 </span>Bar Graph-1</a></span></li><li><span><a href=\"#Bar-Graph--2\" data-toc-modified-id=\"Bar-Graph--2-1.3.3\"><span class=\"toc-item-num\">1.3.3 </span>Bar Graph -2</a></span></li></ul></li><li><span><a href=\"#ANALYTICS\" data-toc-modified-id=\"ANALYTICS-1.4\"><span class=\"toc-item-num\">1.4 </span>ANALYTICS</a></span><ul class=\"toc-item\"><li><span><a href=\"#Mape\" data-toc-modified-id=\"Mape-1.4.1\"><span class=\"toc-item-num\">1.4.1 </span>Mape</a></span></li><li><span><a href=\"#ACF-PACF-ADF\" data-toc-modified-id=\"ACF-PACF-ADF-1.4.2\"><span class=\"toc-item-num\">1.4.2 </span>ACF PACF ADF</a></span></li><li><span><a href=\"#Mean-and-Windowed-Mean\" data-toc-modified-id=\"Mean-and-Windowed-Mean-1.4.3\"><span class=\"toc-item-num\">1.4.3 </span>Mean and Windowed Mean</a></span></li><li><span><a href=\"#Ensemble-Function\" data-toc-modified-id=\"Ensemble-Function-1.4.4\"><span class=\"toc-item-num\">1.4.4 </span>Ensemble Function</a></span></li></ul></li></ul></li></ul></div>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Snippets" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Imports" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from sklearn.preprocessing import LabelEncoder, OneHotEncoder, StandardScaler\n", | |
"from sklearn.linear_model import LogisticRegression\n", | |
"from sklearn import metrics\n", | |
"from sklearn.metrics import accuracy_score\n", | |
"\n", | |
"# from sklearn.ensemble import RandomForestRegressor, GradientBoostingRegressor, ExtraTreesRegressor\n", | |
"\n", | |
"# Graphs and Viz\n", | |
"from matplotlib import pyplot\n", | |
"import matplotlib.pyplot as plt\n", | |
"from matplotlib import pylab\n", | |
"%matplotlib inline\n", | |
"import seaborn as sns\n", | |
"sns.set_style('whitegrid')\n", | |
"sns.set(color_codes=True)\n", | |
"\n", | |
"# Analytics\n", | |
"import numpy as np\n", | |
"import pandas as pd\n", | |
"\n", | |
"# TIME-SERIES\n", | |
"from statsmodels.tsa.arima_model import ARIMA\n", | |
"from statsmodels.tsa.stattools import adfuller\n", | |
"from statsmodels.graphics.tsaplots import plot_acf\n", | |
"from statsmodels.graphics.tsaplots import plot_pacf\n", | |
"\n", | |
"# import xgboost as xgb\n", | |
"from sklearn import grid_search\n", | |
"\n", | |
"# DataBase\n", | |
"import psycopg2\n", | |
"\n", | |
"# Utility\n", | |
"import os\n", | |
"import re\n", | |
"import itertools\n", | |
"from math import sqrt\n", | |
"from json import dump\n", | |
"from os import linesep\n", | |
"import time\n", | |
"import datetime\n", | |
"import tqdm\n", | |
"from tqdm import tnrange, tqdm_notebook\n", | |
"\n", | |
"# Documentation and Presentation\n", | |
"# import doc\n", | |
"\n", | |
"\n", | |
"# def docs(a):\n", | |
"# print(a.__doc__)\n", | |
"\n", | |
"from IPython.core.display import display, HTML\n", | |
"display(HTML('<style>.container { width:90% !important; }</style>'))\n" ] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## Code" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### GroupBy" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"###INPUT:\n", | |
"# Date\tQty\n", | |
"# 0\t2014-09-01\t5\n", | |
"# 1\t2014-10-01\t5\n", | |
"# 2\t2014-10-01\t10\n", | |
"# 3\t2014-10-01\t19\n", | |
"# 4\t2014-10-01\t19\n", | |
"# 5\t2014-10-01\t8\n", | |
"# 6\t2014-11-01\t9\n", | |
"# 7\t2014-11-01\t10\n", | |
"# 8\t2014-11-01\t4\n", | |
"# 9\t2014-11-01\t3\n", | |
"# 10\t2014-12-01\t19\n", | |
"# 11\t2014-12-01\t13\n", | |
"# 12\t2014-12-01\t3\n", | |
"# 13\t2014-12-01\t19\n", | |
"# 14\t2014-12-01\t10\n", | |
"# 15\t2014-12-01\t13\n", | |
"# 16\t2015-01-01\t14\n", | |
"# 17\t2015-01-01\t11\n", | |
"# 18\t2015-01-01\t13\n", | |
"\n", | |
"###OUTPUT:\n", | |
"# Date\tCount\tQty\tEffective Qty\n", | |
"# 0\t2014-09-01\t1\t5\t5.000000\n", | |
"# 1\t2014-10-01\t5\t61\t12.200000\n", | |
"# 2\t2014-11-01\t4\t26\t6.500000\n", | |
"# 3\t2014-12-01\t6\t77\t12.833333\n", | |
"# 4\t2015-01-01\t3\t38\t12.666667\n", | |
"# 5\t2015-02-01\t3\t57\t19.000000\n", | |
"\n", | |
"data_splitted = data.groupby('Date').agg({\n", | |
"'Date': 'count',\n", | |
"'Qty': 'sum'\n", | |
"}).rename(columns={\n", | |
"'Date': 'Count'\n", | |
"}).reset_index()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### To DateTime" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"data[\"Date\"] = pd.to_datetime(data[\"Date\"])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### List Containing Dates" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"time_list = np.arange(\"2005-01-01\", \"2014-01-01\", np.timedelta64(1, 'Y'), dtype=\"datetime64[Y]\" )\n", | |
"time_list = list( map(pd.to_datetime, time_list) )" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### To Csv" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"Required_Col_data.to_csv(\"./arima/Required_Col_data.csv\", index=False)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## MAPS" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Plot Size" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#Setting Plot size\n", | |
"plt.rcParams[\"figure.figsize\"] = [16,9]" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Bar Graph-1" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 26, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt\n", | |
"\n", | |
"all_accuracy = 1 - 0.70\n", | |
"G17_accuracy = 1 - 0.60\n", | |
"G18_accuracy = 1 - 0.10\n", | |
"G17_G18_accuracy = 1 - ((0.6 + 0.10) / 2)\n", | |
"# data to plot\n", | |
"n_groups = 4\n", | |
"mape_full = (1, 1, 1, 1)\n", | |
"mape_calc = (all_accuracy, G17_accuracy, G18_accuracy, G17_G18_accuracy )\n", | |
"\n", | |
"# create plot\n", | |
"fig, ax = plt.subplots()\n", | |
"index = np.arange(n_groups)\n", | |
"bar_width = 0.35\n", | |
"opacity = 0.8\n", | |
"\n", | |
"rects1 = plt.bar( index, mape_full, bar_width, alpha=opacity, color='b', label='Acutal')\n", | |
"rects2 = plt.bar( index + bar_width, mape_calc, bar_width, alpha=opacity, color='g', label='Mean')\n", | |
"\n", | |
"for v, i in enumerate(mape_calc):\n", | |
" ax.text(v + 0.25, i , str(int(mape_calc[v]*100+1)), color='blue', fontweight='bold', fontsize=24)\n", | |
"\n", | |
"plt.xlabel('Part-LEad')\n", | |
"plt.ylabel('Mean Predicted')\n", | |
"plt.title('Accuracy by simple mean calculation')\n", | |
"plt.xticks(index + bar_width, ('All'+str(), 'G17'+str(), 'G18'+str(), 'G17&G18'+str()) )\n", | |
"\n", | |
"plt.legend()\n", | |
"\n", | |
"plt.tight_layout()\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Bar Graph -2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"import numpy as np\n", | |
"import matplotlib.pyplot as plt\n", | |
"\n", | |
"all_accuracy = 1 - 0.70\n", | |
"G17_accuracy = 1 - 0.60\n", | |
"G18_accuracy = 1 - 0.10\n", | |
"G17_G18_accuracy = 1 - ((0.6 + 0.10) / 2)\n", | |
"# data to plot\n", | |
"n_groups = 4\n", | |
"mape_full = (1, 1, 1, 1)\n", | |
"mape_calc = (all_accuracy, G17_accuracy, G18_accuracy, G17_G18_accuracy )\n", | |
"\n", | |
"# create plot\n", | |
"fig, ax = plt.subplots()\n", | |
"index = np.arange(n_groups)\n", | |
"bar_width = 0.35\n", | |
"opacity = 0.8\n", | |
"\n", | |
"rects1 = plt.bar( index, mape_full, bar_width, alpha=opacity, color='salmon', label='Acutal')\n", | |
"rects2 = plt.bar( index , mape_calc, bar_width, alpha=opacity, color='g', label='Mean')\n", | |
"\n", | |
"for v, i in enumerate(mape_calc):\n", | |
" ax.text(v + 0.25, i , str(int(mape_calc[v]*100+1)), color='blue', fontweight='bold', fontsize=24)\n", | |
"\n", | |
"plt.xlabel('Part-LEad')\n", | |
"plt.ylabel('Mean Predicted')\n", | |
"plt.title('Accuracy by simple mean calculation')\n", | |
"plt.xticks(index , ('All'+str(), 'G17'+str(), 'G18'+str(), 'G17&G18'+str()) )\n", | |
"\n", | |
"plt.legend()\n", | |
"\n", | |
"plt.tight_layout()\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"## ANALYTICS" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Mape" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### ACF PACF ADF" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# AutoCorellation Function Partial \n", | |
"# AutoCorellation Function\n", | |
"# Augmented Dickey Fuller Function\n", | |
"\n", | |
"#ACF\n", | |
"from statsmodels.graphics.tsaplots import plot_acf\n", | |
"series = pd.Series.from_csv(\"./arima/Required_Col_data.csv\", header=0)\n", | |
"temp = plot_acf(series)\n", | |
"# pyplot.show()\n", | |
"\n", | |
"#PACF\n", | |
"from statsmodels.graphics.tsaplots import plot_pacf\n", | |
"series = pd.Series.from_csv(\"./arima/Required_Col_data.csv\", header=0)\n", | |
"temp = plot_pacf(series)\n", | |
"# pyplot.show()\n", | |
"\n", | |
"#ADF\n", | |
"from statsmodels.tsa.stattools import adfuller\n", | |
"series = pd.Series.from_csv(\"./arima/Required_Col_data.csv\", header=None)\n", | |
"X = series.values\n", | |
"result = adfuller(X)\n", | |
"print('ADF Statistic: %f' % result[0])\n", | |
"print('p-value: %f' % result[1])\n", | |
"print('Critical Values:')\n", | |
"for key, value in result[4].items():\n", | |
"print('\\t%s: %.3f' % (key, value))\n", | |
"\n", | |
" " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Mean and Windowed Mean" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Ensemble Function" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def ensemble(estimates=[], actuals=[], errorMethod=\"RMSE\", MapeCutOff=1, loops = 0, importance_leveled=False):\n", | |
" \"\"\"\n", | |
" Ensembles: Estimated the coefficients to combine multiple models.\n", | |
" Inputs:\n", | |
" estimates: List of estimated result. [List of List of values]\n", | |
" actuals: List of actual result. [List of values]\n", | |
" errorMethod: RMSE, MAPE, Difference. [Default: \"RMSE\"]\n", | |
" MapeCutOff: Value to divide while calulating mape with zero or certain threshold. (abs(act-pred))/MapeCutOff.\n", | |
" loops: Number of loops you want to run to mature the coefficient. [Default 0: continues till saturation]\n", | |
" importance _leveled: BETA functionality. Importance of models is in order of estimates list.\n", | |
" Output:\n", | |
" List of Coefficients.\n", | |
" \"\"\"\n", | |
"\n", | |
" if estimates != actual:\n", | |
" print(\"Error: Estimated and Actual value have different dimensions\")\n", | |
"\n", | |
" coeff = [1]*len(estimates)\n", | |
" delta = [0]*len(estimates)\n", | |
"\n", | |
" loop_count = 0\n", | |
" while saturation" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"with tqdm_notebook(total=total_count ) as pbar:\n", | |
" for product in new_df_grouped.keys():\n", | |
" part = product \n", | |
" parts_df = new_df_grouped[product]\n", | |
"\n", | |
" pbar_count += 1\n", | |
" pbar.update(pbar_count)\n" | |
] | |
} | |
], | |
"metadata": { | |
"hide_input": false, | |
"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.5" | |
}, | |
"toc": { | |
"base_numbering": 1, | |
"nav_menu": {}, | |
"number_sections": true, | |
"sideBar": true, | |
"skip_h1_title": false, | |
"title_cell": "Table of Contents", | |
"title_sidebar": "Contents", | |
"toc_cell": true, | |
"toc_position": { | |
"height": "calc(100% - 180px)", | |
"left": "10px", | |
"top": "150px", | |
"width": "326px" | |
}, | |
"toc_section_display": true, | |
"toc_window_display": true | |
}, | |
"varInspector": { | |
"cols": { | |
"lenName": 16, | |
"lenType": 16, | |
"lenVar": 40 | |
}, | |
"kernels_config": { | |
"python": { | |
"delete_cmd_postfix": "", | |
"delete_cmd_prefix": "del ", | |
"library": "var_list.py", | |
"varRefreshCmd": "print(var_dic_list())" | |
}, | |
"r": { | |
"delete_cmd_postfix": ") ", | |
"delete_cmd_prefix": "rm(", | |
"library": "var_list.r", | |
"varRefreshCmd": "cat(var_dic_list()) " | |
} | |
}, | |
"types_to_exclude": [ | |
"module", | |
"function", | |
"builtin_function_or_method", | |
"instance", | |
"_Feature" | |
], | |
"window_display": false | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
}, | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment