You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ah...@apache.org on 2022/12/01 16:47:13 UTC

svn commit: r58392 [10/50] - in /dev/commons/statistics/1.0-RC1: ./ binaries/ site/ site/css/ site/images/ site/images/logos/ site/img/ site/js/ site/release-notes/ site/style/ site/userguide/ site/xref-test/ site/xref-test/org/ site/xref-test/org/apac...

Added: dev/commons/statistics/1.0-RC1/site/userguide/index.html
==============================================================================
--- dev/commons/statistics/1.0-RC1/site/userguide/index.html (added)
+++ dev/commons/statistics/1.0-RC1/site/userguide/index.html Thu Dec  1 16:47:12 2022
@@ -0,0 +1,638 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 01 December 2022
+ | Rendered using Apache Maven Fluido Skin 1.3.0
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+                    <meta name="Date-Revision-yyyymmdd" content="20221201" />
+            <meta http-equiv="Content-Language" content="en" />
+        <title>Statistics &#x2013; Apache Commons Statistics User Guide</title>
+
+    <link rel="stylesheet" href="../css/bootstrap.min.css" type="text/css" />
+    <link rel="stylesheet" href="../css/site.css" type="text/css" />
+    <link rel="stylesheet" href="../css/print.css" media="print" />
+
+    <script type="text/javascript" src="../js/jquery.min.js"></script>
+    <script type="text/javascript" src="../js/bootstrap.min.js"></script>
+    <script type="text/javascript" src="../js/prettify.min.js"></script>
+    <script type="text/javascript" src="../js/site.js"></script>
+
+                                                                <script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
+<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>    
+      </head>
+
+  <body class="composite">
+                      <a href="https://commons.apache.org/" id="bannerLeft" title="Apache Commons logo">
+                                                                    <img class="logo-left" src="      ../images/commons-logo.png
+"  alt="Apache Commons logo"/>
+              </a>
+                                          <a href="../index.html" id="bannerRight">
+                                                                          <img class="logo-right" src="    ../images/commons_statistics.small.png
+"  alt="Apache Commons Statistics"/>
+              </a>
+          <div class="clear"></div>
+
+    <div class="navbar">
+      <div class="navbar-inner">
+        <div class="container-fluid">
+          <a class="brand" href="https://commons.apache.org/proper/commons-statistics/">Apache Commons Statistics &trade;</a>
+          <ul class="nav">      
+                    
+          <li id="publishDate">Last Published: 01 December 2022</li>
+    <li class="divider">|</li> <li id="projectVersion">Version: 1.0</li>
+  </ul>
+          <div class="pull-right">  <ul class="nav">
+            <li>
+                  <a href="https://www.apachecon.com/" class="externalLink" title="ApacheCon">
+    ApacheCon</a>
+      </li>
+          <li>
+                  <a href="https://www.apache.org" class="externalLink" title="Apache">
+    Apache</a>
+      </li>
+          <li>
+                  <a href="../../../" title="Commons">
+    Commons</a>
+      </li>
+    </ul>
+</div>
+        </div>
+      </div>
+    </div>
+
+    <div class="container-fluid">
+      <table class="layout-table">
+        <tr>
+          <td class="sidebar">
+            <div class="well sidebar-nav">
+                    <ul class="nav nav-list">
+                           <li class="nav-header">Statistics</li>
+                                        <li class="none">
+                  <a href="../index.html" title="Overview">
+    Overview</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../statistics/download_statistics.cgi" title="Downloads">
+    Downloads</a>
+          </li>
+                             <li class="none">
+                  <a href="../issue-tracking.html" title="Issue Tracking">
+    Issue Tracking</a>
+          </li>
+                             <li class="none">
+                  <a href="https://gitbox.apache.org/repos/asf/commons-statistics.git" class="externalLink" title="Source Repository (current)">
+    Source Repository (current)</a>
+          </li>
+                             <li class="none">
+                  <a href="../developers.html" title="Developers Guide">
+    Developers Guide</a>
+          </li>
+                 </ul>
+      <ul class="nav nav-list">
+                                 <li class="nav-header"><i class="icon-book"></i>User Guide</li>
+                                        <li class="none">
+                  <a href="../userguide/index.html#toc" title="Contents">
+    Contents</a>
+          </li>
+                             <li class="none">
+                  <a href="../userguide/index.html#overview" title="Overview">
+    Overview</a>
+          </li>
+                             <li class="none">
+                  <a href="../userguide/index.html#example-modules" title="Example Modules">
+    Example Modules</a>
+          </li>
+                             <li class="none">
+                  <a href="../userguide/index.html#distributions" title="Probability Distributions">
+    Probability Distributions</a>
+          </li>
+                 </ul>
+      <ul class="nav nav-list">
+                                 <li class="nav-header"><i class="icon-info-sign"></i>Project Documentation</li>
+                                                                                                                                                                                                                                                                                                                  <li class="collapsed">
+                  <a href="../project-info.html" title="Project Information">
+    Project Information</a>
+                    </li>
+                                                                                                                                                                                           <li class="collapsed">
+                  <a href="../project-reports.html" title="Project Reports">
+    Project Reports</a>
+                    </li>
+                 </ul>
+      <ul class="nav nav-list">
+                           <li class="nav-header">Commons</li>
+                                        <li class="none">
+                  <a href="../../../" title="Home">
+    Home</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/licenses/" class="externalLink" title="License">
+    License</a>
+          </li>
+                                                                               <li class="collapsed">
+                  <a href="../../../components.html" title="Components">
+    Components</a>
+                    </li>
+                                                                               <li class="collapsed">
+                  <a href="../../../sandbox/index.html" title="Sandbox">
+    Sandbox</a>
+                    </li>
+                                                                               <li class="collapsed">
+                  <a href="../../../dormant/index.html" title="Dormant">
+    Dormant</a>
+                    </li>
+                 </ul>
+      <ul class="nav nav-list">
+                           <li class="nav-header">General Information</li>
+                                        <li class="none">
+                  <a href="../../../security.html" title="Security">
+    Security</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../volunteering.html" title="Volunteering">
+    Volunteering</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../patches.html" title="Contributing Patches">
+    Contributing Patches</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../building.html" title="Building Components">
+    Building Components</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../commons-parent-pom.html" title="Commons Parent Pom">
+    Commons Parent Pom</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../build-plugin/index.html" title="Commons Build Plugin">
+    Commons Build Plugin</a>
+          </li>
+                             <li class="none">
+                  <a href="../../../releases/index.html" title="Releasing Components">
+    Releasing Components</a>
+          </li>
+                             <li class="none">
+                  <a href="https://cwiki.apache.org/confluence/display/commons/FrontPage" class="externalLink" title="Wiki">
+    Wiki</a>
+          </li>
+                 </ul>
+      <ul class="nav nav-list">
+                           <li class="nav-header">ASF</li>
+                                        <li class="none">
+                  <a href="https://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How the ASF works">
+    How the ASF works</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/foundation/getinvolved.html" class="externalLink" title="Get Involved">
+    Get Involved</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/dev/" class="externalLink" title="Developer Resources">
+    Developer Resources</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/foundation/policies/conduct.html" class="externalLink" title="Code of Conduct">
+    Code of Conduct</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">
+    Sponsorship</a>
+          </li>
+                             <li class="none">
+                  <a href="https://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">
+    Thanks</a>
+          </li>
+                 </ul>
+              </div>
+            <div id="poweredBy">
+                                                                                                                    <a href="https://www.apache.org/events/current-event.html" title="ApacheCon" class="builtBy">
+        <img class="builtBy"  alt="ApacheCon" src="https://www.apache.org/events/current-event-125x125.png"    />
+      </a>
+                                                                                                    <a href="https://maven.apache.org/" title="Maven" class="builtBy">
+        <img class="builtBy"  alt="Maven" src="https://maven.apache.org/images/logos/maven-feather.png"    />
+      </a>
+                      </div>
+          </td>
+          <td class="content">
+                                                                                                      
+  
+
+    <a name="page_title"></a><section id="page_title">
+<h2></h2>
+      
+<h1>Apache Commons Statistics User Guide</h1>
+    </section>
+
+    <a name="toc"></a><section id="toc">
+<h2><a name="Contents"></a>Contents</h2>
+      
+<ul>
+        
+<li>
+          <a href="#overview">Overview</a>
+        </li>
+        
+<li>
+          <a href="#example-modules">Example Modules</a>
+        </li>
+        
+<li>
+          <a href="#distributions">Probability Distributions</a>
+          
+<ul>
+            
+<li>
+              <a href="#dist_overview">Overview</a>
+            </li>
+            
+<li>
+              <a href="#dist_api">API</a>
+            </li>
+            
+<li>
+              <a href="#dist_imp_details">Implementation Details</a>
+            </li>
+            
+<li>
+              <a href="#dist_complements">Complementary Probabilities</a>
+            </li>
+          </ul>
+        </li>
+
+      </ul>
+    </section>
+
+    <a name="overview"></a><section id="overview">
+<h2><a name="Overview"></a>Overview</h2>
+      
+<p>
+        Apache Commons Statistics provides utilities for statistical applications. The code
+        originated in the <code><a class="externalLink" href="https://commons.apache.org/proper/commons-math/">
+        commons-math</a></code> project but was pulled out into a separate project for better
+        maintainability and has since undergone numerous improvements.
+      </p>
+
+      
+<p>
+        Commons Statistics is divided into a number of submodules:
+      </p>
+      
+<ul>
+        
+<li>
+          <code><a href="../commons-statistics-distribution/index.html">
+          commons-statistics-distribution</a></code> - Provides interfaces
+          and classes for probability distributions.
+        </li>
+      </ul>
+    </section>
+
+    <a name="example-modules"></a><section id="example-modules">
+<h2><a name="Example_Modules"></a>Example Modules</h2>
+      
+<p>
+        In addition to the modules above, the Commons Statistics
+        <a class="externalLink" href="https://commons.apache.org/statistics/download_statistics.cgi">source distribution</a>
+        contains example code demonstrating library functionality and/or providing useful
+        development utilities. These modules are not part of the public API of the library and no
+        guarantees are made concerning backwards compatibility. The
+        <a href="../commons-statistics-examples/modules.html">example module parent page</a>
+        contains a listing of available modules.
+      </p>
+      <hr />
+    </section>
+
+    <a name="distributions"></a><section id="distributions">
+<h2><a name="Probability_Distributions"></a>Probability Distributions</h2>
+      <a name="dist_overview"></a><section id="dist_overview">
+<h3><a name="Overview"></a>Overview</h3>
+        
+<p>
+          The <code>commons-statistics-distribution</code> module provides a framework and implementations for some commonly used
+          probability distributions. Continuous univariate distributions are represented by
+          implementations of the
+          <a href="../commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/ContinuousDistribution.html">ContinuousDistribution</a>
+          interface.  Discrete distributions implement
+          <a href="../commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/DiscreteDistribution.html">DiscreteDistribution</a>
+          (values must be mapped to integers).
+        </p>
+      </section>
+      <a name="dist_api"></a><section id="dist_api">
+<h3><a name="API"></a>API</h3>
+        
+<p>
+          The distribution framework provides the means to compute probability density,
+          probability mass and cumulative probability functions for several well-known
+          discrete (integer-valued) and continuous probability distributions.
+          The API also allows for the computation of inverse cumulative probabilities
+          and sampling from distributions.
+        </p>
+        
+<p>
+          For an instance <code>f</code> of a distribution <code>F</code>,
+          and a domain value, <code>x</code>, <code>f.cumulativeProbability(x)</code>
+          computes <code>P(X &lt;= x)</code> where <code>X</code> is a random variable distributed
+          as <code>F</code>. The complement of the cumulative probability,
+          <code>f.survivalProbability(x)</code> computes <code>P(X &gt; x)</code>. Note that
+          the survival probability is approximately equal to <code>1 - P(X &lt;= x)</code> but
+          does not suffer from cancellation error as the cumulative probability approaches 1.
+          The cancellation error may cause a (total) loss of accuracy when
+          <code>P(X &lt;= x) ~ 1</code>
+          (see <a href="#complements">complementary probabilities</a>).
+        </p>
+
+<div class="source">
+<pre class="prettyprint">
+TDistribution t = TDistribution.of(29);
+double lowerTail = t.cumulativeProbability(-2.656);   // P(T(29) &lt;= -2.656)
+double upperTail = t.survivalProbability(2.75);       // P(T(29) &gt; 2.75)
+</pre></div>
+        
+<p>
+          For <a href="../commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/DiscreteDistribution.html">discrete</a>
+          <code>F</code>, the probability mass function is given by <code>f.probability(x)</code>.
+          For <a href="../commons-statistics-distribution/apidocs/org/apache/commons/statistics/distribution/ContinuousDistribution.html">continuous</a>
+          <code>F</code>, the probability density function is given by <code>f.density(x)</code>.
+          Distributions also implement <code>f.probability(x1, x2)</code> for computing
+          <code>P(x1 &lt; X &lt;= x2)</code>.
+        </p>
+
+<div class="source">
+<pre class="prettyprint">
+PoissonDistribution pd = PoissonDistribution.of(1.23);
+double p1 = pd.probability(5);
+double p2 = pd.probability(5, 5);
+double p3 = pd.probability(4, 5);
+// p2 == 0
+// p1 == p3
+</pre></div>
+        
+<p>
+          Inverse distribution functions can be computed using the
+          <code>inverseCumulativeProbability</code> and <code>inverseSurvivalProbability</code>
+          methods. For continuous <code>f</code> and <code>p</code> a probability,
+          <code>f.inverseCumulativeProbability(p)</code> returns
+        </p>
+        
+<p>
+          \[ x = \begin{cases}
+             \inf \{ x \in \mathbb R : P(X \le x) \ge p\}   &amp; \text{for } 0 \lt p \le 1 \\
+             \inf \{ x \in \mathbb R : P(X \le x) \gt 0 \}  &amp; \text{for } p = 0
+             \end{cases} \]
+        </p>
+        
+<p>
+          where <code>X</code> is distributed as <code>F</code>.<br />
+          Likewise <code>f.inverseSurvivalProbability(p)</code> returns
+        </p>
+        
+<p>
+          \[ x = \begin{cases}
+             \inf \{ x \in \mathbb R : P(X \ge x) \le p\}   &amp; \text{for } 0 \le p \lt 1 \\
+             \inf \{ x \in \mathbb R : P(X \ge x) \lt 1 \}  &amp; \text{for } p = 1
+             \end{cases} \]
+        </p>
+
+<div class="source">
+<pre class="prettyprint">
+NormalDistribution n = NormalDistribution.of(0, 1);
+double x1 = n.inverseCumulativeProbability(1e-300);
+double x2 = n.inverseSurvivalProbability(1e-300);
+// x1 == -x2 ~ -37.0471
+</pre></div>
+        
+<p>
+          For discrete <code>F</code>, the definition is the same, with \( \mathbb Z \)
+          (the integers) in place of \( \mathbb R \) (but note that, in the discrete case,
+          the &#x2265; in the definition can make a difference when <code>p</code> is an attained
+          value of the distribution).
+        </p>
+        
+<p>
+          All distributions provide accessors for the parameters used to create the distribution,
+          and a mean and variance. The return value when the mean or variance
+          is undefined is noted in the class javadoc.
+        </p>
+
+<div class="source">
+<pre class="prettyprint">
+ChiSquaredDistribution chi2 = ChiSquaredDistribution.of(42);
+double df = chi2.getDegreesOfFreedom();    // 42
+double mean = chi2.getMean();              // 42
+double variance = chi2.getVariance();      // 84
+
+CauchyDistribution cauchy = CauchyDistribution.of(1.23, 4.56);
+double location = cauchy.getLocation();    // 1.23
+double scale = cauchy.getScale();          // 4.56
+double undefined1 = cauchy.getMean();      // NaN
+double undefined2 = cauchy.getVariance();  // NaN
+</pre></div>
+        
+<p>
+          The supported domain of the distribution is provided by the
+          <code>getSupportLowerBound</code> and <code>getSupportUpperBound</code> methods.
+        </p>
+
+<div class="source">
+<pre class="prettyprint">
+BinomialDistribution b = BinomialDistribution.of(13, 0.15);
+int lower = b.getSupportLowerBound();  // 0
+int upper = b.getSupportUpperBound();  // 13
+</pre></div>
+        
+<p>
+          All distributions implement a <code>createSampler(UniformRandomProvider rng)</code>
+          method to support random sampling from the distribution, where <code>UniformRandomProvider</code>
+          is an interface defined in <a class="externalLink" href="https://commons.apache.org/proper/commons-rng/">Commons RNG</a>.
+          The sampler is a functional interface whose functional method is <code>sample()</code>,
+          suitable for generation of <code>double</code> or <code>int</code> samples.
+          Default <code>samples()</code> methods are provided to create a
+          <code>DoubleStream</code> or <code>IntStream</code>.
+        </p>
+
+<div class="source">
+<pre class="prettyprint">
+// From Commons RNG Simple
+UniformRandomProvider rng = RandomSource.KISS.create(123L);
+
+NormalDistribution n = NormalDistribution.of(0, 1);
+double x = n.createSampler(rng).sample();
+
+// Generate a number of samples
+GeometricDistribution g = GeometricDistribution.of(0.75);
+int[] k = g.createSampler(rng).samples(100).toArray();
+// k.length == 100
+</pre></div>
+        
+<p>
+          Note that even when distributions are immutable, the sampler is not immutable as it
+          depends on the instance of the mutable <code>UniformRandomProvider</code>. Generation of
+          many samples in a multi-threaded application should use a separate instance of
+          <code>UniformRandomProvider</code> per thread. Any synchronization should be avoided
+          for best performance. By default the streams returned from the <code>samples()</code>
+          methods are sequential.
+        </p>
+      </section>
+      <a name="dist_imp_details"></a><section id="dist_imp_details">
+<h3><a name="Implementation_Details"></a>Implementation Details</h3>
+        
+<p>
+          Instances are constructed using factory methods, typically a static method in the
+          distribution class named <code>of</code>. This allows the returned instance
+          to be specialised to the distribution parameters.
+        </p>
+        
+<p>
+          Exceptions will be raised by the factory method when constructing the distribution
+          using invalid parameters. See the class javadoc for exception conditions.
+        </p>
+        
+<p>
+          Unless otherwise noted, distribution instances are immutable. This allows sharing
+          an instance between threads for computations.
+        </p>
+        
+<p>
+          Exceptions will not be raised by distributions for an invalid <code>x</code> argument
+          to probability functions. Typically the cumulative probability functions will return
+          0 or 1 for an out-of-domain argument, depending on which the side of the domain bound
+          the argument falls, and the density or probability mass functions return 0.
+          Return values for <code>x</code> arguments when the result is
+          undefined should be documented in the class javadoc. For example the beta distribution
+          is undefined for <code>x = 0, alpha &lt; 1</code> or <code>x = 1, beta &lt; 1</code>.
+          Note: This out-of-domain behaviour may be different from distributions in the
+          <code>org.apache.commons.math3.distribution</code> package. Users upgrading from
+          <code><a class="externalLink" href="https://commons.apache.org/proper/commons-math/">commons-math</a></code>
+          should check the appropriate class javadoc.
+        </p>
+        
+<p>
+          An exception will be raised by distributions for an invalid <code>p</code> argument
+          to inverse probability functions. The argument must be in the range <code>[0, 1]</code>.
+        </p>
+      </section>
+      <a name="dist_complements"></a><section id="dist_complements">
+<h3><a name="Complementary_Probabilities"></a>Complementary Probabilities</h3>
+        
+<p>
+          The distributions provide the cumulative probability <code>p</code> and its complement,
+          the survival probability, <code>q = 1 - p</code>. When the probability
+          <code>q</code> is small use of the cumulative probability to compute <code>q</code> can
+          result in dramatic loss of accuracy. This is due to the distribution of floating-point
+          numbers having a
+          <a class="externalLink" href="https://en.wikipedia.org/wiki/Reciprocal_distribution">log-uniform</a>
+          distribution as the limiting distribution. There are far more
+          representable numbers as the probability value approaches zero than when it approaches
+          one.
+        </p>
+        
+<p>
+          The difference is illustrated with the result of computing the upper tail of a
+          probability distribution.
+        </p>
+
+<div class="source">
+<pre class="prettyprint">
+ChiSquaredDistribution chi2 = ChiSquaredDistribution.of(42);
+double q1 = 1 - chi2.cumulativeProbability(168);
+double q2 = chi2.survivalProbability(168);
+// q1 == 0
+// q2 != 0
+</pre></div>
+        
+<p>
+          In this case the value <code>1 - p</code> has only a single bit of information as
+          <code>x</code> approaches 168. For example the value <code>1 - p(x=167)</code>
+          is <code>2<sup>-53</sup></code> (or approximately <code>1.11e-16</code>).
+          The complement <code>q</code> retains information
+          much further into the long tail as shown in the following table:
+        </p>
+        
+<table class="bodyTable" border="1" style="width: auto">
+          
+<tr class="a">
+<th colspan="3"><font size="+1">Chi-squared distribution, 42 degrees of freedom</font></th></tr>
+          
+<tr class="b">
+<th>x</th>
+<th>1 - p</th>
+<th>q</th></tr>
+          
+<tr class="a">
+<td align="left">166</td>
+<td>1.11e-16</td>
+<td>1.16e-16</td></tr>
+          
+<tr class="b">
+<td align="left">167</td>
+<td>1.11e-16</td>
+<td>7.96e-17</td></tr>
+          
+<tr class="a">
+<td align="left">168</td>
+<td>0</td>
+<td>5.43e-17</td></tr>
+          
+<tr class="b">
+<td align="left">...</td>
+<td></td>
+<td></td></tr>
+          
+<tr class="a">
+<td align="left">200</td>
+<td>0</td>
+<td>1.19e-22</td></tr>
+        </table>
+        
+<p>
+          Probability computations should use the appropriate cumulative or survival function
+          to calculate the lower or upper tail respectively. The same care should be applied
+          when inverting probability distributions. It is preferred to compute either
+          <code>p &#x2264; 0.5</code> or <code>q &#x2264; 0.5</code> without loss of accuracy and then
+          invert respectively the cumulative probability using <code>p</code> or the survival
+          probabilty using <code>q</code> to obtain <code>x</code>.
+        </p>
+
+<div class="source">
+<pre class="prettyprint">
+ChiSquaredDistribution chi2 = ChiSquaredDistribution.of(42);
+double q = 5.43e-17;
+// Incorrect: p = 1 - q == 1.0 !!!
+double x1 = chi2.inverseCumulativeProbability(1 - q);
+// Correct: invert q
+double x2 = chi2.inverseSurvivalProbability(q);
+// x1 == +infinity
+// x2 ~ 168.0
+</pre></div>
+        
+<p>
+          Note: The survival probability functions were not present in the
+          <code>org.apache.commons.math3.distribution</code> package. Users upgrading from
+          <code><a class="externalLink" href="https://commons.apache.org/proper/commons-math/">commons-math</a></code>
+          should update usage of the cumulative probability functions where appropriate.
+        </p>
+      </section>
+    </section>
+
+  
+
+
+                      </td>
+        </tr>
+      </table>
+    </div>
+
+    <div class="footer">
+      <p>Copyright &copy;                    2018-2022
+                      <a href="https://www.apache.org/">The Apache Software Foundation</a>.
+            All Rights Reserved.</p>
+                                        
+<div class="center">Apache Commons, Apache Commons Statistics, Apache, the Apache feather logo, and the Apache Commons project logos are trademarks of The Apache Software Foundation.
+      All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
+                  </div>
+  </body>
+
+</html>

