# Variance And Standard Deviation

## Preliminary

# Import data
import math


## Create Data

# Create list of values
data = [3,2,3,4,2,3,5,2,2,33,3,5,2,2,5,6,62,2,2,3,6,6,2,23,3,2,3]


## Calculate Population Variance

Variance is a measurement of the spread of a data’s distribution. The higher the variance, the more “spread out” the data points are. Variance, commonly denoted as $S^{2}$, is calculated like this:

$$\text{Population Variance} = S_n^{2} = \frac{1}{n}\sum_{i=1}^{n}(x_i-\bar{x})^{2}$$

$$\text{Sample Variance} = S_{n-1}^{2} = \frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar{x})^{2}$$

Where $n$ is the number of observations, $\bar{x}$ is the mean of the observations, and $x_i-\bar{x}$ is an individual observation’s from the mean of the data. Note that if we were estimating the variance of a population based on a sample from that population, we should use the second equation, replacing $n$ with $n-1$.

# Calculate n
n = len(data)

# Calculate the mean
mean = sum(data)/len(data)

# Create a list of all deviations from the mean
all_deviations_from_mean_squared = []

# For each observation in the data
for observation in data:

# Calculate the deviation from the mean
deviation_from_mean = (observation - mean)

# Square it
deviation_from_mean_squared = deviation_from_mean**2

# Add the result to our list
all_deviations_from_mean_squared.append(deviation_from_mean_squared)

# Sum all the squared deviations in our list
sum_of_deviations_from_mean_squared = sum(all_deviations_from_mean_squared)

# Divide by n
population_variance = sum_of_deviations_from_mean_squared/n

# Show variance
population_variance

160.78463648834017


## Calculate Population Standard Deviation

Standard deviation is just the square root of the variance.

# Find the square root of the population variance
population_standard_deviation = math.sqrt(population_variance)

# Print the populaton standard deviation
population_standard_deviation

12.68008818929664