1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The GSL Team.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Free Software
Needs Free Documentation", the Front-Cover text being "A GNU Manual",
and with the Back-Cover Text being (a) (see below). A copy of the
license is included in the section entitled "GNU Free Documentation
License".
(a) The Back-Cover Text is: "You have the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library – Reference Manual: Mean and standard deviation and variance</title>
<meta name="description" content="GNU Scientific Library – Reference Manual: Mean and standard deviation and variance">
<meta name="keywords" content="GNU Scientific Library – Reference Manual: Mean and standard deviation and variance">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="Statistics.html#Statistics" rel="up" title="Statistics">
<link href="Absolute-deviation.html#Absolute-deviation" rel="next" title="Absolute deviation">
<link href="Statistics.html#Statistics" rel="previous" title="Statistics">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Mean-and-standard-deviation-and-variance"></a>
<div class="header">
<p>
Next: <a href="Absolute-deviation.html#Absolute-deviation" accesskey="n" rel="next">Absolute deviation</a>, Up: <a href="Statistics.html#Statistics" accesskey="u" rel="up">Statistics</a> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Mean_002c-Standard-Deviation-and-Variance"></a>
<h3 class="section">21.1 Mean, Standard Deviation and Variance</h3>
<dl>
<dt><a name="index-gsl_005fstats_005fmean"></a>Function: <em>double</em> <strong>gsl_stats_mean</strong> <em>(const double <var>data</var>[], size_t <var>stride</var>, size_t <var>n</var>)</em></dt>
<dd><p>This function returns the arithmetic mean of <var>data</var>, a dataset of
length <var>n</var> with stride <var>stride</var>. The arithmetic mean, or
<em>sample mean</em>, is denoted by <em>\Hat\mu</em> and defined as,
</p>
<div class="example">
<pre class="example">\Hat\mu = (1/N) \sum x_i
</pre></div>
<p>where <em>x_i</em> are the elements of the dataset <var>data</var>. For
samples drawn from a gaussian distribution the variance of
<em>\Hat\mu</em> is <em>\sigma^2 / N</em>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fstats_005fvariance"></a>Function: <em>double</em> <strong>gsl_stats_variance</strong> <em>(const double <var>data</var>[], size_t <var>stride</var>, size_t <var>n</var>)</em></dt>
<dd><p>This function returns the estimated, or <em>sample</em>, variance of
<var>data</var>, a dataset of length <var>n</var> with stride <var>stride</var>. The
estimated variance is denoted by <em>\Hat\sigma^2</em> and is defined by,
</p>
<div class="example">
<pre class="example">\Hat\sigma^2 = (1/(N-1)) \sum (x_i - \Hat\mu)^2
</pre></div>
<p>where <em>x_i</em> are the elements of the dataset <var>data</var>. Note that
the normalization factor of <em>1/(N-1)</em> results from the derivation
of <em>\Hat\sigma^2</em> as an unbiased estimator of the population
variance <em>\sigma^2</em>. For samples drawn from a Gaussian distribution
the variance of <em>\Hat\sigma^2</em> itself is <em>2 \sigma^4 / N</em>.
</p>
<p>This function computes the mean via a call to <code>gsl_stats_mean</code>. If
you have already computed the mean then you can pass it directly to
<code>gsl_stats_variance_m</code>.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fstats_005fvariance_005fm"></a>Function: <em>double</em> <strong>gsl_stats_variance_m</strong> <em>(const double <var>data</var>[], size_t <var>stride</var>, size_t <var>n</var>, double <var>mean</var>)</em></dt>
<dd><p>This function returns the sample variance of <var>data</var> relative to the
given value of <var>mean</var>. The function is computed with <em>\Hat\mu</em>
replaced by the value of <var>mean</var> that you supply,
</p>
<div class="example">
<pre class="example">\Hat\sigma^2 = (1/(N-1)) \sum (x_i - mean)^2
</pre></div>
</dd></dl>
<dl>
<dt><a name="index-gsl_005fstats_005fsd"></a>Function: <em>double</em> <strong>gsl_stats_sd</strong> <em>(const double <var>data</var>[], size_t <var>stride</var>, size_t <var>n</var>)</em></dt>
<dt><a name="index-gsl_005fstats_005fsd_005fm"></a>Function: <em>double</em> <strong>gsl_stats_sd_m</strong> <em>(const double <var>data</var>[], size_t <var>stride</var>, size_t <var>n</var>, double <var>mean</var>)</em></dt>
<dd><p>The standard deviation is defined as the square root of the variance.
These functions return the square root of the corresponding variance
functions above.
</p></dd></dl>
<dl>
<dt><a name="index-gsl_005fstats_005ftss"></a>Function: <em>double</em> <strong>gsl_stats_tss</strong> <em>(const double <var>data</var>[], size_t <var>stride</var>, size_t <var>n</var>)</em></dt>
<dt><a name="index-gsl_005fstats_005ftss_005fm"></a>Function: <em>double</em> <strong>gsl_stats_tss_m</strong> <em>(const double <var>data</var>[], size_t <var>stride</var>, size_t <var>n</var>, double <var>mean</var>)</em></dt>
<dd><p>These functions return the total sum of squares (TSS) of <var>data</var> about
the mean. For <code>gsl_stats_tss_m</code> the user-supplied value of
<var>mean</var> is used, and for <code>gsl_stats_tss</code> it is computed using
<code>gsl_stats_mean</code>.
</p>
<div class="example">
<pre class="example">TSS = \sum (x_i - mean)^2
</pre></div>
</dd></dl>
<dl>
<dt><a name="index-gsl_005fstats_005fvariance_005fwith_005ffixed_005fmean"></a>Function: <em>double</em> <strong>gsl_stats_variance_with_fixed_mean</strong> <em>(const double <var>data</var>[], size_t <var>stride</var>, size_t <var>n</var>, double <var>mean</var>)</em></dt>
<dd><p>This function computes an unbiased estimate of the variance of
<var>data</var> when the population mean <var>mean</var> of the underlying
distribution is known <em>a priori</em>. In this case the estimator for
the variance uses the factor <em>1/N</em> and the sample mean
<em>\Hat\mu</em> is replaced by the known population mean <em>\mu</em>,
</p>
<div class="example">
<pre class="example">\Hat\sigma^2 = (1/N) \sum (x_i - \mu)^2
</pre></div>
</dd></dl>
<dl>
<dt><a name="index-gsl_005fstats_005fsd_005fwith_005ffixed_005fmean"></a>Function: <em>double</em> <strong>gsl_stats_sd_with_fixed_mean</strong> <em>(const double <var>data</var>[], size_t <var>stride</var>, size_t <var>n</var>, double <var>mean</var>)</em></dt>
<dd><p>This function calculates the standard deviation of <var>data</var> for a
fixed population mean <var>mean</var>. The result is the square root of the
corresponding variance function.
</p></dd></dl>
<hr>
<div class="header">
<p>
Next: <a href="Absolute-deviation.html#Absolute-deviation" accesskey="n" rel="next">Absolute deviation</a>, Up: <a href="Statistics.html#Statistics" accesskey="u" rel="up">Statistics</a> [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|