预测某人会迟到或早多少天完成他们的工作

数据挖掘 机器学习 时间序列 预测建模 可能性 马尔科夫过程
2022-03-03 22:47:23

所以我有一组截止日期和人员,还有一个数据库,其中记录了这些人何时完成他们之前的工作,以及截止日期之后的时间,以及工作的完成时间。作品本身就是文章,所以我也有每篇文章的字数。根据之前的数据,您如何计算某人最有可能完成工作的提前或推迟天数?

作为我试图解决的问题的一个具体例子:

约翰晚了 5,4,3,6,2 天完成了他最后的 5 个项目。他最有可能提前或推迟几天完成工作?

基本上,我正在寻找一种合适的机器学习算法来实施来计算这个可能的结束日期。

1个回答

如果我们假设每个任务交付是相互独立的,并且过程不会随时间发生很大变化(静止),我们可以将其视为标准回归问题。

由于这是关于截止日期,我们预计可能会随着时间的推移而发生变化,或者在一年或一周的季节中存在延迟模式。所以基于时间的特征可能看起来像:

|deadline_year|deadline_week_number|deadline_day_of_week|

我们还期望延迟的大小可能取决于任务的大小。因此,如果您有开始日期或估计天数,请务必包括在内。如果人们可以同时执行多项任务,那么也将其包括在内。

|workdays_between_start_and_deadline|workdays_estimated|concurrent_tasks|

我们预计延迟可能取决于执行任务的人和创建任务的人。

|task_owner|task_creator|

使用探索性数据分析和您对创建过程的了解来发现更多这些可能的关系针对目标使用每个特征的散点图days_delayed(负数=时间之前,0=准时)。

可以从像 RandomForest 这样的强非线性模型开始。这可以给出可以评分的估计值(例如通过均方误差),并指示您的特征是否具有预测性。要获得概率区间,您可以使用贝叶斯模型,例如Bayesian Ridge Regression这是一个线性模型,因此可能需要在特征工程上花费更多时间来使特征和目标之间的关系(大致)呈线性。