Files

83 lines
20 KiB
Plaintext
Raw Permalink Normal View History

2025-10-21 11:20:44 +08:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"# Comparing 2 sets of samples from Gaussians\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAg0AAAFfCAYAAADNtv/1AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAANUlJREFUeJzt3Xtc1HXe///ngDGjIuMZNRHIUuQyTSAVWDUrUTusbgfZdcO8Lg9R1krsfjfJDh6uvcg2D+mKh1u7orYquaa2G5W0m4KC7SULtbtZmWGYgITdZNRWUPz8/vDXXDsC+plhcEQe99vtc7s1b96f97zeYs2z9+cz74/FMAxDAAAAV+Dn6wIAAEDLQGgAAACmEBoAAIAphAYAAGAKoQEAAJhCaAAAAKYQGgAAgCltfF2At1y4cEFlZWXq0KGDLBaLr8sBAKDFMAxDp06dUq9eveTn1/h6wnUTGsrKyhQSEuLrMgAAaLGOHj2q3r17N/rz6yY0dOjQQdLFCQcFBfm4GgAAWg6Hw6GQkBDnZ2ljrpvQ8P0liaCgIEIDAAAeuNLlfW6EBAAAphAaAACAKYQGAABgynVzTwMAoGnq6up07tw5X5eBZnDDDTfI39+/yeMQGgCglTMMQxUVFTp58qSvS0Ez6tixo3r06NGkvYwIDQDQyn0fGLp376527dqxQd51xjAMfffdd6qsrJQk9ezZ0+OxCA0A0IrV1dU5A0OXLl18XQ6aSdu2bSVJlZWV6t69u8eXKrgREgBase/vYWjXrp2PK0Fz+/533JT7VggNAAAuSbQC3vgdExoAAIAphAYAAJqBxWLRjh07fF2GV3EjJACgQWFz3r6q73fkpXvd6l9ZWannn39e77zzjo4fP65OnTpp8ODBmjdvnmJjY5upymvHr371K7399tsqLi5WQEDAVfnKLKEBANw1z96Ec6u9V0cr9+CDD+rcuXNav369brrpJh0/flx//vOf9e233/q6tKuitrZWDz/8sGJjY/Xb3/72qrwnlycAAC3OyZMntXfvXi1atEijR49WaGiohg4dqrS0NN177/+tWCxZskS33nqr2rdvr5CQED3xxBM6ffq08+eZmZnq2LGj/vSnP6l///5q166dHnroIZ05c0br169XWFiYOnXqpKeeekp1dXXO88LCwrRw4UJNnjxZgYGB6tWrl1asWHHZmo8dO6bExER16tRJXbp00YQJE3TkyBHnz3fv3q2hQ4eqffv26tixo+Lj4/XVV181Ot78+fP19NNP69Zbb/XgT9AzhAYAQIsTGBiowMBA7dixQzU1NY328/Pz0/Lly/WPf/xD69ev11/+8hf98pe/dOnz3Xffafny5dqyZYveffdd7d69Ww888ICys7OVnZ2tjRs3au3atfrDH/7gct6vf/1rDRo0SH/729+Ulpamp59+Wjk5OQ3W8d1332n06NEKDAxUbm6u9u7dq8DAQI0bN061tbU6f/68Jk6cqFGjRunjjz9WQUGBZs6cec19q4XLEwCAFqdNmzbKzMzUjBkztHr1akVFRWnUqFH68Y9/rEGDBjn7paSkOP85PDxcCxcu1OOPP66MjAxn+7lz57Rq1Sr17dtXkvTQQw9p48aNOn78uAIDAxUZGanRo0frgw8+UGJiovO8+Ph4zZkzR5LUr18/7du3T0uXLtWYMWPq1btlyxb5+fnptddecwaBdevWqWPHjtq9e7diYmJUXV2t++67z1nHgAEDvPcH5iWsNAAAWqQHH3xQZWVleuuttzR27Fjt3r1bUVFRyszMdPb54IMPNGbMGN14443q0KGDpkyZohMnTujMmTPOPu3atXN+UEtScHCwwsLCFBgY6NL2/TbM37v0ZsvY2FgdPHiwwVoLCwv1xRdfqEOHDs5Vks6dO+vs2bM6fPiwOnfurKlTp2rs2LG6//779eqrr6q8vLwpfzzNgpUGAF7TlLvt3b1z3iuackMjrgk2m01jxozRmDFj9MILL2j69Ol68cUXNXXqVH311Ve65557lJycrIULF6pz587au3evpk2b5rIr4g033OAypsViabDtwoULV6ynscsJFy5cUHR0tH7/+9/X+1m3bt0kXVx5+NnPfqZ3331XWVlZeu6555STk6Phw4df8X2vFlYaAADXjcjISOcqwoEDB3T+/HktXrxYw4cPV79+/VRWVua199q/f3+91xEREQ32jYqK0qFDh9S9e3fdfPPNLofd/n/hdciQIUpLS1N+fr4GDhyoTZs2ea1ebyA0AABanBMnTujOO+/U66+/ro8//lglJSXaunWrXn75ZU2YMEGS1LdvX50/f14rVqzQl19+qY0bN2r16tVeq2Hfvn16+eWX9fnnn2vlypXaunWrZs+e3WDfn/70p+ratasmTJigvLw8lZSUaM+ePZo9e7a+/vprlZSUKC0tTQUFBfrqq6+0a9cuff7555e9r6G0tFTFxcUqLS1VXV2diouLVVxc7PLtEG/j8gQAoMUJDAzUsGHDtHTpUh0+fFjnzp1TSEiIZsyYoWeffVaSdNttt2nJkiVatGiR0tLSNHLkSKWnp2vKlCleqeHnP/+5CgsLNX/+fHXo0EGLFy/W2LFjG+zbrl075ebm6plnntEDDzygU6dO6cYbb9Rdd92loKAg/etf/9Knn36q9evX68SJE+rZs6eefPJJPfbYY42+/wsvvKD169c7Xw8ZMkTSxfs47rjjDq/M8VIWwzCMZhn5KnM4HLLb7aqurlZQUJCvywFaJe5pMPOe19bmTmfPnlVJSYnCw8Nls9l8XU6LERYWppSUFJdvZ1zrLve7NvsZyuUJAABgCqEBAACYwj0NAAC46d+3f25NWGkAAACmEBoAAIApHoWGjIwM592X0dHRysvLM3Xevn371KZNG9122231frZt2zZFRkbKarUqMjJS27dv96Q0AADQTNwODVlZWUpJSdHcuXNVVFSkESNGaPz48SotLb3sedXV1ZoyZYruuuuuej8rKChQYmKikpKS9NFHHykpKUmTJk3Shx9+6G55AACgmbgdGpYsWaJp06Zp+vTpGjBggJYtW6aQkBCtWrXqsuc99thjmjx5cr0HfEjSsmXLNGbMGKWlpSkiIkJpaWm66667tGzZMnfLAwAAzcSt0FBbW6vCwkIlJCS4tCckJCg/P7/R89atW6fDhw/rxRdfbPDnBQUF9cYcO3bsZcesqamRw+FwOQAAQPNxKzRUVVWprq5OwcHBLu3BwcGqqKho8JxDhw5pzpw5+v3vf682bRr+hmdFRYVbY0pSenq67Ha78wgJCXFnKgAANCuLxaIdO3b4ugyv8mifhksf/WkYRoOPA62rq9PkyZM1f/589evXzytjfi8tLU2pqanO1w6Hg+AAAN50tbfZdnOL7crKSj3//PN65513dPz4cXXq1EmDBw/WvHnzGrwUfj05cuSIFi5cqL/85S+qqKhQr1699Mgjj2ju3LkKCAhotvd1KzR07dpV/v7+9VYAKisr660USNKpU6d04MABFRUV6cknn5R08ZnihmGoTZs22rVrl+6880716NHD9Jjfs1qtslqt7pQPALiOPPjggzp37pzWr1+vm266ScePH9ef//xnffvtt74urdl9+umnunDhgtasWaObb75Z//jHPzRjxgydOXNGr7zySrO9r1uXJwICAhQdHa2cnByX9pycHMXFxdXrHxQUpL///e/Ox3UWFxcrOTlZ/fv3V3FxsYYNGyZJio2NrTfmrl27GhwTAICTJ09q7969WrRokUaPHq3Q0FANHTpUaWlpuvfe/3v42ZIlS3Trrbeqffv2CgkJ0RNPPOHy6OjMzEx17NhRf/rTn9S/f3+1a9dODz30kM6cOaP169crLCxMnTp10lNPPaW6ujrneWFhYVq4cKEmT56swMBA9erVSytWrLhszceOHVNiYqI6deqkLl26aMKECS47S+7evVtDhw5V+/bt1bFjR8XHx+urr75qcKxx48Zp3bp1SkhI0E033aQf/vCH+sUvfqE333zTwz9Rc9z+9kRqaqpee+01/e53v9PBgwf19NNPq7S0VMnJyZIuXjb4/rGjfn5
"text/plain": [
"<Figure size 600x400 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Generates 2 sets of observations\n",
"rng = np.random.default_rng(27446968)\n",
"samples1 = rng.normal(0, size=1000)\n",
"samples2 = rng.normal(1, size=1000)\n",
"\n",
"# Compute a histogram of the sample\n",
"bins = np.linspace(-4, 4, 30)\n",
"histogram1, bins = np.histogram(samples1, bins=bins, density=True)\n",
"histogram2, bins = np.histogram(samples2, bins=bins, density=True)\n",
"\n",
"plt.figure(figsize=(6, 4))\n",
"plt.hist(samples1, bins=bins, density=True, label=\"Samples 1\") # type: ignore[arg-type]\n",
"plt.hist(samples2, bins=bins, density=True, label=\"Samples 2\") # type: ignore[arg-type]\n",
"plt.legend(loc=\"best\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.12.11"
}
},
"nbformat": 4,
"nbformat_minor": 4
}