From 64f8a0a76e7ac620708f2751912eb5b5504d0b41 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sat, 11 Apr 2020 19:30:46 +0200 Subject: [PATCH] ex-1: rewrite the chapters for bootstrapping and kde --- notes/images/landau-kde.pdf | Bin 0 -> 53035 bytes notes/sections/1.md | 168 ++++++++++++++++++++++++------------ 2 files changed, 113 insertions(+), 55 deletions(-) create mode 100644 notes/images/landau-kde.pdf diff --git a/notes/images/landau-kde.pdf b/notes/images/landau-kde.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7f24a4d1acc1062ea4cdbe2f91145343328dfdda GIT binary patch literal 53035 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 IO$Ds~1NffoX#fBK literal 0 HcmV?d00001 diff --git a/notes/sections/1.md b/notes/sections/1.md index 7875d1e..da0f2f9 100644 --- a/notes/sections/1.md +++ b/notes/sections/1.md @@ -75,10 +75,12 @@ $u$-transform with the `gsl_sum_levin_utrunc_accel()` function. The algorithm terminates when the difference between two successive extrapolations reaches a minimum. -For $N = 1000$, the following results were obtained: +\clearpage - - $D = 0.020$ - - $p = 0.79$ +For $N = 50000$, the following results were obtained: + + - $D = 0.004$ + - $p = 0.38$ Hence, the data was reasonably sampled from a Landau distribution. @@ -100,8 +102,8 @@ idea which lies beneath most of them is to measure how far the parameters of the distribution are from the ones measured in the sample. The same principle can be used to verify if the generated sample effectively follows the Landau distribution. Since it turns out to be a very pathological -PDF, very few parameters can be easily checked: mode, median and -full-width-half-maximum (FWHM). +PDF, very few parameters can be easily checked: mode, median and full width at +half maximum (FWHM). ### Mode @@ -129,12 +131,12 @@ full-width-half-maximum (FWHM). \end{figure} The mode of a set of data values is defined as the value that appears most -often, namely: it is the maximum of the PDF. Since there is no closed form -for the mode of the Landau PDF, it was computed numerically by the *golden -section* method (`gsl_min_fminimizer_goldensection` in GSL), applied to $-f$ -with an arbitrary error of $10^{-2}$, giving: +often, namely: it is the maximum of the PDF. Since there is no closed form for +the mode of the Landau PDF, it was computed numerically by the *Brent* +algorithm (`gsl_min_fminimizer_brent` in GSL), applied to $-f$ with a relative +tolerance of $10^{-7}$, giving: $$ - \text{expected mode: } m_e = \SI{-0.2227830 \pm 0.0000001}{} + \text{expected mode: } m_e = \SI{-0.22278298 \pm 0.00000006}{} $$ This is a minimization algorithm that begins with a bounded region known to @@ -148,23 +150,36 @@ $$ f(x_\text{min}) > f(x_e) < f(x_\text{max}) $$ -On each iteration the interval is divided in a golden section (using the ratio -($(3 - \sqrt{5})/2 \approx 0.3819660$) and the value of the function at this new -point $x'$ is calculated. If the new point is a better estimate of the minimum, -namely if $f(x') < f(x_e)$, then the current estimate of the minimum is -updated. +On each iteration the function is interpolated by a parabola passing though the +points $x_\text{min}$, $x_e$, $x_\text{max}$ and the minimum is computed as the +vertex of the parabola. If this point is found to be inside the interval it's +taken as a guess for the true minimum; otherwise the method falls +back to a golden section (using the ratio $(3 - \sqrt{5})/2 \approx 0.3819660$ +proven to be optimal) of the interval. The value of the function at this new +point $x'$ is calculated. In any case if the new point is a better estimate of +the minimum, namely if $f(x') < f(x_e)$, then the current estimate of the +minimum is updated. The new point allows the size of the bounded interval to be reduced, by choosing the most compact set of points which satisfies the constraint $f(a) > f(x') < f(b)$ between $f(x_\text{min})$, $f(x_\text{min})$ and $f(x_e)$. The interval is reduced until it encloses the true minimum to a desired tolerance. +The error of the result is estimated by the length of the final interval. -In the sample, on the other hand, once the data were binned, the mode can be -estimated as the central value of the bin with maximum events and the error -is the half width of the bins. In this case, with 40 bins between -20 and 20, -the following result was obtained: +On the other hand, to compute the mode of the sample the half-sample mode (HSM) +or *Robertson-Cryer* estimator was used. This estimator was chosen because makes +no assumptions on the underlying distribution and is not computationally expensive. +The HSM is obtained by iteratively identifying the half modal interval, which +is the smallest interval containing half of the observation. Once the sample is +reduced to less that three points the mode is computed as the average. The +special case $n=3$ is dealt with by averaging the two closer points. +To obtain a better estimate of the mode and its error the above procedure was +bootstrapped. The original sample is treated as a population and used to build +other samples, of the same size, by *sampling with replacements*. For each one +of the new samples the above statistic is computed. By simply taking the +mean of these statistics the following estimate was obtained $$ - \text{observed mode: } m_o = \SI{0 \pm 1}{} + \text{observed mode: } m_o = \SI{-0.29 \pm 0.19}{} $$ In order to compare the values $m_e$ and $x_0$, the following compatibility @@ -179,11 +194,11 @@ where $\sigma_e$ and $\sigma_o$ are the absolute errors of $m_e$ and $m_o$ respectively. At 95% confidence level, the values are compatible if $p > 0.05$. In this case: -$$ - p = 0.82 -$$ + - t = 1.012 + - p = 0.311 -Thus, the observed value is compatible with the expected one. +Thus, the observed mode is compatible with the mode of the Landau distribution, +however the result is quite imprecise. ### Median @@ -200,9 +215,9 @@ sample size is odd, or the average of the two middle elements otherwise. The expected median was derived from the quantile function (QDF) of the Landau distribution[^1]. -Once this is know, the median is simply given by $QDF(1/2)$. +Once this is know, the median is simply given by $\text{QDF}(1/2)$. Since both the CDF and QDF have no known closed form they must -be computed numerically. The comulative probability has been computed by +be computed numerically. The cumulative probability has been computed by quadrature-based numerical integration of the PDF (`gsl_integration_qagiu()` function in GSL). The function calculate an approximation of the integral @@ -247,58 +262,101 @@ upper bound on the error of the root as $\varepsilon = |a-b|$. The tolerances here have been set to 0 and \SI{1e-3}{}. The result of the numerical computation is: - $$ \text{expected median: } m_e = \SI{1.3557804 \pm 0.0000091}{} $$ -while the sample median was found to be +while the sample median, obtained again by bootstrapping, was found to be +$$ + \text{observed median: } m_e = \SI{1.3605 \pm 0.0062}{} +$$ -$$ - \text{observed median: } m_e = \SI{1.3479314}{} -$$ +Applying again the t-test from before to this statistic: + + - $t=0.761$ + - $p=0.446$ + +This result is much more precise than the mode and the two values show +a good agreement. ### FWHM -The same approach was taken as regards the FWHM. This statistic is defined as -the distance between the two points at which the function assumes half times -the maximum value. Even in this case, there is not an analytic expression for -it, thus it was computed numerically ad follow. -First, some definitions must be given: - +For a unimodal distribution (having a single peak) this statistic is defined as +the distance between the two points at which the PDF attains half the maximum +value. For the Landau distribution, again, there is no analytic expression +known, thus the FWHM was computed numerically as follows. First of all, some +definitions must be given: $$ - f_{\text{max}} := f(m_e) \et \text{FWHM} = x_+ - x_- \with - f(x_{\pm}) = \frac{f_{\text{max}}}{2} + f_{\text{max}} = f(m_e) \et \text{FWHM} = x_+ - x_- \with + f(x_\pm) = \frac{f_\text{max}}{2} $$ -then the function $f'(x)$ was minimized using the same minimization method -used for finding $m_e$, dividing the range into $[x_\text{min}, m_e]$ and -$[m_e, x_\text{max}]$ (where $x_\text{min}$ and $x_\text{max}$ are the limits -in which the points have been sampled) in order to be able to find both the -minima of the function: - +The function $f'(x)$ was minimized using the same minimization method +used for finding $m_e$. Once $f_\text{max}$ is known, the equation $$ - f'(x) = \left|f(x) - \frac{f_{\text{max}}}{2}\right| + f'(x) = \frac{f_\text{max}}{2} $$ -resulting in: +is solved by performing the Brent-Dekker method (described before) in the +ranges $[x_\text{min}, m_e]$ and $[m_e, x_\text{max}]$ yielding the two +solutions $x_\pm$. With a relative tolerance of \SI{1e-7}{} the following +result was obtained: $$ - \text{expected FWHM: } w_e = \SI{4.0186457 \pm 0.0000001}{} +\text{expected FWHM: } w_e = \SI{4.0186457 \pm 0.0000001}{} +$$ +\vspace{-1em} + +![Example of a Moyal distribution density obtained by + the KDE method described above. The rug plot shows the original + sample used in the reconstruction.](images/landau-kde.pdf) + +On the other hand, obtaining a good estimate of the FWHM from a sample is much +more difficult. In principle it could be measured by binning the data and +applying the definition to the discretised values, however this yields very +poor results and depends on an completely arbitrary parameter: the bin width. +A more refined method to construct an nonparametric empirical PDF function from +the sample is a kernel density estimation (KDE). This method consist in +convolving the (ordered) data with a smooth symmetrical kernel, in this cause a +standard gaussian function. Given a sample $\{x_i\}_{i=1}^N$, the empirical PDF +is thus constructed as +$$ + f_\varepsilon(x) = \frac{1}{N\varepsilon} \sum_{i = 1}^N + \mathcal{N}\left(\frac{x-x_i}{\varepsilon}\right) $$ -On the other hand, the observed FWHM was computed as the difference between -the center of the bins with the values closer to $\frac{f_{\text{max}}}{2}$ -and the error was taken as twice the width of the bins, obtaining: - +where $\varepsilon$ is called the *bandwidth* and is a parameter that controls +the strength of the smoothing. This parameter can be determined in several +ways: bootstrapping, cross-validation, etc. For simplicity it was chosen +to use Silverman's rule of thumb, which gives $$ - \text{observed FWHM: } w_o = \SI{4 \pm 2}{} + \varepsilon = 0.63 S_N + \left(\frac{d + 2}{4}N\right)^{-1/(d + 4)} $$ -This two values turn out to be compatible too, with: +where + - $S_N$ is the sample standard deviation. + + - $d$ is ne number of dimensions, in this case $d=1$ + +The $0.63$ factor was chosen to compensate for the distortion that +systematically reduces the peaks height, which affects the estimation of the +mode. + +With the empirical density estimation at hand, the FWHM can be computed by the +same numerical method described for the true PDF. Again this was bootstrapped +to estimate the standard error giving: $$ - p = 0.99 + \text{observed FWHM: } w_o = \SI{4.06 \pm 0.08}{} $$ +Applying the t-test to these two values gives + + - $t=0.495$ + - $p=0.620$ + +which shows a very good agreement and proves the estimator is robust. +For reference, the initial estimation based on an histogram gave a rather +inadequate \si{4 \pm 2}.