问题标签 [scipy.stats]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 查找平均值落在一个范围内的概率 - Python,matplotlib
我是 matplotlib 和统计的新手。尝试通过以下示例进行学习,并在理解和解决方案方面需要一些帮助。
我在下面添加了条形图图像。我有 1992、1993、1994 和 1995 四年的样本数据。我为它们的均值和误差范围绘制了 4 个条形图。此外,我允许用户绘制一个矩形来选择 y 轴上的范围。这在图像中显示为灰色水平矩形,ymax=46132 和 ymin=37527。现在的任务是将每个条形图与这个 y 轴范围进行比较,并评估每个分布值是否落在 y 轴上选定范围内的概率,并根据底部的颜色图对条形图进行相应的着色。
我已经使用以下代码来查找此概率,但它没有显示正确的结果。df2 有 4 行,其中包含每个条形的平均值和标准差。ymax=46132 和 ymin=37527。
下面是输出的 cdf 值。所有都接近 0,因此 cmap 为所有条形图呈现浅色。根据我的理解,在图像中当前的 y 轴范围内,1993 年的条形图应该用深色绘制(应该有更高的概率),1992 年和 1995 年用浅色绘制(概率较低),而 1994 年可能会用 -颜色之间。
请帮助我了解我做错了什么以及如何解决这个问题。
python - 相当于 Python 中的“ksdensity”MATLAB 内置函数
我需要以下 MATLAB 代码的 python 等效代码:
我找到下面的 python 代码,但我不知道如何提供它的cdf
. 如果您能指导我,我将不胜感激。
python - 如何在python中找到高于第二个标准差的值的百分比?
问题陈述 - 假设变量 X 有一个钟形分布,平均值为 150,标准差为 20。X 值在 190 以上的百分比是多少?
到目前为止我的代码:
我知道 68% 的 X 位于 1 个标准差内,即(在 130 到 170 之间),95% 位于 2 个标准差内(110 到 190)。
但是如何找到高于 190 的值的百分比?(我写了 2.50 作为答案,但它不正确)
python - 如何在python中查找给定范围内的值的百分比?
问题陈述 - 变量 X 的平均值为 15,标准差为 2。
介于 8 和 17 之间的 X 值的最小百分比是多少?
我知道 68-95-99.7 经验法则。从谷歌我发现 1.5 个标准差内的值的百分比是 86.64%。到目前为止我的代码:
据我了解,
13-17 在 1 个标准偏差内,具有 68% 的值。
9-21 将是具有 99.7% 值的 3 个标准偏差。
7-23 是 4 个标准差。所以 8 比平均值低 3.5 个标准差。
如何找到从 8 到 17 的值的百分比?
python - 如何从python中的正态分布计算百分位数?
问题陈述 - 随机变量 X 是 N(25, 4)。求 X 的指定百分位数:
一个。第 10 个百分位
湾。第 90 个百分位
C。第 80 个百分位
d。第 50 个百分位
尝试 1
我的代码:
... 像那样。我从https://sphweb.bumc.bu.edu/otlt/mph-modules/bs/bs704_probability/bs704_probability10.html中给出的 Zscore 表中得到了值
尝试 2
但是根据实践平台的隐藏测试用例,答案是不正确的。谁能告诉我计算答案的正确方法?是否有任何 scipy.stats 功能?
python - 加快从叠加截断正态分布中绘制随机值
我想从一个分布中抽取 N 个随机样本,该分布是两个截断的正态分布之和。rv_continuous
我通过子类化并提供一个 pdf 来获得我想要的东西scipy.stats
,该 pdf 是两个给定 pdf 的平均值:
但是,使用:
非常慢,每个随机值大约需要 5 秒。
我确信这可以更快地完成,但我不知道该怎么做。我是否应该将我的分布定义为(非截断)正态分布的总和,然后强制截断?我在这个方向上做了一些测试,但这只是快了大约 10 倍,因此仍然很慢。
谷歌告诉我,我可能需要使用逆变换采样并覆盖该_rvs
方法,但我未能使其适用于我的截断分布。
python - 如何使用python找出样本均值在+/-一个总体均值单位内的概率为0.95的区间?
我是统计和数据科学领域的初学者,所以请您善待我。
我必须在python中解决以下问题:
问题陈述 - 假设总体变量 X 为 N(3, 0.3) 且 n = 20。必须选择多大的区间才能使样本均值位于总体均值 μ 的 ±a 单位内的概率为 0.95?
我知道 68% 的数据在 1 个标准差内,即 2.7 到 3.3。95% 的数据在 2 个标准偏差范围内,即 2.4 到 3.6。
我的代码:
输出:
但是答案 (ba) 不正确,因为它与隐藏测试用例的预定义答案不匹配。
在打印 a,b 值时,我得到:
a= 2.412010804637984
b= 3.587989195362016
可能是我没有正确回答问题,或者我没有以正确的方式计算。
已编辑
尝试 2
使用概念 μ=¯ ± Z(σ/√n)。¯ 是样本均值。μ 是总体平均值。95% 是置信区间。
尝试 3
尝试 4
所有尝试都显示不正确的答案。
请建议我该怎么做。
pandas - 寻找在两个熊猫列之间获取 pearsonr 的有效方法
当第三列满足某些条件时,我正在尝试找到一种方法来获取数据框中两列之间的人员相关性和 p 值。
df =
桶ID | 强度 | BW25113 |
---|---|---|
825.326 | 3459870 | 0.5 |
825.326 | 8923429 | 0.95 |
734.321 | 12124 | 0.4 |
734.321 | 2387499 | 0.3 |
我最初尝试了一些 pd.Series.corr()
非常快的功能,并按照我想要的方式获得最终输出:
然后,这给了我(大部分)想要的表:
桶ID | 组织 | 相关性 |
---|---|---|
734.321 | 强度 | 1.0 |
825.326 | 强度 | 1.0 |
734.321 | BW25113 | -1.0 |
825.326 | BW25113 | 1.0 |
这适用于给我个人相关性,但不是 p 值,这将有助于确定相关性的相关性。
有没有办法以这种方式获得与相关联的 p 值,pd.Series.corr()
或者某个版本的scipy.stats.pearsonr
迭代每个 BucketID 的数据帧会更有效?我尝试了这种口味的东西,但速度非常慢(几十分钟而不是几秒钟)。
提前感谢您的帮助和/或评论。
python - Scipy Compute Mann Whitney U 沿多个切片
给定以下数组:
我想为各个样本的每个切片运行一次 Mann-Whitney(-Wilcoxon) U 检验,并将结果填充到一个输出数组中,其中一个切片用于 U 统计量,另一个用于 p 值。我知道我可以像这样单独运行它们:
输出:
期望的输出:
我已经尝试过np.apply_along_axis
,但数组参数只需要一个输入,而我有 2 个。此外,我需要尽可能快的解决方案,因为作为模拟的一部分,我将在数千个切片上执行此操作。
提前致谢!