为了计算分类特征的概率,我被告知使用Multinoulli分布,这是多项分布的特殊情况,其中试验次数为1。
我得到了10个不同类别的概率:
p = [0.14285714 0.11428571 0.14285714 0.08571429 0.11428571 0.05714286 0.14285714 0.02857143 0.11428571 0.05714286]
字符串
并被告知使用以下输入[0,1,2,3,4,5,6,7,8,9]
计算pmf。
然而,当我使用SciPy的多项分布的pmf时,我总是得到0.0的结果。我注意到,唯一一次我得到的不是0.0的数字是,如果n恰好是我在x中的结果值的总和。当我检查文档时,* 巧合的是 * 在所有示例中,n确实是值的总和。
我想我在这里根本上误解了一些东西。当参数n显然只有一个合理的值时,它有什么意义?为什么它会是我的类别值的总和?多项分布呈现给我的方式,我认为这些只是名称,标签,如第0类,第1类等。对我来说,把它们加起来没有意义。
的数据
1条答案
按热度按时间gblwokeq1#
当我查看文档时,* 巧合的是 * 在所有的例子中,n确实是值的总和。
这不是巧合。
我想我在这里误解了一些东西,当参数n显然只有一个合理的值时,有一个参数n有什么意义?
试验次数
n
可以是任何非负值,观测向量的和也可以是任何值,但只有当观测向量的和等于n
时,才能得到非平凡的PMF(我将在最后说明这个参数的意义)。当我看到多项分布时,我以为这些只是名字,标签,比如第0类,第1类,等等。
这是正确的;它们只是类别。
把它们总结起来对我来说毫无意义。
分类本身并不加总;观察到分类的试验次数加总。
我想我能理解其中的困惑,我假设这不是对概率分布本身的误解,只是SciPy需要参数
n
。更具体地说,让我们举个例子。当你要求
x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
的概率质量- 0个类别0的观察值,1个类别1的观察值,等等. -你似乎想让多项式分布假设试验次数n = 45
。它 * 没有 * 做这个假设;你必须显式地传递n
。如果你传递n=100
,它准备回答关于当你执行100次试验时所涉及的概率的问题。观察[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
的概率质量是零,因为在100次试验中只进行45次观察是不可能的。字符串
如果你通过了
n=45
,你就会得到你想要的结果。型
它被参数化的原因是因为它是一个基础设施的一部分,它不仅仅是评估PMF。例如,如果你想使用
rvs
方法绘制随机变量,你可以理解为什么你需要传入试验次数n
-它需要知道要绘制多少个总观测值。型
此外,将
n
视为多项分布的参数是标准的。参见Wikipedia's article on the multinomial distribution,例如- n 被列为参数。x1c 0d1x的数据
(
k
是从数组p
的长度推断出来的。如果这是有意义的,请提交一个documentation issue文件,让我们知道我们可能在文档中包括了什么,以使这一点更加明显。