Skip to content

Instantly share code, notes, and snippets.

@Gijs-Koot
Created October 2, 2019 13:34
Show Gist options
  • Save Gijs-Koot/9767231a5f594c3e98abb3a5f3d707ab to your computer and use it in GitHub Desktop.
Save Gijs-Koot/9767231a5f594c3e98abb3a5f3d707ab to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Regression 101\n",
"\n",
"In this training, you will learn\n",
"\n",
"* What the probabilistic model is underlying least squares regression\n",
"* What the likelihood function is\n",
"* What to think of parameter estimation in maximum likelihood estimations and how to interpret confidence intervals\n",
"* Why there is more uncertainty in your predictions than just the parameter uncertainties, what they are, and how to deal with those\n",
"* How to implement a regression in with `tensorflow` and compare it with the output from `statsmodels`\n",
"\n",
"This training should get you started in the direction of\n",
"\n",
"* Understanding what `tensorflow` does\n",
"* Implementing more complicated models\n",
"* Bayesian Statistics\n",
"* Generalized linear models, regression splines"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [],
"source": [
"% matplotlib inline\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from scipy import stats"
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>x</th>\n",
" <th>y</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>4.085283</td>\n",
" <td>23.957436</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1.083008</td>\n",
" <td>8.632136</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3.534593</td>\n",
" <td>20.681548</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3.995216</td>\n",
" <td>22.626877</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2.994028</td>\n",
" <td>18.836193</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1.899187</td>\n",
" <td>14.902008</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>1.792251</td>\n",
" <td>10.031126</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>4.042123</td>\n",
" <td>25.267162</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>1.676443</td>\n",
" <td>11.839477</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>1.353359</td>\n",
" <td>10.657072</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" x y\n",
"0 4.085283 23.957436\n",
"1 1.083008 8.632136\n",
"2 3.534593 20.681548\n",
"3 3.995216 22.626877\n",
"4 2.994028 18.836193\n",
"5 1.899187 14.902008\n",
"6 1.792251 10.031126\n",
"7 4.042123 25.267162\n",
"8 1.676443 11.839477\n",
"9 1.353359 10.657072"
]
},
"execution_count": 113,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.random.seed(10)\n",
"\n",
"n = 10\n",
"\n",
"x = stats.uniform(1, 4).rvs(n)\n",
"y = 3 + 5 * x + stats.norm().rvs(n) * 2\n",
"\n",
"df = pd.DataFrame({\n",
" \"x\": x, \"y\": y\n",
"})\n",
"\n",
"df"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Questions\n",
"\n",
"* Explain a real-life dataset that we could be looking at. What is `x`, what is `y`, what are the observations?\n",
"* `x` is drawn from a uniform distribution, what does that mean in the scatterplot below?\n",
"* Explain the terms in the formula and what they represent in the scatterplot\n",
"* This is theoretical data that is following a linear regression model perfectly. What parts of the formulas are crucial to that fact?\n",
"\n",
"```\n",
"x = stats.uniform(1, 4).rvs(n)\n",
"y = 3 + 5 * x + stats.norm().rvs(n) * 2\n",
"```\n"
]
},
{
"cell_type": "code",
"execution_count": 114,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.plot.scatter(\"x\", \"y\");"
]
},
{
"cell_type": "code",
"execution_count": 115,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEKCAYAAAAB0GKPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl8VPW9//HXJ5ISKlgx4AZYuAoiQgwY0RpFcUFUigtq0SuCS7lWrXpvK2p/1qWbSq1atVcv1wW3q9iighWtC8WtFgwYEFkKWtAABQy7kJiQz++PMyQzySQMITNnMvN+Ph55MPOdcyafkwO88/2eM9+vuTsiIiI7kxN2ASIi0jooMEREJCEKDBERSYgCQ0REEqLAEBGRhCgwREQkIQoMERFJiAJDREQSosAQEZGEtAm7gJbUqVMn7969e9hliIi0GrNnz/7K3Tsnsm1GBUb37t0pKSkJuwwRkVbDzJYnuq2GpEREJCEKDBERSYgCQ0REEpJR1zDiqaqqoqysjIqKirBLyXp5eXl07dqV3NzcsEsRkWbI+MAoKyujQ4cOdO/eHTMLu5ys5e6Ul5dTVlZGjx49wi5HRJoh44ekKioqyM/PV1iEzMzIz89XT09kN5RvqWTulxso31IZyvfP+B4GoLBIEzoPIs03pXQFN06eR25ODlU1NYwfUcDwwi4prSHjexgiIq1d+ZZKbpw8j4qqGjZXVlNRVcO4yfNS3tNIWmCYWTcz+6uZLTSzT83sukj77Wa2wsxKI19nNLL/UDNbbGZLzeymZNWZbBs2bOC///u/wy4jITNmzGDYsGG7vY2ItKyy9dvIzYn97zo3J4ey9dtSWkcyexjVwE/c/TDgGOBqM+sTee0+dy+MfE2rv6OZ7QH8ATgd6ANcGLVvq9JUYGzfvj3F1YhIa9S1Yzuqampi2qpqaujasV1K60haYLj7KnefE3m8GVgIJDrgNhBY6u6fu/s3wPPAWcmpNLluuukmPvvsMwoLC7nhhhuYMWMGgwcP5qKLLqJfv34sW7aMvn371m5/zz33cPvttwPw2WefMXToUI488kiOP/54Fi1a1OD9b7/9dkaPHs2QIUPo3r07L774IuPGjaNfv34MHTqUqqoqAN5++2369+9Pv379uOyyy6isDLqyr7/+Or179+a4447jxRdfrH3fr7/+mssuu4yjjjqK/v37M2XKlCT+lESkKfnt2zJ+RAF5uTl0aNuGvNwcxo8oIL9925TWkZKL3mbWHegPzASKgWvM7BKghKAXsr7eLl2AL6OelwFHN/LeY4GxAAcddFDThVx/PZSW7nL9TSoshPvvb/Tlu+66i/nz51Ma+b4zZsxg1qxZzJ8/nx49erBs2bJG9x07diyPPPIIPXv2ZObMmVx11VVMnz69wXafffYZf/3rX1mwYAHf+973mDx5MuPHj+ecc87h1VdfZejQoYwZM4a3336bXr16cckll/Dwww9z5ZVX8sMf/pDp06dzyCGH8IMf/KD2PX/9619z0kkn8fjjj7NhwwYGDhzIKaec0vyfk4jsluGFXSg+pBNl67fRtWO7lIcFpOCit5m1ByYD17v7JuBh4GCgEFgF/C7ebnHaPN77u/sEdy9y96LOnROacDF0AwcO3OlnEbZs2cLf/vY3zj//fAoLC/mP//gPVq1aFXfb008/ndzcXPr168f27dsZOnQoQG0PZvHixfTo0YNevXoBMHr0aN59910WLVpEjx496NmzJ2bGxRdfXPueb7zxBnfddReFhYWceOKJVFRU8MUXX7TQT0BEmiO/fVuO6LZ3KGEBSe5hmFkuQVg86+4vArj76qjX/xf4c5xdy4BuUc+7Ait3u6AmegKptOeee9Y+btOmDTVRY5M7PqdQU1PD3nvvXdszaUrbtsFfnpycHHJzc2tvX83JyaG6uhr3uFkLNH6rq7szefJkDj300Jj21atXx91eRDJfMu+SMuAxYKG73xvVfkDUZucA8+Ps/hHQ08x6mNm3gJHA1GTVmkwdOnRg8+bNjb6+3377sWbNGsrLy6msrOTPfw7yc6+99qJHjx788Y9/BIL/wOfOndusGnr37s2yZctYunQpAE8//TQnnHACvXv35p///CefffYZAM8991ztPqeddhoPPvhgbdh8/PHHzfreIpI5kjkkVQyMAk6qdwvteDP7xMzmAYOB/wQwswPNbBqAu1cD1wB/IbhY/oK7f5rEWpMmPz+f4uJi+vbtyw033NDg9dzcXG699VaOPvpohg0bRu/evWtfe/bZZ3nsscc44ogjOPzww5t94TkvL48nnniC888/n379+pGTk8OVV15JXl4eEyZM4Mwzz+S4447ju9/9bu0+P//5z6mqqqKgoIC+ffvy85//vFnf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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = df.plot.scatter(\"x\", \"y\", label = \"observations\")\n",
"ax.plot(x, 3 + 5 * x, color = \"red\", label = \"true model\")\n",
"ax.legend();"
]
},
{
"cell_type": "code",
"execution_count": 116,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\gijs.koot\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\scipy\\stats\\stats.py:1394: UserWarning: kurtosistest only valid for n>=20 ... continuing anyway, n=10\n",
" \"anyway, n=%i\" % int(n))\n"
]
},
{
"data": {
"text/html": [
"<table class=\"simpletable\">\n",
"<caption>OLS Regression Results</caption>\n",
"<tr>\n",
" <th>Dep. Variable:</th> <td>y</td> <th> R-squared: </th> <td> 0.963</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Model:</th> <td>OLS</td> <th> Adj. R-squared: </th> <td> 0.958</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Method:</th> <td>Least Squares</td> <th> F-statistic: </th> <td> 207.8</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Date:</th> <td>Thu, 20 Sep 2018</td> <th> Prob (F-statistic):</th> <td>5.24e-07</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Time:</th> <td>17:00:46</td> <th> Log-Likelihood: </th> <td> -15.556</td>\n",
"</tr>\n",
"<tr>\n",
" <th>No. Observations:</th> <td> 10</td> <th> AIC: </th> <td> 35.11</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Df Residuals:</th> <td> 8</td> <th> BIC: </th> <td> 35.72</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Df Model:</th> <td> 1</td> <th> </th> <td> </td> \n",
"</tr>\n",
"<tr>\n",
" <th>Covariance Type:</th> <td>nonrobust</td> <th> </th> <td> </td> \n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <td></td> <th>coef</th> <th>std err</th> <th>t</th> <th>P>|t|</th> <th>[0.025</th> <th>0.975]</th> \n",
"</tr>\n",
"<tr>\n",
" <th>Intercept</th> <td> 3.2338</td> <td> 1.021</td> <td> 3.167</td> <td> 0.013</td> <td> 0.879</td> <td> 5.588</td>\n",
"</tr>\n",
"<tr>\n",
" <th>x</th> <td> 5.1064</td> <td> 0.354</td> <td> 14.415</td> <td> 0.000</td> <td> 4.290</td> <td> 5.923</td>\n",
"</tr>\n",
"</table>\n",
"<table class=\"simpletable\">\n",
"<tr>\n",
" <th>Omnibus:</th> <td> 0.851</td> <th> Durbin-Watson: </th> <td> 3.017</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Prob(Omnibus):</th> <td> 0.653</td> <th> Jarque-Bera (JB): </th> <td> 0.107</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Skew:</th> <td>-0.252</td> <th> Prob(JB): </th> <td> 0.948</td>\n",
"</tr>\n",
"<tr>\n",
" <th>Kurtosis:</th> <td> 2.942</td> <th> Cond. No. </th> <td> 8.01</td>\n",
"</tr>\n",
"</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
],
"text/plain": [
"<class 'statsmodels.iolib.summary.Summary'>\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: y R-squared: 0.963\n",
"Model: OLS Adj. R-squared: 0.958\n",
"Method: Least Squares F-statistic: 207.8\n",
"Date: Thu, 20 Sep 2018 Prob (F-statistic): 5.24e-07\n",
"Time: 17:00:46 Log-Likelihood: -15.556\n",
"No. Observations: 10 AIC: 35.11\n",
"Df Residuals: 8 BIC: 35.72\n",
"Df Model: 1 \n",
"Covariance Type: nonrobust \n",
"==============================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"------------------------------------------------------------------------------\n",
"Intercept 3.2338 1.021 3.167 0.013 0.879 5.588\n",
"x 5.1064 0.354 14.415 0.000 4.290 5.923\n",
"==============================================================================\n",
"Omnibus: 0.851 Durbin-Watson: 3.017\n",
"Prob(Omnibus): 0.653 Jarque-Bera (JB): 0.107\n",
"Skew: -0.252 Prob(JB): 0.948\n",
"Kurtosis: 2.942 Cond. No. 8.01\n",
"==============================================================================\n",
"\n",
"Warnings:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"\"\"\""
]
},
"execution_count": 116,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import statsmodels.formula.api as smf\n",
"\n",
"smf.ols('y ~ x', data = df).fit().summary()"
]
},
{
"cell_type": "code",
"execution_count": 117,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[[ 3, 4, 5, 6, 7]],\n",
"\n",
" [[ 6, 8, 10, 12, 14]],\n",
"\n",
" [[ 9, 12, 15, 18, 21]]])"
]
},
"execution_count": 117,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"a = np.array([1, 2, 3])\n",
"b = np.array([3, 4, 5, 6, 7])\n",
"\n",
"a.reshape(-1, 1, 1) @ b.reshape(1, 1, -1)"
]
},
{
"cell_type": "code",
"execution_count": 118,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>a</th>\n",
" <th>b</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" a b\n",
"0 1 3\n",
"1 1 4\n",
"2 1 5\n",
"3 1 6\n",
"4 1 7\n",
"5 2 3\n",
"6 2 4\n",
"7 2 5\n",
"8 2 6\n",
"9 2 7\n",
"10 3 3\n",
"11 3 4\n",
"12 3 5\n",
"13 3 6\n",
"14 3 7"
]
},
"execution_count": 118,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"parameters = pd.DataFrame(np.array(np.meshgrid(a, b)).T.reshape(-1, 2), columns = [\"a\", \"b\"])\n",
"parameters"
]
},
{
"cell_type": "code",
"execution_count": 119,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>a</th>\n",
" <th>b</th>\n",
" <th>squared_error</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>680.640539</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>295.519244</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>76.561176</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>23.766336</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>7</td>\n",
" <td>137.134723</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>534.511413</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>202.301099</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>36.254012</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>36.370153</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>2</td>\n",
" <td>7</td>\n",
" <td>202.649520</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>408.382287</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>129.082954</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>15.946848</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>3</td>\n",
" <td>6</td>\n",
" <td>68.973969</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>288.164318</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" a b squared_error\n",
"0 1 3 680.640539\n",
"1 1 4 295.519244\n",
"2 1 5 76.561176\n",
"3 1 6 23.766336\n",
"4 1 7 137.134723\n",
"5 2 3 534.511413\n",
"6 2 4 202.301099\n",
"7 2 5 36.254012\n",
"8 2 6 36.370153\n",
"9 2 7 202.649520\n",
"10 3 3 408.382287\n",
"11 3 4 129.082954\n",
"12 3 5 15.946848\n",
"13 3 6 68.973969\n",
"14 3 7 288.164318"
]
},
"execution_count": 119,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"parameters[\"squared_error\"] = ((parameters.a.values + parameters.b.values.reshape(1, -1) * x.reshape(-1, 1) - y.reshape(-1, 1)) ** 2).sum(axis = 0).flatten()\n",
"parameters"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x1a91c7ac0f0>"
]
},
"execution_count": 120,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib\n",
"\n",
"parameters.plot.scatter(\"a\", \"b\", c = \"squared_error\", cmap = matplotlib.cm.Reds)"
]
},
{
"cell_type": "code",
"execution_count": 121,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"a = np.arange(0, 10, .1)\n",
"b = np.arange(0, 10, .1)\n",
"\n",
"parameters = pd.DataFrame(np.array(np.meshgrid(a, b)).T.reshape(-1, 2), columns = [\"a\", \"b\"])\n",
"parameters[\"squared_error\"] = ((parameters.a.values + parameters.b.values.reshape(1, -1) * x.reshape(-1, 1) - y.reshape(-1, 1)) ** 2).sum(axis = 0).flatten()\n",
"\n",
"ax = parameters.plot.scatter(\"a\", \"b\", c = \"squared_error\", cmap = matplotlib.cm.Reds)\n",
"ax.plot([3], [5], \"+\");"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Connection between least squares and maximum likelihood\n",
"\n",
"$\n",
"\\begin{align}\n",
"Y &\\sim a + b\\cdot X + e\\\\\n",
"e &\\sim \\mathcal{N}\\left(0, s\\right)\n",
"\\end{align}\n",
"$\n",
"\n",
"-- \n",
"\n",
"$\n",
"p(x) = \\frac{1}{\\sigma\\sqrt{2\\pi}}e^{-\\frac{1}{2}\\left(\\frac{x - \\mu}{\\sigma}\\right)^2}\n",
"$"
]
},
{
"cell_type": "code",
"execution_count": 133,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x432 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize = (10, 6))\n",
"\n",
"for mu in np.array([3, 5, 8]):\n",
" for sigma in np.array([.1, .2, .5]):\n",
" x = np.arange(0, 10, .1)\n",
" y = np.exp(- ((x - mu) / sigma) ** 2)\n",
" plt.plot(x, y, label = \"mu = {}, sigma = {}\".format(mu, sigma));\n",
" \n",
"plt.legend();"
]
},
{
"cell_type": "code",
"execution_count": 123,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([1.43332941, 1.39989887, 1.36834229, 1.33856748, 1.31048854,\n",
" 1.28402542, 1.25910355, 1.23565352, 1.21361074, 1.19291513,\n",
" 1.17351087, 1.15534615, 1.13837294, 1.12254676, 1.10782651,\n",
" 1.09417428, 1.08155519, 1.06993725, 1.05929119, 1.04959041,\n",
" 1.04081077, 1.03293059, 1.02593049, 1.01979334, 1.01450418,\n",
" 1.01005017, 1.00642052, 1.00360649, 1.00160128, 1.00040008,\n",
" 1. , 1.00040008, 1.00160128, 1.00360649, 1.00642052,\n",
" 1.01005017, 1.01450418, 1.01979334, 1.02593049, 1.03293059,\n",
" 1.04081077, 1.04959041, 1.05929119, 1.06993725, 1.08155519,\n",
" 1.09417428, 1.10782651, 1.12254676, 1.13837294, 1.15534615,\n",
" 1.17351087, 1.19291513, 1.21361074, 1.23565352, 1.25910355,\n",
" 1.28402542, 1.31048854, 1.33856748, 1.36834229, 1.39989887,\n",
" 1.43332941, 1.46873282, 1.50621518, 1.54589031, 1.58788033,\n",
" 1.63231622, 1.67933856, 1.7290982 , 1.78175708, 1.83748906,\n",
" 1.89648088, 1.95893312, 2.02506136, 2.09509731, 2.16929016,\n",
" 2.24790799, 2.33123927, 2.41959459, 2.51330847, 2.61274136,\n",
" 2.71828183, 2.83034893, 2.94939481, 3.07590756, 3.21041432,\n",
" 3.35348465, 3.5057343 , 3.66782924, 3.84049014, 4.02449727,\n",
" 4.22069582, 4.43000184, 4.65340868, 4.89199404, 5.14692784,\n",
" 5.41948071, 5.71103347, 6.02308749, 6.3572761 , 6.71537719])"
]
},
"execution_count": 123,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y"
]
},
{
"cell_type": "code",
"execution_count": 149,
"metadata": {},
"outputs": [],
"source": [
"import tensorflow as tf\n",
"\n",
"# tf.enable_eager_execution()"
]
},
{
"cell_type": "code",
"execution_count": 152,
"metadata": {},
"outputs": [],
"source": [
"tx = tf.convert_to_tensor(x)"
]
},
{
"cell_type": "code",
"execution_count": 153,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<tf.Tensor: id=1, shape=(100,), dtype=float64, numpy=\n",
"array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2,\n",
" 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2, 2.3, 2.4, 2.5,\n",
" 2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8,\n",
" 3.9, 4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5. , 5.1,\n",
" 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6. , 6.1, 6.2, 6.3, 6.4,\n",
" 6.5, 6.6, 6.7, 6.8, 6.9, 7. , 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7,\n",
" 7.8, 7.9, 8. , 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9. ,\n",
" 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9])>"
]
},
"execution_count": 153,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tx"
]
},
{
"cell_type": "code",
"execution_count": 156,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"<tf.Tensor: id=3, shape=(100,), dtype=float64, numpy=\n",
"array([0.000e+00, 1.000e-02, 4.000e-02, 9.000e-02, 1.600e-01, 2.500e-01,\n",
" 3.600e-01, 4.900e-01, 6.400e-01, 8.100e-01, 1.000e+00, 1.210e+00,\n",
" 1.440e+00, 1.690e+00, 1.960e+00, 2.250e+00, 2.560e+00, 2.890e+00,\n",
" 3.240e+00, 3.610e+00, 4.000e+00, 4.410e+00, 4.840e+00, 5.290e+00,\n",
" 5.760e+00, 6.250e+00, 6.760e+00, 7.290e+00, 7.840e+00, 8.410e+00,\n",
" 9.000e+00, 9.610e+00, 1.024e+01, 1.089e+01, 1.156e+01, 1.225e+01,\n",
" 1.296e+01, 1.369e+01, 1.444e+01, 1.521e+01, 1.600e+01, 1.681e+01,\n",
" 1.764e+01, 1.849e+01, 1.936e+01, 2.025e+01, 2.116e+01, 2.209e+01,\n",
" 2.304e+01, 2.401e+01, 2.500e+01, 2.601e+01, 2.704e+01, 2.809e+01,\n",
" 2.916e+01, 3.025e+01, 3.136e+01, 3.249e+01, 3.364e+01, 3.481e+01,\n",
" 3.600e+01, 3.721e+01, 3.844e+01, 3.969e+01, 4.096e+01, 4.225e+01,\n",
" 4.356e+01, 4.489e+01, 4.624e+01, 4.761e+01, 4.900e+01, 5.041e+01,\n",
" 5.184e+01, 5.329e+01, 5.476e+01, 5.625e+01, 5.776e+01, 5.929e+01,\n",
" 6.084e+01, 6.241e+01, 6.400e+01, 6.561e+01, 6.724e+01, 6.889e+01,\n",
" 7.056e+01, 7.225e+01, 7.396e+01, 7.569e+01, 7.744e+01, 7.921e+01,\n",
" 8.100e+01, 8.281e+01, 8.464e+01, 8.649e+01, 8.836e+01, 9.025e+01,\n",
" 9.216e+01, 9.409e+01, 9.604e+01, 9.801e+01])>"
]
},
"execution_count": 156,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tf.square(tx)"
]
},
{
"cell_type": "code",
"execution_count": 167,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(<tf.Tensor: id=84, shape=(), dtype=float32, numpy=0.70710677>,\n",
" <tf.Tensor: id=79, shape=(), dtype=float32, numpy=3.1415927>)"
]
},
"execution_count": 167,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from math import pi\n",
"\n",
"pi = tf.constant(pi)\n",
"\n",
"tf.sqrt(.5), pi"
]
},
{
"cell_type": "code",
"execution_count": 173,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<tf.Tensor: id=148, shape=(), dtype=float32, numpy=0.25164604>"
]
},
"execution_count": 173,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
" tf.div(1., (2 * pi * tf.sqrt(.4)))"
]
},
{
"cell_type": "code",
"execution_count": 185,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"tf.Tensor(\n",
"[-1.40992804e-01 -2.35655649e-02 -3.68327589e-05 -6.09704671e-02\n",
" -3.75023362e-01 -2.89459785e+00 -1.86270350e+00 -2.11469516e+00\n",
" -1.04543473e-01 -3.96294989e-01], shape=(10,), dtype=float64)\n",
"tf.Tensor(0.15915494, shape=(), dtype=float32)\n"
]
},
{
"data": {
"text/plain": [
"<tf.Tensor: id=343, shape=(), dtype=float64, numpy=1.0151029856665015>"
]
},
"execution_count": 185,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"np.random.seed(10)\n",
"\n",
"n = 10\n",
"\n",
"x = stats.uniform(1, 4).rvs(n)\n",
"y = 3 + 5 * x + stats.norm().rvs(n) * 2\n",
"\n",
"tx = tf.convert_to_tensor(x)\n",
"ty = tf.convert_to_tensor(y)\n",
"\n",
"def likelihood(a, b, sigma):\n",
" \n",
" tmp = -.5 * tf.square(tf.div(a + b * tx - y, sigma))\n",
" const = tf.div(1., (2. * pi * tf.sqrt(sigma)))\n",
" \n",
" return tf.reduce_sum(tf.cast(const, tf.double) * tf.exp(tmp))\n",
"\n",
"likelihood(3., 5., 1.)"
]
},
{
"cell_type": "code",
"execution_count": 188,
"metadata": {},
"outputs": [],
"source": [
"tfe = tf.contrib.eager\n",
"\n",
"grad = tfe.gradients_function(likelihood)"
]
},
{
"cell_type": "code",
"execution_count": 193,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"tf.Tensor(\n",
"[-29.65723131 -0.9565003 -18.46963644 -22.0529722 -17.13529304\n",
" -13.54313903 -0.21410108 -41.77705614 -3.94846295 -3.37218824], shape=(10,), dtype=float64)\n"
]
},
{
"ename": "InvalidArgumentError",
"evalue": "cannot compute Mul as input #0 was expected to be a double tensor but is a float tensor [Op:Mul] name: mul/",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mInvalidArgumentError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-193-0f024ea5794c>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mgrad\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcast\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m4\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdouble\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcast\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m3\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdouble\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcast\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1.\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdouble\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\tensorflow\\python\\eager\\backprop.py\u001b[0m in \u001b[0;36mdecorated\u001b[1;34m(*args, **kwds)\u001b[0m\n\u001b[0;32m 367\u001b[0m \u001b[1;34m\"\"\"Computes the gradient of the decorated function.\"\"\"\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 368\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 369\u001b[1;33m \u001b[0m_\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mgrad\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mval_and_grad_function\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mparams\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 370\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mgrad\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 371\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\tensorflow\\python\\eager\\backprop.py\u001b[0m in \u001b[0;36mdecorated\u001b[1;34m(*args, **kwds)\u001b[0m\n\u001b[0;32m 466\u001b[0m raise ValueError(\"Functions to be differentiated cannot \"\n\u001b[0;32m 467\u001b[0m \"receive keyword arguments.\")\n\u001b[1;32m--> 468\u001b[1;33m \u001b[0mval\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvjp\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmake_vjp\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mf\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mparams\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 469\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mval\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvjp\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdy\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdy\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 470\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\tensorflow\\python\\eager\\backprop.py\u001b[0m in \u001b[0;36mdecorated\u001b[1;34m(*args, **kwds)\u001b[0m\n\u001b[0;32m 522\u001b[0m \u001b[0msources\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 523\u001b[0m \u001b[0mtape\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwatch\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 524\u001b[1;33m \u001b[0mresult\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 525\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mresult\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 526\u001b[0m raise ValueError(\"Cannot differentiate a function that returns None; \"\n",
"\u001b[1;32m<ipython-input-185-a13d491ea27c>\u001b[0m in \u001b[0;36mlikelihood\u001b[1;34m(a, b, sigma)\u001b[0m\n\u001b[0;32m 15\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtmp\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 16\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 17\u001b[1;33m \u001b[0mconst\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdiv\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1.\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;36m2.\u001b[0m \u001b[1;33m*\u001b[0m \u001b[0mpi\u001b[0m \u001b[1;33m*\u001b[0m \u001b[0mtf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msqrt\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msigma\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 18\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 19\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mconst\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\tensorflow\\python\\ops\\math_ops.py\u001b[0m in \u001b[0;36mbinary_op_wrapper\u001b[1;34m(x, y)\u001b[0m\n\u001b[0;32m 848\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mops\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mname_scope\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mop_name\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 849\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mops\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mTensor\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mand\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mops\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mTensor\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 850\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 851\u001b[0m \u001b[1;32melif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msparse_tensor\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mSparseTensor\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 852\u001b[0m \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\tensorflow\\python\\ops\\math_ops.py\u001b[0m in \u001b[0;36m_mul_dispatch\u001b[1;34m(x, y, name)\u001b[0m\n\u001b[0;32m 1092\u001b[0m \u001b[0mis_tensor_y\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mops\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mTensor\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1093\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mis_tensor_y\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1094\u001b[1;33m \u001b[1;32mreturn\u001b[0m \u001b[0mgen_math_ops\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmul\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 1095\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 1096\u001b[0m \u001b[1;32massert\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msparse_tensor\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mSparseTensor\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;31m# Case: Dense * Sparse.\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\tensorflow\\python\\ops\\gen_math_ops.py\u001b[0m in \u001b[0;36mmul\u001b[1;34m(x, y, name)\u001b[0m\n\u001b[0;32m 4956\u001b[0m \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4957\u001b[0m \u001b[0mmessage\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0me\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmessage\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 4958\u001b[1;33m \u001b[0m_six\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mraise_from\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0m_core\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_status_to_exception\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0me\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcode\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmessage\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4959\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4960\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\six.py\u001b[0m in \u001b[0;36mraise_from\u001b[1;34m(value, from_value)\u001b[0m\n",
"\u001b[1;31mInvalidArgumentError\u001b[0m: cannot compute Mul as input #0 was expected to be a double tensor but is a float tensor [Op:Mul] name: mul/"
]
}
],
"source": [
"grad(tf.cast(4, tf.double), tf.cast(3, tf.double), tf.cast(1., tf.double))"
]
}
],
"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.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment