csiborgtools/notebooks/flow_calibration.ipynb

444 lines
352 KiB
Plaintext
Raw Normal View History

{
"cells": [
{
"cell_type": "code",
"execution_count": 219,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The autoreload extension is already loaded. To reload it, use:\n",
" %reload_ext autoreload\n"
]
}
],
"source": [
"import numpy as np\n",
"\n",
"import matplotlib.pyplot as plt\n",
"from h5py import File\n",
"%matplotlib inline\n",
"\n",
"from jax import numpy as jnp\n",
"import jax\n",
"\n",
"from numpyro.infer import MCMC, NUTS, util\n",
"\n",
"import csiborgtools\n",
"\n",
"%load_ext autoreload\n",
"%autoreload 2\n",
"\n",
"\n",
"paths = csiborgtools.read.Paths(**csiborgtools.paths_glamdring)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## LOS density & radial velocity plots "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"14:31:30: reading the catalogue.\n",
"14:31:30: reading the interpolated field.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 6.08it/s]\n",
"/mnt/users/rstiskalek/csiborgtools/csiborgtools/flow/flow_model.py:102: UserWarning: The number of radial steps is even. Skipping the first step at 0.0 because Simpson's rule requires an odd number of steps.\n",
" warn(f\"The number of radial steps is even. Skipping the first \"\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"14:31:31: calculating the radial velocity.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 452/452 [00:00<00:00, 23479.46it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"14:31:31: reading the catalogue.\n",
"14:31:31: reading the interpolated field.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 101/101 [00:22<00:00, 4.53it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"14:31:53: calculating the radial velocity.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 452/452 [00:02<00:00, 171.48it/s]\n"
]
}
],
"source": [
"fpath = \"/mnt/extraspace/rstiskalek/catalogs/A2.h5\"\n",
"\n",
"loader_carrick = csiborgtools.flow.DataLoader(\"Carrick2015\", \"A2\", fpath, paths, ksmooth=None)\n",
"loader_csiborg = csiborgtools.flow.DataLoader(\"csiborg1\", \"A2\", fpath, paths, ksmooth=1)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 700x700 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# ks = [115, 53, 77, 105, 26, 61, 86, 29, 80, 21]\n",
"\n",
"k = 50\n",
"fig, axs = plt.subplots(2, 1, figsize=(7, 7), sharex=True)\n",
"# Get rid of vertical spacing\n",
"fig.subplots_adjust(wspace=0)\n",
"\n",
"# Plot CSiBORG\n",
"for i in range(101):\n",
" axs[0].plot(loader_csiborg.rdist, loader_csiborg.los_density[k, i, :], alpha=0.1, color=\"black\")\n",
" axs[1].plot(loader_csiborg.rdist, loader_csiborg.los_radial_velocity[k, i, :], alpha=0.1, color=\"black\")\n",
"\n",
"axs[0].plot(loader_csiborg.rdist, loader_csiborg.los_density[k, :, :].mean(axis=0), color=\"red\", label=\"CSiBORG1\")\n",
"axs[1].plot(loader_csiborg.rdist, loader_csiborg.los_radial_velocity[k, :, :].mean(axis=0), color=\"red\")\n",
"\n",
"# Plot Carrick+2015\n",
"axs[0].plot(loader_carrick.rdist, loader_carrick.los_density[k, 0, :], color=\"blue\", label=\"Carrick+2015\")\n",
"axs[1].plot(loader_carrick.rdist, loader_carrick.los_radial_velocity[k, 0, :], color=\"blue\")\n",
"\n",
"\n",
"for i in range(2):\n",
" label = \"SN\"\n",
" rdist = loader_csiborg.cat[\"r_hMpc\"][k]\n",
" axs[i].axvline(rdist, color=\"violet\", linestyle=\"--\",\n",
" zorder=0, label=label)\n",
"\n",
"axs[1].set_xlabel(r\"$r ~ [\\mathrm{Mpc} / h]$\")\n",
"axs[0].set_ylabel(r\"$\\rho_{\\rm LOS} / \\langle \\rho_{\\rm matter} \\rangle$\")\n",
"axs[1].set_ylabel(r\"$v_{\\rm LOS} ~ [\\mathrm{km/s}]$\")\n",
"\n",
"axs[0].set_yscale(\"log\")\n",
"\n",
"axs[0].legend(loc=\"upper right\")\n",
"axs[0].set_xlim(0, 200)\n",
"\n",
"fig.tight_layout(w_pad=0, h_pad=0)\n",
"# fig.savefig(f\"../plots/example_los.png\", dpi=500, bbox_inches=\"tight\")\n",
"\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Test running a model"
]
},
{
"cell_type": "code",
"execution_count": 220,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10:31:41: reading the catalogue.\n",
"10:31:41: reading the interpolated field.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 6.57it/s]\n",
"/mnt/users/rstiskalek/csiborgtools/csiborgtools/flow/flow_model.py:102: UserWarning: The number of radial steps is even. Skipping the first step at 0.0 because Simpson's rule requires an odd number of steps.\n",
" simname, catalogue, ksmooth, paths)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"10:31:41: calculating the radial velocity.\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 452/452 [00:00<00:00, 24805.05it/s]\n"
]
}
],
"source": [
"# fpath_data = \"/mnt/extraspace/rstiskalek/catalogs/PV_compilation_Supranta2019.hdf5\"\n",
"fpath_data = \"/mnt/extraspace/rstiskalek/catalogs/A2.h5\"\n",
"loader = csiborgtools.flow.DataLoader(\"Carrick2015\", \"A2\", fpath_data, paths, ksmooth=0)\n",
"Omega_m = csiborgtools.simname2Omega_m(\"Carrick2015\")"
]
},
{
"cell_type": "code",
"execution_count": 221,
"metadata": {},
"outputs": [],
"source": [
"los_overdensity = loader.los_density[:, 0, :]\n",
"los_velocity = loader.los_radial_velocity[:, 0, :]\n",
"\n",
"# # PV calibration\n",
"# RA = loader.cat[\"RA\"]\n",
"# dec = loader.cat[\"DEC\"]\n",
"# zCMB = loader.cat[\"z_CMB\"]\n",
"\n",
"# mB = loader.cat[\"mB\"]\n",
"# x1 = loader.cat[\"x1\"]\n",
"# c = loader.cat[\"c\"]\n",
"\n",
"# e_mB = loader.cat[\"e_mB\"]\n",
"# e_x1 = loader.cat[\"e_x1\"]\n",
"# e_c = loader.cat[\"e_c\"]\n",
"\n",
"# PV no calibration\n",
"RA = loader.cat[\"RA\"]\n",
"dec = loader.cat[\"DEC\"]\n",
"z_obs = loader.cat[\"z_obs\"]\n",
"\n",
"r_hMpc = loader.cat[\"r_hMpc\"]\n",
"e_r_hMpc = loader.cat[\"e_rhMpc\"]"
]
},
{
"cell_type": "code",
"execution_count": 222,
"metadata": {},
"outputs": [],
"source": [
"model = csiborgtools.flow.SD_PV_validation_model(los_overdensity, los_velocity, RA, dec, z_obs, r_hMpc, e_r_hMpc, loader.rdist, Omega_m)\n",
"\n",
"# model_old = csiborgtools.flow.SN_PV_validation_model_old"
]
},
{
"cell_type": "code",
"execution_count": 223,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'ll': Array(-3291.0427, dtype=float32)}"
]
},
"execution_count": 223,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"true_samples = {'Vext_x': jnp.array(0.0, dtype=jnp.float32),\n",
" 'Vext_y': jnp.array(0.0, dtype=jnp.float32),\n",
" 'Vext_z': jnp.array(0.0, dtype=jnp.float32),\n",
" 'alpha': jnp.array(1, dtype=jnp.float32),\n",
" 'beta': jnp.array(1, dtype=jnp.float32),\n",
" 'sigma_v': jnp.array(112, dtype=jnp.float32),\n",
" }\n",
"\n",
"util.log_likelihood(model, true_samples)\n"
]
},
{
"cell_type": "code",
"execution_count": 228,
"metadata": {},
"outputs": [],
"source": [
"nuts_kernel = NUTS(model)\n",
"mcmc = MCMC(nuts_kernel, num_warmup=500, num_samples=500, chain_method=\"sequential\")\n",
"rng_key = jax.random.PRNGKey(0)"
]
},
{
"cell_type": "code",
"execution_count": 229,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"sample: 100%|██████████| 1000/1000 [01:15<00:00, 13.27it/s, 3 steps of size 7.11e-01. acc. prob=0.88]\n"
]
}
],
"source": [
"mcmc.run(rng_key)"
]
},
{
"cell_type": "code",
"execution_count": 231,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" mean std median 5.0% 95.0% n_eff r_hat\n",
" Vext_x -62.10 18.47 -61.58 -97.45 -36.33 655.27 1.00\n",
" Vext_y 24.97 27.82 24.77 -12.97 78.06 669.10 1.00\n",
" Vext_z 3.54 25.23 2.67 -37.75 42.72 495.87 1.00\n",
" alpha 1.64 0.21 1.65 1.29 1.98 473.75 1.00\n",
" beta 0.83 0.06 0.84 0.73 0.94 542.08 1.00\n",
" sigma_v 158.64 14.09 158.77 133.78 180.44 627.47 1.00\n",
"\n",
"Number of divergences: 0\n"
]
}
],
"source": [
"mcmc.print_summary()\n",
"samples = mcmc.get_samples(group_by_chain=False)"
]
},
{
"cell_type": "code",
"execution_count": 232,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.scatter(samples[\"alpha\"], samples[\"beta\"])\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Vizualize the results"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [],
"source": [
"with File(\"/mnt/extraspace/rstiskalek/csiborg_postprocessing/peculiar_velocity/flow_samples_A2_Carrick2015.hdf5\", 'r') as f:\n",
" beta = f[\"sim_0/Vext_z\"][:]"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure()\n",
"plt.hist(beta, bins=\"auto\", density=True, histtype=\"step\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "venv_csiborg",
"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.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}