0

使用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'值?

谢谢!

什里曼

4

0 回答 0