From 9504d389b2f7258f238a6657621a642dd3de446c Mon Sep 17 00:00:00 2001 From: nsbagrova <31707825+nsbagrova@users.noreply.github.com> Date: Mon, 5 Feb 2018 23:02:55 +0300 Subject: [PATCH] Add files via upload --- Python_HA3_Bagrova_Nataliya.ipynb | 932 ++++++++++++++++++++++++++++++ 1 file changed, 932 insertions(+) create mode 100644 Python_HA3_Bagrova_Nataliya.ipynb diff --git a/Python_HA3_Bagrova_Nataliya.ipynb b/Python_HA3_Bagrova_Nataliya.ipynb new file mode 100644 index 0000000..8437c64 --- /dev/null +++ b/Python_HA3_Bagrova_Nataliya.ipynb @@ -0,0 +1,932 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "X = np.random.rand(100000,3)\n", + "Y = X.dot(np.array([1,2,3])) + np.random.randn(100000)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "class OLS:\n", + " \n", + " def __init__(self, y, x):\n", + " self.y = y\n", + " self.x = x\n", + " nrows = self.x.shape[0]\n", + " l = np.full((nrows,1), 1) # add intercept (sorry, can't do without it, Sergei allowed)\n", + " self.x = np.concatenate((l,x),axis=1) # merge with the 1s column\n", + " # self.x = np.vstack((l, self.x))\n", + " self.bh = np.dot(np.linalg.inv(np.dot(self.x.T,self.x)), np.dot(self.x.T,self.y)) # betas' calculation\n", + " self.pred = self.bh[0]\n", + " for i in range(len(self.bh) - 1):\n", + " self.pred = self.pred + self.x[:, i+1] * self.bh[i+1]\n", + " \n", + " self.n = self.x.shape[0]\n", + " self.k = self.x.shape[1]\n", + " \n", + " self.VCV = np.true_divide(1,self.n-self.k) * np.dot(np.dot(self.pred.T,self.pred),\\\n", + " np.linalg.inv(np.dot(self.x.T,self.x)))\n", + " self.stderror = np.sqrt(np.diagonal(self.VCV))\n", + " \n", + " self.check = self.y - self.pred\n", + " \n", + " def beta(self): \n", + " return self.bh\n", + " \n", + " def predict(self):\n", + " return self.pred\n", + " \n", + " def V(self):\n", + " return self.VCV\n", + " \n", + " def std(self):\n", + " return self.stderror\n", + " \n", + " def check_distr_res(self):\n", + " return self.check\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "model = OLS(Y,X)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 2.99045934, 4.52315569, 3.97512765, ..., 0.64473915,\n", + " 4.57571085, 4.85057031])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.predict()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1.01973613e-03, -6.13675553e-04, -6.12250496e-04,\n", + " -6.08961296e-04],\n", + " [ -6.13675553e-04, 1.22754383e-03, 1.14200284e-06,\n", + " 2.08860051e-07],\n", + " [ -6.12250496e-04, 1.14200284e-06, 1.22191884e-03,\n", + " -3.79491424e-06],\n", + " [ -6.08961296e-04, 2.08860051e-07, -3.79491424e-06,\n", + " 1.22309893e-03]])" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.V()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0.03193331, 0.03503632, 0.03495596, 0.03497283])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.std()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[]], dtype=object)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n1P8HPOP5lyPcVX0AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# check errors are distributed normally\n", + "import pandas as pd\n", + "% matplotlib inline\n", + "pd.DataFrame(model.check_distr_res()).hist(bins = 100)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 2" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 1-3\n", + "bh = np.random.uniform(0,1,11)\n", + "xh = np.random.uniform(-5,5,200)\n", + "uh = 10 * np.random.rand(200)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def factorial(n):\n", + " \n", + " if (n == 1):\n", + " return 1\n", + " elif (n == 0):\n", + " return 1\n", + " else:\n", + " return n * factorial(n-1)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 4\n", + "yh = list()\n", + "\n", + "for i in range(200):\n", + " temp = 0\n", + " for k in range(11): \n", + " temp = temp + (bh[k] * (xh[i] ** k) / factorial(k))\n", + " temp = temp - uh[i]\n", + " yh.append(temp)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import matplotlib" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "matplotlib.pyplot.scatter(xh, yh)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "xh = xh.reshape(200, 1)\n", + "model = OLS(np.asarray(yh), xh)\n", + "p = model.predict()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "color_dict = {0:'r',1:'y',2:'g',3:'b'}\n", + "matplotlib.pyplot.figure(figsize=(16, 8), dpi=100)\n", + "matplotlib.pyplot.scatter(xh, yh)\n", + "for i in range(4):\n", + " if (i == 0):\n", + " temp_x = xh\n", + " else:\n", + " t = xh ** (i+1)\n", + " temp_x = np.concatenate((temp_x, t), axis=1)\n", + " # temp_x = np.vstack((t,(xh ** (i+1))))\\n\",\n", + " # temp_x = temp_x.reshape(200,i+1)\\n\",\n", + " y = np.asarray(yh)\n", + " # y = y.reshape(200,)\\n\",\n", + " # y = y.reshape(200,1)\\n\",\n", + " model = OLS(y, temp_x)\n", + " p = model.predict()\n", + " p = p.reshape(200,1)\n", + " tt = np.concatenate((xh, p), axis=1) # join х and predicted values (p)\n", + " tt = np.sort(tt, axis = 0) # sort by x\n", + " matplotlib.pyplot.plot(tt[:,0],tt[:,1], color = color_dict[i], linewidth = 3, label = 'K = ' + str(i))\n", + " matplotlib.pyplot.legend()\n", + " # matplotlib.pyplot.plot(xh,p, snap = False, color = color_dict[i], linewidth = 3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 3" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ True, True, True, True, True, True, True, True, True,\n", + " True, False, True, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, True, False, True, True, True, False, True,\n", + " True, True, True, True, True, True, True, False, False,\n", + " True, True, True, True, True, True, True, True, True,\n", + " False, True, True, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, False, True, True], dtype=bool)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nrows, ncols = 100, 100\n", + "matrix = np.random.normal(0, 1, size=(nrows, ncols)).astype('float64')\n", + "\n", + "# 1A (for columns)\n", + "from scipy import stats\n", + "n = len(matrix)\n", + "col_means = np.mean(matrix, axis=0)\n", + "col_stds = np.std(matrix, axis=0)\n", + "col_ses = np.sqrt(col_stds / n)\n", + "t_cr = stats.t.isf(0.05, n-1)\n", + "col_width = col_ses * t_cr\n", + "col_ci_up = col_means + col_width\n", + "col_ci_low = col_means - col_width\n", + "col_zero = (col_ci_up > 0) & (col_ci_low < 0)\n", + "col_zero" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "93" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2A\n", + "sum(col_zero)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ True, True, True, True, True, False, True, True, True,\n", + " True, True, True, True, True, True, True, True, False,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, False, True, False, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, False, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True,\n", + " True, True, True, True, True, True, True, True, True, True], dtype=bool)" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 1B\n", + "nrows, ncols = 100, 100\n", + "matrix = np.random.normal(0, 1, size=(nrows, ncols)).astype('float64')\n", + "\n", + "# 1A (for )\n", + "from scipy import stats\n", + "n = len(matrix)\n", + "row_means = np.mean(matrix, axis=1)\n", + "row_stds = np.std(matrix, axis=1)\n", + "row_ses = np.sqrt(row_stds / n)\n", + "t_cr = stats.t.isf(0.05, n-1)\n", + "row_width = row_ses * t_cr\n", + "row_ci_up = row_means + row_width\n", + "row_ci_low = row_means - row_width\n", + "row_zero = (row_ci_up > 0) & (row_ci_low < 0)\n", + "row_zero" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "95" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2B\n", + "sum(row_zero)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# 4" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "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", + "
nplayerseasonteampositiongames_played
01Cam Talbot2016-17EDMG73
12Braden Holtby2016-17WSHG63
23Sergei Bobrovsky2016-17CBJG63
34Devan Dubnyk2016-17MING65
45Tuukka Rask2016-17BOSG65
\n", + "
" + ], + "text/plain": [ + " n player season team position games_played\n", + "0 1 Cam Talbot 2016-17 EDM G 73\n", + "1 2 Braden Holtby 2016-17 WSH G 63\n", + "2 3 Sergei Bobrovsky 2016-17 CBJ G 63\n", + "3 4 Devan Dubnyk 2016-17 MIN G 65\n", + "4 5 Tuukka Rask 2016-17 BOS G 65" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 1\n", + "df = pd.read_csv('goalies-2014-2016.csv', skiprows = 0, sep = ';')\n", + "first_6_col = list(df.columns)[:6]\n", + "df.head()[first_6_col]" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.00049999999999994493" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 2\n", + "df['save_percentage_self'] = df['saves'] / df['shots_against']\n", + "df['error'] = df['save_percentage'] - df['save_percentage_self']\n", + "df['error'].max()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "goals_against 53.351779\n", + "games_played 22.285395\n", + "save_percentage 0.071260\n", + "dtype: float64\n", + "goals_against 67.605735\n", + "games_played 28.476703\n", + "save_percentage 0.901179\n", + "dtype: float64\n" + ] + } + ], + "source": [ + "# 3\n", + "col_std = ['goals_against', 'games_played', 'save_percentage']\n", + "print(df[col_std].std())\n", + "print(df[col_std].mean())" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
playersave_percentage
2Sergei Bobrovsky0.931
\n", + "
" + ], + "text/plain": [ + " player save_percentage\n", + "2 Sergei Bobrovsky 0.931" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 4\n", + "df_4 = df[df['season'] == '2016-17'] \n", + "df_4 = df_4[df_4['games_played'] > 40]\n", + "df_4[df_4['save_percentage'] == df_4['save_percentage'].max()][['player','save_percentage']]" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "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", + "
seasonplayerwins
12016-17Braden Holtby42
32016-17Devan Dubnyk40
42016-17Tuukka Rask37
102016-17Corey Crawford32
112016-17Pekka Rinne31
122016-17Henrik Lundqvist31
952015-16Braden Holtby48
1012015-16Corey Crawford35
1022015-16Henrik Lundqvist35
1032015-16Pekka Rinne34
1042015-16Devan Dubnyk32
1052015-16Tuukka Rask31
1882014-15Pekka Rinne41
1892014-15Braden Holtby41
1932014-15Devan Dubnyk36
1972014-15Tuukka Rask34
1982014-15Corey Crawford32
2002014-15Henrik Lundqvist30
\n", + "
" + ], + "text/plain": [ + " season player wins\n", + "1 2016-17 Braden Holtby 42\n", + "3 2016-17 Devan Dubnyk 40\n", + "4 2016-17 Tuukka Rask 37\n", + "10 2016-17 Corey Crawford 32\n", + "11 2016-17 Pekka Rinne 31\n", + "12 2016-17 Henrik Lundqvist 31\n", + "95 2015-16 Braden Holtby 48\n", + "101 2015-16 Corey Crawford 35\n", + "102 2015-16 Henrik Lundqvist 35\n", + "103 2015-16 Pekka Rinne 34\n", + "104 2015-16 Devan Dubnyk 32\n", + "105 2015-16 Tuukka Rask 31\n", + "188 2014-15 Pekka Rinne 41\n", + "189 2014-15 Braden Holtby 41\n", + "193 2014-15 Devan Dubnyk 36\n", + "197 2014-15 Tuukka Rask 34\n", + "198 2014-15 Corey Crawford 32\n", + "200 2014-15 Henrik Lundqvist 30" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 6\n", + "df_6 = df[df['wins'] > 29][['season', 'player', 'wins']]\n", + "df_6 = df_6.groupby(\"player\").filter(lambda x: len(x) == 3)\n", + "df_6" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Braden Holtby', 'Devan Dubnyk', 'Tuukka Rask', 'Corey Crawford',\n", + " 'Pekka Rinne', 'Henrik Lundqvist'], dtype=object)" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_6.player.unique()" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}