我正在尝试生成数据集,这些数据集遵循截断负二项分布,其中数字集合具有最大值。
def truncated_Nbinom(n, p, max_value, size):
import scipy.stats as sct
temp_size = size
while True:
temp_size *= 2
temp = sct.nbinom.rvs(n, p, size=temp_size)
truncated = temp[temp <= max_value]
if len(truncated) >= size:
return truncated[:size]
当max_value和n较小时,我可以得到结果。但是当我尝试使用以下值时:
input_1= truncated_Nbinom(99, 0.3, 99, 5000).tolist()
内核一直崩溃。我尝试更改Python端口并提高递归限制,但都没有起作用。你有什么想法可以让我的代码更快吗?