Skip to content

Instantly share code, notes, and snippets.

@jpivarski
Last active November 16, 2023 17:28
Show Gist options
  • Save jpivarski/5b939d91ce674e6e46f64b3a0f7ee32c to your computer and use it in GitHub Desktop.
Save jpivarski/5b939d91ce674e6e46f64b3a0f7ee32c to your computer and use it in GitHub Desktop.
Computer breaking probability
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "a96d8e18-85a3-45a4-8766-a0a24dd3536e",
"metadata": {},
"outputs": [],
"source": [
"from datetime import datetime\n",
"\n",
"import iminuit\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from scipy.stats import expon"
]
},
{
"cell_type": "markdown",
"id": "a1699933-87ae-4065-bce1-d54b622ad5e6",
"metadata": {},
"source": [
"Dates when my computer wouldn't boot with the 88-display showing \"95\"; had to reset BIOS by touching pins.\n",
"\n",
"Approximate number of reboots in between, based on number of work days when I wasn't traveling. (I reboot approximately once per workday, when I'm at home.)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "8cf51b44-e400-490d-b5eb-c4d97c215bd1",
"metadata": {},
"outputs": [],
"source": [
"break_dates = [\n",
" (\"2023-03-18\", 0),\n",
" (\"2023-03-27\", 6),\n",
" (\"2023-04-08\", 10),\n",
" (\"2023-04-12\", 4),\n",
" (\"2023-05-29\", 17),\n",
" (\"2023-06-07\", 8),\n",
" (\"2023-09-29\", 55),\n",
" (\"2023-11-16\", 32),\n",
"]"
]
},
{
"cell_type": "markdown",
"id": "f69409b9-128a-4eb0-a0f0-61b0f08393a1",
"metadata": {},
"source": [
"Absolute dattes of when the failures happened."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "fee905f2-a483-4342-92fd-38abb4f064da",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Dz/8sEmynJycoGQULjkVFxdbkyZN7Prrr7cNGzbYsmXLrHXr1nbrrbeSzyluuukm69atW5UzKUs4ZJWdnW2RkZE2ffp0KygosOXLl1vXrl3tkksuIadTctq8ebO99tprlp+fb59//rkNGzbMkpOTbevWrWGfj5nZhg0bLDc316699lrr06eP5ebmWm5urm996WMI77//ftu4caO9+uqrQX8MYTjkZGa+ZRdffLGNGDHCcnNzbcOGDeRjZnPmzLHIyEh7/vnn/Y69f//+gHOoUAGXdNaf7Oxs3zYlJSU2btw4S0lJsZiYGLvsssssLy/Pt7708W1n+yl9gfjqq6/s8ssvt+TkZIuJibFmzZrZmDFj7Pvvvz/nHL/66iu79NJLLSYmxlJSUmz8+PF+j/x67rnnrEOHDhYXF2eJiYnWpUsXmz59up04caIiUYR9TqcLZgEPh3yefPJJa9mypcXGxlq9evWsV69e9v777wcln1LhkJOZ2aZNm6xv377m9XqtSZMm9sADD/i90P7S89m/f795vV57+eWXq5xJWcIlq+eee87at29vXq/XUlNT7cYbbwxo7ECFQ04bN260zp07m9frtcTERBs8eLB9/fXXv5h80tPTzzr2qZYuXWpdunSx6Ohoa9asmb3wwgtByadUuOR0tvXp6enkYycfzXi29SNHjgw4B8//DwMAAACAA1X7QBgAAACACqGAAwAAAA5RwAEAAACHKOAAAACAQxRwAAAAwCEKOAAAAOAQBRwAAABwiAIOAAAAOEQBBxB2+vTpo/vuu6+mp1Gmd955R61atVJERESZ89y1a5f69eununXr6rzzzgto3JkzZ/ptO378eHXu3LlKc922bZs8Ho/WrVtX5jbNmjXT1KlTq3QcAPgloYAD+MVbunSpPB6P9u/f7+R4t99+u66//nrt2LFDEyZMOOs2zzzzjAoLC7Vu3Trl5+cHNO6wYcMC3jYUeTwevfPOOzU9DQCossiangAA/JIcPHhQu3fvVlZWlho1alTmdgUFBbr44ovVunXrgMf2er3yer3BmCYAoBrxDjiAkHbo0CHdcsstio+PV2pqqqZMmXLGNq+//rq6du2qhIQEpaSkaMSIEdq9e7ekkx+xuPzyyyVJ9erVk8fj0ahRoyRJZqbJkyerRYsW8nq96tSpk+bNm1fufPbt26dbbrlF9erVU1xcnAYMGKBvvvlG0sl32hMSEiRJV1xxhTwej5YuXXrGGM2aNVNOTo5mzZrlN5+nn35aHTt2VN26dZWWlqY777xTBw8e9O13+kdQziY7O1vt2rVTbGys2rZtq+nTp/utX7Nmjbp06aLY2Fh17dpVubm55Y5Xqri4WCNGjFB8fLwaNWqkadOm+a3fvn27Bg8erPj4eCUmJmro0KH64Ycf/LZ54YUX1LJlS0VHRysjI0OvvfaaXyaSdN1118nj8fh+B4CQZAAQwu644w5r0qSJLVq0yL766iu75pprLD4+3saOHevb5tVXX7UPPvjACgoKbNWqVda9e3cbMGCAmZkdP37ccnJyTJJt3rzZCgsLbf/+/WZm9uc//9natm1rH330kRUUFFh2drbFxMTY0qVLy5zPoEGDrF27dvbpp5/aunXrLCsry1q1amVHjx61I0eO2ObNm02S5eTkWGFhoR05cuSMMXbv3m1XXXWVDR061G8+zzzzjC1evNi2bNlin3zyiWVkZNgdd9zh2y87O9uSkpJ8v48bN846derk+/3ll1+21NRUy8nJsS1btlhOTo4lJyfbzJkzzczs4MGD1qBBAxs2bJitX7/e3nvvPWvRooVJstzc3DLPOT093RISEmzixIm2efNme+655ywiIsIWLVpkZmYlJSXWpUsX69Wrl61du9ZWr15tF110kfXu3ds3xvz58y0qKsqef/5527x5s02ZMsUiIiJs8eLFvkwkWXZ2thUWFtru3bvLnA8A1HYUcAAhq7i42KKjo+2NN97wLduzZ495vV6/An66NWvWmCQrLi42M7MlS5aYJNu3b59vm4MHD1psbKytXLnSb9/Ro0fb8OHDzzpufn6+SbIVK1b4lv3444/m9XrtrbfeMjOzffv2mSRbsmRJuec2ePBgGzlyZLnbvPXWW1a/fn3f7+cq4GlpaTZnzhy/MSZMmGCZmZlmZvbSSy9ZcnKyHTp0yLf+hRdeCKiAX3XVVX7Lhg0b5vsjZ9GiRRYREWHbt2/3rd+wYYNJsjVr1piZWY8ePey2227zG+OGG26wq6++2ve7JFuwYEGZ8wCAUMFHUACErIKCAh09elSZmZm+ZcnJycrIyPDbLjc3V4MHD1Z6eroSEhLUp08fSSc/FlGWjRs36vDhw+rXr5/i4+N9P7NmzVJBQcFZ99m0aZMiIyPVrVs337L69esrIyNDmzZtqsKZnrRkyRL169dPjRs3VkJCgm655Rbt2bNHhw4dOue+//vf/7Rjxw6NHj3a73yeeOIJ3/ls2rRJnTp1UlxcnG+/U7Mtz+nbZWZm+s5506ZNSktLU1pamm99+/btdd555/lt07NnT78xevbsGZTcAKC24UuYAEKWmZ1zm0OHDql///7q37+/Xn/9dTVo0EDbt29XVlaWjh49WuZ+JSUlkqT3339fjRs39lsXExNTofmYmTwezznnWp7vvvtOV199tcaMGaMJEyYoOTlZy5cv1+jRo3Xs2LFz7l96Pq+88orfHwiSFBERUe78K6v0nMs6/9OXn75NMHIDgNqId8ABhKxWrVopKipKq1ev9i3bt2+f36P4vv76a/3444+aNGmSLr30UrVt29b3BcxS0dHRkqQTJ074lrVv314xMTHavn27WrVq5fdz6ju5p2rfvr2OHz+uzz//3Ldsz549ys/PV7t27ap0rmvXrtXx48c1ZcoUde/eXW3atNHOnTsD3r9hw4Zq3LixtmzZcsb5NG/e3Df///73v/r55599+52abXlO32716tVq27atb9zt27drx44dvvUbN27UgQMHfLm0a9dOy5cv9xtj5cqVfrlFRUX5XSMACFW8Aw4gZMXHx2v06NF66KGHVL9+fTVs2FCPPPKI6tT5v/cWmjZtqujoaE2bNk1jxozR+vXrz3j2dnp6ujwej/71r3/p6quvltfrVUJCgh588EHdf//9KikpUa9evVRUVKSVK1cqPj5eI0eOPGM+rVu31uDBg3XbbbfppZdeUkJCgh5++GE1btxYgwcPrtK5tmzZUsePH9e0adN07bXXasWKFXrxxRcrNMb48eN17733KjExUQMGDNCRI0e0du1a7du3Tw888IBGjBihRx55RKNHj9ajjz6qbdu26amnngpo7BUrVmjy5MkaMmSIPv74Y7399tt6//33JUl9+/bVhRdeqBtvvFFTp07V8ePHdeedd6p3797q2rWrJOmhhx7S0KFDddFFF+nKK6/Ue++9p/nz5+s///mP7xjNmjXTJ598op49eyomJkb16tWr0PkDQK1Rg58/B4AqKy4utptuusni4uKsYcOGNnnyZOvdu7fflzDnzJljzZo1s5iYGMvMzLSFCxee8cXCxx9/3FJSUszj8fi+/FhSUmLPPvusZWRkWFRUlDVo0MCysrJs2bJlZc5n7969dvPNN1tSUpJ5vV7Lysqy/Px83/qqfAnz6aefttTUVN+4s2bN8vvy6Lm+hGlmNnv2bOvcubNFR0dbvXr17LLLLrP58+f71q9atco6depk0dHR1rlzZ98TYs71JczHHnvMhg4d6rsOU6dO9dvmu+++s0GDBlndunUtISHBbrjhBtu1a5ffNtOnT7cWLVpYVFSUtWnTxmbNmuW3fuHChdaqVSuLjIy09PT0cvMDgNrMYxbkD/0BAAAAKBOfAQcAAAAcooADAAAADlHAAQAAAIco4AAAAIBDFHAAAADAIQo4AAAA4BAFHAAAAHCIAg4AAAA4RAEHAAAAHKKAAwAAAA5RwAEAAACH/h8MQeCmbl3jtgAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 850x250 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(8.5, 2.5))\n",
"\n",
"ax.stem([datetime.fromisoformat(x[0]) for x in break_dates], [1] * len(break_dates))\n",
"ax.set_yticks([])\n",
"ax.set_xlabel(\"date of failed boot\")\n",
"ax.set_ylim(0.1, 1.2)\n",
"ax.set_xlim(datetime.fromisoformat(\"2023-03-01\"), datetime.fromisoformat(\"2023-12-01\"))\n",
"\n",
"None"
]
},
{
"cell_type": "markdown",
"id": "35a8ee18-73cc-455d-9ce6-a5aed9ada76a",
"metadata": {},
"source": [
"Number of calendar days between failures."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "c7ae28a5-1df6-4479-8311-bc292029849d",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArgAAAD/CAYAAAAaAqXSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAg1klEQVR4nO3de1RVdf7/8dcBBEEExRuSNxwtJUxRM8ULVpN2w+kyU2l56aJmXvObml3GalVqN6exsrGZ0VmTZWuVTmZl6qSomWkgVoKihpeSFqvybsrlvH9/+PNMR0HAQI4fn4+1WMuz9+d89nvv9z7w4rDP1mNmJgAAAMARQdVdAAAAAFCZCLgAAABwCgEXAAAATiHgAgAAwCkEXAAAADiFgAsAAACnEHABAADglJCzeZLX69XevXtVu3ZteTyeyq4JAAAADjMzHTp0SHFxcQoKqvz3W88q4O7du1dNmzat7FoAAABwAdmzZ4+aNGlS6fOeVcCtXbu2pBNFRUVFVWpBAAAAcNvBgwfVtGlTX6asbGcVcE9elhAVFUXABQAAwFmpqktd+ZAZAAAAnELABQAAgFMIuAAAAHAKARcAAABOIeACAADAKQRcAAAAOIWACwAAAKcQcAEAAOAUAi4AAACcQsAFAACAUwi4AAAAcAoBFwAAAE4h4AIAAMApBFwAAAA4hYALAAAApxBwAQAA4BQCLgAAAJxCwAUAAIBTCLgAAABwCgEXAAAATiHgAgAAwCkEXAAAADiFgAsAAACnEHABAADgFAIuAAAAnELABQAAgFMIuAAAAHBKSHUXcFKx17Q+92flHzqmhrVrqkt8jIKDPFW2vYIir/79+U7t+vmomsdEaGC3FgoNKX/eP9f1AoGktPOf1wUABLYL5ft0QATcJd/k6ckPspR34JhvWePompqSmqBrExtX+vamfpSlN1bnymv/W/bMR9ka2jNek69PCLh6gUBS2vnfr31jLdqUx+sCAALUhZRfPGZmZQ/zd/DgQUVHR+vAgQOKior6TQUs+SZPI97M0KlFnPxdYtZdHSv1oE/9KEt/W5Vb6vrhvc4ccs91vUAgKe38Lw2vCwAIDIGWXyozS5akWq/BLfaanvwgq8QflieXPflBloq9Fc7gJSoo8uqN1aWHW0l6Y3WuCoq8Ja471/UCgeRM539peF0AQPW7EPNLtQbc9bk/+71NfiqTlHfgmNbn/lwp2/v35ztVVu+8dmJcSc51vUAgKev8Lw2vCwCoXhdifqnWgJt/qHw/LMs7riy7fj76m8ad63qBQPJbz2teFwBQPS7E/FKtAbdh7ZqVOq4szWMiftO4c10vEEh+63nN6wIAqseFmF+qNeB2iY9R4+iaKu3mFB6d+HRfl/iYStnewG4tVNadMII8J8aV5FzXCwSSss7/0vC6AIDqdSHml2oNuMFBHk1JPXHHglMP+snHU1ITKu3+bKEhQRraM/6MY4b2jC/1frjnul4gkJzp/C8NrwsAqH4XYn6p9v/J7NrExpp1V0c1jArzWx4bXbNKblkx+foEDe8Vf9o7uUGesm8RVh31AoGktPO/cXRNDe8Vr0a8LgAgIF1o+aXa74N70qFjhWr3xFJJ0ty7L1fP1g2q9DeJvfuPKnnaCknSg79vrRG9W1XofzI71/UCgaS085/XBQAEtkD5Pu30fXB/7dcH91z8t3G/DrN3dm1WoXArnft6gUBS2vnP6wIAAtuF8n06YAIuAAAAUBkIuAAAAHAKARcAAABOIeACAADAKQRcAAAAOIWACwAAAKcQcAEAAOAUAi4AAACcQsAFAACAUwi4AAAAcAoBFwAAAE4h4AIAAMApBFwAAAA4hYALAAAApxBwAQAA4BQCLgAAAJxCwAUAAIBTCLgAAABwCgEXAAAATiHgAgAAwCkEXAAAADiFgAsAAACnEHABAADgFAIuAAAAnELABQAAgFMIuAAAAHAKARcAAABOIeACAADAKQRcAAAAOIWACwAAAKcQcAEAAOAUAi4AAACcQsAFAACAUwi4AAAAcAoBFwAAAE4h4AIAAMApBFwAAAA4hYALAAAApxBwAQAA4BQCLgAAAJxCwAUAAIBTCLgAAABwCgEXAAAATiHgAgAAwCkEXAAAADiFgAsAAACnEHABAADgFAIuAAAAnELABQAAgFMIuAAAAHAKARcAAABOIeACAADAKQRcAAAAOIWACwAAAKcQcAEAAOAUAi4AAACcQsAFAACAUwi4AAAAcAoBFwAAAE4h4AIAAMApBFwAAAA4hYALAAAApxBwAQAA4BQCLgAAAJxCwAUAAIBTCLgAAABwCgEXAAAATiHgAgAAwCkEXAAAADiFgAsAAACnEHABAADgFAIuAAAAnELABQAAgFMIuAAAAHAKARcAAABOIeACAADAKQRcAAAAOIWACwAAAKcQcAEAAOAUAi4AAACcQsAFAACAUwi4AAAAcAoBFwAAAE4h4AIAAMApBFwAAAA4hYALAAAApxBwAQAA4BQCLgAAAJxCwAUAAIBTCLgAAABwCgEXAAAATiHgAgAAwCkEXAAAADiFgAsAAACnEHABAADgFAIuAAAAnELABQAAgFMIuAAAAHAKARcAAABOIeACAADAKQRcAAAAOIWACwAAAKcQcAEAAOAUAi4AAACcQsAFAACAUwi4AAAAcAoBFwAAAE4h4AIAAMApBFwAAAA4hYALAAAApxBwAQAA4BQCLgAAAJxCwAUAAIBTCLgAAABwCgEXAAAATiHgAgAAwCkEXAAAADiFgAsAAACnEHABAADgFAIuAAAAnELABQAAgFMIuAAAAHAKARcAAABOIeACAADAKQRcAAAAOIWACwAAAKcQcAEAAOAUAi4AAACcQsAFAACAUwi4AAAAcAoBFwAAAE4h4AIAAMApBFwAAAA4hYALAAAApxBwAQAA4BQCLgAAAJxCwAUAAIBTCLgAAABwCgEXAAAATiHgAgAAwCkEXAAAADiFgAsAAACnEHABAADgFAIuAAAAnELABQAAgFMIuAAAAHAKARcAAABOIeACAADAKQRcAAAAOIWACwAAAKeEnM2TzEySdPDgwUor5GhBkbzHj/rmLQo9q9LK7dDhY77tHTp4UKHeggo9/1zXCwSS0s5/XhcAENgC5fv0yQx5MlNWNo+dxczffvutfve731VFPQAAALhA7NixQy1btqz0ec8qtsfExEiSdu/erejo6EotCFXn4MGDatq0qfbs2aOoqKjqLgflRN/OT/Tt/ETfzj/07Px04MABNWvWzJcpK9tZBdygoBOX7kZHR3MynYeioqLo23mIvp2f6Nv5ib6df+jZ+elkpqz0eatkVgAAAKCaEHABAADglLMKuGFhYZoyZYrCwsIqux5UIfp2fqJv5yf6dn6ib+cfenZ+quq+ndVdFAAAAIBAxSUKAAAAcAoBFwAAAE4h4AIAAMApBFwAAAA45awC7muvvab4+HjVrFlTnTp10urVqyu7LpylqVOn6vLLL1ft2rXVsGFD3XTTTdq6davfGDPTE088obi4OIWHh6t3797avHlzNVWMkkydOlUej0fjxo3zLaNvgen777/XXXfdpXr16ikiIkIdOnRQenq6bz19CzxF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m+a37cjISBs7dqxt2bLF3nzzTYuIiLDZs2f7xgwYMMCSk5Nt1apVtn37dnv++ectLCzMcnJyzMxszpw5VqNGDUtOTrbPPvvMtmzZYocPHz5tP7/77juLiIiwBx54wLKzs23hwoVWv359mzJlipmZ7d+/35566ilr0qSJ5eXlWX5+fonHa926debxeGzq1Km2detWe/nll61OnToWHR3tG5OZmWmvv/66ffXVV5aTk2OPPvqo1axZ03bt2mVmZnv27LGgoCBbv3697zmbNm0yj8djO3bssMLCQouOjraHHnrItm/fbllZWTZ37lzf8091skdNmjSxd99917Kysuy+++6z2rVr248//mhmZnv37rX69evb5MmTLTs72zIyMuyaa66xK6+80rf/3bp1s6FDh1peXp7l5eVZUVGRjR8/3m688UYzM/N6vRYTE2P169e3Dz/80MzM3nrrLYuNjS13v7766iuLjIy0GTNmWE5Ojn322WeWlJRkQ4YM8c3RvHlzi4mJsVdffdW2bdtmU6dOtaCgIMvOzi5x/0vr3bvvvmvvvfee5eTk2MaNGy01NdXatWtnxcXFfsft5Ll98jzet29fuWu97rrrLDEx0dauXWtffvmlJScnW3h4uM2YMaPEWs3MBg8ebJGRkXb77bfbN998Y4sXL7YGDRrYI4884hszZswYi4uLs48++sg2b95sgwcPtrp169pPP/1kZuU7n0vq58iRI61Dhw62YcMGy83NtWXLltmiRYtKrRVA1SLgAlUkJSXFevTo4bfs8ssvt0mTJplZxQLu8uXLfWOmTp1qkmzHjh2+ZcOHD7e+ffv6bbtt27bm9Xp9yyZNmmRt27Y1M7Pt27ebx+Ox77//3q++q6++2iZPnmxmJwKuJMvMzDzjfj7yyCN2ySWX+G3r1VdftcjISF/gmTFjhjVv3vyM8/Tv39+uvfZav2W33367X8AtSUJCgs2cOdP3+LrrrrMRI0b4Ho8bN8569+5tZmY//fSTSbKVK1eecc6TTvbo1788FBYWWpMmTWz69OlmZvb4449bnz59/J63Z88ek2Rbt241sxP9GDt2rN+YRYsWWXR0tBUXF1tmZqY1aNDAHnzwQZswYYKZmQ0bNsxuv/12MytfvwYOHGjDhg3zW7969WoLCgqyX375xcxOBNy77rrLt97r9VrDhg1t1qxZpR6D8vQuPz/fJNnXX39tZmUH3LJq3bp1q0mydevW+dZnZ2ebpDIDbkxMjB05csS3bNasWb5z8fDhw1ajRg2bN2+eb31BQYHFxcXZc889Z2blO59L6mdqaqrdfffdZzxOAM4dLlEAqtBll13m97hx48bKz8//TfM0atRIERERatmypd+yU+ft2rWrPB6P73G3bt20bds2FRcXKyMjQ2amiy++WJGRkb6vtLQ0vz81h4aGnrYPp8rOzla3bt38ttW9e3cdPnxY3333Xbn38eQ8v3bq4yNHjmjixIlKSEhQnTp1FBkZqS1btmj37t2+MUOHDtXbb7+tY8eOqbCwUPPmzdM999wjSYqJidGQIUPUt29fpaam6uWXX1ZeXl6Ztf26jpCQEHXu3FnZ2dmSpPT0dK1YscLvOLZp00aS/I7lqXr16qVDhw5p48aNSktLU0pKiq688kqlpaVJOnEpRUpKiiSVq1/p6emaO3eu3/q+ffvK6/UqNzfXt91f99Pj8Sg2NrbC5+SOHTs0YMAAtWzZUlFRUYqPj5ckvz6cSVm1Zmdn+47zSW3atCnXHTXat2+viIgI3+Nu3brp8OHD2rNnj3bs2KHCwkJ1797dt75GjRrq0qWLr59nez6PGDFC8+fPV4cOHTRx4kStXbu2XMcCQNXgQ2ZAFapRo4bfY4/HI6/XK0m+D2vZr66LLSwsLHMej8dzxnnLw+v1Kjg4WOnp6QoODvZbFxkZ6ft3eHi43w/6kpjZaWNO7lNZzy3pOWcyYcIEffLJJ3rhhRfUqlUrhYeH649//KPfNZapqakKCwvTwoULFRYWpuPHj+vWW2/1rZ8zZ47GjBmjJUuW6J133tFjjz2mZcuWqWvXruWu9df75vV6lZqaqunTp582pnHjxqU+Pzo6Wh06dNDKlSu1du1aXXXVVerZs6cyMzO1bds25eTkqHfv3r5tlNUvr9er4cOHa8yYMadtq1mzZr5//9ZzRzpxjJs2bao33nhDcXFx8nq9SkxM9OvDmZRV68nrjity/pTF4/GUel7++hw+2/P5uuuu065du/Thhx9q+fLluvrqqzVy5Ei98MILlbYPAMqPgAtUkwYNGkiS8vLylJSUJEmVer/VdevWnfa4devWCg4OVlJSkoqLi5Wfn6+ePXv+pu0kJCTovffe8wsGa9euVe3atXXRRRdVaJ6Sav611atXa8iQIbr55pslSYcPH9bOnTv9xoSEhGjw4MGaM2eOwsLCdMcdd/i9oydJSUlJSkpK0uTJk9WtWze99dZbZwy469atU69evSSd+PBeenq6Ro0aJUnq2LGj3nvvPbVo0UIhISV/Sw0NDVVxcfFpy3v37q0VK1boiy++0FNPPaU6deooISFBTz/9tBo2bKi2bdv66i2rXx07dtTmzZvVqlWrUvejMvz000/Kzs7W3/72N18ta9asqdAcZdXatm1bFRUV6csvv1SXLl0kSVu3bi3XfXQ3bdqkX375ReHh4ZJO9C4yMlJNmjRRvXr1FBoaqjVr1mjAgAGSTvxS+eWXX/pu+1We87m0fjZo0EBDhgzRkCFD1LNnT02YMIGAC1QTLlEAqkl4eLi6du2qadOmKSsrS6tWrdJjjz1WafPv2bNH48eP19atW/X2229r5syZGjt2rCTp4osv1p133qlBgwZpwYIFys3N1YYNGzR9+nR99NFHFdrOAw88oD179mj06NHasmWL3n//fU2ZMkXjx4+v0C3FTr6r+txzzyknJ0evvPKKlixZ4jemVatWWrBggTIzM7Vp0yYNGDCgxHcf77vvPn366af6+OOPfZcnSFJubq4mT56szz//XLt27dLSpUuVk5PjC5KlefXVV7Vw4UJt2bJFI0eO1L59+3zzjhw5Uj///LP69++v9evX69tvv9XSpUt1zz33+EJQixYt9MUXX2jnzp368ccffTX37t1bS5YskcfjUUJCgm/ZvHnzfJcnSOXr16RJk/T5559r5MiRvneBFy1apNGjR5e7B+VRt25d1atXT7Nnz9b27dv16aefavz48RWao6xaL7nkEl177bUaOnSovvjiC6Wnp+u+++7zhdYzKSgo0L333qusrCx9/PHHmjJlikaNGqWgoCDVqlVLI0aM0IQJE7RkyRJlZWVp6NChOnr0qO69915J5TufS+rnn//8Z73//vvavn27Nm/erMWLF5d5XgGoOgRcoBr985//VGFhoTp37qyxY8fq6aefrrS5Bw0apF9++UVdunTRyJEjNXr0aA0bNsy3fs6cORo0aJD+7//+T5dccon69eunL774Qk2bNq3Qdi666CJ99NFHWr9+vdq3b6/7779f9957b4XDeteuXfX3v/9dM2fOVIcOHbR06dLT5pgxY4bq1q2r5ORkpaamqm/fvurYseNpc7Vu3VrJycm65JJLdMUVV/iWR0REaMuWLbr11lt18cUXa9iwYRo1apSGDx9+xtqmTZum6dOnq3379lq9erXef/991a9fX5IUFxenzz77TMXFxerbt68SExM1duxYRUdH+wLRQw89pODgYCUkJKhBgwa+a1VPviuckpLie7cwJSVFxcXFfgFXKrtfl112mdLS0rRt2zb17NlTSUlJevzxx894mcTZCAoK0vz585Wenq7ExEQ9+OCDev755ys0R3lqnTNnjpo2baqUlBTdcsstGjZsmBo2bFjm3FdffbVat26tXr166bbbblNqaqrf7fmmTZumW2+9VQMHDlTHjh21fft2ffLJJ6pbt66k8p3PJfUzNDRUkydP1mWXXaZevXopODhY8+fPr9BxAVB5PFaeC98A4DxiZmrTpo2GDx9e4XcXAQDnP67BBeCU/Px8/fvf/9b333+vu+++u7rLAQBUAwIuAKc0atRI9evX1+zZs31/dgYAXFgIuACcwlVXAAA+ZAYAAACnEHABAADgFAIuAAAAnELABQAAgFMIuAAAAHAKARcAAABOIeACAADAKQRcAAAAOOX/AR/YS5MpuMnMAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 850x250 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(8.5, 2.5))\n",
"\n",
"ax.stem([\n",
" (datetime.fromisoformat(break_dates[i + 1][0]) - datetime.fromisoformat(break_dates[i][0])).days\n",
" for i in range(len(break_dates) - 1)\n",
"], [1] * (len(break_dates) - 1))\n",
"ax.set_yticks([])\n",
"ax.set_xlabel(\"number of days between failed boots\")\n",
"ax.set_ylim(0.1, 1.2)\n",
"ax.set_xlim(0, 120)\n",
"\n",
"None"
]
},
{
"cell_type": "markdown",
"id": "2dd5a928-ebfa-4f7c-be22-a8a4b6965df0",
"metadata": {},
"source": [
"Approximate number of reboots between failures."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "386ea7f5-13fb-4e18-bc9a-eae679bc728c",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArQAAAD/CAYAAAAAPkVcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAjsUlEQVR4nO3deXRV5b3G8SchIxkhYEgkBsKUgUkGGRW0IrWK2HultKBotfZSQMOF4nCti8EqaAWtiiiUC7UO2Aq4pFYBkaBAmQlECQklIXAlXAoiRChDyO/+wcq+HJNAEoKcF76ftbIWZ+/3vPvd+/fu5MnJ3psAMzMBAAAAjgq81AMAAAAALgSBFgAAAE4j0AIAAMBpBFoAAAA4jUALAAAApxFoAQAA4DQCLQAAAJwWVJs3lZWVae/evYqKilJAQEBdjwkAAACXMTNTSUmJEhMTFRh44Z+v1irQ7t27V0lJSRe8cQAAAFy59uzZo6ZNm15wP7UKtFFRUd4goqOjL3gQAAAAuHIcOXJESUlJXqa8ULUKtOWXGURHRxNoAQAAUCt1dekqN4UBAADAaQRaAAAAOI1ACwAAAKcRaAEAAOA0Ai0AAACcRqAFAACA0wi0AAAAcBqBFgAAAE4j0AIAAMBpBFoAAAA4jUALAAAApxFoAQAA4DQCLQAAAJxGoAUAAIDTCLQAAABwGoEWAAAATiPQAgAAwGkEWgAAADiNQAsAAACnEWgBAADgNAItAAAAnEagBQAAgNMItAAAAHAagRYAAABOI9ACAADAaQRaAAAAOI1ACwAAAKcFXeoBXGyny0zrCr/W/pLjuioqTNc1b6h6gQH0W0f9Xs44ZvA3zEngysH5XjOXdaD9+ItiTVy0TcWHj3vLEmLCNH5Aun7YNoF+L7DfyxnHDP6GOQlcOTjfay7AzKymbzpy5IhiYmJ0+PBhRUdHX4xxXbCPvyjWr97cpO/uXPnvNjPu7lSrSUG/lz+OGfwNcxK4clwp53tdZ8nL8hra02WmiYu2VZgMkrxlExdt0+mymmV5+r38cczgb5iTwJWD8732LstAu67wa5+P6b/LJBUfPq51hV/Tby36vZxxzOBvmJPAlYPzvfYuy0C7v6TqyVCbdvR75eCYwd8wJ4ErB+d77V2WgfaqqLA6bUe/Vw6OGfwNcxK4cnC+195lGWiva95QCTFhqurhFgE6c7fgdc0b0m8t+r2ccczgb5iTwJWD8732LstAWy8wQOMHpEtShUlR/nr8gPQaP8+Nfi9/HDP4G+YkcOXgfK+9yzLQStIP2yZoxt2ddFV0qM/yJjFhF/TIC/q9/HHM4G+Yk8CVg/O9di7b59CWKzl+Su0mLJEkzf15V13fqnGd/GZDv5c/jhn8DXMSuHJc7uc7z6GtobOLX5f/bRz9Xv44ZvA3zEngysH5XjOXfaAFAADA5Y1ACwAAAKcRaAEAAOA0Ai0AAACcRqAFAACA0wi0AAAAcBqBFgAAAE4j0AIAAMBpBFoAAAA4jUALAAAApxFoAQAA4DQCLQAAAJxGoAUAAIDTCLQAAABwGoEWAAAATiPQAgAAwGkEWgAAADiNQAsAAACnEWgBAADgNAItAAAAnEagBQAAgNMItAAAAHAagRYAAABOI9ACAADAaQRaAAAAOI1ACwAAAKcRaAEAAOA0Ai0AAACcRqAFAACA0wi0AAAAcBqBFgAAAE4j0AIAAMBpBFoAAAA4jUALAAAApxFoAQAA4DQCLQAAAJxGoAUAAIDTCLQAAABwGoEWAAAATiPQAgAAwGkEWgAAADiNQAsAAACnEWgBAADgNAItAAAAnEagBQAAgNMItAAAAHAagRYAAABOI9ACAADAaQRaAAAAOI1ACwAAAKcRaAEAAOA0Ai0AAACcRqAFAACA0wi0AAAAcBqBFgAAAE4j0AIAAMBpBFoAAAA4jUALAAAApxFoAQAA4DQCLQAAAJxGoAUAAIDTCLQAAABwGoEWAAAATiPQAgAAwGkEWgAAADiNQAsAAACnEWgBAADgNAItAAAAnEagBQAAgNMItAAAAHAagRYAAABOI9ACAADAaQRaAAAAOI1ACwAAAKcRaAEAAOA0Ai0AAACcRqAFAACA0wi0AAAAcBqBFgAAAE4j0AIAAMBpBFoAAAA4jUALAAAApxFoAQAA4DQCLQAAAJxGoAUAAIDTCLQAAABwGoEWAAAATiPQAgAAwGkEWgAAADiNQAsAAACnEWgBAADgNAItAAAAnEagBQAAgNMItAAAAHAagRYAAABOI9ACAADAaQRaAAAAOI1ACwAAAKcRaAEAAOA0Ai0AAACcRqAFAACA0wi0AAAAcBqBFgAAAE4j0AIAAMBpBFoAAAA4jUALAAAApxFoAQAA4DQCLQAAAJxGoAUAAIDTCLQAAABwGoEWAAAATiPQAgAAwGkEWgAAADiNQAsAAACnEWgBAADgNAItAAAAnEagBQAAgNMItAAAAHAagRYAAABOI9ACAADAaQRaAAAAOI1ACwAAAKcRaAEAAOA0Ai0AAACcRqAFAACA0wi0AAAAcBqBFgAAAE4j0AIAAMBpBFoAAAA4jUALAAAApxFoAQAA4DQCLQAAAJxGoAUAAIDTCLQAAABwGoEWAAAATiPQAgAAwGkEWgAAADiNQAsAAACnEWgBAADgNAItAAAAnEagBQAAgNMItAAAAHAagRYAAABOI9ACAADAaQRaAAAAOI1ACwAAAKcRaAEAAOA0Ai0AAACcRqAFAACA0wi0AAAAcFpQbd5kZpKkI0eO1OlgLoZjJ0tVduKYpDPjLQ2p1S7T7xWIYwZ/w5wErhyX+/leniHLM+WFCrBa9FRQUKAWLVrUyQAAAABwZdq5c6dSUlIuuJ9axf2GDRtKknbv3q2YmJgLHgS+H0eOHFFSUpL27Nmj6OjoSz0cVBN1cxN1cxN1cw81c9Phw4d1zTXXeJnyQtUq0AYGnrn0NiYmhsnjoOjoaOrmIOrmJurmJurmHmrmpvJMecH91EkvAAAAwCVCoAUAAIDTahVoQ0NDNX78eIWGhtb1eHARUTc3UTc3UTc3UTf3UDM31XXdavWUAwAAAMBfcMkBAAAAnEagBQAAgNMItAAAAHAagRYAAABOq1WgffXVV9W8eXOFhYWpc+fO+vzzz+t6XLgAn332mQYMGKDExEQFBATo/fff91lvZpowYYISExMVHh6uvn376ssvv7w0g4UkafLkyeratauioqJ01VVX6c4771ReXp5PG+rmf2bMmKH27dt7D3Tv0aOHPvroI289NfN/kydPVkBAgEaPHu0to27+acKECQoICPD5atKkibeeuvmnr776Snfffbfi4uJUv359dezYURs3bvTW11Xdahxo3333XY0ePVpPPPGENm/erOuvv1633nqrdu/eXeON4+I4evSoOnTooFdeeaXS9c8995ymTZumV155RevXr1eTJk3Ur18/lZSUfM8jRbkVK1Zo5MiRWrNmjZYuXarS0lLdcsstOnr0qNeGuvmfpk2basqUKdqwYYM2bNigm266SQMHDvS+GVMz/7Z+/XrNnDlT7du391lO3fxXRkaGiouLva+cnBxvHXXzP4cOHVKvXr0UHBysjz76SNu2bdPUqVMVGxvrtamzulkNXXfddTZ8+HCfZampqfbYY4/VtCt8DyTZwoULvddlZWXWpEkTmzJlirfs+PHjFhMTY6+99tolGCEqs3//fpNkK1asMDPq5pIGDRrYH/7wB2rm50pKSqxVq1a2dOlS69Onj2VmZpoZ55o/Gz9+vHXo0KHSddTNPz366KPWu3fvKtfXZd1q9AntyZMntXHjRt1yyy0+y2+55RatXr26Zkkal0RhYaH27dvnU8PQ0FD16dOHGvqRw4cPS5IaNmwoibq54PTp05o3b56OHj2qHj16UDM/N3LkSN122226+eabfZZTN/+2Y8cOJSYmqnnz5vrpT3+qgoICSdTNX33wwQfq0qWLBg0apKuuukrXXnutZs2a5a2vy7rVKNAeOHBAp0+fVnx8vM/y+Ph47du3r0YbxqVRXidq6L/MTGPGjFHv3r3Vtm1bSdTNn+Xk5CgyMlKhoaEaPny4Fi5cqPT0dGrmx+bNm6dNmzZp8uTJFdZRN//VrVs3vfHGG1q8eLFmzZqlffv2qWfPnjp48CB181MFBQWaMWOGWrVqpcWLF2v48OF6+OGH9cYbb0iq2/MtqDYDDAgI8HltZhWWwb9RQ/81atQobd26VStXrqywjrr5nzZt2ig7O1vffPON5s+fr3vvvVcrVqzw1lMz/7Jnzx5lZmZqyZIlCgsLq7IddfM/t956q/fvdu3aqUePHmrRooX++Mc/qnv37pKom78pKytTly5d9Mwzz0iSrr32Wn355ZeaMWOGhg0b5rWri7rV6BPaRo0aqV69ehVS8/79+yuka/in8jtCqaF/euihh/TBBx9o+fLlatq0qbecuvmvkJAQtWzZUl26dNHkyZPVoUMH/f73v6dmfmrjxo3av3+/OnfurKCgIAUFBWnFihV66aWXFBQU5NWGuvm/iIgItWvXTjt27OB881MJCQlKT0/3WZaWluY9SKAu61ajQBsSEqLOnTtr6dKlPsuXLl2qnj171mjDuDSaN2+uJk2a+NTw5MmTWrFiBTW8hMxMo0aN0oIFC/Tpp5+qefPmPuupmzvMTCdOnKBmfuoHP/iBcnJylJ2d7X116dJFQ4cOVXZ2tlJSUqibI06cOKHc3FwlJCRwvvmpXr16VXgEZX5+vpKTkyXV8c+2Gt6wZvPmzbPg4GCbPXu2bdu2zUaPHm0RERG2a9eumnaFi6SkpMQ2b95smzdvNkk2bdo027x5sxUVFZmZ2ZQpUywmJsYWLFhgOTk59rOf/cwSEhLsyJEjl3jkV65f/epXFhMTY1lZWVZcXOx9HTt2zGtD3fzP448/bp999pkVFhba1q1b7b/+678sMDDQlixZYmbUzBVnP+XAjLr5q7Fjx1pWVpYVFBTYmjVr7Pbbb7eoqCgvf1A3/7Nu3ToLCgqyp59+2nbs2GFvvfWW1a9f3958802vTV3VrcaB1sxs+vTplpycbCEhIdapUyfv0ULwD8uXLzdJFb7uvfdeMzvzmIzx48dbkyZNLDQ01G644QbLycm5tIO+wlVWL0k2Z84crw118z/333+/972wcePG9oMf/MALs2bUzBXfDbTUzT8NHjzYEhISLDg42BITE+3f/u3f7Msvv/TWUzf/tGjRImvbtq2FhoZaamqqzZw502d9XdUtwMysVp8jAwAAAH6gVv/1LQAAAOAvCLQAAABwGoEWAAAATiPQAgAAwGkEWgAAADiNQAsAAACnEWgBAADgNAItAAAAnEagBWppwoQJ6tix46UehhN27dqlgIAAZWdnX+qheLZv367u3bsrLCyszuvYt29fjR49uk77vFiaNWumF1988VIP45KaOXOmkpKSFBgYWO1j8d3jFhAQoPfff/+CxnHffffpzjvvrHL93LlzFRsbe0HbAC5XBFqgln79619r2bJlF307BOeLY/z48YqIiFBeXt73UseLwV/CqMtz9MiRIxo1apQeffRRffXVV/rlL39ZrfetX7++2m1d43I9ceUKutQDAL5vp0+fVkBAgAIDL+z3ucjISEVGRtbRqFAbJ0+eVEhISK3eu3PnTt12221KTk7+XrYH/7R7926dOnVKt912mxISEqr9vsaNG1/EUQGoKT6hxSXz8ccfq3fv3oqNjVVcXJxuv/127dy501tf/mfqefPmqWfPngoLC1NGRoaysrK8NllZWQoICNCHH36oDh06KCwsTN26dVNOTo7XpvzPdH/961+Vnp6u0NBQFRUV6dChQxo2bJgaNGig+vXr69Zbb9WOHTskSf/85z/VpEkTPfPMM14/a9euVUhIiJYsWSKp4qcY5X8ufOaZZxQfH6/Y2FhNnDhRpaWlGjdunBo2bKimTZvqv//7v32Ow6OPPqrWrVurfv36SklJ0ZNPPqlTp055Y584caK2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PmrQoIEyMjK0atUqZWVleY82K58ns2bN8gn5krxwWlZWps6dO+utt96qsJ2zb9Cq7Tw827hx47R48WI9//zzatmypcLDw3XXXXdV63tTTcZaW5XN47OXnWvuV3UenO/8SEpKUl5enpYuXapPPvlEI0aM0O9+9zutWLGiwjEHLgUCLS6JgwcPKjc3V6+//rquv/56SdLKlSsrbbtmzRrdcMMNks7caLNx40aNGjWqQptrrrlG0pmbbfLz871PzSqTnp6u0tJSrV27Vj179vTGlJ+fr7S0NEln7mgfOnSoBg8erNTUVD3wwAPKyclRfHz8he38WVatWqXk5GQ98cQT3rKioiKfNiEhIRU+kevUqZP27dunoKAgnxu2LlTjxo21b98+nx9udfns2HPVslOnTpo/f76aNWumoKDaf2uKjo5WYmKiVq5c6W1LklavXq3rrrvuwnagBuNcs2ZNhdetWrVSvXr1qjX/0tPTK5wTq1evVuvWrb2QV9nckM6Ej+HDh2v48OF6/PHHNWvWrHMG2srGWn7+VGeuVTWOvn37avbs2QoKCtLNN98sSerTp4/mzZun/Px87xPa+Ph4XX311SooKNDQoUMr3UanTp307rvvejemXUyff/657rvvPv34xz+WJH377bc+N3SdT3XGmpCQUOn50KlTp3P2XVpaqg0bNnhzOS8vT998841Xr7S0NK1cuVLDhg3z3rN69WqfebV7927t2bPH+5R227ZtOnz4sNemqnqGh4frjjvu0B133KGRI0cqNTVVOTk55x0z8H3gkgNcEuV3/s6cOVP/+Mc/9Omnn2rMmDGVtp0+fboWLlyo7du3a+TIkTp06JDuv/9+nzaTJk3SsmXL9MUXX+i+++5To0aNzvmA8latWmngwIF68MEHtXLlSm3ZskV33323rr76ag0cOFCS9MQTT+jw4cN66aWX9MgjjygtLU0PPPBAnR0DSWrZsqV2796tefPmaefOnXrppZe0cOFCnzbNmjVTYWGhsrOzdeDAAZ04cUI333yzevTooTvvvFOLFy/Wrl27tHr1av3mN7/Rhg0baj2evn376p///Keee+457dy5U9OnT9dHH310obvpOVctR44cqa+//lo/+9nPtG7dOhUUFGjJkiW6//77z/kn9sqMGzdOzz77rN59913l5eXpscceU3Z2tjIzMy94H6o7zj179mjMmDHKy8vTO++8o5dfftnbfnXm39ixY7Vs2TI99dRTys/P1x//+Ee98sor+vWvf+1to1mzZvrss8/01VdfeU9ZGD16tBYvXqzCwkJt2rRJn376qRdUqrJq1So999xzys/P1/Tp0/WXv/zFG2t15lplc1SSbrjhBpWUlGjRokXq27evpDNz7M0331Tjxo2Vnp7ujWHChAmaPHmyfv/73ys/P185OTmaM2eOpk2bJkkaOnSoGjVqpIEDB+rzzz9XYWGhVqxYoczMTP3P//xPretZmZYtW2rBggXKzs7Wli1bNGTIkBp9yludsWZmZmrKlCne+TBixAh988035+07ODhYDz30kNauXatNmzbp5z//ubp37+4F3HHjxmnu3Ll67bXXtGPHDk2bNk0LFizw5s3NN9+s9u3ba+jQodq0aZPWrVunYcOGqU+fPt6lDJXVc+7cuZo9e7a++OILFRQU6E9/+pPCw8Nr9Ng74KK6NJfuAmZLly61tLQ0Cw0Ntfbt21tWVpbPjRXlNxK9/fbb1q1bNwsJCbG0tDRbtmyZ10f5TWGLFi2yjIwMCwkJsa5du/rcADZnzhyLiYmpsP2vv/7a7rnnHouJibHw8HDr37+/dxf88uXLLSgoyD7//HOvfVFRkcXExNirr75qZpXfFPbdGzr69Onj82QEs4o3k4wbN87i4uIsMjLSBg8ebC+88ILPeI8fP27//u//brGxsSbJu8v9yJEj9tBDD1liYqIFBwdbUlKSDR061Odmj7OVH8/Nmzd7yw4dOmSSbPny5d6yGTNmWFJSkkVERNiwYcPs6aefrnBTWE33szq1NDtzs9SPf/xji42NtfDwcEtNTbXRo0d7N9dUtp3KnD592iZOnGhXX321BQcHW4cOHeyjjz7yaVPdm8Iq2151xjlixAgbPny4RUdHW4MGDeyxxx7zuUnoXPOv3HvvvWfp6ekWHBxs11xzjf3ud7/zWf/3v//d2rdvb6GhoVb+7XzUqFHWokULCw0NtcaNG9s999zjPUmiMsnJyTZx4kT7yU9+YvXr17f4+Hh78cUXfdqcb65VNUfNzDp37myNGzf29v3gwYMWEBBgd911V4WxvPXWW9axY0cLCQmxBg0a2A033GALFizw1hcXF9uwYcOsUaNGFhoaaikpKfbggw/a4cOHzazyuZmZmendwV+Zym4KKywstBtvvNHCw8MtKSnJXnnllQpz4Vw3hVVnrKdOnbLMzEyLjo622NhYGzNmjA0bNuy8N4XFxMTY/PnzLSUlxUJCQuymm26yXbt2+bR79dVXLSUlxYKDg61169b2xhtv+KwvKiqyO+64wyIiIiwqKsoGDRpk+/bt89ZXVs+FCxdat27dLDo62iIiIqx79+72ySefVDlW4PsWYFbNB98B37Ndu3apefPm2rx5c5X/a01WVpZuvPFGHTp0iP8SEgCAKxSXHAAAAMBpBFoAAAA4jUsOAAAA4DQ+oQUAAIDTCLQAAABwGoEWAAAATiPQAgAAwGkEWgAAADiNQAsAAACnEWgBAADgNAItAAAAnPZ/ae8+jcsUjvMAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 850x250 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(8.5, 2.5))\n",
"\n",
"ax.stem([\n",
" break_dates[i][1]\n",
" for i in range(1, len(break_dates))\n",
"], [1] * (len(break_dates) - 1))\n",
"ax.set_yticks([])\n",
"ax.set_xlabel(\"approximate number of reboots between failed boots\")\n",
"ax.set_ylim(0.1, 1.2)\n",
"ax.set_xlim(0, 60)\n",
"\n",
"None"
]
},
{
"cell_type": "markdown",
"id": "e003b354-4cef-4717-9680-0a83f5f6474d",
"metadata": {},
"source": [
"In a Poisson process (a failed boot does not make the next failed boot more or less probable), the number of events between events of interest follows an exponential distribution.\n",
"\n",
"What's the best fit of the above plot to an exponential distribution, varying only the scale λ?"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "85d37dfd-7cc7-4041-854a-0dc13d687eee",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"16.492477262388206"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mini = iminuit.Minuit(lambda lam: sum(-expon.logpdf(x[1], scale=lam) for x in break_dates), lam=10)\n",
"mini.migrad()\n",
"mini.params[\"lam\"].value"
]
},
{
"cell_type": "markdown",
"id": "e9c6d466-c580-43dc-9dc3-35cfd2a297cf",
"metadata": {},
"source": [
"It's a pretty good fit. If this were truly a Poisson process in the number of reboots, perhaps we would expect more events at small number of boots, but maybe the relevant variable is not being correctly counted by non-travel weekdays. If that's overcounting by about 3 or so, the fit would be better."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "489da8ab-8ff6-4065-a5db-2baf14ca09b5",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 850x250 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(8.5, 2.5))\n",
"\n",
"ax.step(sorted([x[1] for x in break_dates]) + [60], np.array([0] + list(range(len(break_dates)))) / (len(break_dates) - 1), label=\"failed boot events\")\n",
"ax.step(np.linspace(0, 60, 240), expon.cdf(np.linspace(0, 60, 240), scale=mini.params[\"lam\"].value), label=f\"p(x) = λ exp(-λx) where λ={mini.params['lam'].value:.1f}\")\n",
"ax.set_ylim(0, 1.05)\n",
"ax.set_xlim(0, 60)\n",
"ax.set_xlabel(\"approximate number of reboots between failed boots\")\n",
"ax.set_ylabel(\"cumulative probability\")\n",
"ax.legend(loc=\"lower right\")\n",
"\n",
"None"
]
}
],
"metadata": {
"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.10.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment