【发布时间】:2020-06-29 11:21:37
【问题描述】:
python中有没有一种方法可以根据现有数据的分布生成随机数据?
这是我的数据集的统计参数:
Data
count 209.000000
mean 1.280144
std 0.374602
min 0.880000
25% 1.060000
50% 1.150000
75% 1.400000
max 4.140000
因为它不是正态分布,所以不可能用 np.random.normal 做到这一点。有什么想法吗?
谢谢。
编辑:执行 KDE:
from sklearn.neighbors import KernelDensity
# Gaussian KDE
kde = KernelDensity(kernel='gaussian', bandwidth=0.525566).fit(data['y'].to_numpy().reshape(-1, 1))
sns.distplot(kde.sample(2400))
【问题讨论】:
-
您有 2 个选项。 (1)识别分布(卡方?)并生成它。 (2) 做一个box cox,生成正常,然后做reverse
-
对于选项(1):它也可以是weibull。我怎么能确定呢?我将首先尝试选项(2)。 ty
标签: python random statistics normal-distribution weibull