0

假设我有以下从卡方分布中抽取的 100,000 个点的样本。

x=np.random.chisquare(10,100000)

我们绘制不对称的直方图。让我们说直方图代表概率。

我想获得 68% 的样本概率最高。或者,一般如何以最大概率获得 N% 的样本?请注意,当 N 趋于零时,我们将获得众数/最大值/最大似然点。请帮忙。PS我不是在寻找分位数/百分位数,如果分布/直方图不对称,它不会给出概率最高的样本部分。

4

1 回答 1

0

对于您的问题,我能想到的最简单的解决方案是拟合卡方分布,评估每个样本的密度,然后在数据集的分数处取顶部k样本。kN'th

from math import floor
import numpy as np
from scipy.stats import chi2

N = 100000
k = int(floor(0.68 * N))

x = np.random.chisquare(10, N)

dist = chi2.fit(x)

top_k = x[np.argsort(chi2.pdf(x, *dist))][::-1][:k]
于 2020-09-19T04:47:33.513 回答