2023-09-28 20:30:42 -04:00
{
"cells": [
{
"cell_type": "markdown",
"id": "438a07af",
"metadata": {},
"source": [
"# Metropolis-Hastings"
]
},
2023-10-02 10:01:23 -04:00
{
"cell_type": "markdown",
2023-10-03 16:21:42 -04:00
"id": "abe5a71c",
2023-10-02 10:01:23 -04:00
"metadata": {},
"source": [
2023-10-03 16:21:42 -04:00
"## Integral of $e^{-|x^3|}$"
2023-10-02 10:01:23 -04:00
]
},
2023-09-28 20:30:42 -04:00
{
"cell_type": "code",
2023-10-03 16:21:42 -04:00
"execution_count": 2,
2023-09-28 20:30:42 -04:00
"id": "3eade768",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import scipy.integrate\n",
"\n",
"seed = 239\n",
"rng = np.random.default_rng(seed)"
]
},
{
"cell_type": "code",
2023-10-03 16:21:42 -04:00
"execution_count": 3,
2023-09-28 20:30:42 -04:00
"id": "087a3409",
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2023-10-02 10:01:23 -04:00
"Acceptance fraction = 0.3596\n"
2023-09-28 20:30:42 -04:00
]
},
{
"data": {
2023-10-02 10:01:23 -04:00
"image/png": "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
2023-09-28 20:30:42 -04:00
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2023-10-02 10:01:23 -04:00
"image/png": "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
2023-09-28 20:30:42 -04:00
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<Figure size 640x480 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
2023-10-02 10:01:23 -04:00
"image/png": "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
2023-09-28 20:30:42 -04:00
"text/plain": [
"<Figure size 400x700 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def f(x):\n",
" return np.exp(-np.abs(x**3))\n",
"\n",
"N = 10**4 # generate N samples\n",
"\n",
"x = np.zeros(N)\n",
"x[0] = 0 # starting point\n",
"\n",
"count = 0\n",
"\n",
"for i in range(N-1):\n",
" \n",
" # Proposal\n",
" x_try = x[i] + rng.normal(scale = 2) \n",
"\n",
" # Accept the move or stay where we are\n",
" u = rng.uniform()\n",
" if u <= f(x_try) / f(x[i]):\n",
" x[i+1] = x_try\n",
" count = count + 1\n",
" else:\n",
" x[i+1] = x[i]\n",
"\n",
"print(\"Acceptance fraction = %g\" % (count/N,))\n",
"\n",
2023-10-02 10:01:23 -04:00
"# Generate the same number of samples using the rejection method with uniform sampling\n",
2023-09-28 20:30:42 -04:00
"xmax = 4\n",
"xu = -xmax + 2*xmax*rng.uniform(size = 10*N) # Generate x values between +-xmax\n",
"y = rng.uniform(size = 10*N)\n",
"xu = xu[np.where(y <= f(xu))] \n",
2023-10-02 10:01:23 -04:00
"xu = xu[:count]\n",
2023-09-28 20:30:42 -04:00
" \n",
"# Plot the distribution \n",
"counts, bins = np.histogram(x, bins=100, density = True)\n",
"plt.stairs(counts, bins, label = 'Metropolis') \n",
"\n",
"counts, bins = np.histogram(xu, bins=100, density = True)\n",
"plt.stairs(counts, bins, label = 'Rejection method') \n",
"\n",
"norm,_ = scipy.integrate.quad(f,-np.inf,np.inf)\n",
"xx = np.linspace(min(x),max(x),1000)\n",
"plt.plot(xx, f(xx)/norm, 'k:')\n",
"\n",
"plt.yscale('log')\n",
"\n",
"plt.legend()\n",
"plt.show()\n",
"\n",
"# Plot the first 1000 samples to see the time series\n",
"plt.clf()\n",
"t = np.arange(N)\n",
"plt.plot(t[:1000], x[:1000])\n",
"plt.plot(t[:1000], xu[:1000] - 3.5)\n",
"plt.show()\n",
"\n",
"# Plot the point-to-point correlation\n",
"plt.clf()\n",
"plt.figure(figsize=(4,7))\n",
"plt.plot(x[:-1], x[1:], '.')\n",
"plt.plot(xu[:-1], xu[1:] - 3.5, '.')\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"id": "49118673",
"metadata": {},
"source": [
"Notes:\n",
"\n",
"- We started at $x=0$ which is right in the middle of the high probability region. If instead you start at a point that has a low probability (e.g. try $x=-5$ as initial condition in line 7), you will see that the chain has a \"burn in\" period in which it moves towards the higher probability regions. The part of the chain should be discarded. \n",
"- The time series for the MCMC shows clear correlations, whereas the rejection method samples are uncorrelated. This can be seen in the plot of $x_i$ vs $x_{i+1}$ -- in particular you can see the line of points where the proposed jump was not accepted.\n",
2023-10-03 16:21:42 -04:00
"- Try changing the `scale` in the normal distribution we're using for the jump and see how the acceptance ratio and the correlations behave. You want to choose a jump size that is large enough to explore the probability distribution, but small enough to get a reasonable acceptance rate for the jumps. An acceptance rate of around $0.2$--$0.3$ is good to aim for."
]
},
{
"cell_type": "markdown",
"id": "56dfa5e8",
"metadata": {},
"source": [
"## Exoplanet orbit"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "741f2d86",
"metadata": {},
"outputs": [],
"source": [
"def rv(t, P, x):\n",
" # Calculates the radial velocity of a star orbited by a planet\n",
" # at the times in the vector t\n",
" \n",
" # extract the orbit parameters\n",
" # P, t and tp in days, mp in Jupiter masses, v0 in m/s \n",
" mp, e, omega, tp, v0 = x\n",
" \n",
" # mean anomaly\n",
" M = 2*np.pi * (t-tp) / P\n",
" \n",
" # velocity amplitude\n",
" K = 204 * P**(-1/3) * mp / np.sqrt(1.0-e*e) # m/s\n",
" \n",
" # solve Kepler's equation for the eccentric anomaly E - e * np.sin(E) = M\n",
" # Iterative method from Heintz DW, \"Double stars\", Reidel, 1978\n",
" # first guess\n",
" E = M + e*np.sin(M) + ((e**2)*np.sin(2*M)/2)\n",
" while True:\n",
" E0 = E \n",
" M0 = E0 - e*np.sin(E0)\n",
" E = E0 + (M-M0)/(1.0 - e*np.cos(E0))\n",
" if np.max(np.abs((E-E0))) < 1e-6:\n",
" break\n",
" \n",
" # evaluate the velocities\n",
" theta = 2.0 * np.arctan( np.sqrt((1+e)/(1-e)) * np.tan(E/2))\n",
" vel = v0 + K * ( np.cos(theta + omega) + e * np.cos(omega))\n",
" \n",
" return vel"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "060ef5d9",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAGyCAYAAADwPVBzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydZ3gUVduA79manpAeCJDQCSX0GKQqSJMX7AUE/FAsFIUXVBTLK1JFBBFFBBQUBFFBpCm9dwi9k5AA6SE9u9ky34/JTrLZTQClJDj3de2VzZ4zZ87sTnnOUwVRFEUUFBQUFBQUFBTsUN3rCSgoKCgoKCgoVEQUIUlBQUFBQUFBwQmKkKSgoKCgoKCg4ARFSFJQUFBQUFBQcIIiJCkoKCgoKCgoOEERkhQUFBQUFBQUnKAISQoKCgoKCgoKTtDc6wlUVqxWK9euXcPT0xNBEO71dBQUFBQUFBRuAlEUycnJoWrVqqhU5euKFCHpb3Lt2jWqV69+r6ehoKCgoKCg8DdISEggNDS03D6KkPQ38fT0BKQv2cvL6x7PRkFBQUFBQeFmyM7Opnr16vJzvDwUIelvYjOxeXl5KUKSgoKCgoJCJeNmXGUUx20FBQUFBQUFBScoQpKCgoKCgoKCghMUIUlBQUFBQUFBwQmKT5KCwj3AYrFgMpnu9TQUFCo1Wq0WtVp9r6ehcB+jCEkKCncRURRJSkoiMzPzXk9FQeG+wMfHh+DgYCVfncIdQRGSFBTuIjYBKTAwEDc3N+XGrqDwNxFFkfz8fFJSUgAICQm5xzNSuB9RhCQFhbuExWKRBSQ/P797PR0FhUqPq6srACkpKQQGBiqmN4XbjuK4raBwl7D5ILm5ud3jmSgo3D/YrifFx0/hTqAISQoKdxnFxKagcPtQrieFO0mlE5ImTZpE69at8fT0JDAwkL59+3L27Fm7PgaDgaFDh+Ln54eHhwdPPPEEycnJdn3i4+Pp1asXbm5uBAYGMmbMGMxm8908FAUFBQUFBYUKTKUTkrZt28bQoUPZu3cvGzZswGQy8cgjj5CXlyf3GTlyJH/88QfLly9n27ZtXLt2jccff1xut1gs9OrVi8LCQnbv3s3ChQv5/vvv+eCDD+7FISkoKCgoKChUQARRFMV7PYl/QmpqKoGBgWzbto0OHTqQlZVFQEAAS5Ys4cknnwTgzJkzNGzYkD179vDAAw+wbt06Hn30Ua5du0ZQUBAAc+bM4e233yY1NRWdTnfD/WZnZ+Pt7U1WVpZSu03hpjAYDMTGxhIeHo6Li8u9no6Cwn2Bcl0p3Cq38vyudJqk0mRlZQHg6+sLwKFDhzCZTHTp0kXu06BBA2rUqMGePXsA2LNnD02aNJEFJIBu3bqRnZ3NyZMnne7HaDSSnZ1t97qbmE0WKrk8q6Bgx/Lly2nQoAEuLi40adKEtWvXym1Wq3Ku3wwnT57kiSeeICwsDEEQmDFjxg23iYuLQxAEh9fevXvlPp06dXLap1evXnIfURT54IMPCAkJwdXVlS5dunD+/Hm7fZ07d44+ffrg7++Pl5cX7dq1Y8uWLbft+O8HRFHEarHe62kolEGlFpKsVitvvvkmDz74II0bNwakPDQ6nQ4fHx+7vkFBQSQlJcl9SgpItnZbmzMmTZqEt7e3/KpevfptPpqyuXAohXmjdvD750cwmyx3bb8KCneK3bt389xzzzF48GCOHDlC37596du3LydOnCA/u5C0hByyUguUhcENyM/Pp1atWkyePJng4OBb2nbjxo0kJibKr5YtW8ptv/32m13biRMnUKvVPPXUU3KfqVOn8sUXXzBnzhz27duHu7s73bp1w2AwyH0effRRzGYzmzdv5tChQ0RGRvLoo4+WeZ/9N7Lrlwt8PWwre1devNdTUXBCpRaShg4dyokTJ1i6dOkd39fYsWPJysqSXwkJCXd8nyCtMvatuoTFZOXquUzO7E68K/tVuDuIokh+ofmevG5FALFarUyaNInw8HBcXV2JjIzkl19++dvHPXPmTLp3786YMWNo2LAh48ePp0WLFsyaNYu8TCMAxnwThQXlB1McP36chx56CFdXV/z8/BgyZAi5ubly+6BBg+jbty8TJ04kKCgIHx8fPv74Y8xmM2PGjMHX15fQ0FC+++47u3ETEhJ4+umn8fHxwdfXlz59+hAXFye3m81mRowYgY+PD35+frz99tsMHDiQvn37yn3Wr19Pu3bt5D6PPvooFy/e3gdh69at+fTTT3n22WfR6/W3tK2fnx/BwcHyS6vVym2+vr52bRs2bMDNzU0WkkRRZMaMGYwbN44+ffrQtGlTFi1axLVr11i5ciUAaWlpnD9/nnfeeYemTZtSt25dJk+eTH5+PidOnLht30FlJju9gKObEkCEQ+svk3Yl98YbKdxVKm0yyWHDhrF69Wq2b99OaGio/HlwcDCFhYVkZmbaaZOSk5PllVZwcDD79++3G88W/VbWakyv19/yTeh2kJVaQGZyvvz/6d2JNO4YWs4WCpWJApOFiA/+vCf7PvVxN9x0N3cLmDRpEj/++CNz5syhbt26bN++nf79+xMQEEDHjh0B8PDwKHeM/v37M2fOHEAyeY8aNcquvVu3bqxYscJOeDPkmdG7aXFGXl4e3bp1Izo6mgMHDpCSksJLL73EsGHD+P777+V+mzdvJjQ0lO3bt7Nr1y4GDx7M7t276dChA/v27WPZsmW88sordO3aldDQUEwmkzzujh070Gg0fPLJJ3Tv3p1jx46h0+mYMmUKixcv5rvvvqNhw4bMnDmTlStX0rlzZ7v5jRo1iqZNm5Kbm8sHH3zAY489RkxMDCqVtD5t1KgRly9fLvM7a9++PevWrSv3e/27/Oc//8FgMFCvXj3eeust/vOf/5TZd/78+Tz77LO4u7sDEBsbS1JSkp1bg7e3N1FRUezZs4dnn30WPz8/6tevz6JFi2jRogV6vZ5vvvmGwMBAO63Vv5nEC1l2/5/Zk0i7p+reo9koOKPSCUmiKDJ8+HBWrFjB1q1bCQ8Pt2tv2bIlWq2WTZs28cQTTwBw9uxZ4uPjiY6OBiA6OpoJEybIWVoBNmzYgJeXFxEREXf3gG5AxjUpas/NS0d+diEp8TkU5BTi6nlj53IFhduB0Whk4sSJbNy4Ub6GatWqxc6dO/nmm29kISkmJqbccUo6SJZl8k5KkhYrKrWA1SJSaJA0Xs5y4SxZsgSDwcCiRYvkh/eXX35J7969mTJlijy+r68vX3zxBSqVivr16zN16lTy8/N59913AUlLPHnyZHbu3Mmzzz7LsmXLsFqtzJs3T97vd999h4+PD1u3buWRRx5h1qxZjB07lscee0zeb0mfKkC+/9hYsGABAQEBnDp1SnYPWLt2bblJEG0ZpW8nHh4efPbZZzz44IOoVCp+/fVX+vbty8qVK50KSvv37+fEiRPMnz9f/sxmLnP+G0ptgiCwceNG+vbti6enJyqVisDAQNavX0+VKlVu+3FVRpLjJN9WTz8XctINXD6RrghJFYxKJyQNHTqUJUuW8Pvvv+Pp6SlfkN7e3ri6uuLt7c3gwYMZNWoUvr6+eHl5MXz4cKKjo3nggQcAeOSRR4iIiOCFF15g6tSpJCUlMW7cOIYOHXpPtEXlYdMiVatfhetJeaQl5BJ/KoP6Ubfmf6BQMXHVqjn1cbd7tu+b4cKFC+Tn59O1a1e7zwsLC2nevLn8f506dW7b3FzctRTkmhCtIiajBZ2L463q9OnTREZGygISwIMPPojVauXs2bPyA7xRo0ay5gakB7lNSAFQq9X4+fnJNcCOHj3KhQsX8PT0tNufwWDg4sWLZGVlkZycTJs2bezGaNmyJVZrsQPu+fPn+eCDD9i3bx9paWlyW3x8vLz/mjVr3tT3ER8fb7eAe/fdd2Uh71bx9/e30+K1bt2aa9eu8emnnzoVkubPn0+TJk3sjvdmEEWRoUOHEhgYyI4dO3B1dWXevHn07t2bAwcOKLXWgOzUAgCadAplz28XyEzOJyfDgKevEqVXUah0QtLXX38NSNEXJfnuu+8YNGgQAJ9//jkqlYonnngCo9FIt27
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAGyCAYAAADwPVBzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd3hUVf643zslvfeEFhAEgkgVDEoTkKbCrmVVXMtiWzvq/lz3a1sbC7r2gijKogIurmIDpaMgAoIoTTokQAppkzr9/v64c28yydQUksB5n2eeTOaee+6d5MycT/9IsizLCAQCgUAgEAjc0LX2DQgEAoFAIBC0RYSQJBAIBAKBQOABISQJBAKBQCAQeEAISQKBQCAQCAQeEEKSQCAQCAQCgQeEkCQQCAQCgUDgASEkCQQCgUAgEHjA0No30F5xOp2cPHmS6OhoJElq7dsRCAQCgUAQALIsU1FRQUZGBjqdb1uREJIaycmTJ+nUqVNr34ZAIBAIBIJGkJubS8eOHX2OEUJSI4mOjgaUP3JMTEwr341AIBAIBIJAKC8vp1OnTto+7gshJDUS1cUWExMjhCSBQCAQCNoZgYTKiMBtgUAgEAgEAg8IIUkgEAgEAoHAA0JIEggEAoFAIPCAiEkSCASCFsLhcGCz2Vr7NgSCs46QkBC/6f2BIIQkgUAgaGZkWSY/P5+ysrLWvhWB4KxEp9PRtWtXQkJCmjSPEJIEAoGgmVEFpJSUFCIiIkTBWYHgNKIWe87Ly6Nz585N+vwJIUkgEAiaEYfDoQlIiYmJrX07AsFZSXJyMidPnsRut2M0Ghs9jwjcFggEgmZEjUGKiIho5TsRCM5eVDebw+Fo0jxCSBIIBIIWQLjYBILWo7k+f0JIEggEAoFAIPCAEJIEAoFAIBAIPCCEJIFAIBC0GEuWLKFXr16EhYXRt29fli1b5nP8unXrkCSpwSM/P/803XH75LfffmP48OGEhYXRqVMnZs+e3dq3dEYghKQ2yI+HirDana19GwLBacFsc+B0yq19G4IW4Mcff+S6665j+vTp/PLLL0ydOpWpU6eya9cuv+fu27ePvLw87ZGSknIa7rjlcThlZLl513t5eTmXXnopXbp0Ydu2bbzwwgs89dRTzJ07t1mvczYihKQ2xtGiKq5/dzMjZq/l9/zy1r4dgaBFee6bPfR+4lsufeV78kw1rX07Zz1Op5OZM2fStWtXwsPD6devH59++mmj53v11VeZMGECf/vb3+jduzfPPPMMAwcO5I033vB7bkpKCmlpadoj2OrJOTk5TJkyhaioKGJiYrjmmmsoKCjQjj/11FP079+f999/n86dOxMVFcVdd92Fw+Fg9uzZpKWlkZKSwnPPPec2b1lZGbfeeivJycnExMRwySWX8Ouvv7qNefbZZ0lJSSE6Oppbb72Vv//97/Tv35+c4mp2nzSxdMX3jB07lqSkJGJjYxk5ciTbt28P6v3V5eOPP8ZqtfL+++/Tp08frr32Wu677z5eeumlRs8pUBBCUhvjWEk1iZEh5JebefCTX5td4xAI2gprfy/k3R+OIMtwsLCSJ77Y3dq31GLIsky11X7aH8F+f8ycOZMFCxYwZ84cdu/ezYwZM7jhhhtYv369NiYqKsrn484779TGbtq0ibFjx7pdY/z48WzatMnvvfTv35/09HTGjRvHxo0bg3ofTqeTKVOmUFJSwvr161m5ciWHDx/mT3/6k9u4Q4cOsXz5cr799lsWLVrEvHnzmDx5MsePH2f9+vXMmjWLxx57jM2bN2vnXH311RQWFrJ8+XK2bdvGwIEDGTNmDCUlJYAisDz33HPMmjWLbdu20blzZ95++20cTpmyGisARWUmplx9PRs2bOCnn36iR48eTJo0iYqKCu06EydO9Pl37tOnj9vfecSIEW7VpcePH8++ffsoLS0N6m8ncEcUk2xjjDw3mRUzRjDyhXXsyStn06FihnVPau3bEgianfc2HAZgxLnJbDhwipV7CjhWXEWXxMhWvrPmp8bmIOuJ7077dfc8PZ6IkMC+5i0WC88//zyrVq0iOzsbgG7durFhwwbeeecdRo4cCcCOHTt8zhMTE6M9z8/PJzU11e14amqqz/ii9PR05syZw+DBg7FYLLz33nuMGjWKzZs3M3DgwIDey+rVq9m5cydHjhyhU6dOACxYsIA+ffqwdetWLrjgAkARpt5//32io6PJyspi9OjR7Nu3j2XLlqHT6ejZsyezZs1i7dq1DB06lA0bNrBlyxYKCwsJDQ0F4MUXX2Tp0qV8+umn3H777bz++utMnz6dW265BYAnnniCFStWUFymeAaiw4wMvWgEOkmiR3o0ep2OuXPnEhcXx/r167nssssAeO+996ip8W5drVsgMT8/n65duzb4O6vH4uPjA/q7CRoihKQ2SGJUKFf0z2Dh5hy+2HFSCEmCMw5TtY2fDiua97NTzuOxL3bx/f5TfPXrSe65pEcr393ZycGDB6murmbcuHFur1utVgYMGKD93r179xa9j549e9KzZ0/t92HDhnHo0CFefvllPvzww4Dm2Lt3L506ddIEJICsrCzi4uLYu3evJiRlZmYSHR2tjUlNTUWv17u59lJTUyksLATg119/pbKyskEl9ZqaGg4dOgQosVR33XWX2/GBgwazYtVqdJJE54QIftp9mJdmPs2OLRspOnUKh8NBdXU1OTk52jkdOnQI6L0KWpZ2JyTNnDmTzz77jN9//53w8HCGDRvGrFmz3D5UZrOZhx56iMWLF2OxWBg/fjxvvfWWm0aTk5PDX//6V9auXUtUVBQ33XQTM2fOxGBoG3+SCX3SWLg5hw0Hi5BlWRSmE5xRrNtfiMMpc25qFJ0TIxjXO4Xv95/ihwNFZ6SQFG7Us+fp8a1y3UCprKwE4JtvvmmwQatWE1Dcbb644YYbmDNnDgBpaWlucUAABQUFpKWlBXxfAEOGDGHDhg1BnRMI9dtVSJLk8TWnU0mkqaysJD09nXXr1jWYKy4uzut1rA7l/KhQA3qdxGMz7uTUqWKeeG42g8/rSWhoKNnZ2VitVu2ciRMn8sMPP3ids0uXLuzerbiovf2d1WOCxtM2JIIgWL9+PXfffTcXXHABdrudf/zjH1x66aXs2bOHyEjFTD9jxgy++eYblixZQmxsLPfccw9//OMfNb+2w+Fg8uTJpKWl8eOPP5KXl8eNN96I0Wjk+eefb823pzE4Mx6jXuJEWQ25JTV0ThQtDgRnDmt/VzTzS3opisvFPZIB2J5TSrXVHrCLqL0gSVKbf09ZWVmEhoaSk5OjudY8EYy7LTs7m9WrV/PAAw9or61cuVJz5wXKjh07SE9PD3h87969yc3NJTc3V7Mm7dmzh7KyMrKysoK6dl0GDhxIfn4+BoOBzMxMj2N69uzJ1q1bufHGG7XXtv38MwBRYcoa+HnzT/z92Re4YPhYeqdHc/z4cYqKitzmCcbdlp2dzf/93/9hs9m011euXEnPnj2Fq62pyO2cwsJCGZDXr18vy7Isl5WVyUajUV6yZIk2Zu/evTIgb9q0SZZlWV62bJms0+nk/Px8bczbb78tx8TEyBaLxeN1zGazbDKZtEdubq4MyCaTqcXe21Vvb5S7PPK1vHjLsRa7hkDQGlw8a7Xc5ZGv5e/3F8qyLMtOp1MeNlN5be3vBa18d02jpqZG3rNnj1xTU9PatxI0//d//ycnJibK8+fPlw8ePChv27ZNfu211+T58+c3ar6NGzfKBoNBfvHFF+W9e/fKTz75pGw0GuWdO3dqY/7+97/Lf/7zn7XfX375ZXnp0qXygQMH5J07d8r333+/rNPp5FWrVgV8XafTKffv318ePny4vG3bNnnz5s3yoEGD5JEjR2pjnnzySblfv35u5910003ylClT3F4bOXKkfP/992vzXnzxxXK/fv3k7777Tj5y5Ii8ceNG+R//+Ie8detWWZZl+aOPPpLDw8Pl+fPny/v375effvppOSo6Ru7Zp69sttplWZblAQMGyNkjRsufr/lJXr9hozx8+HA5PDxcfvnllwN+j3UpKyuTU1NT5T//+c/yrl2
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Make some plots to show what the velocity curves look like\n",
"t = np.linspace(0,12,num=1000)\n",
"\n",
"for e in np.arange(0.0,1.0,0.2):\n",
" v = rv(t, 5.0, [1.0, e, 0.0, 0.0, 0.0])\n",
" plt.plot(t,v, label='e=%g, omega=%g' % (e,0.0))\n",
"\n",
"plt.ylabel(r'$v\\ (\\mathrm{m/s})$')\n",
"plt.xlabel(r'$t\\ (\\mathrm{d})$')\n",
"plt.legend()\n",
"plt.show()\n",
"\n",
"plt.clf()\n",
"for e in np.arange(0.0,1.0,0.2):\n",
" v = rv(t, 5.0, [1.0, e, -np.pi/2, 0.0, 0.0])\n",
" plt.plot(t,v, label='e=%g, omega=%g' % (e,-np.pi/2))\n",
"\n",
"plt.ylabel(r'$v\\ (\\mathrm{m/s})$')\n",
"plt.xlabel(r'$t\\ (\\mathrm{d})$')\n",
"plt.legend()\n",
"plt.show()\n",
"\n",
"plt.clf\n",
"for omega in np.linspace(0.0,np.pi/2,4):\n",
" v = rv(t, 5.0, [1.0, 0.5, omega, 0.0, 0.0])\n",
" plt.plot(t,v, label='e=%g, omega=%g' % (0.5, omega))\n",
"\n",
"plt.ylabel(r'$v\\ (\\mathrm{m/s})$')\n",
"plt.xlabel(r'$t\\ (\\mathrm{d})$')\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "f7740667",
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Acceptance fraction = 0.39566\n"
]
}
],
"source": [
"def f(x, tobs, vobs, eobs):\n",
" chisq = np.sum(((vobs-rv(tobs, P, x))/eobs)**2)\n",
" return -chisq/2\n",
"\n",
"# Observations\n",
"# These are for HD145675 from Butler et al. 2003\n",
"tobs, vobs, eobs = np.loadtxt('rvs.txt', unpack=True)\n",
"\n",
"# Number of samples to generate\n",
"N = 10**5\n",
"x = np.zeros((N, 5))\n",
"\n",
"# initial guess\n",
"# P, mp, e, omega, tp, v0 \n",
"P = 1724\n",
"x[0] = [1.0, 0.0, 0.0, 0.0, 0.0]\n",
"# and the widths for the jumps\n",
"widths = (0.03, 0.03, 0.03, 3.0, 1.0)\n",
"\n",
"count = 0\n",
"\n",
"for i in range(N-1):\n",
" \n",
" # Proposal\n",
" ii = np.random.randint(0, 5)\n",
" x_try = np.copy(x[i])\n",
" x_try[ii] += rng.normal(scale = widths[ii])\n",
"\n",
" #x_try[2] = (x_try[2]) % 1 # keep e between zero and 1\n",
" \n",
" # Accept the move or stay where we are\n",
" u = rng.uniform()\n",
" if u <= np.exp(f(x_try, tobs,vobs,eobs) - f(x[i], tobs,vobs,eobs)):\n",
" x[i+1] = np.copy(x_try)\n",
" count = count + 1\n",
" else:\n",
" x[i+1] = np.copy(x[i])\n",
"\n",
"print(\"Acceptance fraction = %g\" % (count/N,))"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "157d5682",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA9wAAAJOCAYAAABFiQ/hAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADJc0lEQVR4nOzdeVxU5f4H8M8wwACyqWyiKLgiLqCSRGppkrhcb3ZbvF5vGpWV6a+FsqRFXEpMzWwxLcvs3jKXFuumYYaimbihuOOO4MKmwrDIADPn9wfMYWaYGWaQYWbg83695hVzznPO+c4IT+d7nk0iCIIAIiIiIiIiImpSDtYOgIiIiIiIiKglYsJNREREREREZAFMuImIiIiIiIgsgAk3ERERERERkQUw4SYiIiIiIiKyACbcRERERERERBbAhJuIiIiIiIjIAphwExEREREREVkAE24iIiIiIiIiC2DCTURERERERGQBTLiJiIiIiIiILIAJN9m0bdu2QSKRQCKRYP369fX2V1ZWomvXrpBIJIiIiNDap1Kp4Ovri8WLF9/xuX7++WdIJBJs2rSpyT4bERERERG1bEy4yaYdPXoUAODi4oJTp07V2//ZZ5/h6tWrAIDw8HCtfQcOHEBhYSHGjRt3x+c6fvw4AKB///538nGIiIiIiKgVYcJNNu3YsWPw9vbG0KFDcfr0aa19paWleOeddzB27FgA9ZPkrVu3okuXLujTp88dn+v48eNwdXVF9+7dm/TzERERERFRy8WEm2za0aNH0a9fP/Tr169eq/T777+P6upqjB49GkD9JHnLli1i6/adnuv48eMICwuDVCptss9GRNTcUlNTMXbsWHh7e6Ndu3b429/+hgsXLlg7LCKiZpWXlwdvb28899xzevffuHEDEokEr776ajNHRi0RE26yWZWVlThz5gz69++Pvn374ty5c6iurgYAFBQU4P3330dCQgIuX74MQLu7d25uLo4cOSK2WN/JuRQKBc6dO4d+/fo1y+cmIrKEtWvXYuTIkVCpVHjnnXcwe/ZsHD16FDExMbh9+7a1wyMiajZvv/02KisrMX/+fL3727dvjw4dOuDgwYPNHBm1REy4yWadOnUKVVVVYpJcVVWF8+fPAwDeeecdeHl5YebMmTh69Cg6dOgAX19f8ditW7fCxcUF999//x2f6/Tp06iurub4bSKy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
"text/plain": [
"<Figure size 1000x600 with 5 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 5 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(10,6))\n",
"\n",
"titles = (r'$M/MJ$', r'$e$', r'$\\omega$', r'$t_P$', r'$v_0$')\n",
"for i, title in enumerate(titles):\n",
" plt.subplot(2,3,i+1)\n",
" plt.title(title)\n",
" plt.plot(list(range(N)), x[:, i])\n",
"plt.tight_layout()\n",
"plt.show()\n",
"\n",
"plt.clf()\n",
"t = np.linspace(tobs[0], tobs[-1], 1000)\n",
"plt.plot(t, rv(t,P, x[-1]), 'C0')\n",
"plt.plot(tobs, vobs, 'C1.')\n",
"plt.errorbar(tobs, vobs, eobs, fmt='none', ecolor='C1')\n",
"plt.ylabel(r'$v$')\n",
"plt.xlabel(r'$t$')\n",
"plt.show()\n",
"\n",
"# Reject the burn in phase\n",
"x1 = x[int(0.5*N):]\n",
"\n",
"plt.clf()\n",
"for i, title in enumerate(titles):\n",
" plt.subplot(2,3,i+1)\n",
" plt.title(title)\n",
" plt.hist(x1[:, i], density=True, bins=30)\n",
"plt.tight_layout()\n",
"plt.show()\n"
2023-09-28 20:30:42 -04:00
]
2023-10-03 16:21:42 -04:00
},
{
"cell_type": "code",
"execution_count": 19,
"id": "28916387",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABHAAAASMCAYAAADgJnq4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeVhV5f738TeTyAZBdOOATIoIOAvO89Sgls1lZtmxTp3KyqyTx0Y7adlsw6lsPmWjZYPTySHNeR5Q2QiiCAIqG2TczPD8wcP6SSDgyFY/r+vienKte611rw2c6+Hzu+/v16G8vLwcERERERERERGxW44NPQEREREREREREamdAhwRERERERERETunAEdERERERERExM4pwBERERERERERsXMKcERERERERERE7JwCHBERERERERERO6cAR0RERERERETEzinAERERERERERGxcwpwRERERERERETsnAIcERERERERERE7pwBHxM6kpaUxZswY3N3dCQ0NZeXKlWc09r777qN169Z4enrSpUsXFi5ceCGmLyIiIiIiIueBAhyRBnD33XfzxRdf1HjuoYceolWrVqSlpfHaa69x6623kpGRcdpjp06dSkJCAtnZ2Xz22WdMmDCB9PT08/VKIiIiIiIich4pwBGxI7m5ufzyyy+88MILmEwmxo4dS5cuXfj1119Pe2xYWBiurq4AODg4UFRURHJy8gV9HxERERERETk3FOBcBn7//XccHBxwcHDgu+++q3a+qKiIdu3a4eDgQPfu3aucKysrw8fHh1dfffWs79WQZs2ahYODA507d673NXFxcYwbNw4/Pz9MJhNhYWH8+9//xmazVRu7Y8cOxo4dS7NmzTCZTHTu3Jl33nnntOcZFxeHh4cHfn5+xrEuXbqwb9++Mxr74IMP4ubmRq9evRg+fDhdunQ57TmJiIiIiIhIw3Nu6AnI+bd7924AGjduTHR0dLXzc+fONVZmdOvWrcq5LVu2YLVaGTNmzFnfq6EcOXKEl156CXd393pfk5SURO/evfHy8mLy5Mk0a9aMjRs38vzzz7N9+/YqK2KWLVvGtddeS48ePXj22Wfx8PAgPj6eI0eOnPZcc3Nz8fT0rHLM09Ozxq1P9Rn7/vvv8+6777J69Wr27t2Lg4PDac9JREREREREGp4CnMtAVFQUTZs2pWfPnlgslirn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
"text/plain": [
"<Figure size 1180x1180 with 25 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# https://corner.readthedocs.io/en/latest/\n",
"import corner\n",
"\n",
"figure = corner.corner(x1, \n",
" labels = [r'$M/M_J$', r'$e$', r'$\\omega$', r'$t_P$', r'$v_0$'], \n",
" show_titles=True)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "097d2f02",
"metadata": {},
"outputs": [],
"source": []
2023-09-28 20:30:42 -04:00
}
],
"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",
2023-10-02 10:01:23 -04:00
"version": "3.11.5"
2023-09-28 20:30:42 -04:00
}
},
"nbformat": 4,
"nbformat_minor": 5
}