Från stickprovsmedelvärde till populationsmedelvärde

Grunderna i sannolikhetslära med Python

Alexander A. Ramírez M.

CEO @ Synergy Vision

Repetition: stickprovsmedelvärdet

$$ $$

De stora talens lag

Stickprovsmedelvärdet närmar sig det förväntade värdet när stickprovsstorleken ökar.

Frimärke med Jakob Bernoulli

Grunderna i sannolikhetslära med Python

Repetition: stickprovsmedelvärdet (forts.)

$$ \text{Stickprovsmedelvärde} = \bar{X_2} = \frac{x_1+x_2}{2} $$

Grunderna i sannolikhetslära med Python

Repetition: stickprovsmedelvärdet (forts.)

$$ \text{Stickprovsmedelvärde} = \bar{X_3} = \frac{x_1+x_2+x_3}{3} $$

Grunderna i sannolikhetslära med Python

Repetition: stickprovsmedelvärdet (forts.)

$$ \text{Stickprovsmedelvärde} = \bar{X_n} = \frac{x_1+x_2+\cdots +x_n}{n} $$

Grunderna i sannolikhetslära med Python

Repetition: stickprovsmedelvärdet (forts.)

$$ \text{Stickprovsmedelvärde} = \bar{X_n} = \frac{x_1+x_2+\cdots +x_n}{n} \to \mathbb{E(X)} $$

Grunderna i sannolikhetslära med Python

Generera stickprovet

# Import binom and describe
from scipy.stats import binom
from scipy.stats import describe

# Sample of 250 fair coin flips
samples = binom.rvs(n=1, p=0.5, size=250, random_state=42)
# Print first 100 values from the sample
print(samples[0:100])
[0 1 1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0
 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 0 1
 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 0 0]
Grunderna i sannolikhetslära med Python

Beräkna stickprovsmedelvärdet

# Calculate the sample mean
print(describe(samples[0:10]).mean)
0.6
Grunderna i sannolikhetslära med Python

Stickprovsmedelvärdet konvergerar mot det förväntade värdet

Grunderna i sannolikhetslära med Python

Animation av stickprovsmedelvärdet mot det förväntade värdet

Grunderna i sannolikhetslära med Python

Plotta stickprovsmedelvärdet

$$ $$

from scipy.stats import binom
from scipy.stats import describe
import matplotlib.pyplot as plt

# Define our variables
coin_flips, p, sample_size , averages = 1, 0.5, 1000, []
# Generate the sample
samples = binom.rvs(n=coin_flips, p=p, size=sample_size, random_state=42)
Grunderna i sannolikhetslära med Python

Plotta stickprovsmedelvärdet (forts.)

$$ $$

# Calculate the sample mean
for i in range(2,sample_size+1):
    averages.append(describe(samples[0:i]).mean)

# Print the first values of averages
print(averages[0:10])
[0.5, 0.6666666666666666, 0.75, 0.6, 0.5, 0.42857142857142855, 0.5, 
0.5555555555555556,0.6, 0.5454545454545454]
Grunderna i sannolikhetslära med Python

Plotta stickprovsmedelvärdet (forts.)

$$ $$

# Add population mean line and sample mean plot
plt.axhline(binom.mean(n=coin_flips, p=p), color='red')
plt.plot(averages, '-')
# Add legend
plt.legend(("Population mean","Sample mean"), loc='upper right')
plt.show()
Grunderna i sannolikhetslära med Python

Graf över stickprovsmedelvärdet

Graf över stickprovsmedelvärdet

Grunderna i sannolikhetslära med Python

Nu kör vi en övning!

Grunderna i sannolikhetslära med Python

Preparing Video For Download...