{ "cells": [ { "cell_type": "markdown", "id": "221598f3", "metadata": {}, "source": [ "## Graph Space\n", "$\\textbf{Lead Author: Anna Calissano}$\n" ] }, { "cell_type": "markdown", "id": "e8ede5d2", "metadata": {}, "source": [ "Dear Learner,\n", "\n", "in this notebook we are going to see gpca and regression in graph space in action." ] }, { "cell_type": "code", "execution_count": 1, "id": "522f03d7", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO: Using numpy backend\n" ] } ], "source": [ "import matplotlib.pyplot as plt\n", "import networkx as nx\n", "\n", "import geomstats.backend as gs\n", "\n", "import geomstats.datasets.utils as data_utils\n", "\n", "from geomstats.geometry.stratified.graph_space import GraphSpace\n", "\n", "from geomstats.learning.aac import AAC\n", "\n", "gs.random.seed(2020)" ] }, { "cell_type": "markdown", "id": "32b1acd0", "metadata": {}, "source": [ "# Mammals Grooming\n", "\n", "## Motivation and Dataset\n", "This case study focuses on how the social interaction between baboons changes after an alpha or beta male is knocked-out from the community. Social interaction is here defined as grooming interaction between members of the group. The dataset consists of a set of $26$ social interaction networks between baboons, where nodes are baboons and edges are the number of grooming interactions between baboons. The networks are naturally unlabelled because the baboons in each network are different, belonging to different groups. Data are available at Rossi et al. (2015), while more details about the case study are available at Franz et al. (2015). Notice that the original dataset was filtered, keeping only the networks with less than $20$ baboons. " ] }, { "cell_type": "code", "execution_count": 2, "id": "4a44da66", "metadata": {}, "outputs": [], "source": [ "mammals = data_utils.load_mammals()" ] }, { "cell_type": "markdown", "id": "5f895fb8", "metadata": {}, "source": [ "We visualize one mammals group:" ] }, { "cell_type": "code", "execution_count": 3, "id": "ca8458a6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9.0" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mammals.max()" ] }, { "cell_type": "code", "execution_count": 4, "id": "039f23fc", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAGFCAYAAABg2vAPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAs9UlEQVR4nO3dW5Bl133f999ae+9z7dM3zB0DipRJQAkLkAYE7JFkv+QlD3GVGRceUo4txaUSnYfYoqySISeOXCUpkeToQieuRBo6D8pDKhdEgZMIkqA4UvwQDkkQI4ESTUphIBJAz2Aw07dz22ffVh7WOafP6dt0zwzY07O+n6qpnu7pPr2752H/9lr/9f8b55wTAAAIlj3pCwAAACeLMAAAQOAIAwAABI4wAABA4AgDAAAEjjAAAEDgCAMAAAQuPsonVVWltbU1dTodGWM+7GsCAAAPgXNO3W5Xly5dkrUHP/8fKQysra3pqaeeemgXBwAAvnPeeecdXb58+cB/P1IY6HQ60xdbXFx8OFcGAAA+VNvb23rqqaem9/GDHCkMTLYGFhcXCQMAAJwy99rip4AQAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIATsr4uvfSSdPmyf7u+fjLXcaSphQAA4OH7zGekV1+VytK/laRXXvnOXwcrAwAAnJDr130QkPzb69dP5joIAwAAnJCrV6Uo8n+PIv/+SWCbAACAE3Ltmn97/boPApP3v9MIAwAAnJDV1ZOpEdiNbQIAAAJHGAAAIHCEAQAAAkcYAAAgcIQBAAACRxgAACBwhAEAAAJHGAAAIHCEAQAAAkcYAAAgcIQBAAACRxgAACBwhAEAAAJHGAAAIHCEAQAAAkcYAAAgcIQBAAACRxgAACBwhAEAAAJHGAAAIHCEgRnr69JLL0lPPun07/51p/X1k74iAAA+fISBGT/6o06vvuq0tmb0v/9v0t/+kUrOuZO+LAAAPlSEgRlf/KJUlkaSf/ulLxrd6RUqKwIBAODxRRiYcfWqURT5G7+NnL7vU5VGhdPt7VxZUZ3w1QEA8OGIT/oCHiXXrkmjvNKXvmT07JVSP/tf5JJilU663S203IzUrlsZY076UgEAeGgIAzNWV6VXXjH6+s2+JKldj1SLjLLSrxZsDkuNCqeVdiRLIAAAPCbYJtilFhslkb/RD7JSTyxEWqjv/JqGeaXb27nykjoCAMDjgTCwizFGC41IkuScNMgqLbdirbZjTdYCikq6vZ1rkJUnd6EAADwkhIF9dBo7uye91N/wWzWrc4vJdNXASVrvl9oYFBw/BACcaoSBfUxWBiSplxbTvyeR0dlOrFZt59fWH1X6oFuo4PghAOCUIgzsI4msGon/1Qyyaq7PgDVGK61Iy62dwJCV/vhhmnP8EABw+hAGDrBQ3391QBrXFdQjnevEisa/wcpJd3qFtoZsGwAAThfCwAEW9qkb2K0WW53vJGokO8cMu2lF10IAwKlCGDjAbN1A94AwIEnWGj3RjrU48/mTroUjuhYCAE4BwsABImumhYKjolJ+yI3dGKPFZqQzC7HseJGgdNIH3UK9tGTbAADwSCMMHGJuq2B0754CjcTq/GKiWryzbbA5LLXeL1URCAAAjyjCwCE6c1sFxSGfuSOyRmcX4gO6Fj4a2wbr69JLL0mXL/u36+snfUUAgJPEbIJDtOqRjPGdCCfL/UcZUmSM0XIrVj2utN4v5DTpWlhopR2pVYvu+Rofhrys1B2W+lv/gdXvvmZVlkavvur/7ZVXTuSSAACPAMLAIawxatcj9dJSeemUFU715OgDipo1q3NRovV+obx0066Fo8JpuRl96NMPnfPX3M9KpbnT5IDDm2/4ICBJZSldv/6hXgYA4BHHNsE93M9WwawkMjq3T9fC291CxYcw7Mg5pzT3KxJrW7k+6BUaZDtBQJKuvFApivwHosjp6tWHfhkAgFOElYF7WKjHkjJJfqvgTOf4r2GM0Wo7Vj0utTHwhYh56XS7m2ulHauZPFgmqyqntKg0zCoN83sHjF/8nL+GG29Y/aWrTteuMY4ZAEJGGLiHZs0qMv6oYG9UHLluYD/teqQkMrrbL1RWvmvh3V6hTsNqsXG8bYOidBrmldK80qg4+grDYiPS8iWna79RSiq13Iq0UL+PHwYA8NggDNyDH2kca2vob+DDvHqgAsBJ18L1QaF0/BTfTStlhdNqO1Zk9w8Ezjnl0wDg/34cSWS02o6URFbDrJLkTzZUj8YBBwDACSIMHMFCI9LW0NcL9NLigU8DTLoW9kaVtoZ+yX7StXB1IVY99tsGzjmlhVOaVRrmlY7S4dgazX2ekbTYjLRQt9OVh9m8Qf8DAABh4Ah886GRJN+a+Nzig7+mMUadRqTaeNugcjtdC5uJkZM0yv0JhHupRX7S4u7AUI+NVlqx4mh+tcHOlCgwQgEAwGmCI6jHRsn4htofPdxugvXE6on2zvRDSVq77fRDf8PqhU8m+swPR9rY2Pt1sfVP/H5yolU/2wkCRtJyy7dH3h0EJH9kcoKVAQAAKwNH4OsGIm30CzknDUblXKvi43LOKSv9EcBh5lTsejx/+bORXh83BXr9NZ8Srv1GKWOkVs2qXbOKrZQWTnd6xdzTfSM2Wm7Hig+oPZDmtwnIAgAAwsARLTRibfR93UA3PX4Y8Of/xwHgHvv/N+aaAhndeMOqVXNaalpF1qqs3FwBouRv8EvNSK2aveepBDO3MnCsHwMA8BgiDBxRp75TNNhLC0n3Po9XVjs3//QI5/8nrrxQTVcGosjpyguVBpnvI9BIjNJdtQTNxGq5FR14EmE/k0LDijQAAMEjDBxRElvVY6tR4W/MZeX2vfnmpdMwKzXMK+X3HnQoye/x12OjWmI1yqu5pkCferHSz/+qf99Jc02FrJFWWrGateOXflhjVDnHygAAgDBwHAuNSKOeP5jfS0sttWI55zQqKvWzSqP86DfXRmJUj+20ONGMb87dYamVFU2bAi01rEpn1RvtbQhQOSkrK9UrI3uMVQFpp27ASQ/USAkAcPpxmuAYOo1IW5vST/yHDT3zF6z+6l+r9Mdv57rTKzXMDg4CRlIj9nv65zqxnlxOdGYh8UcL4509/mFW7TlK2B1Vc0Fg9y27m1a6uZWPmyId/TGf44UAgAlWBo6hVYv0Mz/V0B+8HqssjX7nt5wqF42f4ncYSbXYqJlY1ROj2JojPXn3s/2f/ifadaulZqSqkrbTUoPx5zv5UNBLK7XrVp3GvesH/PFCN/0eJzNUGQDwKCAMHIFzTr1RpfV+rq/eqM1V+r/5htXb613lVaVLi3V99xPN6bL/cRTjEcn7ia2vDaiPBxrZSFptx1psOHXTchoinKTeeCVh4R6hYG8XQrYJACBUhIFDOOc0zJ22hoXy0ml7kOvZK5F+/3Wjalzp/33Pl7qxtq1v3OlLkpYbsZ672NFzlxb0iTPtQ8/7z+qP9q82tEY6v5jsGy7iyGilHavTdOql5dx2wiQUTFYKdl+H5XghAGCMMHCAUVFpa1AqK52cc+qnvrnPT/9CKqOG3roR6dkrpX7ulwpdOH9B17+9oT94e12baaF/9faG/tXbG2omVp88v6DvvdTRv3murUay/2J8mpfq7lMgOHGvVYbYGi23YnUmKwWjndqD/qhSf1SpXRuHgmif+QSkAQAImnHu3j3otre3tbS0pK2tLS0uPoTG/I+wovQrAbNH+NKsVH/kGw5ZIz31REPfupNKkoyRlts1WWN0p5/pf3xrTdv7POXH1uiZsy1978WOnr3Y0WIjVuWctoflnpMCi41Iw6xUPv7wk8v7rwwcpKyceqNSvXRvQWJrHAryotL6wF/nUjNSp0HVAAA8bo56/yYMjJWVf6refWN2zmmjl01vqt91pqHlVqJv3Rlqc+ADQiOJ1B53JLRGujMc6c33tvXHt3oa5nuf+Eddq7d+4yP69r9u6PkXfF+BlRX/b4tNq8VGrDu9fNqo6MJScuTthllV5dQd+Z9p9/9yLTLKxmOQOw2rpSaLRADwuDnq/Tv4O8CkOHA7LedumNZIC3WrtY10GgSeWEi03EokSReX69oa+lkFaV6qWbOy1qpy0mqjrpeevaB//4rRN+8O9Uc3u3prrateVuoTqy39T792Xm/+374Q8XdnZg9I0mBUKS9yFeXOxWRFpSi5d5vh3aw1WmrG6tT9z9gd7fyM2czrz34vAEB4gg0Dvjiw0tawVDnz8G4kLTT8Uvq766lG4wr/RmJ1aWWnBXEttjrXqen97UySVJSVFmrR9ETA5qBUq2b1zNmWvnu1qb/8kWXd7eZykn72rWR6IqEqjd788s5Nvqi0Z3DRet83ILLGbzfEkVFk/d8ja8ZvD64tsNZosRlpoeGbF/XScq5ocJg73enlWhz3PQAAhCXIMDAqKm0OSuW7nohbNX+OP7JG6718OpjIGumjZ5pzFfiSdHaxprt9/xTfTUud6SSqRTvdAgdZpf6o1GY/m7v5PnulnJ5IsJHT08/lqpy/uR9Wy+c7Drq5p/pZk4AwDQmRpmHBGn+CYLERaaFu1U1LddOdFOSHKBVqxEadZqQ6oQAAghFUGMhLp+1dxYGSnwuw1Nx5Kk7zUu9tpNN/v7zamJ7xnxVZo4vLdb1z13/uzc1MHz/fVFZUGhW+xa8xRkvtmnrDQkVZqVWP9NO/kEquoT+6YfXMc7n+7j/uab1f0/de7kiSykoaZKW2xzfr2PobeVEd3u64rHztw2hP2aBf8ZgEhEk42E9aOKXdQvXYB4f9fm4AwOMliDBwUHGgP5IXqR7vNAmqKqdv3UmnN93VdqKVdnLga6+0Yt3pWg2zSmle6Wvv9X1HP2vUacaKrPVP5K1Y7Xqku91MS8vSL/96qpV2oq/d6kqS3t8eqZ+1tFCPFUd+W2ISBuqx1Urb/1dVzqkcbyWUpVNR+T9l5ff+D8oKThp/7uS9eWbXR0eF0we9Qr0t6R/+/Vhf/pLR1atG165Jq6uH/74BAKfLYx0GpsWBw3LuRmeNP07Xqu0tyntvc6R0fAKgkVg9uXL4qOJhVinap4FPWTmN8lKdhpVf1TfqjypZa3y74sQqia3OLNR1p+ef5f9krae/+NElGWPmOgeWM5WN1hjZSEoiI+3KKM45Obdz0y/HQaEo3fjvh/yuDvj43/97kV5/zagsjV591X/slVcO/ZUAAE6ZxzIMHKU4cPf+vyRt9HOt93L/ucYfI9xvGqBzTpuDQne62XQ+wKxabPSRJ5pqjUcLd8eBxP9bpKW2n1ZYVNK5hbq2h7mystLGINd7myNdXmnMLeOXh9zEZ/ltCalmjWoH/F6qSVgonbaGO4WEVtJ+3+bGG3am/bJ0/frRrgUAcHo8dhvCo7zS7W6h9f58EGjVrC4sJVpqxvsGgVFe6d31mTqBlcaejoFF6fT+1kj/eq2vb99N54LA7M07L9x0OJEZF+2ttqPxDAC/hTB5SrfW6Onz7enXfuP9nrKikjE7+/rHmUZ4mMmKQz22atXs3OrDQXnjyguVomh83ZHT1asP5VIAAI+Qx2ZlIB93DkzvURy4n8o5fevOcPqUvNKKp3v0kjTMSt3p5toY5Hua9zQSqzOdRCutRO9vZ7q97RsUrW2O9LGzzenn9UeltvqZOs1EcTR/LReXarrbr+vm1kh56fT1Wz09d3lRkTWqSv8075w7dp+BWc75LYM0dxrlvsDxsIiRREavfe19Xfj0ts6+e0HVzWX9lR+0unbtvi8BAPCIOvVhoKyctsf9+GclkQ8BjSNUw9/cGE07BdZjoydXG5KkrfFWQG+f9sKLzUhnOjUt1KPpTfrcYk3r46OG28NC3bRQpxHLOae7XX98cGuQ6/xSfW7//m6v1CfOtXWnlykvnda2Rrq0nCmyRvn4W1dOio6ZBcrKKR3f+NO8OvQkQmx9sGkkVrXY6Le/dluv/NGaJOlHfva2fu7foWoQAB5XpzYMOOfUHVXqHqM4cD9bg1x3JnUC8scI13u57vSyPSOFrZFWFxKdWagdfNRwqa53xtsNaxsjPX0hUm9UajS++7fr0XibYKbDYOm0OSj19Pm2/mStJ0n62s2uPnlhp3VkWbkDxxFPVM5pVPgn/zR3e5oX7f5ZrNE0lCy34mlwSvNS/8Oba9PP/aEXLx/6fQEAp9upCwPOOQ0yX5A323vHSOo0fJe9/WoC9pMV1bRHgCS16lZvfzDc8wRdi43OdGpabSf3vCGvtMdHDXN/1HC9n6s73FlZWF2INcjGe/CTmgDnn/yNIj210tQ7G0MNskpr26lWWvXp5+z3u8jL8dL/uLfBQYz8qkc9sWokvhHRbGHj7PbHb/3Jba0PfED6/o+u6OlzC4f+zACA0+1UhYF0fEJgd+fAds1qcdw58Kgq5/Tnd4ZzN9ndWw0LjUhnOzV1GtGR9+uNMbq0Utc3bw8lSTc3R9NCRt9GeKduv12P1K5brfeL6Y18qenPAby3OdTaZqpmEquRRNMiwqJ0Sotquu9/2NJ/Ehk1EqNG7Jf+d/8Mc2OMx2mgPyr0P/+hXxUwkv7Wi08e6ecGAJxepyIMHFQc2IiNllqRkuh4hyLW16W/+cOVvvJGU89eKfXTv5Bqadn/mzHSSivRmU6iZu3+xvouNGIttWJtDYq5Ew2rrUTDmRMIrbqv6D+zEGt7pj3wUrOmehzp2xsDrW0O9bEzbfVHlbppeegxw8hKjdj6p//Y7Hsscpbdpz/Cb751S91xjcS/9fQT+q7V1jF/egDAafNIh4GHURy4nx/9UafXf9ufn/+D140i29Sv/nqqZi3ScjtRK7FK4vuv3Jf8VMPtQTFXz7DYjLUxXpavx2Y6ltgYP12wFlVa7/uvaSSR/sKZBb23OdDGINNqe2/zI2N8IPI3f6v4mBWGu1cGNoe5Xn3rliTfnfFvfIpaAQAIwSMZBirn1Ev9k/DszTQyvor/qMWBB/nCdc000jF6681Iiy2/PN8fVdPwkURGtcioFhvVYqv4kMmAu9Vjq04zmu7Jx5GZGzA0aUjkj/xpXPVfzf2821tGP/fji/rKl42ef8Hpn/zTUufP+mX/RmKURHuX/o9jLgxU0it/tKZ0XFH4b3/PWV1YPLz7IgDg8fDIhYG7d51+6G9XevMNqysvSL/4uVIry07G+D3sYVZqlFeyVoqMXwq3xjfvicaT+Yw5/Kb9wotOr/0fPghEkdOVF/Zfe89LX6DXzySp9N39ZsJBLTKH1ikUMzf/ovRdC5PYyn+F87UCeTUdQFRWTmVVqayc6kmklz+b6PXX/ArG7/22008nRv/rbz68PlGz2wTDvNRvfe22JB9k/r3nLz207wMAeLQ9cmHg7/wdo98d3wBff82qqpz+yX8z3NPs516s8Uf9rDEzwcHfAP/Rz1caZDX98Y1Iz7/o9Iuf29tHYD/O+QE+vtjPB4jI+pvnJCRMntaHWbmnVXF/VGgpSlQ6p/c2ivHN302LAyPrQ0azFiuyRm9+2cytYPw/X3DqpYUWGg/nv83O5Iqb26NpYeZf/eR5rbb3a2gMAHgcPXJh4AtfcHM3wBtfsccOApIviKtKp/1G8NTb0i//WiojabldmxbaDbNCSWT3dAisnFNVuXGwmF8J8OOGKw2mH3Ha3DD6yR+zevON9lyBoh9eVGlUlNNVA2N8fUA9mf++zjk9/VyuDz6oqSqNbOT07JVS37yd6sJSTecWaw+0RSBJs189Gc7UqkV66fsuPNDrAgBOl0cuDHz/9xu9+qoPBJMboOTP+j+xkCiJrMrxsnpVOZXOqap2btj+zL7/WDn+2EHH75ykXlposeXH/9WTSFt93/mvWYuVjFsY+0mBRpVzGmaFytIpioziyE5nEOww+gefjfR74wLF33/dyKihX/o1389gkBVybryakEQH7Ps7bQ1z/d1/nKpyC/rGW4me/1Sl/+Tn/Wvc2sq0PSx1aaWuOPJTEHe2R/xN/ihBYTL/oHI+BEjSX3/ughYbB49sBgA8fh65MOB73xtdv+70vc9Xevnn/A0wK5xubmY620l0Yal+z2Nzsyajfcvx1L63bw+m5/ovLidKc9/UxxqjlYWa5Jwq51SU5Xg1YCcUNGu+vfAor9Qb+hbDkfXbA3HkK/pvvJFMVzeq0uirN/xshKyo5Jxv+9s+5IZbOenWdqrOktM/+tWuPvZEW61apGEWaZj5cDTISv1/twdaaCb7Hq30gcD/scbseV/OScbXaLz847G+8uW2ak9+Qn/lry3ueS0AwOPtkQsDq6vSK69I/nYWaTBq6Z31dLqM/UE319aw0FOrjSPvnU9G+05K9yZn9ZPIaKVdU1U5vb+djxsQGS23Yy3Ud3oM5KVTN92pATDGqFGL/J/YqJlYGavpKsSnXqz0O79lpwWKz7/o1KrHyopMkl+Sb9R22gsbzW9m3O1l01bCnXqsdt3/nK16rDiy6qV+YFLlpO1BrlY9UiOZb4zkNO4q6KRyz1bJzvsv/3g8LVK0Hyzrs/+RGf/+AQCheOTCwG6teqSnL7R0ezvT+1t+ImBWOH3z9lCr7USXVurH7jw4udEm43P51hrfRrhXSJK2BuXcuf0kMlptx1psOvXGfQ8mt9O0cEqLUo3YqNOIVIuNfuW/LFQ56cYbVldeqPSLnysVWR8g0smT/ajwEwyttFD3xyWtNRrlpb5+azS93n/jYlvtWqxKkxWOSKutSLe2M43GAWkwKlVVTkvtWHJmPOVwv2qJvb4yU6RYlUbXrx/5VwkAeEw88mFA8k/i55fqWmrFemd9pMG4Q956P9d2WujySl1LraPtc88e95tdXm8kVu2aVT/zN/qNQaEzC/Hc03ZsjZZbsRYbTr1Rpd6onNYjpIVT2itkJLUWpWu/UUqaP6XQaUTKcv81WVEpLyopttocltoclmrVrG5uDadh5cnlxp6q/rJyiiOjJ1fqutPNtT30ASbNK2VbuTrNeE8B5H4i48PClU9V+r3fMarGqxhXrz5YUSIA4PQ5FWFgopFE+vi5pu72ct3cHKly/ub+53dSLbUKPblSv2dr4mxmdvDuLoNLrUhpUams/BHC/qjSQmNvS2Jrzbj5kdHWsNRwpk3yYU/jF5ZqqsdG7677J/9BVmgxSqaBY3NQ6N0NXyNhjHR5uaFu6k8e5JVTUc4XQyZxpE5T6g1918LKOW0NcrXrseqJb8yURL7Toa9p0PT9spJubef6z3+lUFE5ffVGpBdedLp27f5aMAMATq9TFQYkv0pwplPTYjPWu+upuql/+t4aFOqlhS4tN7TSjg+sps8PWBmQxgWErZntgmGpRjLf5tc5p2HuNMjKPbMSDtNMfM+D1XaiO91caV6pKJ0S67sTpoXT+910GiaeaNfVz5x2ry7sVosjLbd9HcHkZ+uPCsU21lOrdUUHhKPeyP+MZ84Y/fL4pEOrZrW62j7yzwQAeDycujAwUYutPna2qc1Bofc2RuPmPdI766k2BpEurzZUj/feCOfDwN7A0Eis2nU7rQtY7xc6sxApK30/gWFW7fv0H1upmVg/UnifUcJp7nSnlyuyfpBRmvtiwtvdTCvtmtKi0tbQjw2OjNHZhX1mEUhKIimJrRJrFEf+id8ayammtY2R7vb8a2wNC6W3K330TEONZP5pv6zctOVyNF498KOQKznnHrh/AQDgdHl4vW1PgDFGK+1E33OxpeXWTq7ppaX+9GZfH2xncrs6FuUzY//2CwOStNSMNHmgzkqnm1uF7vQKDXYFAWukhbrVuU6s84uJOs1IBw0VdPKBoD9ycjKqJZPZBL7F8vvb6fRzzy3WVRv3D9j9Glnpb+ZRZFSPfTtk3y/A6PJqQx95ojGdOTDKK/3ZrYE2+vnc6/RGO+cL2nU77TFQOU2LEgEA4Ti1KwOz4sjqu840tTIs9O56qny8t762OdLmINfl1cZ0HHE+89Se7LNyUJTOHyGcuevPBgAj7QwJklQ4v52Qlwc3N9rPQj3WKKqUZqWGWalh5pftG4nVs5cWZK2Zbkn0R+W0L4LkQ0WaF4qMH4PcrkXTrYyVth+9/K07Q6V5pcpJ376bqj/yTYokqTczBXKhEWmUl9oa+vcHWaXGfY5uBgCcTo9FGJhYbMZ65mJbNzd3lssHmX86PrdY07ml2r4rA2XlNMwqDbJqbrLgbpHxzYmGuZsrGryXeFwXUFWavr4xRo0k0rAX6eUfs3rzy209/VymX/91TRsqGWPUqhm1alZF6dTP/LHGSegondRNK3XTSvXYaKEeqZEYNRKrT5xv6d2NVBt9HzLu9nINRqXOdGrT9s6tmu+g2Jq5+fumRnQgBICQPFZhQPLdAC+vNrTcivXu+mg6Fvj97UybQ99KWPLHBNPcjyse7bPHv59DcoKfnGikYtcqey0yOre4c3MtK6feaOem/vJnI/2f49bFd/+vuv7Bj1X67/77XMlk+FHk5yHEkdFS0x9rTHMfDGYLGP0ApULWSO2aVbse6SNPNLVQz/XuRuq3I/JK766najdi1ZNInfFJieZMGBiwTQAAwXnswsDEQiPW0xcjvb+V6fb2uFjvg0o/81MNffVGpOeulPqVf1ZqZeV4r2vljyT6o3pmWsgXWaOtYaFuOn8zbdfntyIi62/qnYYv4rvxhp1r+vPmG1bDvNQwL2e+xoeKSUCox0bNWqKichqMKvWzctpVsXJSd1SpO/KrBe261cfPNfXtu6lGhZvOY5BziqwPKfE4dGSlU5qVFBECQGBOdQHhvVhjdHG5rqcvtNSsWf3MTzX0B6/Hun3L6vdfj/XyZw/eG4+trw3oNKzqM/0IosjozEKs5ZZvWVxP7LQDYrZrhcFIatb2/xVb4zsW/sD3S1E0HmEcOT3/wt4n87LyWxPbw1J3eoXWtnLd3Mq0NSgkIy03I622IzWT+Rv4qHBa75faHFY6u1ifO13RG5X65vuDad+F5mwR4e7lDQDAY+2xXRmY1axF+sT5lv7kDzU/HvkNK6lUZPxNuxZbJZH2TCJ0zun9bd+cx88pqLTYnA8Szrm5Y4v++1o/FOgQn/+8UVFV+tIXpSsvVPpn/3Wl84uxssK/3uTt7h2KspKGlduzgtCIjZw0V9BYjesc2o1YcV6pP+4xMMgq/emtgT7yREPNmp0vIkwoIgSAUAQRBiRfjPeDP6DpeOQocroyfgovnabn7utxtGeJ3Bij1Xak211/E91OSzUSo9rMk3ZZac9pgtYBqwKzVlel3/xfjG5u+YJHa3wYSWa2F9x4nsJRAkJZ7V2dmHxkMmApjoy644mLZeX09gfDuaOZw6yU2hQRAkAoggkD0ux4ZOkv/iXpl/7pfBthP2+g0kLdqtOI5gYg1WKrTsNOawI2BqXOdXZWELJyfmk9sprbXjhMZP3kw+H4KOAgq9SemZo4aSs8+7B+1ICwb4OkyGq5XdMor5QVvt3x5qCY/vswY5sAAEISVBjYGY8s+WfmWGXlxxPPnr2fhIL2OBTE41Cw2IiU5v6mm5dO22mppab/Fe6uF2jV7LGK8BYaPgxMvv+9vv7ggDAegnRIQJh8/WQMs+RXCO7cqfQf/0SiP/yK1V/+AafPf95odfXIPwIA4JQKKgzsJxpPIuw0fCiYHU/cH/mjh+3aOBRERiutne2CblqpmVSqxXZP0V37mI176rGdtgWe3MjryfEq+n1AkJJo53uneak7PV9X4NsZm30DQmSN/tOfrOlf/o4/3fAv/oWTMbPhCQDwuAo+DEzMhoLeqFQvnQkFWaV+5p/WFxuRFhuRttPJGOVC5zqxZur4VIvN3HCjo+o0rNb7/oV6o1L15MEPe8yueCy3IrXr0Z4VhFFRKS81d8yxLP12CgDg8fdYHy28H5M+ABeWEnUadm4+wCCrdGs7V15W062DopI2h/OTBdtHKBzcTzOx07kCw9yPLH4QeVlNGxNFZqegcbLF0K5HWm7FOr9Y05PLia5edTPHHKWrVx/o2wMATgnCwAEmoeDiUqLFRqTZ7fth7ov3JgbZ3iOF98MY31J4ojc6fHzxvcw2QFpo7D0lsft7/7f/3OrTnzZ68knp05+eFFwCAB53bBPcg7VGi81ICw2rXlqpNyrnjhBubPiWwjfesLryQqXP/VeV7Mr9d+9r1+10C6KfVVpsunv2KtjPdOCS/HHF3Z0Q9zNfYAkACAUrA0dkjQ8FF5YSLTWj6XL+y5+N9PprVrduGr3+mtVPHtLV8Cgia6bL+W58zPB+dGdWFRbq0X0FCgBAGAgDxzRpIzwJBfsV3a33cjl3//v9CzNP8b20PPZrlZWbNlEyu14PAIDduEvcp/1mC9jI6dkrpd5ZT/XN20ON7nMCYC22qsU7BYpHnao4MVtr0K7b6UhkAAD2Q83AA/r8542Mkb7wBafnni/1D/+zVJLUH5X6xs2+zi/VdHaxduxl+oV6pPXC9zPopaUaRzxmWDmn3kzh4GRMMQAAByEMPKCdojvf0XB72NR766mycWOfW1uZNvqFLq/WtdA4+q+7mRhF1s8bSMedBJMj9C7ozTRNatXsXEtlAAD2wzbBQ7bYjPXMxbbOdmrTj42KSt+8PdQ76+meQUIH2X3MsH+EY4bOOfXSnc9jVQAAcBSEgQ+BtUaXVup6+kJrbnLhei/X19f62uwfrcCwXdtpetQfVaru8TX9rJoee2wm9kgrCQAAEAY+RM1apI+fb+nSSn16FLGonL51N9XbHwyVFYcXGNrZY4baGbO8H+f8bIWJToP/WgDA0XDH+JAZY3S2U9MzF9tabO7UDHRTX2D4wXZ26CrBQmO+I+FBnzvMK02mKNdjo1rMfy0A4Gi4Y3yH1GKrj51t6qNnGtMhRpWT1jZH+rNbAw2y/WsCksioPj5mWFaazhqY5VcFOEEAALg/hIHvsKVWou+52NYTC8n0Y8O80p/dGmhtY/8Cw3vNK5icNpCk2kx4AADgKAgDJyCyRpdXG/r4+dZc/4APurm+cbOv7WEx9/mNxGiy6j8qnPJyvnagu+sEwWEDiQAA2I0wcILa9UhPX2jpwlJtOhUxL53e/mCoP78znN70jfHjhidmmwqNikrZuENhbI0aCUEAAHA8hIETZozR+aW6nrnQnisW3BoU+vpaX3d7vsCwXZ85ZphV0+2E3ScIWBUAABwXYeARUU+svvtsUx95ojHtGlg56d31kf7f2/4Y4uwY4n5WKSuqaUFhZDXX0wAAgKPi7vEIMcZopZ3oey62tNLeOYY4GJX605sDDUbF9GhhPy21PbsqUKdWAABwfwgDj6A4svrIE01997nmdHqhky8w3B7kyotKpds5ZmiN1GJMMQDgPnEHeYR1GrGeudDWucWdOQdF5fTOzVw/8jetXvxkos/8cKSsHx17KiIAABOEgUectUYXl+t6ZmbOwc/8VEP/8ncj3bpp9PprVj/x9/hvBADcP0YYnxKN8ZyDu71cX70RqSzHXQlLoy9+8YQvDgBwqvFIeYoYY3SmU9MP/oBRFI1PEUTS1asnfGEAgFONlYFT6J9/3ugzRrp+3QeBa9dO+ooAAKcZYeAUWl2VXnnlpK8CAPC4YJsAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBgAACBxhAACAwBEGAAAIHGEAAIDAEQYAAAgcYQAAgMARBh7A+rr00kvS5cv+7fr6SV8RAADHF5/0BZxmn/mM9OqrUln6t5L0yisneUUAABwfKwMP4Pp1HwQk//b69ZO9HgAA7gdh4AFcvSpFkf97FPn3AQA4bdgmeADXrvm316/7IDB5HwCA04Qw8ABWV6kRAACcfmwTAAAQOMIAAACBIwwAABA4wgAAAIEjDAAAEDjCAAAAgSMMAAAQOMIAAACBIwwAABA4wgAAAIEjDAAAEDjCAAAAgTvSoCLnnCRpe3v7Q70YAADw8Ezu25P7+EGOFAa63a4k6amnnnrAywIAAN9p3W5XS0tLB/67cfeKC5KqqtLa2po6nY6MMQ/1AgEAwIfDOadut6tLly7J2oMrA44UBgAAwOOLAkIAAAJHGAAAIHCEAQAAAkcYAAAgcIQBAAACRxgAACBwhAEAAAL3/wNo7N6qemkyFAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mammals_obs = nx.from_numpy_array(mammals[5])\n", "pos = nx.kamada_kawai_layout(mammals_obs)\n", "edges, weights = zip(*nx.get_edge_attributes(mammals_obs, \"weight\").items())\n", "\n", "pos = nx.spring_layout(mammals_obs)\n", "nx.draw_networkx_nodes(mammals_obs, pos, node_color=\"b\", node_size=6)\n", "nx.draw_networkx_edges(\n", " mammals_obs,\n", " pos,\n", " edgelist=edges,\n", " edge_color=weights,\n", " width=2.0,\n", " edge_cmap=plt.cm.Blues,\n", " edge_vmin=0.0,\n", " edge_vmax=10.0,\n", ")" ] }, { "cell_type": "markdown", "id": "c07ba721", "metadata": {}, "source": [ "### Frechet Mean\n", "We compute the Frechet Mean of the set. We first initialize the graph space with the correct number of nodes (the adjacency matrices have been already padded with zeros), then we intialize the space metric and the parameters for the geodesic alignment. " ] }, { "cell_type": "code", "execution_count": 5, "id": "289c529b", "metadata": {}, "outputs": [], "source": [ "total_space = GraphSpace(n_nodes=mammals.shape[1])\n", "total_space.equip_with_group_action()\n", "total_space.equip_with_quotient_structure()\n", "\n", "aac_fm = AAC(total_space, estimate=\"frechet_mean\", max_iter=300)" ] }, { "cell_type": "code", "execution_count": 6, "id": "35c1120e", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING: Maximum number of iterations 300 reached. The estimate may be inaccurate\n" ] } ], "source": [ "aac_fm.fit(mammals);" ] }, { "cell_type": "markdown", "id": "e67673b9", "metadata": {}, "source": [ "Let's visualize the mean:" ] }, { "cell_type": "code", "execution_count": 7, "id": "fe07aafc", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mammals_fm = nx.from_numpy_array(aac_fm.estimate_)\n", "edges, weights = zip(*nx.get_edge_attributes(mammals_fm, \"weight\").items())\n", "\n", "nx.draw_networkx_nodes(mammals_fm, pos, node_color=\"b\", node_size=6)\n", "nx.draw_networkx_edges(\n", " mammals_fm,\n", " pos,\n", " edgelist=edges,\n", " edge_color=weights,\n", " width=2.0,\n", " edge_cmap=plt.cm.Blues,\n", " edge_vmin=0.0,\n", " edge_vmax=10.0,\n", ");" ] }, { "cell_type": "markdown", "id": "1e77de2f", "metadata": {}, "source": [ "### Generalized Geodesic Principal Component Analysis (GGPCA)\n", "We compute the principal components:" ] }, { "cell_type": "code", "execution_count": 8, "id": "c778e6fd", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING: Maximum number of iterations 5 reached. The estimate may be inaccurate\n" ] } ], "source": [ "aac_ggpca = AAC(total_space, estimate=\"ggpca\", max_iter=5)\n", "aac_ggpca.fit(mammals);" ] }, { "cell_type": "markdown", "id": "00b5fb14", "metadata": {}, "source": [ "To visualize the GGPCA we plot the data along the geodesic:" ] }, { "cell_type": "code", "execution_count": 9, "id": "7b5e505b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2, 18, 18)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "aac_ggpca.components_.shape" ] }, { "cell_type": "markdown", "id": "99624e6c", "metadata": {}, "source": [ "Let's visualized the pricipal components:" ] }, { "cell_type": "code", "execution_count": 10, "id": "cae60e9c", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([0.25775675, 0.13923612])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "aac_ggpca.explained_variance_ratio_" ] }, { "cell_type": "code", "execution_count": 11, "id": "781ac691", "metadata": {}, "outputs": [], "source": [ "X_last = aac_ggpca.aligned_X_" ] }, { "cell_type": "markdown", "id": "6125772c", "metadata": {}, "source": [ "\n", "The first geodesic principal components reflect the variability in terms of isolated nodes, the second principal component in terms of density. The example is able to show how the GGPCA in the Graph Space setting is capturing social interaction changes that the original paper Rossi et al. (2015) is not able to capture with standard Euclidean methods. This example is also naturally unlabelled, due to the different baboons in different groups (i.e. different nodes in different networks).\n" ] }, { "cell_type": "markdown", "id": "a2912d1d", "metadata": {}, "source": [ "# GGRegression Fifa 2018 Player Passing Networks\n", "\n", "## Motivation and Dataset\n", "In this last case study, we studied the football players passing network (PPN) (i.e., the number of times two players\n", "pass each other the ball throughout the match) as a function of the final match score. The analysis and visualization\n", "of the players passing networks has becoming popular in the last years to understand the players network, the teams performance and strategy, and the final score. Using open source database in Stats Bomb, we collect all\n", "the PPN of each team in each match for the whole Fifa 2018 World Championship. The dataset contains observations\n", "about the 64 matches played (from 14/06/2018 to 15/07/2018) between 32 teams from all over the world." ] }, { "cell_type": "code", "execution_count": 12, "id": "499c81c1", "metadata": {}, "outputs": [], "source": [ "ppn, scores = data_utils.load_football()" ] }, { "cell_type": "code", "execution_count": 13, "id": "0d55820f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ppn_obs = nx.from_numpy_array(ppn[5])\n", "pos = nx.kamada_kawai_layout(ppn_obs)\n", "edges, weights = zip(*nx.get_edge_attributes(ppn_obs, \"weight\").items())\n", "\n", "pos = nx.spring_layout(ppn_obs)\n", "nx.draw_networkx_nodes(ppn_obs, pos, node_color=\"b\", node_size=6)\n", "nx.draw_networkx_edges(\n", " ppn_obs,\n", " pos,\n", " edgelist=edges,\n", " edge_color=weights,\n", " width=2.0,\n", " edge_cmap=plt.cm.Blues,\n", " edge_vmin=0.0,\n", " edge_vmax=10.0,\n", ")" ] }, { "cell_type": "code", "execution_count": 14, "id": "74eba5b2", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING: Maximum number of iterations 20 reached. The estimate may be inaccurate\n" ] } ], "source": [ "total_space = GraphSpace(n_nodes=ppn.shape[1])\n", "total_space.equip_with_group_action()\n", "total_space.equip_with_quotient_structure()\n", "\n", "aac_reg = AAC(total_space, estimate=\"regression\")\n", "aac_reg.fit(X=gs.expand_dims(scores, axis=1), y=ppn);" ] }, { "cell_type": "markdown", "id": "077c2b94", "metadata": {}, "source": [ "### References:\n", " \n", "Franz, M., Altmann, J., & Alberts, S. C. (2015). Knockouts of high-ranking males have limited impact on baboon social networks. Current Zoology, 61(1), 107-113.\n", "\n", "S. S. Ltd, Statsbomb open data, https://github.com/statsbomb/open-data (2018).\n", "\n", "Rossi, R., & Ahmed, N. (2015, March). The network data repository with interactive graph analytics and visualization. In Twenty-ninth AAAI conference on artificial intelligence.\n" ] } ], "metadata": { "backends": [ "numpy" ], "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.11.5" } }, "nbformat": 4, "nbformat_minor": 5 }