我应该做什么样的回归模型?

数据挖掘 回归 研究
2021-09-15 22:16:39

我的研究问题是检查在线社区中其他成员“获得关注”对网站“持续参与”的影响。

我决定通过计算用户提交之间的平均时间差来衡量每个用户的“持续参与”。我通过以下方式计算它:

在此处输入图像描述

我通过计算每个用户针对他/她发布的所有提交收到的评论总数来衡量“关注度”。我还想考虑总票数和总观看次数。我不确定将这些作为自变量添加到模型中是否是个好主意?

我的问题是关于因变量:

因为有些人连续两天只参加了两次,平均投稿天数是1。有些人参加了100次,他们的平均投稿天数也是1。但是很明显,第二组参加了100次有持续参与不是第一组。

所以我也需要考虑模型中提交的数量!不知道有没有办法考虑呢?我该如何处理这个问题?

我应该对用户进行分组并分别为他们进行数据分析吗?例如在一个小组中参与少于 10 次的用户!有 10-20 人参与另一个组等的用户。

如果有人可以帮助我,我将不胜感激!我的论文即将到期,我需要一些初步结果。

4个回答

您可以对“参与”变量做的一件事是包括数据窗口的开始和结束。假设您的数据范围从start= 2016 年 1 月 1 日至 end=2017 年 1 月 1 日。您不仅要计算第二个帖子和第一个帖子之间的差异,还可以计算第一个帖子和 2016 年 1 月 1 日之间的差异,然后计算第二个帖子和第一个帖子之间的差异。(如果有人在 2016 年 1 月 1 日之后加入该平台,那么您将选择加入日期和 2016 年 1 月 1 日中的最小值)。您还可以计算 2017 年 1 月 1 日和上一篇文章之间的差异。

所以,如果有人只有两个帖子 p1p2, 你会得到不同的 (p1start,p2p1,endp2). 差异p1startendp2 那么将大于差异 p1startendpn 对于一些与 n>>2 帖子。

在测试点之前,我会根据他们的整体活动度量对网站上的用户进行细分,并使用这些细分作为分类变量来训练模型(或为每个细分训练不同的模型)。

我的想法是,在两个用户的情况下:
a)一个非常活跃的用户,他正在长假。
b) 一个新用户 - 有一个操作(仅在注册当天)
可能具有相同的持续参与指标 - 如果作为自上次操作以来经过的时间的函数来衡量。
但我们希望社区对他们的行为做出不同的反应。

一个模型可能看起来像:
attention = M(segment_type, time_since_last_activity)。
segment_type = G(activity_signals_until_now)

其中 activity_signal_until_now 可能包括:
- 总动作
- 自第一次动作以来
的时间 - 动作之间的平均时间

M 可以是一个简单的回归器。
G 可以使用某种聚类算法进行监督(如果你事先知道你有哪些片段)或无监督。

从统计数据的角度来看,听起来您有一个Poisson 过程,其中的事件是用户提交。因此,您可以将因变量表示为单位时间内的事件数量(例如,每周提交的数量),并设置泊松回归或负二项式回归。对于自变量,你可以试试上一个时间单位收到的评论数,即你可能会看到本周收到的月数预测下周提交的数量有多好。

请注意,随着时间的推移可能会出现趋势(即,新用户一开始提交的次数不多,但逐渐成为普通用户)和自相关,特别是如果您的时间尺度太小。例如,在您的示例数据中,大多数天有 0 次提交,因此如果您的单位为天或更小,自相关将很高。所以考虑使用时间序列方法或选择足够大的时间尺度以获得低自相关。

一种选择是将“持续参与”的目标变量建模为指数。指数是聚合多个指标的复合度量。指数的例子是聚合许多股票的指数基金和估计整个市场的国内生产总值 (GDP)一个国家的价值。

在您的示例中,您将创建一个单独的模型来估计“持续参与”指数。该模型可以是手工规则的集合,也可以使用机器学习。

创建索引的优点是有一个单一的、连续的数值,然后可以用作回归中的目标。