我需要评估预测某事发生概率的算法的有效性。
我目前的方法是使用“均方根误差”,即。误差平方均值的平方根,如果事件发生,则误差为1.0 预测,如果事件未发生,则为预测。
这些算法没有特定的应用,但一个常见的应用是对各种选项中的每一个发生的事件进行预测,然后选择使该概率最大化的选项。对我们的好处与预期事件在具有最高预测概率的选项中发生的比率成正比。
有人建议 RMSE 可能不是最好的选择,我对其他人的意见感兴趣。
我需要评估预测某事发生概率的算法的有效性。
我目前的方法是使用“均方根误差”,即。误差平方均值的平方根,如果事件发生,则误差为1.0 预测,如果事件未发生,则为预测。
这些算法没有特定的应用,但一个常见的应用是对各种选项中的每一个发生的事件进行预测,然后选择使该概率最大化的选项。对我们的好处与预期事件在具有最高预测概率的选项中发生的比率成正比。
有人建议 RMSE 可能不是最好的选择,我对其他人的意见感兴趣。
引用维基百科页面:
在信号检测理论中,接收器操作特征 (ROC),或简称 ROC 曲线,是二元分类器系统的灵敏度与 (1 - 特异性) 的关系图,因为它的区分阈值是变化的。ROC 也可以通过绘制真阳性比例(TPR = 真阳性率)与假阳性比例(FPR = 假阳性率)来等效表示。也称为相对操作特性曲线,因为它是两个操作特性(TPR 和 FPR)随着标准变化而进行的比较。 [1]
ROC 分析提供了工具来选择可能的最优模型并独立于(并且在指定之前)成本上下文或类分布来丢弃次优模型。ROC 分析以直接和自然的方式与诊断决策的成本/收益分析相关。ROC曲线最早由二战期间的电气工程师和雷达工程师开发,用于检测战场上的敌方物体,也称为信号检测理论,并很快被引入心理学来解释信号的感知检测。从那时起,ROC 分析已在医学、放射学和其他领域使用了数十年,并且最近才在机器学习和数据挖掘等其他领域引入。
它实际上比听起来更容易,并且使比较变得容易——“更好”的方法将在视觉上主导劣质方法的 ROC 曲线。
R为此提供了许多软件包。
我不确定我是否理解你的问题,所以这个答案可能对你没有用。
问题:
如何测试用于计算系统处于给定状态的概率的算法是否可以针对实际概率进行测试。
大概这是一个系统,其中有一个或多个概率初始状态相互作用以产生最终状态,并且初始状态的分布是已知的。
这是在尝试估计科学计算中的计算误差时经常出现的问题。
回答:
解决这个问题的一种方法是使用所谓的蒙特卡罗模拟。
为此,您选择根据初始概率分布分布的大量初始状态。对于每个初始状态,您计算系统的最终状态。通过查看最终状态的分布,您可以确定最终状态具有特定值的可能性。
您现在可以将模拟结果与您的算法结果进行比较。
虽然上面的描述可能听起来很技术,但在实践中很容易编写。您可以在网上找到许多教程,但大多数教程使用蒙特卡罗技术来解决稍微不同的问题。
例子:
假设您正在查看一个系统,其中正在投掷许多硬币。您想知道总硬币中有两枚正面朝上的概率。
你可以编写一个算法来预测这种可能性,选项是抛硬币的数量。(当然,这个概率有一个精确的计算。)
要进行模拟,您首先要设置大量初始状态。在每个初始状态中,您随机选择每个硬币是正面还是反面。您现在计算两个硬币正面朝上的结果数量,并将其与您的预测进行比较。
听起来您正在预测值为 0 或 1 的事物的结果,对吗?如果是这样,您可能会研究离散选择建模的讨论。“选择”这个词不应该按字面意思理解。虽然大多数离散选择模型都是围绕解释人们每天做出的选择而设计的——买这个或那个,坐火车或开车,走一条上班路线或另一条——同样的模型已成功应用于赛狗和赛马。
Ben-Akiva & Lerman 和 Kenneth Train 撰写了有关该主题的关键文本。另请查找“Logit 模型”以获取有关指定和拟合这些统计模型的信息。