使用scipy可以将连续随机变量转换为离散吗?

时间:2016-03-19 11:56:36

标签: python scipy probability probability-density

如果我初始化scipy.stats.rv_continuous的子类,例如scipy.stats.norm

>>> from scipy.stats import norm
>>> rv = norm()

我是否可以将其转换为概率列表,每个元素表示提供范围数后的一系列值的概率? 就像是 - (对于范围 - [(-inf,-1),( - 1,0),(0,1),(1,inf)])

>>> li
[0.15865525393145707, 0.34134474606854293, 0.34134474606854293, 0.15865525393145707]

(其中0.15865525393145707是变量小于-1的概率,0.34134474606854293的范围是-1到0,其他类似。

这可以用scipy完成吗?如果不是哪个python库可以支持这样的转换操作?

1 个答案:

答案 0 :(得分:3)

根据您的评论,您可以使用CDF

计算出来
>>> import lxml.html
>>>
>>> root = lxml.html.fromstring('''
... <html>
...     <body>
...         <b>Field1:</b>" Value1" <br>
...         <b>Field2:</b>" Value2" <br><br>
...         <b>Field3:</b>" Value3" <br><br>
...         <b>Field4:</b>" Value4" <br>
...         <b>Field5:</b>" Value5" <br><br>
...     </body>
... </html>
... ''')
>>> for b in root.xpath('//b'):
...     print('{} {}'.format(b.text, b.tail.strip('" ')))  # <---
...
Field1: Value1
Field2: Value2
Field3: Value3
Field4: Value4
Field5: Value5

这基本上来自CDF的定义。

请注意,我得到的数字总和为1,而不是您编写的数字作为预期输出。我不知道你说这些是正确的基础。我的猜测是你隐含地使用带有非单位标准差的Normal变量。