Added: dev/commons/statistics/1.0-RC1/site/xref-test/allclasses-frame.html
==============================================================================
--- dev/commons/statistics/1.0-RC1/site/xref-test/allclasses-frame.html (added)
+++ dev/commons/statistics/1.0-RC1/site/xref-test/allclasses-frame.html Thu Dec  1 16:47:12 2022
@@ -0,0 +1,71 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xml:lang="en" lang="en">
+    <!-- generated by Apache Maven JXR (jdk8) -->
+    <head>
+        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+        <title>All Classes</title>
+        <link rel="stylesheet" type="text/css" href="stylesheet.css" title="style" />
+    </head>
+    <body>
+        <h1 class="bar">All Classes</h1>
+        <div class="indexContainer">
+            <ul>
+                                <li><a href="org/apache/commons/statistics/distribution/AbstractContinuousDistributionTest.html#AbstractContinuousDistributionTest" target="classFrame">AbstractContinuousDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/AbstractContinuousDistributionTest.html#AbstractContinuousDistributionTest.CentredUniformDistribution" target="classFrame">AbstractContinuousDistributionTest.CentredUniformDistribution</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/AbstractDiscreteDistributionTest.html#AbstractDiscreteDistributionTest" target="classFrame">AbstractDiscreteDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/AbstractDiscreteDistributionTest.html#AbstractDiscreteDistributionTest.DiceDistribution" target="classFrame">AbstractDiscreteDistributionTest.DiceDistribution</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/ArgumentUtilsTest.html#ArgumentUtilsTest" target="classFrame">ArgumentUtilsTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/BaseContinuousDistributionTest.html#BaseContinuousDistributionTest" target="classFrame">BaseContinuousDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/BaseDiscreteDistributionTest.html#BaseDiscreteDistributionTest" target="classFrame">BaseDiscreteDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/BaseDistributionTest.html#BaseDistributionTest" target="classFrame">BaseDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/BetaDistributionTest.html#BetaDistributionTest" target="classFrame">BetaDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/BinomialDistributionTest.html#BinomialDistributionTest" target="classFrame">BinomialDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/CauchyDistributionTest.html#CauchyDistributionTest" target="classFrame">CauchyDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/ChiSquaredDistributionTest.html#ChiSquaredDistributionTest" target="classFrame">ChiSquaredDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/ContinuousDistributionTest.html#ContinuousDistributionTest" target="classFrame">ContinuousDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DiscreteDistributionTest.html#DiscreteDistributionTest" target="classFrame">DiscreteDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DiscreteDistributionTest.html#DiscreteDistributionTest.InvalidDiscreteDistribution" target="classFrame">DiscreteDistributionTest.InvalidDiscreteDistribution</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DistributionTestData.html#DistributionTestData" target="classFrame">DistributionTestData</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DistributionTestData.html#DistributionTestData.ContinuousDistributionTestData" target="classFrame">DistributionTestData.ContinuousDistributionTestData</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DistributionTestData.html#DistributionTestData.DiscreteDistributionTestData" target="classFrame">DistributionTestData.DiscreteDistributionTestData</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DoubleTolerance.html#DoubleTolerance" target="classFrame">DoubleTolerance</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DoubleTolerances.html#DoubleTolerances" target="classFrame">DoubleTolerances</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DoubleTolerances.html#DoubleTolerances.AbstractDoubleTolerance" target="classFrame">DoubleTolerances.AbstractDoubleTolerance</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DoubleTolerances.html#DoubleTolerances.DoubleAndTolerance" target="classFrame">DoubleTolerances.DoubleAndTolerance</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DoubleTolerances.html#DoubleTolerances.DoubleNegateTolerance" target="classFrame">DoubleTolerances.DoubleNegateTolerance</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DoubleTolerances.html#DoubleTolerances.DoubleOrTolerance" target="classFrame">DoubleTolerances.DoubleOrTolerance</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/DoubleTolerancesTest.html#DoubleTolerancesTest" target="classFrame">DoubleTolerancesTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/ExponentialDistributionTest.html#ExponentialDistributionTest" target="classFrame">ExponentialDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/ExtendedPrecisionTest.html#ExtendedPrecisionTest" target="classFrame">ExtendedPrecisionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/ExtendedPrecisionTest.html#ExtendedPrecisionTest.RMS" target="classFrame">ExtendedPrecisionTest.RMS</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/FDistributionTest.html#FDistributionTest" target="classFrame">FDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/GammaDistributionTest.html#GammaDistributionTest" target="classFrame">GammaDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/GeometricDistributionTest.html#GeometricDistributionTest" target="classFrame">GeometricDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/GumbelDistributionTest.html#GumbelDistributionTest" target="classFrame">GumbelDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/HypergeometricDistributionTest.html#HypergeometricDistributionTest" target="classFrame">HypergeometricDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/LaplaceDistributionTest.html#LaplaceDistributionTest" target="classFrame">LaplaceDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/LevyDistributionTest.html#LevyDistributionTest" target="classFrame">LevyDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/LogNormalDistributionTest.html#LogNormalDistributionTest" target="classFrame">LogNormalDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/LogisticDistributionTest.html#LogisticDistributionTest" target="classFrame">LogisticDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/NakagamiDistributionTest.html#NakagamiDistributionTest" target="classFrame">NakagamiDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/NormalDistributionTest.html#NormalDistributionTest" target="classFrame">NormalDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/ParetoDistributionTest.html#ParetoDistributionTest" target="classFrame">ParetoDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/PascalDistributionTest.html#PascalDistributionTest" target="classFrame">PascalDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/PoissonDistributionTest.html#PoissonDistributionTest" target="classFrame">PoissonDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/StringUtils.html#StringUtils" target="classFrame">StringUtils</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/TDistributionTest.html#TDistributionTest" target="classFrame">TDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/TestName.html#TestName" target="classFrame">TestName</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/TestUtils.html#TestUtils" target="classFrame">TestUtils</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/TrapezoidalDistributionTest.html#TrapezoidalDistributionTest" target="classFrame">TrapezoidalDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/TriangularDistributionTest.html#TriangularDistributionTest" target="classFrame">TriangularDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/TruncatedNormalDistributionTest.html#TruncatedNormalDistributionTest" target="classFrame">TruncatedNormalDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/UniformContinuousDistributionTest.html#UniformContinuousDistributionTest" target="classFrame">UniformContinuousDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/UniformDiscreteDistributionTest.html#UniformDiscreteDistributionTest" target="classFrame">UniformDiscreteDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/UserGuideTest.html#UserGuideTest" target="classFrame">UserGuideTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/WeibullDistributionTest.html#WeibullDistributionTest" target="classFrame">WeibullDistributionTest</a></li>
+                                <li><a href="org/apache/commons/statistics/distribution/ZipfDistributionTest.html#ZipfDistributionTest" target="classFrame">ZipfDistributionTest</a></li>
+                            </ul>
+        </div>
+    </body>
+</html>

