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
# 產(chǎn)生正態(tài)分布隨機(jī)數(shù)
data = np.random.normal(0, 2., size=size)
# 計(jì)算最大似然估計(jì)的參數(shù)
mean, var = np.mean(data), np.var(data)
print(mean, var)
# 以最大似然估計(jì)的方差為中心,產(chǎn)生一組方差值,綴方差大于0
var_range = np.linspace(max(var - 4, 0.1), var + 4, 100)
# 用正態(tài)分布概率密度計(jì)算每個(gè)樣本,每個(gè)方差所對應(yīng)的概率密度
# 由于使用廣播運(yùn)算,得到的結(jié)果p是一個(gè)二維數(shù)組,第0軸對應(yīng)var_range中的各個(gè)方差
# 第1軸對應(yīng)data中的每個(gè)元素
p = normal_pdf(mean, var_range[:, None], data)
# 沿著p的第一軸求所有概率密度的乘積
p = np.product(p, axis=1)
# 繪制每個(gè)方差對應(yīng)的似然估計(jì)量
pl.plot(var_range, p)
# 偏樣本方差位于似然估計(jì)曲線的最大值處
pl.axvline(var, 0, 1, c='r')
pl.show()
轉(zhuǎn)載至鏈接:https://my.oschina.net/ahaoboy/blog/1932772
總結(jié)
以上是生活随笔為你收集整理的python计算样本方差_Python numpy 样本方差估计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Day2-Python基础2---列表、
- 下一篇: win10实现宽带转WiFi