您需要做的是在给定注册用户数量的情况下准确估计某个用户名出现的概率。假设 N 是用户数,如果用户 u 存在,则 u = 1,如果用户不存在,则 u = 1。
首先,假设每个用户名的概率分布相互独立。这不会是真的 - 你已经想出了一个原因 - 但它可能是必要的,因为它使数据收集和数学变得更容易。
您将需要来自具有注册用户名的站点的大量数据以及该站点的用户总数。现在,取任何特定的用户名并想象您在 2d 绘图上的数据点(x 上为 N,y 上为 u),在 y=0 处将有一条水平线点,在 y=1 处有另一条点。您可以按照您的建议对 x 轴进行分箱,并采用箱中所有数据点的平均 y 坐标来获得离散函数,或者您可以尝试将图表上的点拟合到某些函数类别。我真的不知道那类函数会是什么——也许是某种幂律?(我在想Zipf 定律)。
您现在拥有应用贝叶斯规则的概率分布。我不知道你想使用什么样的先验。均匀分布(最多一些)不会做任何假设,但我猜大多数网站的用户群都很小。
我怀疑为了完成这项工作,当您从一个站点对用户进行抽样时,您需要为一组特定的用户这样做。我敢打赌,用户名的受欢迎程度将会有一个很长的尾巴,因此随机的用户样本会给你很多非常不常用的名字,因此会有很多无用的证据。
编辑:我有另一个想法;在大多数论坛(以及 StackOverflow 上)中,用户具有连续的用户 ID,因此您可以使用具有大量用户的单个站点来为您提供所有较小 N 的估计值。