← 返回目录


时间序列预测方向有什么好水文章的领域吗,研一,感觉预测都被做的差不多了,创新点完全想不出来。?

学校≠教育≠技能;文凭溢价=80%信号传递+20%人力资本

35 👍 / 8 💬

问题描述


求求你们来做点新数据集、新任务上的工作吧!(顺带 sell 一下我的 work)

在间隔重复领域对学生记忆的时间序列预测任务

项目地址:open-spaced-repetition/srs-benchmark: A benchmark for spaced repetition schedulers/algorithms

引言

间隔重复算法(Spaced Repetition Algorithms)是一种计算机程序,旨在帮助人们规划抽认卡(flashcards)的复习安排。优秀的间隔重复算法能助你更高效地记忆。它并非让用户进行一次性的突击记忆(cramming),而是将复习活动分散到不同的时间点。为了实现高效复习,这些算法试图理解人类记忆的运作机制,旨在预测你可能遗忘某个知识点的时间点,以便据此安排下一次复习。

本基准测试旨在评估各种算法的预测准确性。我们评估了多种算法,以期找出能提供最准确预测的算法。

数据集

SRS 基准的数据集来自 1 万名使用 Anki(一个开源的抽认卡应用)的用户。该数据集包含约 7.27 亿次复习记录。完整数据集托管在 Hugging Face Datasets 上:

open-spaced-repetition/anki-revlogs-10k · Datasets at Hugging Face

评估

数据划分

在间隔重复系统(SRS)基准测试中,我们使用了一个名为 TimeSeriesSplit 的工具,它是机器学习库 sklearn 的一部分。该工具帮助我们按时间顺序划分数据:较早的复习记录用于训练模型,较新的复习记录用于测试模型。这样,我们就能避免通过让算法获取本不应得到的未来信息而「作弊」。实践中,我们正是利用过去的的学习记录来预测未来的学习表现,因此 TimeSeriesSplit 非常适合我们的基准测试需求。

注意:TimeSeriesSplit 在评估时会排除第一个数据分割。这是因为第一个分割用于训练,我们不希望在训练数据上评估模型的性能。

评估指标

我们在 SRS 基准测试中使用三个指标来评估算法性能:对数损失(Log Loss)、曲线下面积(AUC)以及一个我们称为「分箱均方根误差」(RMSE (bins))的自定义指标。

对数损失和 RMSE (bins) 主要衡量校准度 (calibration):即预测的回忆概率与实际观测数据的一致性。AUC 主要衡量区分度 (discrimination):即算法区分两个(或更广义地说,多个)类别的能力。即使对数损失和 RMSE 指标表现不佳,AUC 也可能很高。

算法及算法家族

*在长期记忆的双组件模型中,使用两个独立变量描述人脑中单个记忆项目的状态:可提取性 (R),即检索强度或回忆概率;以及稳定性 (S),即存储强度或记忆半衰期。扩展的三组件模型增加了第三个变量——难度 (D)

关于 FSRS 算法的进一步信息,请参阅以下维基页面:该算法

结果

总用户数:9,999。

用于评估的总复习次数:349,923,850。 当日复习数据不用于评估,但部分算法会利用这些数据来优化对次日回忆概率的预测。部分复习记录会被过滤掉,例如:手动更改到期日所产生的复习日志条目,或在禁用「根据我在此牌组中的答案重新安排卡片」选项的筛选牌组中复习卡片所产生的记录。最后,还会应用异常值过滤器。这些是导致用于评估的复习次数远低于之前提到的 7.27 亿的原因。

下表展示了各项指标的均值和 99% 置信区间。最佳结果以粗体标出。「参数」列显示了可优化(可训练)参数的数量,恒定参数不计入。箭头指示指标值越低 (↓) 或越高 (↑) 越好。

为简洁起见,「输入特征」列中使用了以下缩写:

IL = interval lengths, in days

FIL = fractional (aka non-integer) interval lengths

G = grades (Again/Hard/Good/Easy)

SR = same-day (or short-term) reviews

AT = answer time (duration of the review), in milliseconds

根据复习数量加权

