{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Influence Estimation" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%%capture\n", "# execute the creation & training notebook first\n", "%run \"02-01-creation_and_training.ipynb\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "After [training](./02-01-creation_and_training.ipynb) we might want to know how much our parameters influence a certain target. We can do this with the ``.estimate_influences`` method." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's start by estimating the influences on the parameter '(c|a,b)'." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(a) 0.675741\n", "(b|a) 3.677125\n", "(c|a,b) 1.000000\n", "Name: influence on (c|a,b), dtype: float64" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "causal_structure.estimate_influences(target='(c|a,b)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see that '(c|a,b)' influences itself by 1, that is to say it influences itself by 100%.\n", "'(a)' influences it by 66%. This seems fairly in line with the R2-score in the [performance evaluation section](./02-04-evaluation.ipynb)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, '(b|a)' shows an influence above 100%. How can this be understood?\n", "\n", "### Influences of correlated parameters\n", "\n", "The reason why '(b|a)' shows an influence above 100% is that\n", "'(a)' and '(b|a)' are strongly anti-correlated" ] }, { "cell_type": "code", "execution_count": 3, "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", "
(a)(b|a)
(a)1.000000-0.959284
(b|a)-0.9592841.000000
\n", "
" ], "text/plain": [ " (a) (b|a)\n", "(a) 1.000000 -0.959284\n", "(b|a) -0.959284 1.000000" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.corr().loc[['(a)', '(b|a)'], ['(a)', '(b|a)']]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "but they both have a positive effect on '(c|a,b)'." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, '(c|a,b)')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAl4AAAD8CAYAAACmaqpKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA/i0lEQVR4nO3dd3xUVfrH8c9DDSC9S+hIkQ5BQKxYfiiKDTtFURF7Wcu66rquurp2XXQV0RUElGJdOxYsq4CE3qX33ktCyvP7Y4bdGBNIQmbuTPJ9v168yMy9d+bLDTl55txzzzF3R0REREQir0TQAURERESKCxVeIiIiIlGiwktEREQkSlR4iYiIiESJCi8RERGRKFHhJSIiIhIlKrxEREREokSFVwwzs8fN7PY87HeVmb1ZwPf4i5mNOsT2qWbWuiCvne11/mRmww+x/Soz+zEfr9fCzGaY2W4zu9XMXjGzB480Zw7vs8LMTj/E9jPN7IMsj93Mmh1i/zxPnFdY514k1qhtO+TrxWTbdpjXutXMnii0cEVcqaADSM7MrCYwAMj1l3iUPA38FbjoSF7E3f928GszawQsB0q7e3oBX/IeYJK7dzySXIXgb8DNEXrtQjn3IrFEbdthxWPbNgxYYmbPuvumCGYqEtTjFbuuAj519/0B5/gIONXM6gacI7uGwLwgA5hZF6Cyu0+O0FvE6rkXORJXobbtUOKubXP3FOAzQgW1HIYKr9h1FvBd1ifM7Dwzm2lmu8xsqZn1yulAM7vazBaEu6qXmdn1h3mvBDMbG95/upm1P7gh/AOVDJyZy3utNLPO4a/7hS+1HRt+fO3Brups3f7fh//eYWZ7zKx7ltd72sy2m9lyMzsrl/f8BjgVGBo+vrmZvWlmj4a332tmk82sVPjxDWY2z8wSzKyEmf0xfP62mtk4M6uW5bX7h/9NW83s/sOct999j8LODp/3LWb2lJnl+HNmZk3N7Jvwe20xs9FmVuXg9sOde5E4pbYtDts2M3vBzFaHv0fJZnZitmMmAb0P87qCCq9Y1hZYdPCBmR0HjATuBqoAJwErcjl2E3AOUAm4GnjOzDod4r3OA8YD1YAxwAdmVjrL9gVA+5wOJPTDeUr465OAZcDJWR7nVJicFP67irsf5e4/hx93JfRvrgE8CbxuZpb9YHfvCfwA3Bw+fnG2XZ4CDgAPmNkxhLrM+4Ub2luB88MZjwa2Ay8BhBvVfwL9w9uqA4m5/Lsh2/coiwuAJKAToXM7KJfjDXg8/F6tgPrAX7Ltc6hzLxKP1LbFZ9v2C9CB/53L8WaWkGW72qo8UuEVu6oAu7M8vgZ4w90nunumu69194U5Hejun7j7Ug/5DvgSyP7pJKtkd5/g7mnAs0AC0C3L9t3hPDn5jv81RicSKiQOPj6ZnBun3Kx099fcPQMYAdQFaufjeADcPZNQl/ethC4nPOnuM8Kbrwfud/c17p5KqNDpG/4E2Rf42N2/D297EMg8xFtV4bffo4P+7u7b3H0V8DxweS45l4S/n6nuvpnQuT85226HOvci8agKatvirm1z91HuvtXd0939GaAs0CLLLruByvn9NxVHKrxi13agYpbH9YGleTnQzM4Kd0dvM7MdwNmEPmnlZvXBL8I/2GsIfSo6qCKwI5djvwNONLM6QElgLNDDQoNMKwMz85I5bEOWHPvCXx6Vj+P/y91XAN8CjQh/6gtrCLxvZjvC52YBkEGoETya356LvcDWQ7xN9u/RQauzfL2S357L/zKzWmb2jpmtNbNdwCh+/3061LkXiUdq20Liqm0zsz+EL/PuDL9+ZX577isCOwvybypuVHjFrtlA8yyPVwNND3eQmZUF3iV0x05td68CfEroslZu6mc5vgShLuh1Wba3AmbldKC7LwH2EfoE9r277ybUyAwGfgw3dr877HD/jiNlZmcD3YGvCXXPH7QaOMvdq2T5k+Dua4H1/PZclCfUJZ+b7N+jg+pn+boBvz2XWT1O6Fy0c/dKQD9+/33K9dyLxCm1bUcgiLYtPJ7rXuASoGr43O/kt+debVUeqfCKXZ/y28tOrwNXm9lp4UGU9cysZQ7HlSHUBbwZSA8P4vzN4NHwINFTsjzV2cwuDHdJ3w6kApPD+5YFOgMTD5H1O0K3HR/sep+U7XF2mwl1czc5xGsWmJnVIHS+rgUGAueGGyuAV4DHzKxheN+aZnZeeNsE4BwzO8HMyhC61fxQPyPZv0cH3W1mVc2sPnAboU/KOakI7CE0ELceoTEuWf8deTn3IvFGbVsBBdi2VQTSCf37SpnZnwmNs8vqZEJ3NsphqPCKXSMJ3R1XDsDdpxIeTErok8Z3hLqWfyP8qexWYByh7uIrCI0FAMDMEgn9sp+T5bAPgUvD+/cHLgyPiQDoQ2hOmdx6bQhnqcj/7ujJ/jh7xn3AY8B/wt3i3XLa7wgMAz5090/dfSuhMSTDzaw68AKh8/Glme0m1Ah3DeeaB9xEaODoekLnY01ub+Lu04GdZtY126YPCd0tNRP4hFBDmZOHCQ3A3xne771s2/Ny7kXijdq2gguqbfuCUFG1mNDwiRSyXLoMD7I/m9D4NTkMc494z6gUkJn9Ddjk7s8fZr+rgFPc/ao8vGY/oLW735fHDFOAa9x9bl72L27M7EzgRnc/P4/7u7sf6tJI1n117qVIUtsW+/LTtpnZLUB9d78n4sGKABVeRUB+GicJVn4KL5HiTm2bFEVaMqhomInufIsXDwcdQCSOzERtmxQx6vESERERiZKID643s5IWWmn94/DjDuF5WGaa2bTwrMUiIiIiRV40LjXeRmgit4O3nj4JPOzun4Vvg32S/y3LkKMaNWp4o0aNIplRRGJMcnLyFnevGXSOwqA2TKR4OVT7FdHCK3x7b29Ct9feGX7a+V8RVpncJ5f8r0aNGjFt2rSIZBSR2GRmK4POUFjUhokUL4dqvyLd4/U8cA+/XXrgduALM3ua0KXO4yOcQURERCQmRGyMl5mdQ2ieluRsm24A7nD3+sAd5DK5pJkNDo8Bm7Z58+ZIxRQRERGJmkgOru8B9DGzFcA7QE8zG0VomYODM3SPB3IcXO/uw9w9yd2TatYsEsM8REREpJiLWOHl7ve5e6K7NwIuA75x936ExnQdXAOqJ/BrpDKIiIiIxJIgJlC9DnghvGhpCqGV3kVERESKvKgUXu4+idCq7rj7j4RWhBeRYmTFlr00qlEh6BgiIvm2OyWNA+mZVD+q7BG/VsQnUBURmTh/I6c9+x3/nnXY2WNERGLKD79u5v+e+54/vjenUF5PazWKSET9smIbN4+ZTpujK9GzZa2g44iI5MnulDT+9ulC3p66iqY1K3DjKU0L5XVVeIlIxCzasJtr3vyFelXK8cZVXahQVk2OiMS+H37dzB/fncP6nfu5/qQm3HFGcxJKlyyU11YrKCIRsXbHfga+MZWE0iUZMei4QhkbISISSXtS0/nbpwsYM2UVTWpWYMINx9OpQdVCfQ8VXiJS6LbvPcCA16ew90A6467vTv1q5YOOJCJySJOXbeXuCbNYs30/153YmD+c2aLQermyUuElIoVq34F0rhnxC6u37+etQcfRqm6lwx8kIhKQPanp/P2zhbw1eSUNq5dn3PXd6dKoWsTeT4WXiBSatIxMbhw9nZmrd/DylZ3o2qR60JFERHL189Kt3DV+Fut27mdQj8bc9X/NKV8msqWRCi8RKRSZmc69E2YzadFmHr+wLb3a1A06kohIjlLSMnj6i0W8/p/lNKxWnvHXdycpgr1cWanwEpEj5u48+skC3puxlj+c0ZzLj2sQdCQRkRzNWr2DP4yfxZJNe+jXrQF/OrtVxHu5slLhJSJHbOg3S3jjP8u5ukcjbu7ZLOg4IiK/k5qewYtf/8or3y2jVsWyjBh0HCc3rxn1HCq8ROSIvDV5Jc9MXMyFHevxYO9jMbOgI4mI/MacNTu5a/wsFm3cTd/OiTx4zrFULlc6kCwqvESkwD6evY4/fziX01rW4u9921GiRNErusysJDANWOvu54SfuwW4GUgHPnH3ewKMKCK5OJCeydBvl/DSt0uocVQZ/nVVF04NeAUNFV4iUiA//LqZO8bOJKlhVV66shOlSxbZpV9vAxYAlQDM7FTgPKCdu6eamdZBEolB89ft4g/jZ7Fg/S4u7FiPh85tTeXywfRyZaXCS0TyLXnldq5/K5mmNY9i+MAuEZlkMBaYWSLQG3gMuDP89A3AE+6eCuDumwKKJyI5yMh0Xv1+Kc9NXEzlcmUY1r8zZ7auE3Ss/1LhJSL5Mn/dLq7+11RqVizLyGuOC2ycRJQ8D9wDVMzyXHPgRDN7DEgB7nL3X7IfaGaDgcEADRroLk+RaFixZS93jZ/FtJXbOatNHR67oC3VKpQJOtZvqPASkTxbvmUvA96YQoWypRh1TVdqVUwIOlLEmNk5wCZ3TzazU7JsKgVUBboBXYBxZtbE3T3r8e4+DBgGkJSU9JttIlK43J1RU1bxt08WUKqk8dyl7Tm/Q72YvNlHhZeI5Mn6nfvpN3wKmQ5vXdO1OKy/2APoY2ZnAwlAJTMbBawB3gsXWlPNLBOoAWwOLqpI8bVpVwp3T5jNd4s3c+IxNXiybzvqVi4XdKxcqfASkcMKLXo9lZ3703j7um40q3VU0JEizt3vA+4DCPd43eXu/cxsCNATmGRmzYEywJagcooUV+7OJ3PW8+AHc9mflsFfz2tN/24NY7KXKysVXiJySLtS0hjwxlRWbtvHyEHH0TaxctCRgvYG8IaZzQUOAAOzX2YUkcjavDuVBz+Yy+fzNtAusTLPXtIhbj4QqvASkVztO5DOoH/9woL1uxg2oDPdiumi1+4+CZgU/voA0C/IPCLF2edzN3Dfe7PZeyCDe3u15LoTG1MqjqazUeElIjlKSctg8Mhkpq/azj8u70TPlrWDjiQixdjulDQe+Xg+46atoU29Sjx/aQea1ap4+ANjjAovEfmdtIxMbnl7Bj8u2cLTF7end7u6QUcSkWLs56VbuWv8LNbv3M+NpzTl9tObU6ZU/PRyZaXCS0R+IzPTuWfCbCbO38jDfVrTt3Ni0JFEpJhKScvgqS8W8fqPy2lUvTzjh3Snc8NqQcc6Iiq8ROS/3J37P5jD+zPWcvf/tWDg8Y2CjiQixdT8dbu4Y+xMFm3cTf9uDbnv7JaULxP/ZUvE/wVaYFYkPrg7D/97Pm9PXc3NpzbjplObBR1JRIqhrEv+VClfhjev7sIpLYrOkqjRKB21wKxIjHN3nvhsIW/+tIJrT2jMH85sHnQkESmGVm3dx53jZsb0kj9HKqKFlxaYFYkPz331K69+v4x+3Rpwf+9WMT8BoYgULe7O+OQ1PPzRPEqUiO0lf45UpHu8nqeAC8yKSHS8PGkJL379K5ckJfLXPm2KZEMnIrFr8+5U7n9/Dl/O30jXxtV49tIO1KsSu0v+HKmIFV5HusCsmQ0GBgM0aNAgUjFFirXhPyzjyc8X0af90Tx+YTtKlFDRJSLR8/nc9fzp/bnsSU3nT2e35JoTmlCyiLdDkezxOqIFZt19GDAMICkpSctxiBSykT+v4NFPFnB22zo8e0n7It/YiUjs2J2Sxl8+ms+709fQtl5lnrmkPc1rx99kqAURscJLC8yKxK4xU1bx5w/nccaxtXnhso5xtdyGiMS3aSu2cfvYmazbsZ9bezbjltOOoXQxaoOCmBBDC8yKBGjcL6v50/tz6NmyFkOv6FisGjwRCU56RiYvfrOEod/8Sr2q5YrEZKgFEZXCSwvMisSG96av4d73ZnPiMTV4+cpOlC1VMuhIIlIMLN+yl9vHzmTW6h1c2KkeD/dpTcWE0kHHCkT8TwErInny0ax13DV+Ft2bVOe1AUkklFbRJSKR5e6MmbqKRz9eQJlSJfjH5R05t/3RQccKlAovkWLg87nruWPsTJIaVWP4QBVdIhJ5m3encu+7s/lm4SZOaFaDpy9uT53KCUHHCpwKL5Ei7st5G7h5zAzaJ1bmjau6FIm1zkQktn29YCP3TJjN7tR0Hjr3WAZ2b6TpasLUAosUYd8s3MhNY6bTul5lRgw6jqPK6kdeRCJn/4EMHv1kPqOnrKJV3Uq8fVmHYjNNRF6pFRYpor5duIkhb02nZZ1KjBx0XLEdyCoi0TF7zQ5uHzuTZZv3MvikJvzhzOa6gScHKrxEiqCvF2zkhlHTaV7nKN665jgql1PRJSKRkZHpvPLdUp6buJgaR5Vl9LVd6dGsRtCxYpYKL5EiZuL8jdw4OplWdSvx1qCuVC6voutImFlJYBqw1t3PyfL8XcBTQE131yTQUiyt2b6PO8fOYuqKbfRuV5e/nd9Wbc5hqPASKUK+mLeBm8dM59i6lRh5TVf1dBWO24AFQKWDT5hZfeAMYFVQoUSC9uHMtTzwwVzc4dlL2nNBx3qYaQD94WjKapEi4rM567lp9HTa1KvMW9eq6CoMZpYI9AaGZ9v0HHAPoFU3pNjZlZLG7e/M4LZ3ZtK8dkU+vfVELuyUqKIrj9TjJVIE/HvWOm4fO5P2iaG7FzWQvtA8T6jA+u9tWWbWh9Blx1n6RSPFzU9Lt3DXuFls3J3KnWc058ZTmmqt13xS4SUS5z6YsZY7x80kqWE13ri6i6aMKCRmdg6wyd2TzeyU8HPlgfuBM/Nw/GBgMECDBg0iF1QkClLTM3j6i0W89sNyGteowLs3HE+H+lWCjhWX1EKLxLEJyWu4e8IsujWuzutXJWly1MLVA+hjZmcDCYTGeL0FNAYO9nYlAtPN7Dh335D1YHcfBgwDSEpK0iVJiVtLNu3htndmMG/dLq7s2oD7e7dSW3MEdOZE4tTYX1bxx/fm0KNpDV4bkES5MpovpzC5+33AfQDhHq+73P2irPuY2QogSXc1SlHk7rw9dTWPfDyfhNIleG1AEmccWzvoWHFPhZdIHBo1eSUPfDCXk5vX5NX+nbX2oogUqm17D3Dvu7OZOH8jJzSrwTOXtKd2Ja2zWBhUeInEmeE/LOPRTxZwWstavNyvk2aGjgJ3nwRMyuH5RtHOIhJpPy3Zwu1jZ7JjXxoP9G7FoB6Ntc5iIVLhJRJHXvp2CU99sYiz2tThhcs6UqaU7iYSkcJxID2T575azCvfLaVxjQr86+outD66ctCxihwVXiJxwN15buJiXvxmCed3OJqnL26vW7hFpNAs3byH29+ZyZy1O7msS33+fO6xGkAfITqrIjHO3Xnis4W8+v0yLk2qz98ubEtJdfuLSCFwd8ZPW8NDH82jbOkSvNKvM73a1Ak6VpGmwkskhmVmOg9+OJfRU1bRv1tDHu7TWmMtRKRQ7EpJ40/vzeHj2evp3qQ6z13agTqVNYA+0lR4icSotIxM7ho/iw9nrmPIyU25t1cLLckhIoVi+qrt3Pr2DNbvTOHu/2vBkJObqic9SlR4icSg1PQMbh4zg4nzN3JPrxbceEqzoCOJSBGQkem88t1Snp24mDqVEhh3fXc6N6wadKxiRYWXSIzZfyCDwW9N44dft/Bwn9YMPL5R0JFEpAhYt2M/d4ydyZTl2+jdti5/u7AtlctpXddoU+ElEkN2paRx7ZvTmLZyG0/2bcclSfWDjiQiRcCX8zZw94TZpGVk8mTfdlzcOVFDFwKiwkskRmzdk8rAf01l4frdvHBZR85tf3TQkUQkzqWkZfDEZwt586cVtK1XmRcv70jjGhWCjlWsqfASiQEbdqZw5fDJrNm+n9cGJHFqy1pBRxKROLd4425ufXsGCzfs5toTGnNPr5aadDkGRLzwMrOSwDRgrbufk+X5u4CngJpaYFaKs9Xb9nHF8Mls35vGyEHH0bVJ9aAjiUgcc3dGTVnFox/Pp2JCKf51VRd9mIsh0ejxug1YAFQ6+ISZ1QfOAFZF4f1FYtaSTXvoN3wKKekZjLmuK+0SqwQdSUTi2I59B7hnwmy+nL+Rk5rX5JmL21OzYtmgY0kWEe1zNLNEoDcwPNum54B7AI/k+4vEstlrdnDJqz+TnpnJO4O7qegSkSMyedlWznrhB75dtIkHerfizau6qOiKQZHu8XqeUIFV8eATZtaH0GXHWbqjQoqrn5Zu4boR06haoQyjrulKIw12FZECSs/I5MWvf2Xot0toWL0C793Qg7aJWtw6VkWs8DKzc4BN7p5sZqeEnysP3A+cmYfjBwODARo0aBCpmCJR9+mc9dz+zkwa1SjPyEFdtUSHiBTY2h37ue3tGUxbuZ2+nRN5uE9rKpTVfXOxLJLfnR5AHzM7G0ggNMbrLaAxcLC3KxGYbmbHufuGrAe7+zBgGEBSUpIuSUqRMGrySh78cC6dGlTl9YFJVClfJuhIIhKnDs7NlZ6RyfOXduD8jvWCjiR5ELHCy93vA+4DCPd43eXuF2Xdx8xWAEm6q1GKOnfnxa+X8NxXizmtZS2GXtGJcmVKBh1LROJQSloGj3+6gBE/r6Rtvcr84/KOGq4QR9QfKRJhmZnOw/+ex4ifV3JRp0T+flFbSpXUXDoikn/LNu/hpjEzWLB+l+bmilNRKbzcfRIwKYfnG0Xj/UWCciA9k7vGz+KjWeu49oTG/OnsVpQooZtKRCT/3pu+hgc+mEvZUiV446okerasHXQkKQD1eIlEyN7UdIaMSuaHX7dwT68W3HByU62NFoeyTwJtZk8B5wIHgKXA1e6+I8CIUsTtTU3noY/mMSF5Dcc1rsYLl3WgbuVyQceSAlL/pEgEbN6dyhWvTeY/S7bw5EXtuPGUZiq64tfBSaAPmgi0cfd2wGLCY1lFImHB+l2cO/RH3p2+hlt7NmPMtV1VdMU59XiJFLJlm/cw8F9T2bw7lVf7J3HGsbocEK+yTAL9GHAngLt/mWWXyUDfAKJJEefujJq8kkc+WUCVcqUZfW1Xjm9aI+hYUghUeIkUouSV27l2xC+UMOPt67rRsUHVoCPJkXmebJNAZzMIGBu1NFIs7NyXxr3vzubzeRs4pUVo2Z/qR2kG+qJChZdIIfly3gZueXsGdSsn8ObVx+n27jiX0yTQ2bbfD6QDo3M5XpNAS74lr9zOrW/PYOOuFO4/uxXXnNBYN+QUMSq8RArBqMkr+fOHc2mbWIU3Bibp02nR8LtJoM1slLv3M7OBwDnAae6e4wTPmgRa8iMz0xn2wzKe+mIRR1dJ4N0bjqd9/SpBx5IIyHPhZWYlgPbA0cB+YJ67b4xUMJF44O489cUiXp60lJ4tazH0io6UL6PPM7GmIO1XLpNA9zOzXsC9wMnuvi+SuaV42LonlTvHzeK7xZvp3bYuj1/UlkoJpYOOJRFy2N8QZtaUUCNzOvArsJnQp7/mZrYPeBUY4e6ZkQwqEmvSMjK5993ZvDd9LZcfV59HzmujiVFjTITar6FAWWBi+E7Vye4+pFCDS7ExZdlWbn1nBtv3pfHo+W24smsD3QFdxOXlo/mjwD+B67N3qZtZLeAKoD8wovDjicSmPanp3BCeo+uO05tz62maLiJGFUr7lXUSaHdvFomgUrxkZDqvfLeUZ75cRMPqFXjjqi60Prpy0LEkCg5beLn75YfYtonQXT8ixcbGXSlcM+IXFqzfzZMXteOSLvWDjiS5UPslsWjjrhTuGDuTn5Zu5dz2R/P4hW05qqyGKBQX+RnjlQDcCJwAOPAj8E93T4lQNpGYM3/dLq4Z8Qs796fx2oDOWrIjTqj9kljx7aJN3Dl2JilpmTx5UTsuTkpUb3kxk58SeySwG/hH+PHlwFvAxYUdSiQWfbNwIzePmUHlcqUZP6S7LgvEF7VfEqj0jEye+2oxL327lJZ1KvLSlZ1oWvOooGNJAPJTeLVw9/ZZHn9rZrMKO5BILBrx0woe/vc8jj26Eq8P7ELtSglBR5L8UfslgdmwM4Xb3pnBlOXbuKxLff7SpzUJpUsGHUsCkp/Ca4aZdXP3yQBm1hX4T2RiicSGjEzn0U/m86//rOD0VrV48XJNFxGn1H5JICYt2sSd42aRkpbBs5e058JOiUFHkoDlZTqJOYTGRJQGBpjZqvDjhsD8yMYTCc7ulDRueXsGkxZt5uoejXig97GU1AzScUXtlwQlPSOT57/6laHfLqFlnYoMvaITzWrp0qLkrcfrnIinEIkxq7ft45oRv7Bs814eu6ANV3ZtGHQkKRi1XxJ1G3eFLi1OXqZLi/J7eZlOYmU0gojEiumrtjN45DQOpGcyYtBx9GhWI+hIUkBqvyTavl+8mTvGzmTvgXSeubg9F3XWpUX5rQIPVjGzBeEvX3L3oYWURyRQ/561jj+Mn0Xdygm8M7iLLg0UUWq/pLAdvLT40qQlHFPrKN65ohvH1K4YdCyJQQUuvNy9lZnVALoWYh6RQLg7L369hOe+WkyXRlV5tX8S1SqUCTqWRIjaLylMm3alcGv40uIlSYk83KcN5cro0qLk7Ihuz3L3LcAnhZRFJBApaRn88d3ZfDBzHRd2rMfjF7WlbCk1mkWd2i8pDD8t3cKtb89kT2oaT1/cnr66tCiHkZ+Z67sRmnywFVAGKAnsdfdKEcomEnGbdqdw/VvJzFi1g7vObM5Np2rNxaJI7ZcUtsxM5+VJS3h24mIa16jA6Gu70qKOLi3K4eWnx2socBkwHkgCBgBaLFbi1ty1Oxk8chrb96XxSr9O9GpTN+hIEjlqv6TQbNt7gDvGzuS7xZvpE15rsYLWWpQ8ytf/FHdfYmYl3T0D+JeZ/RShXCIR9fHsddw1fhbVypdh/JDutKmn5X+KOrVfUhimrdjGzWNmsG3fAR49vw1Xdm2gXnLJl/wUXvvMrAww08yeBNYDFSITSyQyMjOdZyYu4qVvl5LUsCr/7NeZmhXLBh1LIk/tlxyRzExn2A/LeOqLRSRWLcd7NxyvD2xSICXysW//8P43A3uB+sBFhzvIzEqa2Qwz+zj8+CkzW2hms83sfTOrUoDcIvm2KyWNa0dO46Vvl3JZl/qMvq6riq7io0DtlwjAjn0HuHbkNJ74bCG9Wtfh37ecoKJLCizPPV5ZJiJMAR7Ox3vcBiwADg5inQjc5+7pZvZ34D7g3ny8nki+Ld28h+tGTmPV1n08cl5r+nVrqMsDxcgRtF9SzM1avYMbR09n0+4UHu7TmgHd1XbIkcnLWo0PEVrb7HAmufv32Y5NBHoDjwF3Arj7l1l2mQz0zXNakQL4ZuFGbnt7JmVKlWDUtV3p1qR60JEkSo6k/ZLizd0Z+fNKHv1kPrUqJjBhyPG0r18l6FhSBOSlx2tFHl9rRw7PPQ/cA+R2j+0gYGweX18kX9ydl75dwjMTF3Ns3UoMG5BEvSrlgo4l0bUij/vtiGAGiTO7UtL447uz+XTOBnq2rMUzF7enqiZUlkKSl7UaRxTkhc3sHGCTuyeb2Sk5bL8fSAdG53L8YGAwQIMGDQoSQYqxvanp3DV+Fp/N3cB5HY7miQvbaSbpYqig7ZcUXws37GLIW8ms3r6f+85qyXUnNqFECV1alMKT58H1Zva3rAPhzayqmT16iEN6AH3MbAXwDtDTzEaFjx0InANc6e45XgZw92HunuTuSTVr1sxrTBFWbNnLBS//hy/mbeCB3q14/tIOKrqKuQK0X1mPzX6DUDUzm2hmv4b/rhqh2BJlH8xYy/kv/Ye9BzJ4Z3A3rj+5qYouKXT5uavxLHffcfCBu28Hzs5tZ3e/z90T3b0RoYkLv3H3fmbWi9Bg+j7uvq9gsUVy9u3CTfQZ+iObd6fy1jVdufbEJhoIK5DP9iubgzcIHfRH4Gt3Pwb4OvxY4lhKWgb3vz+H28fOpF29Knxyywl0aVQt6FhSROWn8CppZv+9997MygEFuRd/KKExXxPNbKaZvVKA1xD5jcxM54WvfmXQiF9IrFqej24+gR7NagQdS2JHgdqvLDcIDc/y9HnAwUuYI4DzCy+mRNuqrfvo+8pPjJ6yiutPbsLo67pSq1JC0LGkCMvPBKqjgK/N7F+E7hIaBIzMy4HuPgmYFP5ay3RIodq5L407x83k64WbuLBjPR67oK0uLUp2BW2/nuf3NwjVdvf1AO6+3sxqFXJWiZKv5m/kznEzAXhtQBJnHFs72EBSLORlOgnzkCfNbA5wGmDAI+7+RdZ9IpxV5Hfmrt3JDaOT2bBTc+zI7x1J+3W4G4Ty8N66QShGpWdk8szExfxz0lLa1KvEP6/sTP1q5YOOJcVEXnq8vjWzd4EP3f0z4DMAMytjZj2BgcC3wJsRSymSg3emruLPH82jRoUyjL2+O50aaIyz/M6RtF8HbxA6G0gAKoVvENpoZnXDvV11gU05vbG7DwOGASQlJemDaYzYtCuFW96ewZTl27j8uPo8dG5rEkqrh1yiJy+FVy9C3fJvm1ljQvPdJAAlgS+B59x9ZqQCimSXkpbBnz+cy7hpazjxmBq8cFlHqmmOHclZgdsvd7+P0MoahHu87grfIPQUoYLtifDfH0b0XyCFZsqyrdw0ZgZ7U9N57tL2XNAxMehIUgzlZR6vFOBl4GUzKw3UAPZnvUNIJFpWbt3LDaOmM3/9Lm7p2YzbT29OSd3uLbmIUPv1BDDOzK4BVgEXH3FQiSh3Z/gPy3ni84U0rFaeMdd1pXnt3Ob1Foms/Ayux93TgPURyiJySF/M28Bd42dRwow3rkqiZ0sNhJW8O5L2K9sNQlsJjRWTOLArJY27x8/ii3kb6dW6Dk9d3I6KCaWDjiXFWL4KL5EgpGVk8uTnC3nth+W0S6zMS1d00kBYETms+et2ccPoZNZs38/9Z7fi2hMb6+YbCZwKL4lp63fu56bR05m+agcDujfk/t6tKFtKA2FF5NDeTV7Dn96fQ5XypXlncDdNiCoxQ4WXxKzvFm/m9ndmcCA9k39c3pFz2x8ddCQRiXGp6Rn89d/zGT1lFd2aVOMfl3eiZsWCzPUtEhkqvCTmpGdk8uI3S/jHN7/SvFZFXu7XiaY1jwo6lojEuNXb9nHTmOnMXrOT609uwt1ntqBUyfws0CISeSq8JKas37mf296ZydTl2+jbOZFHzmujWehF5LC+XbSJ29+ZSaY7w/p35szWdYKOJJIjFV4SM76av5G7J8wiNT1Tc+yISJ5kZjr/+GYJz3+9mBa1K/Jq/840rF4h6FgiuVLhJYFLTc/g8U8X8uZPK2h9dCX+cXlHmujSoogcRtZ1Wi/oWI+/aZ1WiQMqvCRQSzbt4Za3Z7Bg/S4G9WjMvWe10F2LInJY89ftYsioZNbt2K91WiWuqPCSQLg746at5i8fzadcmZK8PjCJ01ppQlQRObxxv6zmwQ/nUqV8acZe343ODTVVhMQPFV4SdTv3pXHf+7P5dM4Gjm9anecu7UDtSglBxxKRGJeSlsGDH8xlfPIajm9anRcu66ipIiTuqPCSqJq6fBt3jJ3Jxl0p3NurJdef1IQSWmtRRA5jzfZ9DBmVzNy1WqdV4psKL4mKtIxM/vHNEoZ+8yuJVcszfkh3OjaoGnQsEYkDPy3Zwk1jppOe4RqWIHFPhZdE3NLNe7hz7ExmrdnJRZ0Sefi81hxVVv/1ROTQ3J1h3y/j758vpGnNo3i1f2fd8SxxT7/9JGLcnVGTV/LYpwtIKF2Sl67oRO92dYOOJSJxYE9qOvdOmM0nc9Zzdts6PNm3vT6wSZGg/8USEVv2pHLPhNl8s3ATJzWvyVN922kAvYjkyZJNexgyKpllm/dw31ktGXxSE00VIUWGCi8pdBPnb+S+92azKyWdh849loHdG2kAvYjkyWdz1nP3hNmUKVWCUdd05fhmNYKOJFKoVHhJodmdksZf/z2f8clraFW3EqOubU/LOpWCjiUicSA9I5Mnv1jEsO+X0b5+Ff55ZSeOrlIu6FgihU6FlxSKKcu2cue4WazfuZ+bTm3Kbac1p0ypEkHHEpE4sHVPKjePmcHPy7bSr1sDHjznWK1gIUWWCi85IilpGTzz5SKG/7ichtXKM37I8XRuqGkiRCRv5q7dyfVvJbN5TypPX9yevp0Tg44kElEqvKTApq3Yxj0TZrNsy16u7NqAP53digq660iKCDNLAL4HyhJqKye4+0Nm1gF4BUgA0oEb3X1qYEHj2Lhpq3nwg7lUr1CGd4ccT9vEykFHEom4iP+WNLOSwDRgrbufY2bVgLFAI2AFcIm7b490Dik8B9Izee6rxbzy3VKOrlyO0dd2pYcGwErRkwr0dPc9ZlYa+NHMPgP+Cjzs7p+Z2dnAk8ApAeaMO6npGfzlo/m8PXUVxzetzouXd6TGUVr6R4qHaHRP3AYsAA6Osv4j8LW7P2Fmfww/vjcKOaQQzF27k3smzGb++l1c1qU+D5xzrObWkSLJ3R3YE35YOvzHw38OtmeVgXXRTxe/1u/cz5BR05m1egdDTm7KXWc2p1RJjQeV4iOivzHNLBHoDTwG3Bl++jz+9+lwBDAJFV4xb/+BDJ7/ajHDf1xO1fJleG1AEmccq2U7pGgL99gnA82Al9x9ipndDnxhZk8DJYDjA4wYVyYv28pNo6eTkpbBK/0606tNnaAjiURdpLsqngfuASpmea62u68HcPf1ZlYrwhnkCP2yYht3j5/Fiq37uKxLfe47qxWVy5cOOpZIxLl7BtDBzKoA75tZG2AwcIe7v2tmlwCvA6dnP9bMBof3pUGDBtELHYPcnZE/r+SRj+fToHp5xvbvRrNaFQ9/oEgRFLHCy8zOATa5e7KZnVKA49VoBWxvajpPf7mIN39aQWLVcoy5rivHN9VYLil+3H2HmU0CegEDCQ2hABgPDM/lmGHAMICkpCSPQsyYlJKWwYMfzGV88hpOa1mL5y7rQKUEfXCT4iuSPV49gD7hwacJQCUzGwVsNLO64d6uusCmnA5WoxWs7xZv5k/vzWHtjv0M6N6Qe3u11B2LUqyYWU0gLVx0lSPUq/V3QmO6TiY0TKIn8GtgIWPc2h37GfJWMnPW7uTWns24/fTmWsVCir2I/SZ19/uA+wDCPV53uXs/M3uK0CfGJ8J/fxipDJJ/2/Ye4JGP5/P+jLU0rVmBCUO6k9SoWtCxRIJQFxgRHudVAhjn7h+b2Q7gBTMrBaQQ7pmX3/p56VZuGjOdA+mZDOvfmTNbazyXCAQzj9cTwDgzuwZYBVwcQAbJxt35YOZaHvl4AbtT0ri1ZzNu6tlMs0dLseXus4GOOTz/I9A5+onig7vz5k8rePSTBTSqXp5hA5JoWvOooGOJxIyoFF7uPolQtzzuvhU4LRrvK3mzdsd+7n9/DpMWbaZjgyo8cWE7WtTRwFcRyZ+UtAzuf38u705fw+mtavPcpe2pqPFcIr+hQTvFWHpGJiN+XskzXy4C4KFzj2VA90aU1BgMEcmndTv2c314PNdtpx3Dbacdo/FcIjlQ4VVMzVq9gwc+mMuctTs5tUVN/npeG+pXKx90LBGJQz8t3cItY2aQmp6pOf5EDkOFVzGzY98BnvxiEW9PXUWNo8oy9IqO9G5bFzN9MhWR/HF3hv+wnMc/W0DjGhV4tX8SzWppPJfIoajwKiYyM50JyWt4/LMF7EpJZ1CPxtx++jEafyEiBbL/QAb3vjubj2at46w2dXjq4vZaPkwkD/RTUgzMX7eLBz+cS/LK7SQ1rMoj57ehVd1Khz9QRCQHa3fsZ/DIacxfv4t7erXghpObqtdcJI9UeBVhu1LSePbLxYz8eQVVypfhyb7t6NspUQNeRaTADs7PlZaeyRsDu3BqS636JpIfKryKIHfno1nrePSTBWzZk8qVXRtw15ktqFK+TNDRRCROHVxv8a8fz9f8XCJHQIVXEbNwwy4e/mg+Py/bSrvEyrw+MIl2iVWCjiUicSw1PYM/fzCPsdNWa71FkSOkwquI2Lkvjee+Wsxbk1dSMaEUj5zfhiuOa6A5uUTkiGzalcINo6eTvHI7t/Rsxh1ab1HkiKjwinPpGZm8/ctqnv1yETv3p3FF1wb84YwWVK2gy4oicmRmrNrOkFHJ7NqfzktXdKJ3u7pBRxKJeyq84tj3izfz2CcLWLRxN10bV+Ohc1tz7NG6W1FEjty4aat54P251K5clvduPF53QosUEhVecWjp5j089skCvlm4ifrVyvHPKzvRq00d3c4tIkcsLSOTRz+ez4ifV9KjWXWGXt5JPegihUiFVxzZse8AL3z9K2/9vJKE0iX541ktubpHI8qWKhl0NBEpArbuSeXG0dOZsnwb153YmHt7taRUyRJBxxIpUlR4xYED6ZmMmrySF77+ld0paVzapQF/OLM5NY4qG3Q0ESki5q3byeCRyWzek8pzl7bngo6JQUcSKZJUeMUwd+fTORt48ouFrNy6jxOa1eCBc1rRso7GWohI4fl0znr+MG4WlcuVZvz13Wlfv0rQkUSKLBVeMWrysq08/tlCZq3eQYvaFfnXVV04pUVNjeMSkUKTmek8//WvvPj1r3RqUIVX+nWmVqWEoGOJFGkqvGLM/HW7ePrLRXyzcBN1KyfwZN92XNQpUfNxiUih2p2Sxp3jZjFx/kYuSUrkkfPbaLyoSBSo8IoRq7bu4+kvF/HRrHVUSijFvb1CA+cTSqshFJHCtWzzHq4bOY0VW/fx0LnHctXxjdSbLhIlKrwCtn3vAYZ+u4SRP6+gZAnjxlOacv1JTalcXstxiEjh+37xZm4aM53SJUsw6pqudG9aPehIIsWKCq+A7Nyfxus/LOP1H5ezPy2DizvX584zm1Nb4ytEYoKZJQDfA2UJtZUT3P2h8LZbgJuBdOATd78nsKB55O68+dMKHvl4Ps1rV+S1AUnUr1Y+6FgixY4Kryjbm5rOmz+t4NXvlrIrJZ2z29bh9tOb07x2xaCjichvpQI93X2PmZUGfjSzz4BywHlAO3dPNbNagabMg6yLXJ9xbG2ev7QDFcqq+RcJgn7yoiQlLYNRk1fyyndL2bLnAKe3qsUdZzSn9dGVg44mIjlwdwf2hB+WDv9x4AbgCXdPDe+3KZiEebNpdwo3jNIi1yKxQoVXhKWkZfDO1FW8PGkpm3ancnzT6rzavwWdG1YNOpqIHIaZlQSSgWbAS+4+xcyaAyea2WNACnCXu/8SZM7czF27k+tGTmP7vgNa5FokRqjwipCUtAzGT1vNS98uZcOuFI5rXI0XL+9ItyYayCoSL9w9A+hgZlWA982sDaF2syrQDegCjDOzJuEesv8ys8HAYIAGDRpENTfAv2et4+4Js6heoSzv3nC8etdFYkTECq/cBqaaWQfgFSCB0MDUG919aqRyRNue1HRGT17Jaz8sZ8ueVJIaVuXZS9rTvWl13a4tEqfcfYeZTQJ6AWuA98KF1lQzywRqAJuzHTMMGAaQlJTkRElmpvPsxMUM/XYJSQ2r8kr/zlpeTCSGRLLHK7eBqX8FHnb3z8zsbOBJ4JQI5oiKXSlpjPxpBcN/XM6OfWmc0KwGN53akW5NqqngEolDZlYTSAsXXeWA04G/Exr31ROYFL7sWAbYElzS/9mTms4dY2cycf5GLk2qzyPnt6FMKS1yLRJLIlZ4HWJgqgMHFxusDKyLVIZo2Lb3AG/8uJwRP69gd0o6PVvW4paezejYQGO4ROJcXWBEeJxXCWCcu39sZmWAN8xsLnAAGJj9MmMQVm/bx7UjpvHrpt2aFFUkhkV0jFcuA1NvB74ws6cJNWbHRzJDpGzalcJrPyxj1ORVpKRn0Kt1HW46tRlt6mkchUhR4O6zgY45PH8A6Bf9RLmbsmwrN4yeTnpGJiMGHceJx9QMOpKI5CKihVcuA1MHA3e4+7tmdgnwOqEu/N8IemBqblZs2cuwH5YxIXkN6RmZnNehHjee0pRjNA+XiARg9JSVPPThPBpUL8/wAUk0qXlU0JFE5BCicldjtoGpA4HbwpvGA8NzOSaQgam5mb5qO8N/WMbnczdQqkQJLupcj+tPakqjGhWCjiYixVBaRiZ//fd83pq8klNa1OTFyztSKUFLjYnEukje1ZjbwNR1wMnAJEIDVH+NVIYjlZHpfLVgI699v4xpK7dTKaEU15/clKuPb0QtLe0jIgHZuS+NG8ck858lW7n+pCbc06slJTUpqkhciGSPV24DU3cAL5hZKUKTDw6OYIYC2ZuazoTkNbz50wqWb9lLYtVy/OXcY7k4qb6W2RCRQC3dvIfrRkxj9fZ9PNW3HRcn1Q86kojkQyTvasxtYOqPQOdIve+RWLV1HyN/XsHYaavZnZJO+/pVGHpFR3q1rkOpkrolW0SC9c3Cjdz29kzKlCrBmOu60aVRtaAjiUg+FfvuG3fn56Vb+ddPK/hqwUZKmnFW27pc3aMRnTQlhIjEAHfn1e+X8ffPF9L66Eq82j+JelXKBR1LRAqg2BZeu1PS+GDGWt6avJLFG/dQrUIZbjqlGf26NaROZY3fEpHYcCA9kz+9P4cJyWvo3a4uT/dtT7kyJYOOJSIFVOwKrwXrdzFq8ko+mLGWvQcyaFOvEk9f3J5z2tUlobQaMxGJHVv2pHLjqOlMXbGNW087httPO4YSGkQvEteKReGVmp7B53M38NbPK5m2cjtlSpXgnLZ16d+9IR3qV9HsziISc+at28ngkcls2ZPKC5d14LwO9YKOJCKFoEgXXiu37mXM1FVMmLaGrXsP0Kh6eR7o3Yq+nROpUr5M0PFERHL0+dz13DF2FpXLlWb8kO60S6wSdCQRKSRFrvBKScvgi3kbGDdtNf9ZspWSJYzTWtaif/eG9GhaQ930IhKz3J1/freUJz9fRIf6VRg2oDO1KmrMqUhRUuQKrwte/okF63dRv1o57ji9OZd2qa/B8iISF4b/sJwnP1/Eue2P5qm+7TTuVKQIKnKF122nHUOlcqXo1ri6erdEJK707ZxIyRLG1T0aaeypSBFV5AqvXm3qBB1BRKRAqlYow6ATGgcdQ0QiSNOxi4iIiESJCi8RERGRKFHhJSIiIhIlKrxEREREokSFl4iIiEiUqPASERERiRJz96AzHJaZbQZWBp0jrAawJegQBaDc0aXcR66hu9cMOkRhyGcbFkvfg/yI19wQv9mVO7rykzvX9isuCq9YYmbT3D0p6Bz5pdzRpdxSUPH6PYjX3BC/2ZU7ugorty41ioiIiESJCi8RERGRKFHhlX/Dgg5QQModXcotBRWv34N4zQ3xm125o6tQcmuMl4iIiEiUqMdLREREJEpUeOXCzEqa2Qwz+ziX7aeY2Uwzm2dm30U736EcKruZVTazf5vZrHD2q4PImJ2ZrTCzOeFzOi2H7WZmL5rZEjObbWadgsiZXR5yXxnOO9vMfjKz9kHkzO5wubPs18XMMsysbzTzFUdm9kj4/8lMM/vSzI4OP9/IzPaHn59pZq8EnTWr3HKHt90X/pldZGb/F2TO7MzsKTNbGM7+vplVCT8f6+c7x9zhbbF8vi8O/87JNLOkLM/H+vnOMXd4W8HOt7vrTw5/gDuBMcDHOWyrAswHGoQf1wo6bz6y/wn4e/jrmsA2oEwMZF4B1DjE9rOBzwADugFTgs6cx9zHA1XDX58VL7nD+5QEvgE+BfoGnbmo/wEqZfn6VuCV8NeNgLlB5ytA7mOBWUBZoDGwFCgZdN4sWc8ESoW//nuWdjHWz3duuWP9fLcCWgCTgKQsz8f6+c4td4HPt3q8cmBmiUBvYHguu1wBvOfuqwDcfVO0sh1OHrI7UNHMDDiKUOGVHqV4R+I8YKSHTAaqmFndoEMdjrv/5O7bww8nA4lB5smnW4B3gZj5/12UufuuLA8rEPpZjXmHyH0e8I67p7r7cmAJcFy08+XG3b9094NtX9z8bB4id6yf7wXuvijoHPl1iNwFPt8qvHL2PHAPkJnL9uZAVTObZGbJZjYgaskO73kOnX0ooQp+HTAHuM3dc9s3mhz4Mnw+B+ewvR6wOsvjNeHngna43FldQ6jXLhYcMreZ1QMuAGKq27+oM7PHzGw1cCXw5yybGoeHD3xnZicGFC9XueSO1Z/ZnAzitz+bMX2+s8iaO57Od3bxcr6zKvD5LhWROHHMzM4BNrl7spmdkstupYDOwGlAOeBnM5vs7oujkzJnecz+f8BMoCfQFJhoZj9k+9QahB7uvs7MaoUzLXT377NstxyOiYUegcPlBsDMTiVUeJ0Q9YQ5O1zu54F73T0j1DkqhcHMvgLq5LDpfnf/0N3vB+43s/uAm4GHgPWEhjVsNbPOwAdm1jqaP7MFzB34z+zhcof3uZ9Qr//o8LaYP9/hfbLnjovznYO4ON85HZbDc3k63yq8fq8H0MfMzgYSgEpmNsrd+2XZZw2wxd33AnvN7HugPRBo4UXesl8NPOGhi9RLzGw50BKYGv24/+Pu68J/bzKz9wl12WYtBNYA9bM8TiTUaxeoPOTGzNoRuvR7lrtvjX7K38tD7iTgnXDRVQM428zS3f2DaGctStz99DzuOgb4BHjI3VOB1PDxyWa2lFCve643RRS2guQmBn5mD5fbzAYC5wCnhdtE4uF855SbODjfuRwT8+c7FwU+37rUmI273+fuie7eCLgM+CZb4QLwIXCimZUys/JAV2BBlKP+Th6zryLUU4eZ1SY0aHBZVINmY2YVzKziwa8JDR6dm223j4ABFtIN2Onu66Mc9TfyktvMGgDvAf2D7hE9KC+53b2xuzcK/1+aANyooiuyzOyYLA/7AAvDz9c0s5Lhr5sAxxDwz2xWueUm9DN7mZmVNbPGhHIH+gEvKzPrBdwL9HH3fVmej/XznWNuYvx85ybWz/chFPh8q8crj8xsCIC7v+LuC8zsc2A2obFUw909e6EQM7JmBx4B3jSzOYS6Su9196BXia8NvB/uXSkFjHH3z7Pl/pTQnY1LgH2Eeu6ClpfcfwaqAy+H90v34BeHzUtuib4nzKwFoTZlJTAk/PxJwF/NLB3IAIa4+7aAMuYkx9zuPs/MxhG6AzwduMndM4KL+TtDCd2RNjH8szDZ3YcQ++c7x9yxfr7N7ALgH4Tupv/EzGa6+/8R4+c7t9xHcr41c72IiIhIlOhSo4iIiEiUqPASERERiRIVXiIiIiJRosJLREREJEpUeImIiIhEiQovERERkShR4SUxw8zKhdfqKpnL9jJm9r2Zaf45EQlUlvbqNDP7OJd93jzE8m0H9znHzB6OREaJTSq8JJYMAt7LbRI6dz8AfA1cGtVUIiK/N4jQqhRHOknpJ4SWeit/5JEkHqjwklhyJfChmR1lZl+b2XQzm2Nm52XZ54PwfiIiQbqS0PJxEFoX930zm29mr5jZ7363mtm5ZjbFzGaY2VfhJdsIr7U4idDai1IMqPCSmGBmZYAm7r4CSAEucPdOwKnAMxZeG4PQmoJdgkkpIvK79gpCi8z/AWgLNAUuzOGwH4Fu7t4ReAe4J8u2acCJEQssMUVjZSRW1AB2hL824G9mdhKh9d/qEVpfcIO7Z5jZATOr6O67g4kqIsVc1vYKYKq7LwMws7eBEwgtLp9VIjDWzOoCZYDlWbZtAo6OWFqJKerxklixH0gIf30loQVJO7t7B2Bjlm0QWiA2JarpRET+J2t7BZB90eOcFkH+BzDU3dsC12c7PiH8mlIMqPCSmODu24GSZpYAVAY2uXuamZ0KNDy4n5lVBza7e1pAUUWkmMvWXgEcZ2aNw2O7LiV0WTG7ysDa8NcDs21rTmgYhRQDKrwklnxJqIt+NJBkZtMI9X4tzLLPqcCnAWQTEcnqYHsF8DPwBKHiaTnwfg77/wUYb2Y/AFuybTuV0N2NUgxojJfEkqHAne7+FdA9l32uAO6LXiQRkRwdbK/6E7or8ZDc/UP+dxfkf4Xvbizn7nMKPaHEJPV4Scxw9xnAt4eaQBX4wN0XRTeZiMhvHa69yocGhO6IlGLCQlOIiIiISGEys/OBmVmmnRBR4SUiIiISLbrUKCIiIhIlKrxEREREokSFl4iIiEiUqPASERERiRIVXiIiIiJR8v9PrfzOLczgUAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "test_data_a = np.linspace(4.5, 5.5, 100)\n", "test_data_b = np.linspace(-35, -10, 100)\n", "\n", "pl.figure(figsize=(10,3.5))\n", "fig = pl.subplot(1,2,1)\n", "fig.plot(test_data_a,\n", " causal_structure.predict(data={'(a)': test_data_a, '(b|a)': -22.5})['(c|a,b)'],)\n", "fig.set_title(\"(c|a,b) with fixed (b|a)\")\n", "fig.set_xlabel(\"(a)\")\n", "fig.set_ylabel(\"(c|a,b)\")\n", "fig = pl.subplot(1,2,2)\n", "fig.plot(test_data_b,\n", " causal_structure.predict(data={'(a)': 5., '(b|a)': test_data_b})['(c|a,b)'],)\n", "fig.set_title(\"(c|a,b) with fixed (a)\")\n", "fig.set_xlabel(\"(b|a)\")\n", "fig.set_ylabel(\"(c|a,b)\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So under normal circumstances the effects of '(a)' and '(b|a)' on '(c|a,b)' cancel each other out to a large degree.\n", "\n", "The influence estimator tells us what is the influence on the target, if you *only* change the parameter in question.\n", "Think of this as an intervention that breaks the strong correlation between '(a)' and '(b|a)'.\n", "\n", "This is why the influence of '(b|a)' on '(c|a,b)' is above 100%." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Influences follow causal directions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we change the target of the influence estimation to '(b|a)'" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(a) 0.919762\n", "(b|a) 1.000000\n", "(c|a,b) 0.000000\n", "Name: influence on (b|a), dtype: float64" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "causal_structure.estimate_influences(target='(b|a)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "we see that '(c|a,b)' has an influence of zero on '(b|a)', even though you can predict '(b|a)' from '(c|a,b)' (see the \"Backwards prediction\" subsection in the [prediction section](./02-02-prediction.ipynb)).\n", "This is because ``estimate_influences`` respects causal directions. So effects do not influence causes." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For further details about the ``InfluenceEstimator`` see the [corresponding section](../02_objectives/02_influence_estimator.ipynb) in the core-documentation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the [next section](./02-07-rank_estimation.ipynb) we will have a look at rank estimation." ] } ], "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.8.8" } }, "nbformat": 4, "nbformat_minor": 4 }