天人合一之毕设——实践阶段9—— 幂律定律

   师兄上次看到我跑的结果,说少部分对象占用大多数的访问次数,很符合幂律定律(本质上是二八定律)

    copy了一段背景,了解下:

  自然界与社会生活中存在各种各样性质迥异的幂律分布现象。1932年,哈佛大学的语言学专家Zipf在研究英文单词出现的频率时,发现如果把单词出现的频率按由大到小的顺序排列,则每个单词出现的频率与它的名次的常数次幂存在简单的反比关系,这种分布就称为Zipf定律,它表明在英语单词中,只有极少数的词被经常使用,而绝大多数词很少被使用。实际上,包括汉语在内的许多国家的语言都有这种特点。

    它的数学模型是:y=cx^-r ,图大概是下图酱紫

    幂律分布表现为一条斜率为幂指数的负数的直线,这一线性关系是判断给定的实例中随机变量是否满足幂律的依据


    


   1.论文中肯定要提到并介绍幂律定律,还要画图,所以我可能需要拟合一下

   关于拟合的博客:https://blog.csdn.net/kevinelstri/article/details/52685934, 这个是用Python做的

   不过这个图可以借鉴

        

        到时候用MATLAB拟合吧,https://zhidao.baidu.com/question/1704079865194178300.html

        这个介绍了方法,但是图比较丑

        https://blog.csdn.net/sun_wangdong/article/details/46468097


   2.怎么根据幂律定律来划分数据冷热呢?哪里才是该一刀切的地方呢?

   目前想到的思路:

    1.根据第N+1个数和第N个数的差距(即斜率)来看,斜率最大的地方应该是一刀切的地方

                比如{400,200,20,19,19,19}

                他的差的绝对值序列应该为{200,180,1,0,0,}

                按照这种思路就应该是400/200,20....这样并不合理

            2.在1基础上改进,第N+1个数和第N个数的差距/第N个数,意味着在我的基础上变了多少

            就比方说上面,虽然400-200差是200,但是只变了400的50%

            200-20差是180,虽然低于200,但是变了90%

            3.第N+1个数/第N个数的比值,挑选比值最大的地方切开,其实这个思路好像就是第二种

     假设第N+1个数为a,第N个数为b,第二种就是b-a/b 或 a-b/b,即1-a/b或a/b-1,第三种就是直接a/b

     那就直接用第三种吧,思路比较简单

    



猜你喜欢

转载自blog.csdn.net/zhiman_zhong/article/details/79819325