AlgorithmParametersLog Loss↓RMSE (bins)↓AUC↑Input features
LSTM88690.312±0.00780.035±0.00110.733±0.0038FIL, G, SR, AT
GRU-P-short2970.320±0.00800.042±0.00130.710±0.0047IL, G, SR
FSRS-6 recency210.320±0.00810.044±0.00130.710±0.0040IL, G, SR
FSRS-rs210.320±0.00820.044±0.00120.709±0.0041IL, G, SR
FSRS-6210.321±0.00830.046±0.00130.706±0.0041IL, G, SR
FSRS-6 preset210.322±0.00810.046±0.00130.707±0.0041IL, G, SR
GRU-P2970.325±0.00810.043±0.00130.699±0.0046IL, G
FSRS-6 binary170.326±0.00810.049±0.00130.686±0.0047IL, G, SR
FSRS-5190.327±0.00830.052±0.00150.702±0.0042IL, G, SR
FSRS-6 deck210.329±0.00820.052±0.00160.699±0.0041IL, G, SR
FSRS-4.5170.332±0.00830.054±0.00160.692±0.0041IL, G
FSRS v4170.338±0.00860.058±0.00170.689±0.0043IL, G
DASH-short90.339±0.00840.066±0.00190.636±0.0050IL, G, SR
FSRS-6 pretrain40.339±0.00840.070±0.00240.695±0.0039IL, G, SR
DASH90.340±0.00860.063±0.00170.639±0.0046IL, G
DASH[MCM]90.340±0.00850.064±0.00180.640±0.0051IL, G
GRU390.343±0.00880.063±0.00170.673±0.0039IL, G
DASH[ACT-R]50.343±0.00870.067±0.00190.629±0.0049IL, G
FSRS-6 default param.00.347±0.00870.079±0.00270.692±0.0041IL, G, SR
ACT-R50.362±0.00890.086±0.00240.534±0.0054IL
AVG00.363±0.00900.088±0.00250.508±0.0046---
FSRS v3130.371±0.00990.073±0.00210.667±0.0047IL, G
FSRS v2140.38±0.0100.069±0.00210.667±0.0048IL, G
NN-17390.38±0.0270.081±0.00380.611±0.0043IL, G
FSRS v170.40±0.0110.086±0.00240.633±0.0046IL, G
Anki-SM-2 trainable70.41±0.0110.094±0.00300.616±0.0057IL, G
HLR30.41±0.0120.105±0.00300.633±0.0050IL, G
HLR-short30.44±0.0130.116±0.00360.615±0.0062IL, G, SR
SM-2 trainable60.44±0.0120.119±0.00330.599±0.0050IL, G
Ebisu v200.46±0.0120.158±0.00380.594±0.0050IL, G
Anki-SM-200.49±0.0150.128±0.00370.597±0.0055IL, G
SM-2-short00.51±0.0150.128±0.00380.593±0.0064IL, G, SR
SM-200.55±0.0170.148±0.00410.600±0.0051IL, G
RMSE-BINS-EXPLOIT04.5±0.130.0062±0.000220.638±0.0040IL, G

未加权

