{ "cells": [ { "cell_type": "markdown", "id": "10e2517a", "metadata": {}, "source": [ "# Synthetic Trajectory Generation with Nomad\n", "\n", "This notebook demonstrates how to generate realistic synthetic human mobility trajectories." ] }, { "cell_type": "code", "execution_count": 1, "id": "58d68e64", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import time\n", "from pathlib import Path\n", "from joblib import Parallel, delayed\n", "\n", "from nomad.city_gen import City\n", "from nomad.traj_gen import Agent, Population\n", "from nomad.stop_detection.viz import plot_pings, plot_time_barcode" ] }, { "cell_type": "code", "execution_count": 3, "id": "9860e901", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "City: Garden City\n", "Dimensions: (22, 22)\n", "Buildings: 106\n" ] } ], "source": [ "city = City.from_geopackage('garden-city.gpkg')\n", "city._build_hub_network(hub_size=16)\n", "city.compute_gravity(exponent=2.0)\n", "city.compute_shortest_paths(callable_only=True)\n", "\n", "print(f\"City: {city.name}\")\n", "print(f\"Dimensions: {city.dimensions}\")\n", "print(f\"Buildings: {len(city.buildings_gdf)}\")" ] }, { "cell_type": "markdown", "id": "9ff8ddec", "metadata": {}, "source": [ "## Part 1: Effect of Sampling Parameters on Sparsity\n", "\n", "Generate 3 agents with 2-day trajectories, varying beta_duration and beta_start \n", "to show their effect on sparsity (q = observed points / ground truth points)." ] }, { "cell_type": "code", "execution_count": 4, "id": "b6336cc1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Agent 0: q=0.051, beta_start=100, beta_dur=60\n", "Agent 1: q=0.031, beta_start=250, beta_dur=150\n", "Agent 2: q=0.135, beta_start=400, beta_dur=240\n" ] } ], "source": [ "population = Population(city)\n", "population.generate_agents(N=3, seed=42, name_count=2)\n", "\n", "# Vary beta_duration and beta_start to target different sparsity levels\n", "sampling_params = [\n", " {'beta_ping': 5, 'beta_start': 100, 'beta_durations': 60}, \n", " {'beta_ping': 5, 'beta_start': 250, 'beta_durations': 150}, \n", " {'beta_ping': 5, 'beta_start': 400, 'beta_durations': 240} \n", "]\n", "\n", "# Generate 2-day trajectories for quick visualization\n", "for i, (agent_id, agent) in enumerate(population.roster.items()):\n", " agent.generate_trajectory(\n", " datetime=pd.Timestamp(\"2024-01-01T07:00-04:00\"),\n", " end_time=pd.Timestamp(\"2024-01-03T07:00-04:00\"),\n", " seed=i\n", " )\n", "\n", " agent.sample_trajectory(\n", " **sampling_params[i],\n", " replace_sparse_traj=True,\n", " seed=i\n", " )\n", " \n", " q = len(agent.sparse_traj) / len(agent.trajectory)\n", " print(f\"Agent {i}: q={q:.3f}, beta_start={sampling_params[i]['beta_start']}, \"\n", " f\"beta_dur={sampling_params[i]['beta_durations']}\")" ] }, { "cell_type": "code", "execution_count": 5, "id": "0e4b20fa", "metadata": { "lines_to_next_cell": 1 }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAMFCAYAAACbKr8JAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADxGklEQVR4nOzdeVxUVf8H8M+dQXYFEVQEd8ktDMLcUEENlVwrFc1ySwX3yjYTUgu1MswedyupXNJHs7SnUCHBBZdS0XDHXVBU3EUFnTm/P/jNjWFmYAYGZ4DP+/XyefLOveeembnO997vPfd7JCGEABERERERERERERER6VBYugNERERERERERERERNaKSXQiIiIiIiIiIiIiIgOYRCciIiIiIiIiIiIiMoBJdCIiIiIiIiIiIiIiA5hEJyIiIiIiIiIiIiIygEl0IiIiIiIiIiIiIiIDmEQnIiIiIiIiIiIiIjKASXQiIiIiIiIiIiIiIgOYRCciIiIiIiIiIiIiMoBJdCIqsWHDhsHZ2bnU93Pp0iXY29sjOTm51PdlzT788EO0bt3a0t0gIiIrd/78eUiShC+//LLU9zV27FiEhISU+n6s2ePHj1G7dm0sWrTI0l0hIqJyZPr06ZAkCVlZWaW6n/v376N69epYtWpVqe7H2m3evBnOzs64fv26pbtCVoZJdHoqFi1aBEmSrDbxt2jRInz//fcmbbNp0yY8//zzsLe3R506dTBt2jQ8efKk2H24cuUKPvzwQ3Tq1AmVK1eGJElISkoqcrvbt2+jevXqkCQJ69ev17vOwYMH0bt3b7i5ucHR0RHPPvss/vOf/xS7r5byySefoHXr1ggMDHyq+1Wr1fjiiy9Qv3592Nvbo0WLFvjpp5+M3v727dsYPXo0PDw84OTkhE6dOuHgwYM669WrVw+SJOn8iYiI0FrvrbfewuHDh7Fp06YSvzciImOVt1i+du1avP766/Dx8YEkSQgODjZLPw4cOIDu3bujSpUqqFy5Mrp27YpDhw7pXXf37t1o3749HB0dUbNmTUycOBH37983Sz+epnPnzuHbb7/FRx999NT3ffz4cXTv3h3Ozs5wc3PDG2+8YdJFrzHnczt27EDv3r1Ru3Zt2Nvbo2bNmujevbvOTf1KlSrhnXfewcyZM/Ho0SOzvD8iImOUpxh948YNzJkzBx07doSHhwdcXV3Rpk0brF27tkR9OHr0KPr3748GDRrA0dER7u7u6NixI3777Te96//3v/9FmzZt4OrqimrVqiEoKAi///67znqnT59Gv379ULVqVTg6OqJ9+/ZITEwsUV8t5euvv0blypUxcODAp77v7777Dk2bNoW9vT18fHwwf/58o7a7f/8+pk2bhu7du8PNzQ2SJBl1rD1+/BjNmjXTO9ige/fuaNSoEWbPnl2ct0LlGJPo9FSsWrUK9erVw19//YXTp09bujs6TL3wjouLQ9++feHq6or58+ejb9++iI6OxoQJE4rdh5MnT+Lzzz9HRkYGfH19jd7u448/xoMHDwy+vnXrVrRt2xbXrl1DVFQUvv76a/Ts2RPp6enF7qslXL9+HT/88INOQvlpmDp1Kj744AOEhIRg/vz5qFOnDl577TWsWbOmyG3VajV69OiB1atXY/z48fjiiy9w7do1BAcHIy0tTWd9Pz8/rFixQuvPiBEjtNapWbMm+vTp81RGFhIRaZS3WL548WJs3LgRtWvXRtWqVc3Sh4MHD6J9+/Y4e/Yspk2bho8//hhpaWkICgrCyZMntdY9dOgQunTpggcPHmDu3LkYOXIkli1bhv79+5ulL0/T119/jfr166NTp05Pdb/p6eno2LEjTp8+jVmzZuHdd9/F77//jpCQEOTm5ha5vbHnc6dOnYJCoUBERAQWLlyId999F5mZmejYsSM2b96ste7w4cORlZWF1atXm/W9EhEVpjzF6D179mDq1Klwc3NDZGQkZs6cCUdHRwwcOBDTpk0rdh8uXLiAe/fuYejQofj6668RFRUFAOjduzeWLVumte78+fMRFhYGd3d3fPbZZ4iKisKdO3fQs2dPbNiwQV7v0qVLaNu2LXbt2oX33nsPs2fPxv3799G1a1fs2LGj2H21hMePH+Prr7/GyJEjoVQqn+q+ly5dipEjR6J58+aYP38+2rZti4kTJ+Lzzz8vctusrCx88sknOH78OJ577jmj9zl//nxcvHjR4Ovh4eFYunQp7t27Z3SbVAEIolJ29uxZAUBs2LBBeHh4iOnTp1u6SzqaN28ugoKCjF6/WbNm4rnnnhOPHz+Wl02dOlVIkiSOHz9erD7cvXtX3LhxQwghxLp16wQAkZiYWOg2qampwsbGRnzyyScCgFi3bp3W63fu3BE1atQQL7/8slCpVMXqlzGGDh0q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a/D3ulatWvD29i5R3N6+fTvWrl2LiRMnws7ODosWLUL37t3x119/yU+oX716FW3atJEnIvXw8EBcXBzefPNN3L17F2+99RaaNm2KTz75BB9//DFGjx6NDh06AMhLJgPAunXr8ODBA4wZMwbVqlXDX3/9hfnz5yM9PR3r1q0zur8PHz5Ely5dcPHiRUycOBG1atXCihUrsG3btmJ/BhqffvopbG1t8e677yInJwe2trZQq9W4efOmUdu7uLigUqVKBl8XQuDq1ato3ry5zmt//fUXfvjhB+zatcvgOUxKSgqcnJzQtGlTreWaXExKSgrat29vVF/JCgmiIkybNk0AEL1799ZaPnbsWAFAHD58WAghxPnz54VSqRQzZ87UWi81NVXY2NhoLe/Ro4eoW7euzr6ePHkicnJytJbdunVL1KhRQ4wYMcLoPqekpAgAYt26dYWu5+TkJIYOHaqz/MGDBzrL9uzZIwCIH3/8UV4WGxsrAIj27duLJ0+eaK0/Z84cAUCcO3dOp62goCABoMg/+vqm0bx5cxEUFGTwtc6dO+ssP3r0qAAglixZIoQQYt26dQKA2LFjh866/fv3FzVr1jS4/8LUrVtXABA///yzvOzOnTvC09NT+Pv7y8s+/fRT4eTkJE6dOqW1/YcffiiUSqW4ePGiEEKI69evCwBi2rRpOvvS91399NNPBt+XIb/++qsAIL744gt52ZMnT0SHDh0EABEbGysvDwoK0vvZDx06VOu4PnfunAAgqlSpIq5du6azvjHHQMF99+7dWwAQ1apVE4MHDxbr168XUVFRwsbGRrRr106o1WohhBB///23zvGq8d577wkA4tGjR0Z/PkRknRij81hbjBZCiBs3bojq1auLDh06aC1PTk4Wr776qvjuu+/Exo0bxezZs0W1atWEvb29OHjwoLweY/S/ykqMzq+wz0UIIebNmyfGjx8vVq1aJdavXy8mTZokbGxshI+Pj7hz54683rhx44RSqdTbhoeHhxg4cKDe14jIOjFu57GGuH3lyhVRuXJlsXTpUq39//333zrvS9/n9fvvvwsAYvPmzVp91MTH/F544QXRpk0bneXG0PR///798rILFy4Ie3t78fLLL8vL3nzzTeHp6SmysrK0th84cKBwcXGRvwfNdaK++KXvu5o9e7aQJElcuHDB6D7PmzdPABD//e9/5WXZ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27YN8+fPx5dffokmTZrIy/v164f169djw4YNco3vrKwsrFu3Dr169ZKf7m3evDmaNGmCZcuWITw8XP78Fy9eDEmStOqDm2rPnj04ePAgnn/+eQB5SeONGzeie/fu8n5effVVrF69GkeOHMGzzz6rtX3+mGPos9QXt4UQ+Prrr03u70svvYStW7di/fr18vnKgwcP9JaaadiwIXbu3Inc3Fx5hPj//vc/XLp0yegkenFroqtUKoSFhWHPnj3YuHEj2rZtq3ebiRMnom/fvlrLrl27hvDwcAwbNgx9+vSRk/h9+vTB22+/jUWLFmHBggUA8j7HJUuWwMvLS2teHCp7mEQno507dw69e/dG9+7dsWfPHqxcuRKvvfaa/CPUsGFDREdHY8qUKTh//jz69u2LypUr49y5c/jll18wevRoOaEbEBCAtWvX4p133sELL7wAZ2dn9OrVCz179sSGDRvw8ssvo0ePHjh37hyWLFmCZs2ayRMqGmPbtm0YP348+vfvj2eeeQZPnjzBihUroFQq8eqrr8rrBQQEICEhAXPnzkWtWrVQv359tG7dGj179sSKFSvg4uKCZs2aYc+ePUhISJBPVIyhqc02depUDBw4EJUqVUKvXr3g5ORU7HqrO3bswI4dOwDkBcLs7Gz5zn/Hjh3RsWNHAEDr1q3Rv39/TJkyBdeuXUOjRo3www8/4Pz58/juu++02pw5cybatWuHoKAgjB49Gunp6YiJiUHXrl21LuKAvLvWQUFBSEpKKrKvzzzzDN588038/fffqFGjBpYvX46rV68iNjZWXue9997Dpk2b0LNnTwwbNgwBAQHIzs6WJ+w4f/483N3d4eDggGbNmmHt2rV45pln4ObmhmeffRbPPvssOnbsiC+++AKPHz+Gl5cXtm7dinPnzpn82fbq1QuBgYH48MMPcf78eTRr1gwbNmzQe0I6YsQIzJ07F926dcObb76Ja9euYcmSJWjevLlJE8YUp25bzZo1MXXqVHz88cfo3r07+vbti8OHD+Obb77BoEGD8MILL8jrfvTRR1i3bh06deqESZMm4f79+5gzZw58fX0xfPhwk/dNRNaLMdqyMfqvv/7CkCFDUK1aNXTp0gWrVq3Ser1du3byhWBYWBgcHBzQrl07VK9eHceOHcOyZcvg6OiIzz77TGs7xug8ZSVGA3k3OS5cuCAnZ3bs2CGfq73xxhuoW7cugLxRemFhYfD19YW9vT127dqFNWvWwM/PD+Hh4XJ7Dg4O+PTTTzFu3Dj0798f3bp1w86dO7Fy5UrMnDkTbm5uxeonEVkW47Zl43b+GxgamqRyUFAQWrZsKS/v168f2rRpg+HDh+PYsWNwd3fHokWLoFKpMGPGDK025syZg969e6Nr164YOHAgjhw5ggULFmDkyJFo2rSpvN758+dRv359o588f/bZZ9GtWzdMnDgRdnZ2WLRoEQBo7f+zzz5DYmIiWrdujVGjRqFZs2a4efMmDh48iISEBLlUWMOGDeHq6oolS5agcuXKcHJyQuvWrdGkSRM0bNgQ7777LjIyMlClShX8/PPPRt2gKGjUqFFYsGABhgwZggMHDsDT0xMrVqzQOyntyJEjsX79enTv3h0DBgzAmTNnsHLlSjRs2NDo/RW3JvrkyZOxadMm9OrVCzdv3sTKlSu1Xn/99dcBAM8//7x8A0NDU9alefPmWgl2b29vvPXWW5gzZw4eP36MF154Ab/++it27tyJVatWmTRpLlkhQVSEadOmCQDi2LFjol+/fqJy5cqiatWqYvz48eLhw4c66//888+iffv2wsnJSTg5OYkmTZqIcePGiZMnT8rr3L9/X7z22mvC1dVVABB169YVQgihVqvFrFmzRN26dYWdnZ3w9/cX//vf/8TQoUPldYxx9uxZMWLECNGwYUNhb28v3NzcRKdOnURCQoLWeidOnBAdO3YUDg4OAoAYOnSoEEKIW7duieHDhwt3d3fh7OwsunXrJk6cOCHq1q0rryOEELGxsQKA+Pvvv/X249NPPxVeXl5CoVAIAOLcuXNGvwd9NN+Fvj/Tpk3TWvfhw4fi3XffFTVr1hR2dnbihRdeEJs3b9bb7s6dO0W7du2Evb298PDwEOPGjRN3797VWufevXsCgBg4cGCR/axbt67o0aOH2LJli2jRooWws7MTTZo0EevWrdNZ9969e2LKlCmiUaNGwtbWVri7u4t27dqJL7/8UuTm5srr7d69WwQEBAhbW1ut95ueni5efvll4erqKlxcXET//v3F5cuX9X4mRblx44Z44403RJUqVYSLi4t44403REpKigAgYmNjtdZduXKlaNCggbC1tRV+fn5iy5YtOsfpuXPnBAAxZ84ck/pRFLVaLebPny+eeeYZUalSJVG7dm0RGRmp9XlpHDlyRHTt2lU4OjoKV1dXMXjwYJGZmWnW/hCR5TBGW0eM1uzL0J/8MeTrr78WrVq1Em5ubsLGxkZ4enqK119/XaSlpeltmzE6T1mJ0UFBQQaPg8TERHm9kSNHimbNmonKlSuLSpUqiUaNGokPPvhA57vVWLZsmWjcuLGwtbUVDRs2FF999ZVQq9Vm7TsRlT7GbeuI2/oUtv+bN2+KN998U1SrVk04OjqKoKAgg/385ZdfhJ+fn7CzsxPe3t56r9NSU1MFAPHhhx8W2S8AYty4cWLlypXCx8dH/i7zxxSNq1evinHjxonatWuLSpUqiZo1a4ouXbqIZcuWaa23ceNG0axZM2FjY6MVR48dOyZefPFF4ezsLNzd3cWoUaPE4cOH9cbaoly4cEH07t1bODo6Cnd3dzFp0iSxefNmnXgohBAxMTHCy8tL2NnZicDAQLF//34RFBQkgoKC5HUSExMFAL3nK8VVWMwuKl1a2HmESqWS/+3Z2tqK5s2bi5UrV5qt32Q5khB6Zt4hIirgjz/+QM+ePXH48GH4+vpaujtERET0/xijiYiIyo5Fixbh/fffx5kzZ1CjRg1Ld4eIjKQoehUiorwJOAYOHMiLcyIiIivDGE1ERFR2JCYmYuLEiUygE5UxHIlOZc7NmzeRm5tr8HWlUqkzURNVXCqVCtevXy90HWdnZzg7Oz+lHhERlV+M0WQKxmgiIsti3CZT5ObmyrXVDXFxcYGDg8NT6hHR08UkOpU5wcHB2L59u8HX69atK0/yQKSZtKUw06ZNw/Tp059Oh4iIyjHGaDIFYzQRkWUxbpMpkpKS0KlTp0LXiY2NxbBhw55Oh4ieMibRqcw5cOBAoTNEOzg4IDAw8Cn2iKzZo0ePsGvXrkLXadCgARo0aPCUekREVH4xRpMpGKOJiCyLcZtMcevWLRw4cKDQdZo3bw5PT8+n1COip4tJdCIiIiIiIiIiIiIiAzixKBERERERERERERGRAUyiExEREREREREREREZwCQ6EREREREREREREZEBTKITERERERERERERERnAJDoRERERERERERERkQFMohMRERERERERERERGcAkOhERERERERERERGRAUyiExEREREREREREREZwCQ6EREREREREREREZEBTKITERERERERERERERnAJDoRERERERERERERkQFMohMRERERERERERERGcAkOhERERERERERERGRAUyiExEREREREREREREZwCQ6EREREREREREREZEBTKITERERERERERERERnAJDoRERERERERERERkQFMohMRERERERERERERGcAkOhERERERERERERGRAUyiExEREREREREREREZwCQ6EREREZlFcnIyQkND4e3tjdDQUCQnJ1u6S0RERERERCUmCSGEpTtRUuvWrcPHH3+Me/fuWborRERUwVWuXBmffvop+vXrZ+muWDXG7vInJycHWVlZOsvd3d1hZ2dngR4RERWNcds4jNtERGQtLBW7y0USvWnTpjhx4oSlu0FERAQAaNKkCY4fP27pblg1xm4iIrIWjNtFY9wmIiJrYonYbfNU91ZKNHfDFQoFPD09LdwbIiKqqK5cuQK1Ws1RWkZg7C5/NMd/QfyOichaMW4bj3GbiIisgSVjd7lIomt4enoiPT3d0t0gIqIKytvbGxkZGZbuRpnC2F1+hIaGIj4+HiqVSl6mVCoREhKCuLg4C/aMiEg/xm3TMW4TEZElWTJ2c2JRIiIiIiqxyMhISJIEpVIJIC+BLkkSoqKiLNwzIiIiIiKikmESnYiIiIhKLDAwEElJSQgJCYGXlxdCQkKwfft2tGvXztJdIyIiIiIiKpFyVc6FiIiIiCwnMDCQpVuIiIiIiKjc4Uh0IiIiIiIiIiIiIiIDmEQnIiIiIiIiIiIiIjKASXQiIiIiIiIiIiIiIgOYRCciIiIiIiIiIiIiMoBJ9HIkOTkZoaGh8Pb2RmhoKJKTky3dJSIiIiK9eN5CRERERERlBZPo5URycjKCg4MRHx+PjIwMxMfHIzg4mBekREREZHV43kJERERETwsHb5A5MIleTkRHR0MIAZVKBQBQqVQQQiA6Otqs++EPDxEREZXU0zpvISIiIqKKjYM3yFyYRC8nUlNT5QtRDZVKhdTUVLPtgz88REREZA5P47yFyJw4kISIiKhs4uANMhcm0csJX19fKJVKrWVKpRK+vr5m2wd/eIiIiEgffQnGwpKOT+O8hchcOJCEiIio7OLgDTIXJtHLicjISEiSJF+QKpVKSJKEqKgos+2DPzxERESUX3JyMtq0aYP27dtj8+bNcoIxKCgIQUFBBpOORZ23cNQvWRN9A0nUajX69u3LY5SIiMjKcfAGmQuT6OVEYGAgkpKS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gxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACCDEB0AAAAAADII0QEAAAAAIIMQHQAAAAAAMgjRAQAAAAAggxAdAAAAAAAyCNEBAAAAACDDhBP9gsViMZ566qmYNGlS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V199dZ/Hzj333Jg/f37cf//9ERGxatWqWLRoUb2rHXv37o1CoRBTpkzps3zKlCmxe/fuiIh44oknIiLiT/7kT+Kmm26Khx9+ON797nfHNddcEz09PYN6nWbY1qEaymf61a9+NT7ykY9ExNHLXg4cOBAbNmzot95JJ51UPugijm7rRz7ykTjppJPqVu+R/kybaVuHazQer47VgTlea2umbR3LHJ/1NVqP5+HQBtTfaOzjh0vbU1/jqe0ZC8bqse64Hr6xegw7Vzg+2gptRS1jtb2oq+EOYY9jXArwyiuvpNddd106c+bM9MCBAwOWdcMNN6T5fD499dRT04kTJ6YTJkxIP/rRj6YvvPBCmqavXRaxb9++9Jvf/Gb6lre8JX388cfT173udenevXvTb3zjG3W9LGLXrl1pRKQ/+MEP+iz/z//5P6eXX355mqZp2tXVlUZEevvtt/dZp62tLf3DP/zDUbOtler5mf7zP/9zOmHChPSZZ54pL7vlllvSj3zkI+X/ly7v2LZtW/qTn/wkPe2009Knn346Pe2009Lu7u5027Ztdbu8YyQ/02bb1lrG6vE6Xo/VNHW8juXjdawYz8fnUI3l43k4tAFDM1b7+OHS9gyetmd0Gc/HuuO6tvF8DDtXyKat0FbUMp7bi3oakZHor776avz2b/92/Mu//EusXbt2UL9svfe9741HH300enp64le/+lV87Wtfi1NPPbXfevPnz49f/epX8bGPfSyuu+66eMMb3lD3+p999tmRz+fjmWee6bP8mWeeiTe+8Y0REfGmN70pIiKmT5/eZ513vOMd5cs2sjTTtg7WUD/Tr371q3HkyJE477zzYsKECTFhwoS455574q//+q/jwIED/dZva2uLt7/97XH99dfHO97xjnjXu95V1/qP5GfabNs6VKP5eHWs1uZ4HbvH62ji+KyP0X48D4c2oH5Gcx8/XNqe+hiPbc9oNtaPdcf10I31Y9i5wvBoK7QVtYz19qKe6h6il978np6eWLdu3aB3llNPPTXe+ta3xpvf/OaYMGFC5noTJkyIj370o7F+/foRuyRi4sSJcdlll8V3vvOd8rJisRjf+c534sorr4yIiAsvvDDOO++82LlzZ5/nPvbYY3HBBRcMWH4zbetgDPUzPXLkSPzZn/1Z3HnnnfHoo4+W/2zfvj3OO++8ePDBB2s+b9GiRSO2rSP1mTbjtg7FaD9eHav9OV7H7vE62jg+j99YOJ6HQxtQH6O9jx8ubc/xG69tz2g1Ho51x/XQjIdj2LnC0GkrtBW1jIf2oq6GMmz90KFD6bZt28rD7u+6665027Zt5bu2vvLKK+lv/uZvpi0tLemjjz6aPv300+U/hw8fziy31l1uK1VeFpGmaXr48OF0z549abFYTNM0HZHLIv7yL/8yPfnkk9P7778/3bFjR/p7v/d76RlnnJHu3r27vM7/+l//K508eXL6V3/1V2lPT0+6dOnS9HWve136s5/9LLPcZtvWkfhMv/GNb6QTJ05M9+/f3++xT3/60+msWbPSNO17eUeapumrr76a7tmzJ3311VfTNE3rfnnHSHymzbqtaTp+jtfxcqymqeN1LB+vY9V4Oj6Hajwdz8OhDRjYeOnjh0vbk03bM7o41l/juD7KMfwa5wqv0Va8RlvxGu1F/Q3pEyztFNV/brjhhjRNX3uTav155JFHMssd6s5YbaR2xi9/+cvpm9/85nTixInp5Zdfnm7atKnfOnfccUfa0tKSnnLKKemVV16Z/sM//MOAZTbbto7EZ/qBD3wg/bf/9t/WfGzz5s1pRKTbt2/vd1BVG4mDqt6faTNv63g6XsfDsVr5mo7X14yV43UsGy/H51CNt+N5OLQB2cZTHz9c2p7atD2ji2O9L8e1Y7iac4WjtBV9aSv61kl7UT9JmqZpAAAAAAAA/YzIjUUBAAAAAGAsEKIDAAAAAEAGIToAAAAAAGQQogMAAAAAQAYhOgAAAAAAZBCiAwAAAABABiE6AAAAAABkEKIDAAAAAEAGIToAAAAAAGQQogMAAAAAQAYhOgAAAAAAZPj/A8h7l9iunfMlAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(2, 3, figsize=(15, 10), \n", " gridspec_kw={'height_ratios': [10, 1]})\n", "\n", "for i, (agent_id, agent) in enumerate(population.roster.items()):\n", " ax_map = axes[0, i]\n", " ax_barcode = axes[1, i]\n", " \n", " city.plot_city(ax=ax_map, doors=False, address=False)\n", " \n", " traj = agent.sparse_traj\n", " plot_pings(traj, ax=ax_map, s=15, point_color='red', \n", " x='x', y='y', timestamp='timestamp')\n", " \n", " plot_time_barcode(traj['timestamp'], ax=ax_barcode, set_xlim=True)\n", " \n", " q = len(traj) / len(agent.trajectory)\n", " ax_map.set_title(f\"Agent {i}: {len(traj)} obs (q={q:.2f})\\n\"\n", " f\"beta_start={sampling_params[i]['beta_start']}, \"\n", " f\"beta_dur={sampling_params[i]['beta_durations']}\")\n", " ax_map.set_axis_off()\n", "\n", "plt.tight_layout()\n", "plt.savefig('data/trajectories_visualization.png', dpi=150, bbox_inches='tight')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "dc7b266a", "metadata": {}, "source": [ "## Part 2: Parallel Generation at Scale\n", "\n", "Generate trajectories for 15 users using parallelization." ] }, { "cell_type": "code", "execution_count": 6, "id": "5238c745", "metadata": { "lines_to_next_cell": 1 }, "outputs": [], "source": [ "def generate_agent_trajectory(args):\n", " \"\"\"Worker function for parallel generation.\"\"\"\n", " identifier, home, work, seed = args\n", " city = City.from_geopackage('garden-city.gpkg')\n", " city._build_hub_network(hub_size=16)\n", " city.compute_gravity(exponent=2.0)\n", " city.compute_shortest_paths(callable_only=True)\n", " agent = Agent(identifier=identifier, city=city, home=home, workplace=work)\n", " \n", " agent.generate_trajectory(\n", " datetime=pd.Timestamp(\"2024-01-01T07:00-04:00\"),\n", " end_time=pd.Timestamp(\"2024-01-08T07:00-04:00\"),\n", " seed=seed\n", " )\n", " agent.sample_trajectory(\n", " beta_ping=5,\n", " replace_sparse_traj=True,\n", " seed=seed\n", " )\n", " sparse_df = agent.sparse_traj.copy()\n", " sparse_df['user_id'] = identifier\n", " sparse_df['home'] = home\n", " sparse_df['workplace'] = work\n", " return sparse_df" ] }, { "cell_type": "code", "execution_count": 7, "id": "aa1b6112", "metadata": {}, "outputs": [], "source": [ "n_agents = 15\n", "rng = np.random.default_rng(100)\n", "homes = city.buildings_gdf[city.buildings_gdf['building_type'] == 'home']['id'].to_numpy()\n", "workplaces = city.buildings_gdf[city.buildings_gdf['building_type'] == 'workplace']['id'].to_numpy()\n", "\n", "agent_params = [\n", " (f'agent_{i:04d}',\n", " rng.choice(homes),\n", " rng.choice(workplaces),\n", " i)\n", " for i in range(n_agents)\n", "]" ] }, { "cell_type": "code", "execution_count": 8, "id": "a0364bc9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generating 15 agents in parallel...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 8 concurrent workers.\n", "[Parallel(n_jobs=-1)]: Done 2 out of 15 | elapsed: 18.3s remaining: 2.0min\n", "[Parallel(n_jobs=-1)]: Done 4 out of 15 | elapsed: 23.3s remaining: 1.1min\n", "[Parallel(n_jobs=-1)]: Done 6 out of 15 | elapsed: 24.6s remaining: 36.9s\n", "[Parallel(n_jobs=-1)]: Done 8 out of 15 | elapsed: 24.9s remaining: 21.8s\n", "[Parallel(n_jobs=-1)]: Done 10 out of 15 | elapsed: 27.0s remaining: 13.5s\n", "[Parallel(n_jobs=-1)]: Done 12 out of 15 | elapsed: 29.2s remaining: 7.2s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Generated 15 agents in 30.52s (2.03s per agent)\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[Parallel(n_jobs=-1)]: Done 15 out of 15 | elapsed: 30.4s finished\n" ] } ], "source": [ "print(f\"Generating {n_agents} agents in parallel...\")\n", "start_time = time.time()\n", "\n", "results = Parallel(n_jobs=-1, verbose=10)(\n", " delayed(generate_agent_trajectory)(params) for params in agent_params\n", ")\n", "\n", "generation_time = time.time() - start_time\n", "print(f\"Generated {n_agents} agents in {generation_time:.2f}s ({generation_time/n_agents:.2f}s per agent)\")" ] }, { "cell_type": "code", "execution_count": 10, "id": "e8a48448", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Saved sparse trajectories to data/trajectories_15_users\n" ] } ], "source": [ "parallel_population = Population(city)\n", "for df, params in zip(results, agent_params):\n", " identifier, home, work, seed = params\n", " agent = Agent(identifier=identifier, city=city, home=home, workplace=work, seed=seed)\n", " agent.sparse_traj = df.drop(columns=['home', 'workplace'])\n", " parallel_population.add_agent(agent, verbose=False)\n", "\n", "output_path = 'data/trajectories_15_users'\n", "parallel_population.save_pop(\n", " sparse_path=str(output_path),\n", " fmt='parquet'\n", ")\n", "print(f\"Saved sparse trajectories to {output_path}\")" ] } ], "metadata": { "jupytext": { "formats": "ipynb,py:percent" }, "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.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }