### 7.1.3 The population standard deviation: stddevp stdDev

Given a large population, rather than collecting all of the numbers it might be more feasible to get a smaller collection of numbers and try to extrapolate from that. For example, to get information about the ages of a large population, you might get the ages of a sample of 100 of the people and work with that.

If a list of numbers is a sample of data from a larger population, then the mean function will find the mean of the sample, which can be used to estimate the mean of the population. The standard deviation uses the mean to find the standard deviation of the sample, but since the mean of the sample is only an approximation to the mean of the entire population, the standard deviation of the sample doesn’t provide an optimal estimate of the standard deviation of the population. An unbiased estimate of the standard deviation of the entire population is given by the population standard deviation stddevp function; given a list L = [x1,…,xn] with mean µ, the population standard deviation is

σ = |
√
(x1 − µ)2 + … + (xn − µ)2
n−1
| .

Note that

stddevp(L)2 = |
n
n−1
| stddev(L)2.

For example,

stddev([1,2,3,4])

will return

sqrt(5)/2

while

stddevp([1,2,3,4])

will return

sqrt(15)/3

Like stddev, the stddevp command can take a second argument for weights. If you enter

A := [0,1,2,3,4,5,6,7,8,9,10,11]
stddevp(A,A)

then you will get

sqrt(66)/3

The stdDev function is equivalent to stddevp, for TI compatibility. There is no population variance function; if needed, it can be computed by squaring the stddevp function.