- 大數定律的意義:隨著樣本容量n的增加,樣本平均數將接近于總體平均數(期望 μ),所以在統計推斷中,一般都會使用樣本平均數估計總體平均數的值。
- 也就是我們會使用一部分樣本的平均值來代替整體樣本的期望/均值,出現偏差 的可能是存在的,但是當n足夠大的時候,偏差的可能性是非常小的,當n無限大 的時候,這種可能性的概率基本為0。
- 大數定律的主要作用就是為使用頻率來估計概率提供了理論支持;為使用部分數 據來近似的模擬構建全部數據的特征提供了理論支持。
#大數定理理解展示
import random
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
#解決顯示中文的問題
mpl.rcParams['font.sans_serif'] = [u'SimHei']
mpl.rcParams['axes.unicode_minus'] = False
#給定隨機數的種子
random.seed(28)
def generate_random_int(n):
"""產生n個1-9的隨機數"""
return [random.randint(1,9) for i in range(n)]
if __name__ == '__main__':
number = 8000
x = [i for i in range(number+1) if i != 0]
#產生number個1-9的隨機數
total_random_int = generate_random_int(number)
#求n個[1,9]的隨機數的均值,n=1,2,3,4,5...
y = [np.mean(total_random_int[0:i+1]) for i in range(number)]
plt.plot(x,y,'b-')
plt.xlim(0,number)
plt.grid(True)
plt.show()
Figure_1.png
當樣本數量足夠大時,均值接近于5(總體數據的期望值).
中心極限定理(Central Limit Theorem);假設{Xn}為獨立同分布的隨機變量序 列,并具有相同的期望μ和方差為σ2,則{Xn}服從中心極限定理,且Zn為隨機序列{Xn}的范圍和:
中心極限定理就是一般在同分布的情況下,抽樣樣本值的規范和在總體數量趨于
無窮時的極限分布近似于正態分布。
隨機的拋六面的骰子,計算三次點數的和的分布:
#大數定理理解展示
import random
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
#解決顯示中文的問題
# mpl.rcParams['font.sans_serif'] = [u'SimHei']
# mpl.rcParams['axes.unicode_minus'] = False
#給定隨機數的種子
random.seed(28)
#事件A = x1+x2+x3 ,其中x1,x2,x3是分別拋骰子的點數
#根據中心極限定理,由于x1,x2,x3屬于獨立同分布,所以說最終的事件A屬于高斯分布
def generate_random_int():
"""隨機產生一個[1,6]的數字,表示一個六面的骰子的結果"""
return random.randint(1,6)
def generate_sum(n):
"""計算返回n次拋骰子的和的結果"""
return np.sum([generate_random_int() for i in range(n)])
if __name__ == '__main__':
#進行每次A事件拋幾次骰子
number1 = 10000000
#表示每次A事件拋幾次骰子
number2 = 3
#進行number1次事件A的操作,每次事件A都進行number2次
keys = [generate_sum(number2) for i in range(number1)]
#統計每個和數字出現的次數,eg:和為3的出現多少次,和為10的出現多少次
result = {}
for key in keys:
count = 1
if key in result:
count += result[key]
result[key] = count
#獲取x和y
x = sorted(np.unique(list(result.keys())))
y = []
for key in x:
#將出現的次數進行一個百分比的計算
y.append(result[key]/number1)
#畫圖:
plt.plot(x,y,'b-')
plt.xlim(x[0] -1 ,x[-1] +1)
plt.grid(True)
plt.show()
Figure_2.png
n為3,1-6的平均值為3.5,3μ為10.5,大概就是圖中的位置。