Skip to content

Instantly share code, notes, and snippets.

@Astro-Lee
Forked from cgobat/powerlaws.ipynb
Created June 3, 2024 07:47
Show Gist options
  • Save Astro-Lee/4f867c48d400a3d6bf2e5c529b81b520 to your computer and use it in GitHub Desktop.
Save Astro-Lee/4f867c48d400a3d6bf2e5c529b81b520 to your computer and use it in GitHub Desktop.
Overview of broken power law functions and fitting them to data
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Fitting power laws\n",
"\n",
"**by Caden Gobat<sup>1</sup>**\n",
"\n",
"<sup>1</sup> Department of Physics, the George Washington University, 725 21st Street NW, Washington, DC 20052, USA"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np, pandas as pd, matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Broken power law functions\n",
"\n",
"A broken power law is a piecewise function given by a sequence of conjoined power laws ($x^\\alpha$) where each section has its own power (index) and is defined by bounding \"breaks\".\n",
"\n",
"Mathematically, the function looks something like\n",
"$f(x) \\propto \\begin{cases} x^{\\alpha_0} & \\mathrm{if}\\ x \\leq b_1 \\\\\n",
"x^{\\alpha_1} & \\mathrm{if}\\ b_1 \\leq x \\leq b_2 \\\\\n",
"... \\\\\n",
"x^{\\alpha_n} & \\mathrm{if}\\ b_n \\leq x \\leq b_{n+1} \\\\\n",
"... \\end{cases}$, where $b_n$ is the $x$-location of the $n$<sup>th</sup> break point.\n",
"\n",
"Alternatively, a single-break power law can be described by a single algebraic expression using a `smoothness' parameter, $\\Delta$, that governs the behavior of the transition between the two slopes:\n",
"\n",
"$f(x) \\propto \\left(\\frac{x}{x_b}\\right)^{-\\alpha_1}\\left\\{\\frac{1}{2}\\left[1+\\left(\\frac{x}{x_b}\\right)^{1/\\Delta}\\right]\\right\\}^{(\\alpha_1-\\alpha_2)\\Delta}$, where $x_b$ is the break location and $\\alpha_1$ and $\\alpha_2$ are the power law indices below and above the break, respectively.\n",
"\n",
"The function below is a Python implementation of a generalizable broken power law and takes as input the independent variable, an arbitrarily-long list of break locations, and indices for each section."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def bkn_pow(xvals,breaks,alphas):\n",
" try:\n",
" if len(breaks) != len(alphas) - 1:\n",
" raise ValueError(\"Dimensional mismatch. There should be one more alpha than there are breaks.\")\n",
" except TypeError:\n",
" raise TypeError(\"Breaks and alphas should be array-like.\")\n",
" if any(breaks < np.min(xvals)) or any(breaks > np.max(xvals)):\n",
" raise ValueError(\"One or more break points fall outside given x bounds.\")\n",
" \n",
" breakpoints = [np.min(xvals)] + breaks + [np.max(xvals)] # create a list of all the bounding x-values\n",
" chunks = [np.array([x for x in xvals if x >= breakpoints[i] and x <= breakpoints[i+1]]) for i in range(len(breakpoints)-1)]\n",
" \n",
" all_y = []\n",
" \n",
" #alpha = pd.cut(pd.Series(xvals),breakpoints,labels=alphas,include_lowest=True).to_numpy()\n",
"\n",
" for idx,xchunk in enumerate(chunks):\n",
" yvals = xchunk**alphas[idx]\n",
" all_y.append(yvals) # add this piece to the output\n",
" \n",
" for i in range(1,len(all_y)):\n",
" all_y[i] *= np.abs(all_y[i-1][-1]/all_y[i][0]) # scale the beginning of each piece to the end of the last so it is continuous\n",
" \n",
" return(np.array([y for ychunk in all_y for y in ychunk])) # return flattened list\n",
"\n",
"def bkn_pow_smooth(x, A, x_b, a_1, a_2, delta=1):\n",
" a_1 *= -1\n",
" a_2 *= -1\n",
" return A*(x/x_b)**(-a_1) * (0.5*(1+(x/x_b)**(1/delta)))**((a_1-a_2)*delta)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"xbounds = (8,18) # log of x bounds\n",
"num_points = 200\n",
"x = np.logspace(*xbounds,num_points)\n",
"breaks = [7e9,1e11,5e12]\n",
"alphas = [2,1/3,-1/2,-1]\n",
"\n",
"y = bkn_pow(x,breaks,alphas)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"noisy = y * np.random.normal(1,0.1,len(y)) # add Gaussian noise to the data\n",
"labels = iter([r'$\\nu_a$',r'$\\nu_m$',r'$\\nu_c$'])\n",
"colors = iter('rgb')\n",
"\n",
"plt.loglog(x,noisy/1e16,marker='.',linestyle=\"\",color='grey')\n",
"plt.loglog(x,y/1e16,'k--',label=\"Absolute break model\")\n",
"plt.loglog(x,bkn_pow_smooth(x,2.2e4,4e10,2,-1,delta=1.1),label=\"Smoothly broken\")\n",
"\n",
"for br in breaks:\n",
" plt.axvline(br,linestyle=\"--\",lw=1,color=next(colors),label=next(labels))\n",
"\n",
"plt.legend()\n",
"plt.gca().tick_params(axis='both',which='both',direction='in',top=True,right=True)\n",
"plt.xlabel(r\"$\\nu$ (Hz)\")\n",
"plt.ylabel(r\"Flux ($\\mu$Jy)\")\n",
"plt.title(\"Demonstration of broken power law function\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Fitting a broken power law\n",
"If we have data that we suspect might be described by a broken PL, the first step is to identify where the function breaks. Then, each piece of the data can be fit with its own index, $\\alpha$.\n",
"\n",
"To find the breaks in a dataset that we didn't construct, **we can look for spikes in the second derivative**.\n",
"\n",
"### Central finite difference method for numerical differentiation\n",
"\n",
"Finite differences can be used to get a [numerical approximation of a function's derivative](https://en.wikipedia.org/wiki/Finite_differences#Relation_with_derivatives) where the analytical derivative is unattainable:\n",
"\n",
"\\begin{equation}\n",
"\\frac{\\delta_h \\lbrack f \\rbrack (x)}{h} - f^\\prime(x) = O(h^2)\n",
"\\end{equation}\n",
"\n",
"![finitediff.png](https://images.deepai.org/glossary-terms/3b64fd4ae00945c28f9bb777ed60b0a8/finitediff.png)\n",
"\n",
"A similar thing can be done for second-order derivatives:\n",
"\\begin{equation}\n",
"f^{\\prime\\prime}(x) \\approx \\frac{\\delta_h^2 \\lbrack f\\rbrack (x)}{h^2} = \\frac{f(x+h)-2f(x)+f(x-h)}{h^2}\n",
"\\end{equation}\n",
"\n",
"When the function is unknown and the data is in the form of $(x_i,y_i)$ coordinate pairs, we can use the following as an approximation for the second derivative:\n",
"\n",
"\\begin{equation}\n",
"f^{\\prime\\prime}(x_i) \\approx \\frac{y_{i+1} - 2y_i + y_{i-1}}{\\left(\\frac{x_{i+1}-x_{i-1}}{2}\\right)^2}\n",
"\\end{equation}"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def fin_diff_deriv(x,y,order,num_breaks=3):\n",
" from scipy.optimize import curve_fit\n",
" \n",
" logx, logy = np.log10(x), np.log10(y)\n",
" \n",
" first_derivative = []\n",
" second_derivative = []\n",
" \n",
" for idx in range(1,len(logx)-1):\n",
" first_derivative.append((logy[idx+1] - logy[idx-1])/(logx[idx+1]-logx[idx-1]))\n",
" second_derivative.append((logy[idx+1] - 2*logy[idx] + logy[idx-1])/((logx[idx+1]-logx[idx-1])/2)**2)\n",
" \n",
" return [logy,first_derivative,second_derivative][order] # placeholder for debugging: just return numerical derivative rather than anything real, for the moment"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Signal processing and smoothing\n",
"\n",
"Noisy and non-smooth data present a big problem for numerical differentiation techniques. [Chartrand (2011)](http://downloads.hindawi.com/archive/2011/164564.pdf) presents some signal-processing-type solutions. A naïve quick-fix would be to use a rolling mean to smooth the sample. We can also implement a low-pass filter to try to remove some of the noise while preserving the shape of the data."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from scipy.signal import savgol_filter, fftconvolve\n",
"\n",
"smoothed = savgol_filter(noisy, 15, 5) # see § 'Savitzky-Golay filtering' below\n",
"smoothed = savgol_filter(smoothed,11,3) # second pass\n",
"\n",
"plt.loglog(x,noisy)\n",
"plt.loglog(x,smoothed)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"labels = iter([r'$\\nu_a$',r'$\\nu_m$',r'$\\nu_c$'])\n",
"colors = iter('rgb')\n",
"\n",
"plt.plot(np.log10(x[1:-1]),fit_bkn_pow(x,noisy,1),\".\")\n",
"plt.plot(np.log10(x[1:-1]),fit_bkn_pow(x,y,1),\"--\")\n",
"plt.plot(np.log10(x[1:-1]),fit_bkn_pow(x,smoothed,1))\n",
"#plt.plot(np.log10(x),np.log10(savgol_filter(noisy,25,4,deriv=1)))\n",
"\n",
"for br in breaks:\n",
" plt.axvline(np.log10(br),linestyle=\"--\",lw=1,color=next(colors),label=next(labels))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Savitzky-Golay filtering\n",
"\n",
"Savitzky-Golay is a type of low-pass filter, particularly suited for smoothing data with high-frequency noise. The main idea behind this approach is to make for each point a least-square fit with a polynomial of high order over a odd-sized window centered at the point. It has the advantage of preserving the original shape and features of the signal better than other types of filtering approaches, such as moving average techniques.\n",
"\n",
"There is actually already a SciPy function that implements this filter: [`scipy.signal.savgol_filter`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.savgol_filter.html) (as already seen above). I've rewritten it below because it's not that complicated and it's worth seeing how it works.\n",
"\n",
"As input, it takes the noisy data, the filter window size (odd positive integer), the polynomial order to use when filtering, and the order of the derivative to compute (default $0$ will denoise original function only). It outputs smoothed $y$-points.\n",
"\n",
"<u>Example:</u>\n",
"\n",
"```python\n",
"t = np.linspace(-4, 4, 500)\n",
"y = np.exp( -t**2 ) + np.random.normal(0, 0.05, t.shape)\n",
"ysg = savitzky_golay(y, window_size=31, order=4)\n",
"plt.plot(t, y, label='Noisy signal')\n",
"plt.plot(t, np.exp(-t**2), 'k', lw=1.5, label='Original signal')\n",
"plt.plot(t, ysg, 'r', label='Filtered signal')\n",
"plt.legend()\n",
"plt.show()\n",
"```\n",
"\n",
"For more, see [Savitzky & Golay (1964)](https://doi.org/10.1021/ac60214a047) and of course, [Numerical Recipes](http://www.cambridge.org/9780521880688)."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"def savitzky_golay(y, window_size, order, deriv=0, rate=1):\n",
"\n",
" try:\n",
" window_size = np.abs(np.int(window_size))\n",
" order = np.abs(np.int(order))\n",
" except ValueError:\n",
" raise ValueError(\"window_size and order should be integers\")\n",
" if window_size % 2 != 1 or window_size < 1:\n",
" raise TypeError(\"window_size size must be positive and odd\")\n",
" if window_size < order + 2:\n",
" raise TypeError(\"window_size is too small for the polynomial's order\")\n",
" \n",
" half_window = (window_size-1) // 2\n",
" \n",
" # precompute coefficients\n",
" b = np.mat([[k**i for i in range(order+1)] for k in range(-half_window, half_window+1)])\n",
" m = np.linalg.pinv(b).A[deriv] * rate**deriv * np.math.factorial(deriv)\n",
" \n",
" # pad the signal at the extremes with values taken from the signal itself\n",
" firstvals = y[0] - np.abs( y[1:half_window+1][::-1] - y[0] )\n",
" lastvals = y[-1] + np.abs(y[-half_window-1:-1][::-1] - y[-1])\n",
" y = np.concatenate((firstvals, y, lastvals))\n",
" \n",
" return np.convolve( m[::-1], y, mode='valid')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"def sgolay2d(z, window_size, order, derivative=None):\n",
" \n",
" # number of terms in the polynomial expression\n",
" n_terms = ( order + 1 ) * ( order + 2) / 2.0\n",
"\n",
" if window_size % 2 == 0:\n",
" raise ValueError('window_size must be odd')\n",
"\n",
" if window_size**2 < n_terms:\n",
" raise ValueError('order is too high for the window size')\n",
"\n",
" half_size = window_size // 2\n",
"\n",
" # exponents of the polynomial. \n",
" # p(x,y) = a0 + a1*x + a2*y + a3*x^2 + a4*y^2 + a5*x*y + ... \n",
" # this line gives a list of two item tuple. Each tuple contains \n",
" # the exponents of the k-th term. First element of tuple is for x\n",
" # second element for y.\n",
" # Ex. exps = [(0,0), (1,0), (0,1), (2,0), (1,1), (0,2), ...]\n",
" exps = [ (k-n, n) for k in range(order+1) for n in range(k+1) ]\n",
"\n",
" # coordinates of points\n",
" ind = np.arange(-half_size, half_size+1, dtype=np.float64)\n",
" dx = np.repeat( ind, window_size )\n",
" dy = np.tile( ind, [window_size, 1]).reshape(window_size**2, )\n",
"\n",
" # build matrix of system of equation\n",
" A = np.empty( (window_size**2, len(exps)) )\n",
" for i, exp in enumerate( exps ):\n",
" A[:,i] = (dx**exp[0]) * (dy**exp[1])\n",
"\n",
" # pad input array with appropriate values at the four borders\n",
" new_shape = z.shape[0] + 2*half_size, z.shape[1] + 2*half_size\n",
" Z = np.zeros( (new_shape) )\n",
" # top band\n",
" band = z[0, :]\n",
" Z[:half_size, half_size:-half_size] = band - np.abs( np.flipud( z[1:half_size+1, :] ) - band )\n",
" # bottom band\n",
" band = z[-1, :]\n",
" Z[-half_size:, half_size:-half_size] = band + np.abs( np.flipud( z[-half_size-1:-1, :] ) -band )\n",
" # left band\n",
" band = np.tile( z[:,0].reshape(-1,1), [1,half_size])\n",
" Z[half_size:-half_size, :half_size] = band - np.abs( np.fliplr( z[:, 1:half_size+1] ) - band )\n",
" # right band\n",
" band = np.tile( z[:,-1].reshape(-1,1), [1,half_size] )\n",
" Z[half_size:-half_size, -half_size:] = band + np.abs( np.fliplr( z[:, -half_size-1:-1] ) - band )\n",
" # central band\n",
" Z[half_size:-half_size, half_size:-half_size] = z\n",
"\n",
" # top left corner\n",
" band = z[0,0]\n",
" Z[:half_size,:half_size] = band - np.abs( np.flipud(np.fliplr(z[1:half_size+1,1:half_size+1]) ) - band )\n",
" # bottom right corner\n",
" band = z[-1,-1]\n",
" Z[-half_size:,-half_size:] = band + np.abs( np.flipud(np.fliplr(z[-half_size-1:-1,-half_size-1:-1]) ) - band )\n",
"\n",
" # top right corner\n",
" band = Z[half_size,-half_size:]\n",
" Z[:half_size,-half_size:] = band - np.abs( np.flipud(Z[half_size+1:2*half_size+1,-half_size:]) - band )\n",
" # bottom left corner\n",
" band = Z[-half_size:,half_size].reshape(-1,1)\n",
" Z[-half_size:,:half_size] = band - np.abs( np.fliplr(Z[-half_size:, half_size+1:2*half_size+1]) - band )\n",
"\n",
" # solve system and convolve\n",
" if derivative == None:\n",
" m = np.linalg.pinv(A)[0].reshape((window_size, -1))\n",
" return fftconvolve(Z, m, mode='valid')\n",
" elif derivative == 'col':\n",
" c = np.linalg.pinv(A)[1].reshape((window_size, -1))\n",
" return fftconvolve(Z, -c, mode='valid')\n",
" elif derivative == 'row':\n",
" r = np.linalg.pinv(A)[2].reshape((window_size, -1))\n",
" return fftconvolve(Z, -r, mode='valid')\n",
" elif derivative == 'both':\n",
" c = np.linalg.pinv(A)[1].reshape((window_size, -1))\n",
" r = np.linalg.pinv(A)[2].reshape((window_size, -1))\n",
" return fftconvolve(Z, -r, mode='valid'), fftconvolve(Z, -c, mode='valid')"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 864x288 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# sample 2D data\n",
"x = np.linspace(-3,3,100)\n",
"y = np.linspace(-3,3,100)\n",
"X, Y = np.meshgrid(x,y)\n",
"\n",
"Z = np.exp( -(X**2+Y**2)) # pure function\n",
"Zn = Z + np.random.normal( 0, 0.2, Z.shape ) # added noise\n",
"Zf = sgolay2d( Zn, window_size=29, order=4) # re-filtered\n",
"\n",
"fig = plt.figure(figsize=(12,4))\n",
"axs = [fig.add_subplot(arr) for arr in [131,132,133]]\n",
"\n",
"for ax,mat in zip(axs,[Z,Zn,Zf]):\n",
" ax.matshow(mat)\n",
" ax.tick_params(axis='both',which='both',bottom=False,top=False,left=False,labeltop=False,labelleft=False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.9.13 64-bit (windows store)",
"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.13"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
},
"varInspector": {
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"delete_cmd_postfix": "",
"delete_cmd_prefix": "del ",
"library": "var_list.py",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"delete_cmd_postfix": ") ",
"delete_cmd_prefix": "rm(",
"library": "var_list.r",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
],
"window_display": false
},
"vscode": {
"interpreter": {
"hash": "ab71228b3e09297cc4e0c1b6adea629ded25da184e6754fb14ae42947e6aab48"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment