[Chrome Net Stack]用户行为统计算法

来源:互联网 发布:mac java 安装 编辑:程序博客网 时间:2024/04/29 19:10

Chrome为了让用户有更好的上网体验,提供了一些以统计为基础的策略。目的在于预知用户的下一步行为,并提前发起操作,以减少用户等待时间。详细的内容可以参考之前的翻译:<<Google Chrome中的高性能网络>> 。主要的类图如下:

                  

其中应用的就是统计中的预测方法:指数平滑预测方法(Smoothing Parameter)。指数平滑算法属于时间序列预测法,主要考究变量随时间发展的变化规律,描述事物的发展规律。(另一大类的预测方法为因果关系预测,即由若干个条件推导出某个关系的预测方法)


它有两个显著的特点, 一是利用了全部历史统计数据, 二是遵循“重近轻远”的原则加权平均, 修匀数据. 历期数据的指数平滑平均值介于历期 数据最大值与最小值之间, 利用它进行数据信息的处理, 能起到抵御或减弱异常数据的影响, 致使历期统 计数据所包含历史规律性的信息能显著体现出来, 使预测模型能排除异常干扰, 更精确模拟预测对象历史 的规律. 因此, 传统的指数平滑技术仍然是一种有发展前途的处理数据信息的方法.[摘自徐大江《预测模型参数的指数平滑估计法 及其应用的进一步研究》]


数学模型为:

    

在Chrome应用中,每一个资源有一个Expected Value (内部变量为use rate) 表示它的分值。随着时间发展,这个分值不断演化并表示资源本身被使用的频繁程度。两个更新时机:

 1. 当页面被访问时,所有的页面子资源的EV值乘于0.66。

    2.     当子资源被存取一次时,其EV值加0.34。


其公式为:

       

可以对应于上面数据模型。


其中0.66和2的取值,也有一些考虑,特别是影响收敛速度。下图表示初值相同,取不同a时的收敛曲线:

         

计算出EV后,当加载页面时,会依不同的值执行预解析和预连接的流程:

          


参考资料:

    <<预测方法与应用>>


原创粉丝点击