{ "cells": [ { "cell_type": "markdown", "id": "9eb0baee", "metadata": {}, "source": [ "Convenience function for fitting\n", "==============================" ] }, { "cell_type": "code", "execution_count": 1, "id": "a53d04fe", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "from __future__ import print_function, division\n", "# Import numpy and matplotlib\n", "from numpy import arange, sqrt, exp, pi, random, ones_like\n", "import matplotlib.pylab as plt\n", "import scipy.optimize as sco\n", "# ... and now the funcFit2 package\n", "from PyAstronomy import funcFit2 as fuf2\n", "\n", "# For reproducability\n", "random.seed(1234)\n", "\n", "# Create some mock data\n", "# Choose parameters...\n", "gPar = {\"A\":-5.0, \"sig\":10.0, \"mu\":10.0, \"off\":1.0, \"lin\":0.0}\n", "# ...and calculate profile...\n", "x = arange(100) - 50.0\n", "y = gPar[\"off\"] + gPar[\"A\"] / sqrt(2*pi*gPar[\"sig\"]**2) \\\n", " * exp(-(x-gPar[\"mu\"])**2/(2*gPar[\"sig\"]**2))\n", "# ...add some noise...\n", "y += random.normal(0.0, 0.01, x.size)\n", "# ...and save the error bars\n", "yerr = ones_like(x)*0.01\n", "\n", "plt.errorbar(x, y, yerr=yerr, fmt='b+', label=\"Data\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 2, "id": "ccc9ab23", "metadata": {}, "outputs": [], "source": [ "# Create a fitting object representing a Gaussian and set guess parameters.\n", "gf = fuf2.GaussFit()\n", "\n", "# Set guess values for the parameters\n", "gf[\"A\"] = -10.0\n", "gf[\"sig\"] = 15.77\n", "gf[\"off\"] = 0.96\n", "gf[\"mu\"] = 7.5\n", "\n", "# Thaw parameters to be treated as variable during the fit\n", "gf.thaw([\"A\", \"sig\", \"off\", \"mu\"])\n", "\n", "# Save starting parameters\n", "pstart = gf.parameters()" ] }, { "cell_type": "markdown", "id": "99edac4f", "metadata": {}, "source": [ "Use convenience function\n", "---------------------------------------" ] }, { "cell_type": "code", "execution_count": 3, "id": "f2388be9", "metadata": {}, "outputs": [], "source": [ "# Use a convenience function to carry out optimization\n", "# using various algorithms from scipy\n", "\n", "# Let them start from the same starting point\n", "gf.assignValues(pstart)\n", "fr1 = fuf2.fitfmin(gf, gf.chisqr, x, y, yerr=yerr, disp=0)\n", "# Save resulting model\n", "model1 = gf.evaluate(x)\n", "\n", "gf.assignValues(pstart)\n", "fr2 = fuf2.fitfmin_powell(gf, gf.chisqr, x, y, yerr=yerr, disp=0)\n", "model2 = gf.evaluate(x)\n", "\n", "gf.assignValues(pstart)\n", "fr3 = fuf2.fitfmin_l_bfgs_b(gf, gf.chisqr, x, y, yerr=yerr)\n", "model3 = gf.evaluate(x)" ] }, { "cell_type": "code", "execution_count": 4, "id": "1eeae08c", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.errorbar(x, y, yerr=yerr, fmt='b+', label=\"Data\")\n", "plt.plot(x, model1, 'c-', label=\"fmin\")\n", "plt.errorbar(x, y+0.05, yerr=yerr, fmt='b+')\n", "plt.plot(x, model2+0.05, 'r-', label=\"fminpowell\")\n", "plt.errorbar(x, y+0.1, yerr=yerr, fmt='b+')\n", "plt.plot(x, model3+0.1, 'g-', label=\"l_bfgs_b\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 5, "id": "d7222df2", "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.9.9" } }, "nbformat": 4, "nbformat_minor": 5 }