Contents
对品葱知名用户天下无贼点赞记录的数据分析
Section 1. 数据获取
在品葱的个人账号页面,选取了“送出的赞”,这一栏目数据作为此次分析用途。
- 该数据栏目结构相对简单,不需要太过于复杂的数据清洗,即可获得结构清晰的数据源;
- 该数据栏目包含赞(+1)和踩(-1),两类数据,可以反映用户使用行为的某些统计学特征;
- 用户天下无贼在品葱高频度的活跃度,生产了不错的数据量,有助于提高分析结果的鲁棒性;
使用该数据集的不足:
- 仅仅是反映了对于特定文章评论的方向性(binary)意见,因此分析仅仅停留在使用行为层面,无法深入到观点层面;
- 在对使用行为的时序分析中,因为利用其他使用行为作为交叉分析,因此对时间尺度上的行为会有遗漏;
- 点踩和点赞 只是用户意见的代理指标(proxy),可能无法反应用户的真实想法。
简单介绍下所使用数据集的概览(summary)
时间跨度:2021年9月5日 – 2023年10月31日
数据长度: 929条目
数据列目: 6列, 依次为 score赞踩数据(+1为赞,-1为踩, 0为点赞后又取消), user_name用户名(赞踩对象用户名), user_repu(赞踩对象声望值),user_vote(赞踩对象游戏币数), question_type(赞踩问题类型), question_id(赞踩的文章id)
notes: 数据清洗中,有一个很有意思的事情, 我发现品葱的该html页面对数据使用的分隔符为“•”,为十六进制的’\x95’特殊符号,并不符合UTF-8编码标准,因此在清洗过程中还给制造了一些小小麻烦,可能是因为笔者在html方面几乎白痴。
下面截图为清洗后的数据框概览:
Section 2. 赞踩行为单向分析结果
从单纯的赞踩行为,可以看到,在929条赞踩数据中, 68.89%为点赞行为, 28.74%为点踩行为, 2.36%为点赞后取消行为。
从赞踩数据的时序数据来看, 从2010年9月到2022年10月之前,赞踩数据都相对稀疏,进入到2023年之后,赞踩数据开始逐渐密集,尤其是2023年2-4月,2023年10月下旬,两个时间段的赞踩数据量占到了整个数据集的83%, 应可针对这两个时间段的国内外热点事件进行交叉分析。
按照赞踩记录的日期进行单日累加,并且对过去一周的赞踩行为进行了移动求和,得到了每日的周累计赞踩活动数据。 从上图可以看到一样的赞踩行为活跃度,此图标能更加方便identify到一些高密度的活动时期。
讲单日活动数据和周累计活动数据放到一个视图下,可以更加明显的看到以上规律。
以下为单日赞踩数据最高的前十个日期:
2023-10-31 13
2023-10-20 13
2022-12-12 12
2023-10-22 11
2022-08-06 11
2022-09-05 10
2022-02-07 10
2023-02-27 10
2023-04-06 9
2023-03-14 9
可以看到2023年10月31日 和 2023年10月20日 均为为一天13条,
其次为2022年12月12日,一天为12条, 以此类推
Section 3. 赞踩行为节假日活跃分析结果
在对赞踩数据进行时序分析之前,笔者先建立了一个2021年9月到2023年10月31日的日期时序作为数据框的index,然后将原始数据集中的活跃日期进行类别标签处理,再join到新建的数据框之中,这样就得到了一个每日活跃的新的数据列 Active, Active=0为当日未进行任何赞踩,Active=1为当日有赞踩行为。
然后对于每一个日期进行加节假日判断,产生新的两列数据, week_day和is_holiday。 在进行这项操作时,用到了由清华大学pip源提供的chinese_calendar包,对日期进行一键处理,这里点个赞。
下图为新的vote时序数据框的概览:
比如数据的第一行2022年9月19日列, Active=0为当日不活跃, weekday=’Sunday’ 当日为星期日, week_sum=6 前一周累计赞踩数据为6, is_holiday=True当日为非周末节假日, holiday_name=’mid-autumn festival’ 当日为中秋节
根据以上数据集得到如下分析结果:
缺席率
清明节 80.000%
劳动节 78.571%
端午节 71.429%
公历新年 66.667%
国庆节 51.852%
中秋节 50.000%
所有日期 49.174%
非节假日 48.043%
春节 44.444%
按照缺席率来看, @天下无贼用户在清明节期间赞踩活跃缺席率为80%, 也就是过去3年的累计清明节天数中,有80%的天数,用户没有进行任何赞踩行为;
其次的缺席率为劳动节, 78.57%的劳动节假期,用户没有任何赞踩行为;
端午节为71.43%, 公历新年为66.67%, 国庆节和中秋节约为一半的缺席率。
而所有的非节假日中,用户的赞踩行为缺席率为48.04%
在所有的节假日中,春节的缺席率最低, 为44.44%
对于每周的工作日和双休日进行分析:
天下无贼用户在一周之内活跃量统计:
Friday 63
Thursday 60
Sunday 58
Tuesday 58
Wednesday 56
Monday 55
Saturday 50
以上结果中 该用户在星期五活跃度最高,在过去3年内,有63个周五产生了赞踩使用记录。
活跃度最高的第三名为周日,有58个周日都产生了赞踩记录。
以下为不活跃的weekday天数统计:
Saturday 62
Monday 58
Wednesday 56
Sunday 55
Tuesday 55
Thursday 52
Friday 49
可以看到最不活跃的为周六,有62个星期六没有产生任何赞踩行为,其次为58个周一没有赞踩行为,然后是周三。
从以上数据可以得出一个结论, 该用户在周日赞踩行为最为活跃,在周六的赞踩行为最为不活跃, 工作日中周四的赞踩行为最为活跃,周一的赞踩行为最为不活跃。
以上结果显示, 天下无贼一周赞踩累计,最活跃的周均在2023年发生, 其中2023年10月29日一周,发生44次赞踩记录, 其次为2023年3月5日一周,赞踩记录为41条。
Section 4. 赞踩对象分析
因为品葱赞踩记录中,包含赞踩对象的用户名,威望,游戏币等信息,获得以下分析结果。
上图为天下无贼累计点赞前十名用户,在所有点赞记录中, 用户@疯狂习近平获得了累计43条点赞, yogafire获得了17条点赞, 蘑菇云和王匪沪宁均获得14条点赞。
这里面疯狂习近平,yogafire,蘑菇云,王匪沪宁,矢作萌夏,华国锋,李瑞环,zhengyi,翻越柏林墙,庆丰包子的梦弟全部都是网警,和天下无贼在一个办公室上班。
天下无贼应该是北京市公安局网安总队的民警,在百度大厦上班。网安总队在百度有删帖的小组。天下无贼虽然是负责品葱的,但是有些信息害怕“倒灌”回中国,要通气删帖。前面可以看到,天下无贼周六固定休息,清明节,劳动节,端午节休息,春节值班较多,说明天下无贼是,探长或科长之类的角色。
天下无贼是上24小时班,休息72小时。试问哪个职业是这样轮班的?
因为他干活这么卖力气,副处长以上就不干活了。
而春节又得不到休息,说明他是个小领导,家在北京,或者已经在北京结婚成家了。要照顾外地民警春节休假回家,天下无贼要顶班。
同理相反,可以获得累计点踩前十名用户:
从上可以看到, @天下无贼 累计点踩次数最多的用户为@打狗棒专打共党,累次踩31次, @事已至此先吃饭吧 累计被踩12次, 笔者本人也不幸上榜,被累计点踩5次,不过再次声明,笔者和@天下无贼 无个人恩怨,虽然经常意见相左。
这些应该就是北京市公安局网安总队天下无贼网警背书的非网警账号,也可能是列入黑名单,尝试抓捕的账号。
下图为交叉赞踩行为, 也就是针对一个用户,点赞和点踩两类记录之和,产生@天下无贼对该用户的net_vote 净点赞数
对@事已至此先吃饭吧,有两次点赞,12次点踩,净点赞数量为-10, 对fb_china_today,有3次点赞9次点踩,净点赞数为-6
Section 5. Predictive Analysis 预测性分析
最后对@天下无贼 的净点赞次数(up_vote – down_vote), 进行了一个简单的SLR预测模型,模型采用的OLS线性回归方法,模型如下:
net_vote 净点赞数 = α + β1* user_repu 用户声望 + β2*user_vote用户游戏币 + ε
值得指出的是,以上模型中, user_repu和user_vote 两个数据存在显著正相关性,将两列数据放入模型中,可能引入多重共线性偏差(multi-collinearity bias), 但是因为模型自变量非常少,当前数据集中直接可用的量化质量只有这两个,况且计量经济学前辈John Tukey 曾经说过: multi-collinearity is god’s will. 因此笔者还是选择使用两个自变量作为建模输入。
以下为OLS回归结果:
从上述结果中可以看到, x1自变量(用户声望 user_repu)对净点赞数有95%的统计学显著性, 用户声望每提高1个单位, @天下无贼净点赞数同时增加0.39次, 也就是说,用户声望越高,@天下无为用户越可能送出更多的净点赞数。 而x2自变量 (用户游戏币 user_vote) 并没有显著的预测效果。 整个OLS模型对于@天下无贼用的净点赞记录的预测效率仅为R-squared = 6.5%。
此次分析的不足和待改进之处环:
- 仅仅使用了赞踩行为数据集,无法全面客观反应用户的实际观点,态度,行为方式等。
- 接下来可使用text mining的一些技术手段,对留言/回复中的情绪方向进行处理和分析。
- 整合此次分析中一个通用型框架,来对品葱任意用户进行赞踩行为分析。
- 在遵守品葱用户使用行为规范的前提下, 使用网页爬虫手段来自动获取页面数据,进行清晰并形成结构化的数据集。
- 优化提升分析结果展示的用户可阅读性。