StackExchange 解雇了一名版主,现在数百名版主辞职作为回应:辞职人数的增加在统计上是否显着?

机器算法验证 时间序列 假设检验 采样 非参数 文本挖掘
2022-01-30 01:09:47

我正在研究 StackExchange。StackExchange 的管理层已经(由于不明原因)解调了一个版主,现在网络着火了。

目前很多版主因为不满而辞职或暂停活动。我希望收集和分析有关这些辞职的数据。我想知道不满意是增加还是减少,以及这是否具有统计学意义。

  • 我可以进行什么样的测试来发现这一点?特别是我需要一些关于如何分析/建模/定义这种增加的指导(问题是我没有可以适应事件时间的简单线性模型,它可能是非线性的,所以如何处理)。
  • 我计划使用这封请愿信这份辞职清单来定义事件。我怎样才能将所有这些组合成一个模型?

    对于数据戳,我正在考虑使用元站点上的帖子,而不是在文本中查找它。

    我希望收集的事件类型,因为可能更多的数据可能让我在测试中拥有更多的权力?

    我正在考虑创建类似于表格的东西,如下所示:

    Id     Moderator          Event-Type            Date-stamp       
    
    1      Monica Cellio      Fired                 Sep 27 
    2      Glen_b             diamond removed       Oct 9 at 0:53
    3      Gung               suspending activity   Oct 18 at 1:32
    4      whuber             weekly strike         Oct 18, 25, ...
    

    理想情况下,我不会使表格完整,因为这对于数百个事件来说是很多工作,而是做一些随机抽样之类的事情(例如,挖掘像Gung'sGlenB's 的帖子或像Whiber's这样的评论)。所以这必须是我要应用的模型/测试的考虑因素。


部分结果/工作

根据评论,我对请愿信进行了一些初步解析,结果如下图:

library(XML)
u <- 'https://dearstackexchange.com/'
html = htmlTreeParse(readLines(u), useInternal = TRUE)
dates = unlist(xpathApply(html, '//small', xmlValue))
dates <- text[-length(text)]  # remove final value
times <- 5+(as.numeric(strptime(dates, "%b %d")) - as.numeric(strptime("Oct 5", "%b %d")) )/24/3600
t <- table(times)
plot(t, xlab = "date (month October)", ylab = "number of signatures")

作为时间函数的签名

我们在 10 月 7 日看到这个签名高峰,然后下降。这并不奇怪,并且与 gridAlien 在他/她/他们的帖子中描述的初始射击有关。但到月底仍有剩余的签名。这个数字是增加还是减少?

2个回答

这是一项有趣的调查,因为该事件具有闪现性质。这与安装栅栏并试图查看侵入者的数量是否减少不同。在这种情况下,在安装围栏后,我们预计会对侵入者的比率产生永久性影响(如果有的话)。

在这种情况下,一群模组将在几天内因这个问题而辞职/被解雇/被暂停,然后这些模组的比例就会下降。只有这么多版主愿意/被迫做这些事情,一旦他们做了,就完成了。我们预计离职率最终会下降。

在图形上,您可以用折线图来表示。如果您将每天离开的版主数量绘制出来,您会期望看到相对一致的离开,直到解雇(我们称之为),之后您期望看到增加,并回落到原始速率.D0

从数值上讲,如果你想表明这个尖峰不在过程的正常变化范围内,我会试着把它当作质量控制来对待。之前获取一些数据计算每天平均离开的估计值、方差的估计值,然后在您首选的显着性水平上为该平均值构建置信区间。如果(以及之后的其他日子)在此区间之外,那么您可以得出结论,这些点代表每天平均离开的变化。D0D0

无论如何,这就是我的方法。我确定还有其他人。

您提出的分析听起来很有趣,但数据收集过程会相当复杂。您将必须处理几个主要问题:

  1. 确定感兴趣的事件的范围:理想情况下,您应该在开始收集数据之前确定您感兴趣的事件的范围(即使只是广义的)。这可能是对所有涉及有意减少活动的事件的广泛规定。

  2. 确定抽样框架和抽样方法:你需要确定你的“抽样框架”,以确保你有一个合适的抽样方法。最简单的方法是在特定时间点规定一些用户标准(例如,所有版主、所有代表超过 5000 的用户等)。然后,您需要决定如何采样——例如,简单的随机采样或加权采样(例如,通过用户信誉)。

  3. 查找基线进行比较:显然,另一个重要元素是获取有关用户在问题出现之前的行为方式的基线数据。我建议您检查每个抽样用户,并获取他们在丑闻之前的活动的一些指标(例如,上一年的活动)。

我可以提供一个更简单的分析的建议,您可以在数据收集方面花费更少的精力来完成。眼下,已有大量用户将自己的图片转为“恢复莫妮卡”的图片,不少用户还改了用户名。浏览每个站点的排行榜应该不会太繁重,列出某个级别以上的所有用户(例如前10、20、50)并列出用户是否转换了他们的姓名和徽章,以及获取自最初丑闻以来用户活动水平的衡量标准。然后,您可以对不同网站的转化率进行“生存分析”估计。当然,这只会表明存在一些象征性的团结,但这将是比你的提议更简单的分析。