- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我一直在寻找关于如何使用 rv_continuous
的好的教程或示例,但一直找不到。
我读了:
但它实际上并没有那么有用(并且缺少任何如何使用它的示例)。
我想做的事情的一个例子是,指定任何概率分布并能够调用 fit
然后只是简单地拥有我想要的 pdf 并能够调用expect
并得到想要的期望值。
目前我所理解的是,要创建任何可能的分布,我们需要为它创建我们自己的类,然后将 rv_continuous
子类化。然后通过指定自定义 _pdf
或 _cdf
我们应该能够简单地使用 rv_continuous
为我们提供的每个方法。 expect
和 fit
现在应该可用了。
然而,对我来说真正神秘的是,如果我们不明确告诉 rv_continuous 指定概率分布的参数是什么,它真的能够正确地执行所有这些方法吗?它是如何仅使用 _pdf 或 _cdf 来实现的?
还是我误解了它的工作原理?
此外,如果您能提供一个简单的示例来说明它的工作原理以及如何使用 expect
和/或 fit
,那就太棒了!或者更好的教程或链接会很酷。
提前致谢。
最佳答案
这是一个教程: https://docs.scipy.org/doc/scipy/tutorial/stats.html
基本上,rv_continuous
是为子类化而设计的。如果您需要一个未在 scipy.stats 中定义的分布(其中有 70 多个),请使用它。
关于它是如何工作的。简而言之,它使用通用代码路径:如果您的子类定义了 _pdf
而没有定义 _logpdf
,那么它继承
def _logpdf(self, x, *args):
return log(self._pdf(x, *args))
和一堆类似的方法(请参阅 https://github.com/scipy/scipy/blob/master/scipy/stats/_distn_infrastructure.py 了解详细信息)。
重新参数。您可能是指形状参数,对吗?它们是通过inspect
_pdf
或_cdf
的签名自动推断出来的,参见https://github.com/scipy/scipy/blob/master/scipy/stats/_distn_infrastructure.py#L617 .如果您想绕过检查,请向实例的构造函数提供 shapes
参数:
class Mydist(stats.rv_continuous):
def _pdf(self, x, a, b, c, d):
return 42
mydist = Mydist(shapes='a, b, c, d')
[严格来说,这只适用于scipy 0.13及以上版本。早期版本使用不同的机制并需要 shapes
属性。]
关于python - 你如何使用 scipy.stats.rv_continuous?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22447797/
from scipy import stats import numpy as np class your_distribution(stats.rv_continuous): def _pd
我有以下代码片段: from scipy import stats class my_distribution(stats.rv_continuous): def __init__(self)
我正在尝试为我根据数据生成/估计的一些 pdf 计算 E[f(x)]。 文档中说: Subclassing New random variables can be defined by subclas
我一直在寻找关于如何使用 rv_continuous 的好的教程或示例,但一直找不到。 我读了: http://docs.scipy.org/doc/scipy/reference/generated
我想自己生成一个有界分布函数。但我在上限中看到了奇怪的行为。这是我的代码: import matplotlib.pyplot as plt from scipy.stats import rv_con
我有以下 scipy.stats.rv_continuous 的子类: from scipy.stats import rv_continuous import math class Distribu
在我的 Python 项目中,我像这样扩展 scipy.stats.rv_continuous: class GenlogisticGen(LmomDistrMixin, scipy.stats.rv
我包含了我在下面编写的代码。由于某种原因,与初始分布相比,上限 0.804 被过度采样。我正在使用的两个发行版都会出现这种情况。 这是 rv_continuous 的常见问题还是我遗漏了什么? imp
编辑:计算出分布。并使其大部分工作,除了形状参数为负时。 PDF 应该适用于负形状值,但不适用于子类分布。 我正在尝试使用 scipy 统计数据创建偏态正态分布。我现在只需要PDF。 我对 rv_co
最终,我试图将两个 PDF 之间的 copula 可视化,这两个 PDF 是根据数据估计的(均通过 KDE)。假设,对于其中一个 KDE,我将离散的 x,y 数据排序在一个名为 data 的元组中。我
我正在尝试生成具有特定光度的 QSO 的随机概率密度函数,其形式为: 1/( (L/L_B^* )^alpha + (L/L_B^* )^beta ) 其中 L_B^*、alpha 和 beta 都是
我试图使用 scipy.stats.rv_continuous 对给定概率密度函数(pdf)的随机变量进行采样: class Distribution(stats.rv_continuous):
以下最小示例似乎存在内存泄漏(使用 SciPy 版本 0.17.0 进行测试) import resource from scipy.stats import rv_continuous class
我正在尝试通过子类化 rv_continuous 来生成二维均匀分布. from scipy import stats class uniform_2d(stats.rv_continuous):
我想为一些可能受离散分布支配的数据找到最大似然估计。但是在 scipy.stats 中,只有代表连续分布的类才有合适的函数来做到这一点。代表离散分布的类不代表的原因是什么? 最佳答案 简短的回答:因为
我是一名优秀的程序员,十分优秀!