How confident you are about your predication?

老师,有面试问过这样一个问题:
如果pm跑来问你,对自己的预测结果有多少信心, 该怎么回答?
这里是要对预测结果构筑一个confidence interval吗?如果是,该怎么做?如果不是,又该怎么说呢?

恩是的,我们可以给出evaluation metric的confidence interval。只不过在工作中不常用 (因为最后我们决定model好坏的方法,是通过a/b test,而不是通过offline的evaluation metric)。具体做法就是根据evaluation metric的distribution, 计算出它的confidence interval。

  1. 如果是binary classification problem的类似于accuracy的metric, 我们可以认为它服从Normal distribution, 具体做法可以参考这里: Binomial proportion confidence interval - Wikipedia 也就是利用z score计算它的一个区间。
  2. 如果是未知分布的metric,我们可以用bootstrap方法, 即多次对test dataset 抽样,计算出多个数据来构造confidence interval (CI)。以95% CI为例,可以直接利用2.5% percentile和97.5% percentile构造出95% confidence interval.

谢谢老师回答。我大致能理解该如何通过evaluation metric的分布来构造confidence interval,因为test dataset是有很多数据点的。只是还有一点搞不清楚,比如模型训练好了,然后有一个新数据点进来了,我预测该客户一年内会churn的possibility是0.8, 这时候pm过来问我,对这个预测的0.8的概率有多少信心?对于这种情况,我该怎么处理?顺便问一句, 类似情况在实际工作场景中出现的频率多吗?

关于model prediction output的confidence interval,我认为regression model的output,e.g. 对下个季度revenue数字的预测,是完全可以构造confidence interval的,它的构造方法与前面讨论的方法类似。最简单的方法就是assume error服从normal distribution, 然后直接用 y_estimate ± 1.96 * sqrt(MeanSquaredError)来构造95% confidence interval. 类似处理方法在统计学中比较常见,有可能在一些生物领域的具体应用会用到,但在普通互联网公司中极少被使用。而对于(binary) classification model, 模型的output本身其实是1 or 0, 你说的那个概率本身就已经是P(output=1),具有概率的意义了,它表示这个prediction 1的准确性是xx%。我没见过对这个概率本身再给出confidence interval的操作。