使用https://numpy.org/doc/stable/reference/random/generated/numpy.random.zipf.html作为参考,我玩过'a'值> 1。我的问题是,目的是什么在确定分布时的“a”值?到目前为止,这是我编写的代码:
a = 1.4
random_array = np.random.zipf(a, 30)
# print(ran_array)
elements_count = {}
for element in random_array:
if element in elements_count:
elements_count[element] += 1
else:
elements_count[element] = 1
for i in sorted(elements_count):
print((i, elements_count[i]), end=" ")
这给了我一个结果:
(1, 8) (2, 2) (3, 2) (4, 2) (6, 5) (10, 1) (11, 2) (12, 1) (25, 1) (51, 1) (73, 1) (173, 1) (245, 1) (521, 1) (974, 1)
如果我使'a'值更大,数字'1'的频率会增加更多。数学如何计算a'值?
谢谢!
什里曼