我正在建立一个预测模型来预测学生在学期结束时的成功概率。我对学生是成功还是失败特别感兴趣,成功通常被定义为完成课程并在可能的总分中获得 70% 或更多分。
当我部署模型时,随着更多信息的可用,成功概率的估计需要随着时间的推移而更新 - 理想情况下是在发生某些事情后立即进行,例如当学生提交作业或获得成绩时。这种更新对我来说听起来有点贝叶斯,但考虑到我在教育统计方面的训练,这有点超出我的舒适区。
到目前为止,我一直在使用逻辑回归(实际上是套索)和包含基于周的快照的历史数据集。该数据集具有相关的观察值,因为每个学生都有观察值;一名学生的观察结果是相关的。我并没有专门对特定学生每周观察中的相关性进行建模。我相信我只需要在推理环境中考虑这一点,因为标准错误太小了。我认为 - 但不确定这一点 - 相关观察引起的唯一问题是,当我交叉验证以将聚类观察保留在数据的一个子集中时,我需要小心,这样我就不会得到基于对模型已经见过的人的预测,人为地降低样本外错误率。
我正在使用R 的 glmnet 包做一个带有逻辑模型的套索,以生成成功/失败的概率,并自动选择特定课程的预测变量。我一直使用周变量作为一个因素,与所有其他预测变量相互作用。我认为这通常与仅估计单个基于周的模型没有什么不同,只是它提供了一些概念,即在整个学期中可能存在一些通用模型,该模型在不同周通过各种风险调整因素进行调整。
我的主要问题是:有没有更好的方法来随着时间的推移更新分类概率,而不是仅仅将数据集划分为每周(或其他基于间隔)的快照,引入与其他所有特征交互的时间段因子变量,以及使用累积功能(累积积分、累积上课天数等)?
我的第二个问题是:我在这里是否遗漏了一些关于具有相关观察的预测建模的关键信息?
我的第三个问题是:鉴于我正在做每周快照,我如何将其推广到实时更新?我打算只为当前的每周间隔插入变量,但这对我来说似乎很笨拙。
仅供参考,我接受过应用教育统计方面的培训,但很久以前就有数学统计方面的背景。如果有意义的话,我可以做一些更复杂的事情,但我需要用相对容易理解的术语来解释它。