我有一个scipy.stats.distributions对象,我试图弄清楚它的下限和上限。简化代码来说明我正在尝试做的事情:
int main(void){
char a[]="abcdefghijk";
for (int i=0; i<11; i++){
for (int j=0; j<11 && a[j]!='\n'; j++){
char r[2] = {a[i], a[j]};
printf("I-th element: %c ", a[i]);
printf("J-th element: %c ", a[j]);
printf("Together: %s", r);
printf("\n");
}
}
return 0;
}
我无法在任何地方找到有关如何执行此操作的文档。
答案 0 :(得分:1)
就我而言,概率密度函数没有上下界x方向或y方向。根据定义,您的均匀分布将其pdf评估为范围(1,5)的1/4和其他地方的0。如果你要求cdf为0或1(或渐近接近0或1)的点,那么scipy.stats
中的每个分布函数都有一个ppf
方法,您可以用它来获取通过输入所需的百分位数(在您的情况下,0和1)来确定上限/下限。
但是,请注意,当您将0或1放入ppf
时,连续随机变量通常会将+ -infinity作为其一个或两个边界。这就是分布的构建方式。如果你坚持找到一个值,那么试试一些接近但实际上不是0或1的数字。
答案 1 :(得分:1)
我不确定所有的scipy发行版都是为了最大数量的我们的最大便利参数化。但是,文档说,&#39;这种分布在loc和loc + scale之间是不变的。&#39;你想在区间[1,5]上有一个统一,这意味着loc = 1和loc + scale = 5。然后,我们可以使用以下代码直接获得您最常要求的内容。
SELECT game_players.game_id,
COUNT(game_players.user_id) AS team_size, game_players.team_id
FROM game_players WHERE game_players.game_id=8 GROUP BY game_players.team_id
生命变得更加不确定涉及无限支持的分布,例如正常分布。你可以要求ppf(0)和/或ppf(1),但结果(减去和加上无穷大并不是很有趣)。我怀疑大多数人会对下限和上限更感兴趣。抓住了有趣的&#39;密度函数的一部分。在正常的情况下,这可能是从ppf(0.05)到ppf(0.95)。在这种情况下,文档说,&#39; location(loc)关键字指定平均值。 scale(scale)关键字指定标准偏差。&#39;这是一种解脱。
>>> from scipy.stats.distributions import uniform
>>> u = uniform(1,4)
>>> u.ppf(0)
1.0
>>> u.ppf(1)
5.0
毫不奇怪。