python计算样本方差_Python numpy 样本方差估计
偏樣本方差
無偏樣本方差
import numpy as np
size = 1000
data = np.random.normal(0, 2, size=size)
mean, var1, var2 = np.mean(data), np.var(data), np.var(data, ddof=1)
# -0.045359962061835526 4.006485716261472 4.010496212473946
print(mean, var1, var2)
import numpy as np
import pylab as pl
def normal_pdf(mean, var, x):
return 1 / np.sqrt(2 * np.pi * var) * np.exp(-(x - mean) ** 2 / (2 * var))
size = 100
# 產生正態分布隨機數
data = np.random.normal(0, 2., size=size)
# 計算最大似然估計的參數
mean, var = np.mean(data), np.var(data)
print(mean, var)
# 以最大似然估計的方差為中心,產生一組方差值,綴方差大于0
var_range = np.linspace(max(var - 4, 0.1), var + 4, 100)
# 用正態分布概率密度計算每個樣本,每個方差所對應的概率密度
# 由于使用廣播運算,得到的結果p是一個二維數組,第0軸對應var_range中的各個方差
# 第1軸對應data中的每個元素
p = normal_pdf(mean, var_range[:, None], data)
# 沿著p的第一軸求所有概率密度的乘積
p = np.product(p, axis=1)
# 繪制每個方差對應的似然估計量
pl.plot(var_range, p)
# 偏樣本方差位于似然估計曲線的最大值處
pl.axvline(var, 0, 1, c='r')
pl.show()
轉載至鏈接:https://my.oschina.net/ahaoboy/blog/1932772
總結
以上是生活随笔為你收集整理的python计算样本方差_Python numpy 样本方差估计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Day2-Python基础2---列表、
- 下一篇: Java开发者的Python快速实战指南