Added: dev/commons/statistics/1.0-RC1/site/xref-test/index.html
==============================================================================
--- dev/commons/statistics/1.0-RC1/site/xref-test/index.html (added)
+++ dev/commons/statistics/1.0-RC1/site/xref-test/index.html Thu Dec  1 16:47:12 2022
@@ -0,0 +1,75 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+<html xml:lang="en" lang="en">
+    <!-- this is a JXR report set (jdk8) -->
+    <head>
+        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+        <title>Apache Commons Statistics 1.0 Reference</title>
+        <script type="text/javascript">
+            tmpTargetPage = "" + window.location.search;
+            if (tmpTargetPage != "" && tmpTargetPage != "undefined")
+                tmpTargetPage = tmpTargetPage.substring(1);
+            if (tmpTargetPage.indexOf(":") != -1 || (tmpTargetPage != "" && !validURL(tmpTargetPage)))
+                tmpTargetPage = "undefined";
+            targetPage = tmpTargetPage;
+            function validURL(url) {
+                try {
+                    url = decodeURIComponent(url);
+                }
+                catch (error) {
+                    return false;
+                }
+                var pos = url.indexOf(".html");
+                if (pos == -1 || pos != url.length - 5)
+                    return false;
+                var allowNumber = false;
+                var allowSep = false;
+                var seenDot = false;
+                for (var i = 0; i < url.length - 5; i++) {
+                    var ch = url.charAt(i);
+                    if ('a' <= ch && ch <= 'z' ||
+                            'A' <= ch && ch <= 'Z' ||
+                            ch == '$' ||
+                            ch == '_' ||
+                            ch.charCodeAt(0) > 127) {
+                        allowNumber = true;
+                        allowSep = true;
+                    } else if ('0' <= ch && ch <= '9'
+                            || ch == '-') {
+                        if (!allowNumber)
+                            return false;
+                    } else if (ch == '/' || ch == '.') {
+                        if (!allowSep)
+                            return false;
+                        allowNumber = false;
+                        allowSep = false;
+                        if (ch == '.')
+                            seenDot = true;
+                        if (ch == '/' && seenDot)
+                            return false;
+                    } else {
+                        return false;
+                    }
+                }
+                return true;
+            }
+            function loadFrames() {
+                if (targetPage != "" && targetPage != "undefined")
+                    top.classFrame.location = top.targetPage;
+            }
+        </script>
+    </head>
+    <frameset cols="20%,80%" title="Documentation frame" onload="top.loadFrames()">
+        <frameset rows="30%,70%" title="Left frames" onload="top.loadFrames()">
+            <frame src="overview-frame.html" name="packageListFrame" title="All Packages"/>
+            <frame src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)"/>
+        </frameset>
+        <frame src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes"/>
+        <noframes>
+            <h1>Frame Alert</h1>
+            <p>
+                You don't have frames. Go <a href="overview-summary.html">here</a>
+            </p>
+        </noframes>
+    </frameset>
+</html>