- 问题1:本书的附件在哪里下载?
- 问题2:《电商流量数据化运营》与《Python数据分析与数据化运营》有什么区别和关系??
- 问题3:书里面的案例多吗?
- 问题4:书里的案例,使用的是什么工具或语言实现的?
- 问题5:书在哪里可以买到?
- 问题6:书是黑白印刷的,有原始彩图吗?
- 问题7:4.2基于用户喜好的投放内容管理中,为什么需要将商品不同行为和场景的权重加权汇总,而不直接使用单一行为指标或单一场景、单一事件来计算用户喜好?
- 问题8:4.5.5 着陆页测试的贝叶斯评估方法中,贝叶斯的原理有没有进一步的解释、说明或推荐阅读材料?
- 问题9:第7章7.2.2 分析特征对转化目标的正负向影响中,shaply值输出为什么有2个数组,为什么要选择第二个数组?
最近更新时间:2021-11-14
问题1:本书的附件在哪里下载?
下载地址为:《电商流量数据化运营》附件
问题2:《电商流量数据化运营》与《Python数据分析与数据化运营》有什么区别和关系??
《电商流量数据化运营》与《Python数据分析与数据化运营》的区别与联系如下:
-
逻辑上, 《Python数据分析与数据化运营》 是总,它包含了更广泛的运营话题;而《电商流量数据化运营》是分,它是其中的关于流量运营的分支。后续还会陆续把会员运营、内容运营、商品运营、活动运营、网站运营等主题再分别出书。 当然,《Python数据分析与数据化运营》这本书会在继续改版,以适应新时代的发展需求,所以内容结构上也会更加完整。
-
内容上,《 Python数据分析与数据化运营》的更偏“分析”一些,所以里面包含了大量的维度、指标、分析方法、数据模型、大实话等;而《电商流量数据化运营》更聚焦于业务实践,更偏“业务” 一些 ,所以会看到里面的内容都是围绕“如何做流量运营”的全过程展开,探讨数据如何发挥价值。
-
工具上,《Python数据分析与数据化运营》完全使用Python;而 电商流量数据化运营》 则以Excel为主,辅助以Python实现。
问题3:书里面的案例多吗?
本书从第3章到第7章,基本每个小节(二级标题)下都有1~2个案例。例如:
问题4:书里的案例,使用的是什么工具或语言实现的?
这本书的实现工具有2个,一个是Excel,大概案例实施的占比在70%~80%;第二个是Python,大概案例实施的占比在20%~30%。
其中:Excel的工具版本是Office 2013,Python的版本是3.8(适用于3.9、以及最新的3.10)
问题5:书在哪里可以买到?
通用的买书渠道,比如在线渠道:
线下店可能也有,具体得看渠道了,不过网上买最方便了。
另外,这本书应该也是有电子书的。大家可以去看下京东读书、亚马逊kindle、微信读书。
问题6:书是黑白印刷的,有原始彩图吗?
书的彩图,我一起放在随书附件里面了。大家下载后,会看到压缩包里面有个文件夹,就是原始彩图。如下:
问题7:4.2基于用户喜好的投放内容管理中,为什么需要将商品不同行为和场景的权重加权汇总,而不直接使用单一行为指标或单一场景、单一事件来计算用户喜好?
4.2 基于用户喜好的投放内容管理中,在“ 第四步 为商品增加权重”中出现了两层权重,分别是商品互动事件类型的权重和商品互动产生的场景的权重。为什么需要如此复杂的权重关系?
首先,对于用户对商品的行为喜好的表现,不同的人对于喜好的表现行为不同。比如,有的人会多看,所以浏览是评价喜欢与否的重要标志;有的人的表现是搜索,有的人则是购买。所以,在用户行为上,会存在千差万别的“喜欢表现”,如果我们只使用1个字段(或商品互动事件),那么一定是有所偏颇,因为我们概括的行为不够完整和全面。所以,才需要多个行为事件综合考虑。
如果是这样,只需要针对不同的行为设置不同的权重就行了,为什么还需要有场景区分?
关于场景权重和类型的权重,场景和页面事件并不是一对一的关系,而是多对多的关系。
比如商品品浏览这个事件,指的是有商品的曝光(类似于站外广告的impression),而商品可以在多个场景下曝光,比如一个产品A在首页、搜索页、个人中心页都有推荐展示。
不同的场景,对于核心KPI的影响也是不同的,这就好比站外广告渠道,同样的一个人,我们会认为从高质量渠道进入的时候它“此次”的价值度更高。另外一个日常生活的例子就是,同样的一个人,知名教授介绍给A认识,和普通人介绍给A认识,A会更偏向于认为知名教授介绍时更认可这个新朋友的价值,这种逻辑是相同的。
所以就有了类型和场景分别产生权重再汇总计算的逻辑。
问题8:4.5.5 着陆页测试的贝叶斯评估方法中,贝叶斯的原理有没有进一步的解释、说明或推荐阅读材料?
- A/B测试:A/B测试简单来说,就是为同一个目标制定两个方案,让一部分用户使用A方案,一部分用户应用B方案,记录下用户的使用情况,看哪个方案更符合设计。A方案的转化率可以看做一个二项分布,传统的频率学派认为p是固定不变的,为所有转化的总数除以实验总数。然而贝叶斯学派不会假设p是固定不变的,引入一个Beta分布作为二项分布的共轭先验,通过调整Beta分布参数,动态调整p的值。
- Beta分布:Beta分布是二项分布的共轭先验,描述了二项分布中p取值的可能性。Beta(m,n)代表着m+n次试验,m次A,n次B的概率分布。在频率派认为抛100次硬币,16次正面朝上;抛50次硬币,8次正面朝上,正面概率都是p=0.16。但是贝叶斯学派不这么认为,也即Beta(16,84)和Beta(8, 42)是不一样的概率分布。
上图是一枚硬币抛100次有16次正面,和抛50次有8次正面的两个实验。图中的数据分布就是 Beta(16,84)和Beta(8, 42)的分布图 。 在Beta(α,β)中,Beta分布有两个参数α和β,α的现实意义就是16次正面,β的现实意义就是84次反面。
通俗地讲,Beta概率是对“正面概率应该为p”这件事情的概率分布。
上面的实验的基本规律:
在频率派认为抛100次硬币,16次正面朝上;抛50次硬币,8次正面朝上,正面概率都是p=0.16。
但是贝叶斯学派不这么认为,也即Beta(16,84)和Beta(8, 42)是不一样的概率分布。
规律的进一步解释:
上图抛100次有16次正面和抛50次有8次正面虽然只是实验规模不同,但是分布密度图是不一样的:
-
频率学派观点是应该猜测正面概率p=0.16;贝叶斯学派观点是,以上两种情况的猜测p都小于0.16,因为实验次数越少,真实的正面和反面的差距就可能越大!
-
实验次数越小,上面概率密度图应该越平缓(绿线),因为少的实验次数不能增大决策信心。而蓝色的100次实验,明显有更大的信心猜测p更接近0.16.
-
实验次数越大,上面概率密度图的均值更应该接近0.16,符合大数定律。
因此,基于上述基本逻辑,贝叶斯可以被引用到AB测试中,对比2个版本的实验结果的差异。
关于进一步的贝斯的算法和推导过程,请见:
问题9:第7章7.2.2 分析特征对转化目标的正负向影响中,shaply值输出为什么有2个数组,为什么要选择第二个数组?
首先,需要明白的是,无论是什么模型和算法,对于一个具有二分类结果(例如是否转化,预测结果是0或1)的特征x,预测的得到的y一定是包含两项结果的,要么为0要么为1。
所以,在模型的输出时,这个预测结果就有两种表示方法:
- 第一种 概率输出,也就是clf.predict_proba(x)得到的结果,它的值分别【同时】包含了结果可能是0以及结果为1 的概率,例如[0.12,0.82]。
- 第二种 标签输出,也就是clf.predict(x)得到的结果,它的值【只】包含1个结果(0或1),例如[1]。
上面2种表示方法,如何对应? 默认情况下,预测模型判断结果是否为转化或不转化有一个基准值为0.5,也就是说,当预测概率值>0.5值,那么预测的label就是1;否则就是0。在上面的2种情况里面,由于第二个值的概率为0.82,那么结果的label1。
当大家有自定义的需求时,也可以调整这个0.5的阈值,比如我可以定义为,只有当预测为1的概率为0.9时,我才认知他能转化,那么此时,这个结果的预测标签就是0——不转化。
此时,我们对转化的定义就非常严格,有点像,考试达到90分,我们才认为你合格;而不是60分就合格。
回到shapely的值,shap_value返回的结果包含2个数组,这2个数组是与概率预测模型相对应的,也就是分别解释当预测为0以及预测为1的情况下,各个特征分别对于这2个结果(0以及1)的影响。在书中,我们重点研究的是“特征是如何影响转化的”,所以我们就取第二个数组。
在这两组shaply检验结果中,大家可以看到,2组的结果值是以【0】为界限对称分布的。比如当一个特征对于x为0时的影响结果值是0.07821677,那么对x为1时的结果值的影响就是-0.07821677。0在shaply结果中表示“没有影响”,所以当x=0和x=1的shaply值相加时,就应该结果0。如下面打印出2的两组shapley结果值。
在研究shapely的总体特征时,检验的是所有特征的shapely值的绝对值的均值。所以:
- 对于总体特征的重要性检验而言,使用第一个数组还是第二个数组,结果就都是一样的。
- 但是要检验shapely对于特定预测结果的影响结果(例如为0或为1)时,就需要区分使用不同的检验结果。
下面举一个例子:
假设分类模型中有3个结果(比如预测用户的等级为高、中、低),此时,我们要重点检验 不同特征如何促进用户成为 高价值客户时,就要选择结果数组中,检验值为 高价值的label的结果值。这个值的设置跟模型相关:
- 假如我们设置的label 0/1/2分别表示低、中、高转化,那么就应该取shaply检验结果返回的第3个数组;
- 但如果设置的是0/1/2分别表示高、中、低,那么就应该取返回结果的第一个数组。
书已经入手,正好工作需要