scipy.stats.invwishart¶
- scipy.stats.invwishart = <scipy.stats._multivariate.invwishart_gen object>[源代码]¶
逆Wishart随机变量。
这个 df 关键字指定自由度。这个 scale 关键字指定比例矩阵,它必须是对称且正定的。在这种情况下,尺度矩阵通常被解释为多变量正态协方差矩阵。
- 参数
- xarray_like
分位数,最后一个轴为 x 表示组件。
- df集成
自由度,必须大于或等于比例矩阵的维数
- scalearray_like
分布的对称正定尺度矩阵
- random_state :{无,整型,
numpy.random.Generator
,{无,整型, 如果 seed 为无(或 np.random )、
numpy.random.RandomState
使用的是Singleton。如果 seed 是一个整型、一个新的RandomState
实例,其种子设定为 seed 。如果 seed 已经是一个Generator
或RandomState
实例,则使用该实例。- 或者,可以调用对象(作为函数)来固定度数
- 自由度和比例参数的值,返回一个“冻结的”逆Wishart
- 随机变量:
- rv = invwishart(df=1, scale=1)
使用相同的方法冻结对象,但保持给定的自由度和比例固定。
参见
注意事项
比例矩阵 scale 必须是对称正定矩阵。不支持奇异矩阵,包括对称半正定情况。
逆Wishart分布通常表示为
\[W_p^{-1}(\nu,\psi)\]哪里 \(\nu\) 是自由度和 \(\Psi\) 是不是 \(p \times p\) 比例矩阵。
的概率密度函数
invwishart
支持正定矩阵 \(S\) ;如果 \(S \sim W^{{-1}}_p(\nu, \Sigma)\) ,则其PDF由以下方式提供:\[f(S) = \frac{|\Sigma|^\frac{\nu}{2}}{2^{ \frac{\nu p}{2} } |S|^{\frac{\nu + p + 1}{2}} \Gamma_p \left(\frac{\nu}{2} \right)} \exp\left( -tr(\Sigma S^{-1}) / 2 \right)\]如果 \(S \sim W_p^{{-1}}(\nu, \Psi)\) (逆Wishart)然后 \(S^{{-1}} \sim W_p(\nu, \Psi^{{-1}})\) (Wishart)。
如果标度矩阵是一维的且等于一,则逆Wishart分布 \(W_1(\nu, 1)\) 折叠为参数为Shape=的逆伽马分布 \(\frac{{\nu}}{{2}}\) 和比例= \(\frac{{1}}{{2}}\) 。
0.16.0 新版功能.
参考文献
- 1
M.L.Eaton,“多元统计:向量空间方法”,Wiley,1983。
- 2
M.C.Jones,“生成逆Wishart矩阵”,“统计通信-模拟与计算”,第一卷。14.2,第511-514页,1985年。
示例
>>> import matplotlib.pyplot as plt >>> from scipy.stats import invwishart, invgamma >>> x = np.linspace(0.01, 1, 100) >>> iw = invwishart.pdf(x, df=6, scale=1) >>> iw[:3] array([ 1.20546865e-15, 5.42497807e-06, 4.45813929e-03]) >>> ig = invgamma.pdf(x, 6/2., scale=1./2) >>> ig[:3] array([ 1.20546865e-15, 5.42497807e-06, 4.45813929e-03]) >>> plt.plot(x, iw)
输入分位数可以是任意形状的数组,只要最后一个轴标记组件即可。
方法:
``pdf(x, df, scale)``
概率密度函数。
``logpdf(x, df, scale)``
概率密度函数的对数。
``rvs(df, scale, size=1, random_state=None)``
从逆Wishart分布中随机抽取样本。