对品葱知名用户天下无贼点赞记录的数据分析

首先声明: 笔者和@天下无贼 并无个人恩怨,虽然在若干话题下,我跟天下无贼有过不甚愉快的互动,我对天下无贼立场、观点、讨论方式、对线策略等,也不能完全认同,但笔者坚定的支持按照个人意愿,在遵守论坛使用规则的前提下,参与品葱的各种讨论的权利。以下分析单纯是出于个人兴趣,而且数据获得是品葱公开的用户数据。 笔者在分析结果的展示中,会尽量避免个人的主观意见,单纯的展示数据和分析结果。 如果本文章违反了论坛使用规定,或者伤害到个人情感,可以开诚布公的告知我,我会酌情修改/删除。 谢谢。

notes: 如果有人感兴趣, 想要进一步analyze,或者想要验证/复现此次分析结果,可以通过私信索要数据和代码。

Without further ado, let's begin. 


Section 1. 数据获取

在品葱的个人账号页面,选取了“送出的赞”,这一栏目数据作为此次分析用途。


https://telegra.ph/file/1e61feb753de666ebb478.jpg?width=1264&height=1231
原因如下:
1. 该数据栏目结构相对简单,不需要太过于复杂的数据清洗,即可获得结构清晰的数据源;
2. 该数据栏目包含赞(+1)和踩(-1),两类数据,可以反映用户使用行为的某些统计学特征;
3. 用户天下无贼在品葱高频度的活跃度,生产了不错的数据量,有助于提高分析结果的鲁棒性;

使用该数据集的不足:
1. 仅仅是反映了对于特定文章评论的方向性(binary)意见,因此分析仅仅停留在使用行为层面,无法深入到观点层面;
2. 在对使用行为的时序分析中,因为利用其他使用行为作为交叉分析,因此对时间尺度上的行为会有遗漏;
3. 点踩和点赞 只是用户意见的代理指标(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方面几乎白痴。

下面截图为清洗后的数据框概览:

https://telegra.ph/file/cc0b7fe50cab269a5c593.jpg?width=1112&height=745


Section 2.  赞踩行为单向分析结果

https://telegra.ph/file/c87c176c7b0ad6b632189.jpg?width=1177&height=799

从单纯的赞踩行为,可以看到,在929条赞踩数据中, 68.89%为点赞行为, 28.74%为点踩行为, 2.36%为点赞后取消行为。 

从赞踩数据的时序数据来看, 从2010年9月到2022年10月之前,赞踩数据都相对稀疏,进入到2023年之后,赞踩数据开始逐渐密集,尤其是2023年2-4月,2023年10月下旬,两个时间段的赞踩数据量占到了整个数据集的83%, 应可针对这两个时间段的国内外热点事件进行交叉分析。


https://telegra.ph/file/8122231487847f3d402ac.jpg?width=1093&height=625
按照赞踩记录的日期进行单日累加,并且对过去一周的赞踩行为进行了移动求和,得到了每日的周累计赞踩活动数据。 从上图可以看到一样的赞踩行为活跃度,此图标能更加方便identify到一些高密度的活动时期。

https://telegra.ph/file/79170241ffa8d0c29e5c6.jpg?width=1104&height=1039

讲单日活动数据和周累计活动数据放到一个视图下,可以更加明显的看到以上规律。 

以下为单日赞踩数据最高的前十个日期: 

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时序数据框的概览:
https://telegra.ph/file/118819d0d142855762cff.jpg?width=1086&height=924


比如数据的第一行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个周一没有赞踩行为,然后是周三。


从以上数据可以得出一个结论, 该用户在周日赞踩行为最为活跃,在周六的赞踩行为最为不活跃, 工作日中周四的赞踩行为最为活跃,周一的赞踩行为最为不活跃。

https://telegra.ph/file/6b1d61b9202eea2de2b20.jpg?width=1123&height=438

以上结果显示, 天下无贼一周赞踩累计,最活跃的周均在2023年发生, 其中2023年10月29日一周,发生44次赞踩记录, 其次为2023年3月5日一周,赞踩记录为41条。 


Section 4.  赞踩对象分析

因为品葱赞踩记录中,包含赞踩对象的用户名,威望,游戏币等信息,获得以下分析结果。

https://telegra.ph/file/5ea9ef752c2a4c36dd2a8.jpg?width=1107&height=637


上图为天下无贼累计点赞前十名用户,在所有点赞记录中, 用户@疯狂习近平获得了累计43条点赞, yogafire获得了17条点赞, 蘑菇云和王匪沪宁均获得14条点赞。

同理相反,可以获得累计点踩前十名用户:
https://telegra.ph/file/9d113b80f3470490e0177.jpg?width=1089&height=618

从上可以看到, @天下无贼 累计点踩次数最多的用户为@打狗棒专打共党,累次踩31次,  @事已至此先吃饭吧 累计被踩12次, 笔者本人也不幸上榜,被累计点踩5次,不过再次声明,笔者和@天下无贼 无个人恩怨,虽然经常意见相左。


下图为交叉赞踩行为, 也就是针对一个用户,点赞和点踩两类记录之和,产生@天下无贼对该用户的net_vote 净点赞数
https://telegra.ph/file/d2ff5c4d97fd9a80ca007.jpg?width=1098&height=666

对@事已至此先吃饭吧,有两次点赞,12次点踩,净点赞数量为-10, 对fb_china_today,有3次点赞9次点踩,净点赞数为-6




https://telegra.ph/file/dc2bcd7399c97f3263072.jpg?width=1101&height=855


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回归结果:

https://telegra.ph/file/053c6574d27e402e42613.jpg?width=1090&height=900



从上述结果中可以看到,  x1自变量(用户声望 user_repu)对净点赞数有95%的统计学显著性, 用户声望每提高1个单位, @天下无贼净点赞数同时增加0.39次,  也就是说,用户声望越高,@天下无为用户越可能送出更多的净点赞数。 而x2自变量 (用户游戏币 user_vote) 并没有显著的预测效果。 整个OLS模型对于@天下无贼用的净点赞记录的预测效率仅为R-squared = 6.5%。


此次分析的不足和待改进之处环:
1.  仅仅使用了赞踩行为数据集,无法全面客观反应用户的实际观点,态度,行为方式等。
2.  接下来可使用text mining的一些技术手段,对留言/回复中的情绪方向进行处理和分析。
3.  整合此次分析中一个通用型框架,来对品葱任意用户进行赞踩行为分析。
4.  在遵守品葱用户使用行为规范的前提下, 使用网页爬虫手段来自动获取页面数据,进行清晰并形成结构化的数据集。
5.  优化提升分析结果展示的用户可阅读性。


结束。

再次声明,以上分析结果仅为笔者个人兴趣, 并非针对特定用户, 在结果展示中,也尽量只讨论分析结果,不做个人主观观点输出, “一千个人眼中有一千个哈姆雷特”, 葱油们如果能从笔者拙略的分析中,获得一些自己观点和见解,那是各位的权利和自由。 

谢谢各位,如果有任何批评,建议,问题, 可以在留言中互动。

再次声明,若本文伤害到某些葱油的感受,可以通过留言/私信 方式告知笔者。
50
分享 2023-11-01

87 个评论

>>这不就是stalker吗😄


小魔女是女性吧

要发言请先登录注册

要发言请先登录注册