题目描述如下:
首先需要产生数目为num的随机数,均值为mean,方差为sigma的平方,模块如下:
1 | import numpy as np |
然后本人的思路是,让随机数数目从10依次增加到1000000,设定x和y分别将每次使用新的随机数得到的均值和方差收入其中,方便后面画图。同时在循环里使用直方图,观察它们均值和方差的分布。
结果如下面所示,可以看出随着数据的增加,其均值和方差结果越来越接近100,直方图也显示它们的分布是越来越集中的。
1 | i = 1 |
10
mean:104.51838985,variance:176.01656876
100
mean:99.18883640,variance:102.91075335
1000
mean:100.14176364,variance:104.66360100
10000
mean:100.01272179,variance:100.81413882
100000
mean:100.05060346,variance:101.20949827
1000000
mean:100.00862825,variance:100.10280875
下面用折线图也反映,随着迭代次数的增加,结果收敛于理论值。
1 | plt.plot(x, y, color='r',markerfacecolor='blue',marker='o') |
No handlers could be found for logger "matplotlib.legend"