首页 > 编程知识 正文

泊松分布与指数分布,泊松分布系数

时间:2023-05-05 03:01:59 阅读:195528 作者:926

概述

搜索引擎使用网络爬虫在爬网页时,有一个重要的策略是对已经爬过的网页,要隔段时间重爬一次,防止网页更新导致索引库中的网页过期。怎么确定这个时间间隔呢?通常会用到泊松分布。

泊松分布

先解释一下泊松分布:假设过去很长一段时间内的跟踪统计数据表明,某医院每个小时会出生3个娇气的戒指,这个数据就属于泊松分布。因为这个数据满足几个条件:1、这个数据是在很长的一个时间段内来统计得到的;2、每小时出生的娇气的戒指基本稳定在一个水平;3、每个小时出生的娇气的戒指数量互不影响;4、随意选取某一个小时来看出生娇气的戒指数量的话,会发现出生3个的概率很大,出生2个或4个的概率会变小,出生0个或10个的概率极小。用图表示,就是这样的:

回到网页更新爬取这个话题,用R给出应用解决方案:
假设根据过去经验,某网站更新频率为一天3次。

//该网站一天更新0,1,2,3,4,5次的概率分别有多大?dpois(c(0,1,2,3,4,5),3)//0.04978707 0.14936121 0.22404181 0.22404181 0.16803136 0.10081881//该网站一天更新0,0~1,0~2,0~3,0~4,0~5次的概率分别有多大?ppois(c(0,1,2,3,4,5),3)//0.04978707 0.19914827 0.42319008 0.64723189 0.81526324 0.91608206//上面两个函数d为密度函数,p为累计函数,还有q为分位函数,r为随机函数。

从这里很容易看出泊松分布的特点。更新频率均值附近的概率较大,越往两边越小,且右尾部很长。

指数分布

既然更新频率符合泊松分布,那如果把每次网页的更新时间点之间的时间间隔记录下来,这些数据就必然服从指数分布。图形化之后,指数分布的图是这个样子的:

下面给出R语言的应用方法
已经网站平均每天更新频率为3次,可以计算出平均更新时间间隔为8小时。

//网站刚刚更新过一次之后,1,2,3,4,5,6,7,8小时之后的又有更新概率为别是多少?pexp(c(1,2,3,4,5,6,7,8),1/8)//0.1175031 0.2211992 0.3127107 0.3934693 0.4647386 0.5276334 0.5831380 0.6321206

根据指数分布的概率密度图,加上我们可以接受的爬取网页时的命中率,我们就可以计算出让爬虫隔多长时间爬一次最合适了。

参考

泊松分布和指数分布:10分钟教程
泊松分布与美国枪击案

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。