{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## ThinkDSP\n", "\n", "This notebook contains code examples from Chapter 5: Autocorrelation\n", "\n", "Copyright 2015 Allen Downey\n", "\n", "License: [Creative Commons Attribution 4.0 International](http://creativecommons.org/licenses/by/4.0/)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "# Get thinkdsp.py\n", "\n", "import os\n", "\n", "if not os.path.exists('thinkdsp.py'):\n", " !wget https://github.com/AllenDowney/ThinkDSP/raw/master/code/thinkdsp.py" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from thinkdsp import decorate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To investigate serial correlation of signals, let's start with a sine wave at 440 Hz." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "from thinkdsp import SinSignal\n", "\n", "def make_sine(offset):\n", " signal = SinSignal(freq=440, offset=offset)\n", " wave = signal.make_wave(duration=0.5, framerate=10000)\n", " return wave" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I'll make two waves with different phase offsets." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "wave1 = make_sine(offset=0)\n", "wave2 = make_sine(offset=1)\n", "\n", "wave1.segment(duration=0.01).plot()\n", "wave2.segment(duration=0.01).plot()\n", "decorate(xlabel='Time (s)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The two waves appears correlated: when one is high, the other is usually high, too.\n", "\n", "We can use `np.corrcoef` to compute the correlation matrix." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1. 0.54030231]\n", " [0.54030231 1. ]]\n" ] } ], "source": [ "print(np.corrcoef(wave1.ys, wave2.ys))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The diagonal elements are the correlations of the waves with themselves, which is why they are 1.\n", "The off-diagonal elements are the correlations between the two waves. In this case, 0.54 indicates that there is a moderate correlation between these waves.\n", "\n", "The correlation matrix is more interesting when there are more than two waves. With only two waves, there is really only one number in the matrix we care about.\n", "\n", "` Wave` provides `corr`, which computes the correlation between waves:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "0.5403023058681397" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wave1.corr(wave2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To investigate the relationship between phase offset and correlation, I'll make an interactive function that computes correlation for each offset:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "def compute_corr(offset):\n", " wave1 = make_sine(offset=0)\n", " wave2 = make_sine(offset=-offset)\n", "\n", " wave1.segment(duration=0.01).plot()\n", " wave2.segment(duration=0.01).plot()\n", " \n", " corr = wave1.corr(wave2)\n", " print('corr =', corr)\n", " \n", " decorate(xlabel='Time (s)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following interaction plots waves with different phase offsets and prints their correlations:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "930ab52e67d649dca4ec11ac03f6cf8f", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(FloatSlider(value=1.0, description='offset', max=6.283185307179586), Output()), _dom_cla…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from ipywidgets import interact, interactive, fixed\n", "import ipywidgets as widgets\n", "\n", "PI2 = np.pi * 2\n", "slider = widgets.FloatSlider(min=0, max=PI2, value=1)\n", "interact(compute_corr, offset=slider);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can plot correlation as a function of offset:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "offsets = np.linspace(0, PI2, 101)\n", "\n", "corrs = []\n", "for offset in offsets:\n", " wave2 = make_sine(offset)\n", " corr = np.corrcoef(wave1.ys, wave2.ys)[0, 1]\n", " corrs.append(corr)\n", " \n", "plt.plot(offsets, corrs)\n", "decorate(xlabel='Offset (radians)',\n", " ylabel='Correlation')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That curve is a cosine.\n", "\n", "Next we'll compute serial correlations for different kinds of noise." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "def serial_corr(wave, lag=1):\n", " N = len(wave)\n", " y1 = wave.ys[lag:]\n", " y2 = wave.ys[:N-lag]\n", " corr = np.corrcoef(y1, y2)[0, 1]\n", " return corr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We expect uncorrelated noise to be... well... uncorrelated." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "-0.004995889625877853" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from thinkdsp import UncorrelatedGaussianNoise\n", "\n", "signal = UncorrelatedGaussianNoise()\n", "wave = signal.make_wave(duration=0.5, framerate=11025)\n", "serial_corr(wave)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected, the serial correlation is near 0.\n", "\n", "In Brownian noise, each value is the sum of the previous value and a random \"step\", so we expect a strong serial correlation:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "0.9986884140750844" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from thinkdsp import BrownianNoise\n", "\n", "signal = BrownianNoise()\n", "wave = signal.make_wave(duration=0.5, framerate=11025)\n", "serial_corr(wave)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In fact, the correlation is near 1.\n", "\n", "Since pink noise is between white and Brownian, we expect an intermediate correlation." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "0.7702005364615003" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from thinkdsp import PinkNoise\n", "\n", "signal = PinkNoise(beta=1)\n", "wave = signal.make_wave(duration=0.5, framerate=11025)\n", "serial_corr(wave)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we get one.\n", "\n", "Now we can plot serial correlation as a function of the pink noise parameter $\\beta$." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "np.random.seed(19)\n", "\n", "betas = np.linspace(0, 2, 21)\n", "corrs = []\n", "\n", "for beta in betas:\n", " signal = PinkNoise(beta=beta)\n", " wave = signal.make_wave(duration=1.0, framerate=11025)\n", " corr = serial_corr(wave)\n", " corrs.append(corr)\n", " \n", "plt.plot(betas, corrs)\n", "decorate(xlabel=r'Pink noise parameter, $\\beta$',\n", " ylabel='Serial correlation')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The autocorrelation function calls `serial_corr` with different values of `lag`." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "def autocorr(wave):\n", " \"\"\"Computes and plots the autocorrelation function.\n", "\n", " wave: Wave\n", " \n", " returns: tuple of sequences (lags, corrs)\n", " \"\"\"\n", " lags = np.arange(len(wave.ys)//2)\n", " corrs = [serial_corr(wave, lag) for lag in lags]\n", " return lags, corrs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can plot autocorrelation for pink noise with various values of $\\beta$." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "def plot_pink_autocorr(beta, label):\n", " signal = PinkNoise(beta=beta)\n", " wave = signal.make_wave(duration=1.0, framerate=10000)\n", " lags, corrs = autocorr(wave)\n", " plt.plot(lags, corrs, label=label)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "np.random.seed(19)\n", "\n", "for beta in [1.7, 1.0, 0.3]:\n", " label = r'$\\beta$ = %.1f' % beta\n", " plot_pink_autocorr(beta, label)\n", "\n", "decorate(xlabel='Lag', \n", " ylabel='Correlation')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For low values of $\\beta$, the autocorrelation function drops off quickly. As $\\beta$ increases, pink noise shows more long range dependency." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's investigate using autocorrelation for pitch tracking. I'll load a recording of someone singing a chirp:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "if not os.path.exists('28042__bcjordan__voicedownbew.wav'):\n", " !wget https://github.com/AllenDowney/ThinkDSP/raw/master/code/28042__bcjordan__voicedownbew.wav" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from thinkdsp import read_wave\n", "\n", "wave = read_wave('28042__bcjordan__voicedownbew.wav')\n", "wave.normalize()\n", "wave.make_audio()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The spectrum tells us what frequencies are present, but for chirps, the frequency components are blurred over a range:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "spectrum = wave.make_spectrum()\n", "spectrum.plot()\n", "decorate(xlabel='Frequency (Hz)', ylabel='Amplitude')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The spectrogram gives a better picture of how the components vary over time:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "spectro = wave.make_spectrogram(seg_length=1024)\n", "spectro.plot(high=4200)\n", "decorate(xlabel='Time (s)', \n", " ylabel='Frequency (Hz)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see the fundamental frequency clearly, starting near 500 Hz and dropping. Some of the harmonics are also visible.\n", "\n", "To track the fundamental frequency, we can take a short window:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "duration = 0.01\n", "segment = wave.segment(start=0.2, duration=duration)\n", "segment.plot()\n", "decorate(xlabel='Time (s)')" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "spectrum = segment.make_spectrum()\n", "spectrum.plot(high=1000)\n", "decorate(xlabel='Frequency (Hz)', ylabel='Amplitude')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The spectrum shows a clear peak near 400 Hz, but we can't get an very accurate estimate of frequency, partly because the peak is blurry, and partly because even if it were a perfect spike, the frequency resolution is not very good." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "(441, 44100, 100.22727272727273)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(segment), segment.framerate, spectrum.freq_res" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Each element of the spectrum spans a range of 100 Hz, so we can't get an accurate estimate of the fundamental frequency. \n", "\n", "For signals that are at least approximately periodic, we can do better by estimating the length of the period.\n", "\n", "The following function plots the segment, and a shifted version of the segment, and computes the correlation between them:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def plot_shifted(wave, offset=0.001, start=0.2):\n", " segment1 = wave.segment(start=start, duration=0.01)\n", " segment1.plot(linewidth=2, alpha=0.8)\n", "\n", " # start earlier and then shift times to line up\n", " segment2 = wave.segment(start=start-offset, duration=0.01)\n", " segment2.shift(offset)\n", " segment2.plot(linewidth=2, alpha=0.4)\n", "\n", " corr = segment1.corr(segment2)\n", " text = r'$\\rho =$ %.2g' % corr\n", " plt.text(segment1.start+0.0005, -0.8, text)\n", " decorate(xlabel='Time (s)')\n", "\n", "plot_shifted(wave, 0.0001)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With a small shift the segments are still moderately correlated. As the shift increases, the correlation falls for a while, then rises again, peaking when the shift equals the period of the signal.\n", "\n", "You can use the following interaction to search for the shift that maximizes correlation:" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "7f6f2314b1c6449a8ff3f360a0eec339", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(FloatSlider(value=0.0, description='offset', max=0.004, step=0.0001), FloatSlider(value=…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "end = 0.004\n", "slider1 = widgets.FloatSlider(min=0, max=end, step=end/40, value=0)\n", "slider2 = widgets.FloatSlider(min=0.1, max=0.5, step=0.05, value=0.2)\n", "interact(plot_shifted, wave=fixed(wave), offset=slider1, start=slider2);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `autocorr` function automates this process by computing the correlation for each possible lag, up to half the length of the wave." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following figure shows this autocorrelation as a function of lag:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [], "source": [ "wave = read_wave('28042__bcjordan__voicedownbew.wav')\n", "wave.normalize()\n", "duration = 0.01\n", "segment = wave.segment(start=0.2, duration=duration)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "lags, corrs = autocorr(segment)\n", "plt.plot(lags, corrs)\n", "decorate(xlabel='Lag (index)', ylabel='Correlation')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first peak (other than 0) is near lag=100.\n", "\n", "We can use `argmax` to find the index of that peak:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "101" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "low, high = 90, 110\n", "lag = np.array(corrs[low:high]).argmax() + low\n", "lag" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can convert from an index to a time in seconds:" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "0.002290249433106576" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "period = lag / segment.framerate\n", "period" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given the period in seconds, we can compute frequency:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "436.63366336633663" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "frequency = 1 / period\n", "frequency" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This should be a better estimate of the fundamental frequency. We can approximate the resolution of this estimate by computing how much we would be off by if the index were off by 1:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "text/plain": [ "(432.3529411764706, 441.0)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "segment.framerate / 102, segment.framerate / 100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The range is less than 10 Hz.\n", "\n", "The function I wrote to compute autocorrelations is slow; `np.correlate` is much faster." ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "N = len(segment)\n", "corrs2 = np.correlate(segment.ys, segment.ys, mode='same')\n", "lags = np.arange(-N//2, N//2)\n", "plt.plot(lags, corrs2)\n", "decorate(xlabel='Lag', ylabel='Correlation')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`np.correlate` computes correlations for positive and negative lags, so lag=0 is in the middle. For our purposes, we only care about positive lags.\n", "\n", "Also, `np.correlate` doesn't correct for the fact that the number of overlapping elements changes as the lag increases.\n", "\n", "The following code selects the second half of the results and corrects for the length of the overlap:" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "N = len(corrs2)\n", "lengths = range(N, N//2, -1)\n", "\n", "half = corrs2[N//2:].copy()\n", "half /= lengths\n", "half /= half[0]\n", "plt.plot(half)\n", "decorate(xlabel='Lag', ylabel='Correlation')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the result is similar to what we computed before.\n", "\n", "If we plot the results computed by NumPy and my implementation, they are visually similar. They are not quite identical because my version and theirs are normalized differently." ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(half)\n", "plt.plot(corrs)\n", "decorate(xlabel='Lag', ylabel='Correlation')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The difference between the NumPy implementation and mine is less than 0.02 over most of the range." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "diff = corrs - half[:-1]\n", "plt.plot(diff)\n", "decorate(xlabel='Lag', ylabel='Difference in correlation')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "jupyter": { "outputs_hidden": false } }, "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.8.12" } }, "nbformat": 4, "nbformat_minor": 4 }