上一个主题

numpy.random.RandomState.negative_binomial

下一个主题

numpy.random.RandomState.noncentral_f

numpy.random.RandomState.noncentral_chisquare

方法

RandomState.noncentral_chisquare(df, nonc, size=None)

从非中心卡方分布中提取样本。

非中心的 \chi^2 分配是对 \chi^2 分布。

参数:
df : 浮点数或类似浮点数的数组

自由度应大于0。

在 1.10.0 版更改: 早期的numpy版本需要dfnum>1。

nonc : 浮点数或类似浮点数的数组

非中心性,应为非负。

size : int或int的元组,可选

输出形状。如果给定的形状是,例如, (m, n, k) 然后 m * n * k 取样。如果尺寸是 None (默认),如果 dfnonc 都是标量。否则, np.broadcast(df, nonc).size 取样。

返回:
out : ndarray或scalar

从参数化非中心卡方分布中提取样本。

笔记

非中心卡方分布的概率密度函数是

p(x;df,nonc)=sum ^ infty i=0 frac e ^-nonc/2(nonc/2)^ i i!}P Y df+2i(x)、

在哪里? Y_{{q}} 是具有Q自由度的卡方。

德里(2007年)指出,非中心卡方在轰炸和覆盖问题中很有用,即非中心卡方分布给出的点目标被击毙的概率。

工具书类

[1]德里,M.S.Holla,“武器系统效能分析中的非中心卡方分布”,Metrika,第15卷,第1/1970年12月。
[2]维基百科,“非中心卡方分布”https://en.wikipedia.org/wiki/noncentral_chi-squared_distribution

实例

从分布中绘制值并绘制柱状图

>>> import matplotlib.pyplot as plt
>>> values = plt.hist(np.random.noncentral_chisquare(3, 20, 100000),
...                   bins=200, density=True)
>>> plt.show()
../../_images/numpy-random-RandomState-noncentral_chisquare-1_00_00.png

从非中心性很小的非中心角砾中提取值,并与角砾进行比较。

>>> plt.figure()
>>> values = plt.hist(np.random.noncentral_chisquare(3, .0000001, 100000),
...                   bins=np.arange(0., 25, .1), density=True)
>>> values2 = plt.hist(np.random.chisquare(3, 100000),
...                    bins=np.arange(0., 25, .1), density=True)
>>> plt.plot(values[1][0:-1], values[0]-values2[0], 'ob')
>>> plt.show()
../../_images/numpy-random-RandomState-noncentral_chisquare-1_01_00.png

演示非中心性的大值如何导致更对称的分布。

>>> plt.figure()
>>> values = plt.hist(np.random.noncentral_chisquare(3, 20, 100000),
...                   bins=200, density=True)
>>> plt.show()
../../_images/numpy-random-RandomState-noncentral_chisquare-1_02_00.png