AlgorithmParametersLog Loss↓RMSE (bins)↓AUC↑Input features
LSTM88690.333±0.00420.0538±0.000960.733±0.0021FIL, G, SR, AT
FSRS-6 recency210.344±0.00410.063±0.00100.710±0.0023IL, G, SR
FSRS-rs210.344±0.00410.063±0.00100.710±0.0022IL, G, SR
FSRS-6210.345±0.00420.066±0.00110.707±0.0023IL, G, SR
GRU-P-short2970.346±0.00420.062±0.00110.699±0.0026IL, G, SR
FSRS-6 preset210.346±0.00420.065±0.00100.708±0.0023IL, G, SR
FSRS-6 binary170.351±0.00430.068±0.00110.685±0.0025IL, G, SR
GRU-P2970.352±0.00420.063±0.00110.687±0.0025IL, G
FSRS-6 deck210.355±0.00450.074±0.00130.703±0.0023IL, G, SR
FSRS-5190.356±0.00430.074±0.00120.701±0.0023IL, G, SR
FSRS-6 pretrain40.359±0.00440.083±0.00130.702±0.0022IL, G, SR
FSRS-4.5170.362±0.00450.076±0.00130.689±0.0023IL, G
DASH90.368±0.00450.084±0.00130.631±0.0027IL, G
DASH-short90.368±0.00450.086±0.00140.622±0.0029IL, G, SR
DASH[MCM]90.369±0.00440.086±0.00140.634±0.0026IL, G
FSRS-6 default param.00.371±0.00460.097±0.00150.701±0.0022IL, G, SR
FSRS v4170.373±0.00480.084±0.00140.685±0.0023IL, G
DASH[ACT-R]50.373±0.00470.089±0.00160.624±0.0027IL, G
GRU390.375±0.00470.086±0.00140.668±0.0023IL, G
AVG00.394±0.00500.103±0.00160.500±0.0026---
NN-17390.398±0.00490.101±0.00130.624±0.0023IL, G
ACT-R50.403±0.00550.107±0.00170.522±0.0024IL
FSRS v3130.436±0.00670.110±0.00200.661±0.0024IL, G
FSRS v2140.453±0.00720.110±0.00200.651±0.0023IL, G
HLR30.469±0.00730.128±0.00190.637±0.0026IL, G
FSRS v170.491±0.00800.132±0.00220.630±0.0025IL, G
HLR-short30.493±0.00790.140±0.00210.611±0.0029IL, G, SR
Ebisu v200.499±0.00780.163±0.00210.605±0.0026IL, G
Anki-SM-2 trainable70.513±0.00890.140±0.00240.618±0.0023IL, G
SM-2 trainable60.58±0.0120.170±0.00280.597±0.0025IL, G
Anki-SM-200.62±0.0110.172±0.00260.613±0.0022IL, G
SM-2-short00.65±0.0150.170±0.00280.590±0.0027IL, G, SR
SM-200.72±0.0170.203±0.00300.603±0.0025IL, G
RMSE-BINS-EXPLOIT04.61±0.0670.0135±0.000280.655±0.0021IL, G

按复习次数加权的平均值更能代表在有充足数据可供学习时的「最佳情况」性能。由于几乎所有算法在学习数据充裕时表现更佳,因此按复习次数(n(reviews))加权会使(代表误差的)平均指标值向更低(更优)的方向偏移。

未加权的平均值则更能反映「一般情况」下的性能。现实中,并非每个用户都拥有数十万条复习记录,因此算法并非总能完全发挥其潜力。

优越性

上文呈现的各项指标或许难以直接解读。为了更清晰地展示各算法间的相对性能,下图显示了算法 A(行)的对数损失值低于算法 B(列)的用户所占百分比。例如,FSRS-6-recency 相较于 Anki SM-2 算法的默认参数版本,在 99.6% 的用户数据集上表现更优,这意味着对于本基准测试中 99.6% 的用户数据集,FSRS-6-recency 能够更准确地估计回忆概率。但请注意,SM-2 算法最初并非为预测概率而设计,其在本基准测试中之所以能预测概率,完全是因为我们为其额外添加了计算公式。

此图表基于 9,999 个用户数据集生成。为提高图表的可读性,并未包含所有参评算法。

此外,你可以在此处找到完整表格。

统计显著性

下图展示了采用 Wilcoxon 符号秩检验比较任意两种算法间对数损失的效应大小(r 值):

颜色表示:

Wilcoxon 检验同时考虑了成对数据差值的正负号和秩次,但未考虑不同用户数据集中复习次数的差异。因此,尽管该检验结果对于定性分析是可靠的,但在解读具体效应大小时应持谨慎态度。

为提高图表的可读性,并未包含所有参评算法。

此外,你可以在此处找到完整表格。


我之前发表的相关论文:

KDD'22 | 墨墨背单词:基于时序模型与最优控制的记忆算法 [AI+教育] - 知乎Thoughts Memo:IEEE TKDE 2023 | 墨墨背单词:通过捕捉记忆动态,优化间隔重复调度

相关研究资料:

Thoughts Memo:间隔重复记忆算法研究资源汇总

我写的入门文章:

Thoughts Memo:间隔重复记忆算法:e 天内,从入门到入土。

我的科研经历:

Thoughts Memo:我是如何在本科期间发表顶会论文的?(内含开源代码和数据集)


← 返回目录