如何衡量算法预测的功效?

时间:2012-04-24 08:29:36

标签: algorithm prediction

我的算法预测给定的氨基酸序列有几种可测量的特性。 现在给出一个包含真实,测量值和我的值的表格,我如何计算方法 我的算法正在执行吗?

示例:

Sequence Property1 Prediction1 
seq1     3l.4      35.0         |Prediction matches well
seq2     23.4      79.9         |Prediction was off
seq3     20.0      20.3         |Prediction as super

==>算法表现良好。

有没有办法量化这个?

2 个答案:

答案 0 :(得分:2)

是的,创建质量指数。

最简单的是最小二乘法 - 计算结果与测量值之间的差异,将其平方并对平方求和。除以值的数量。然后,平方根为您提供标准误差范数。

然而,这假设为所有测量得到正确答案同样重要。如果有些人比其他人更重要,那么你应该用总和加权。

尝试问自己一个问题,即上面的答案会是什么两倍。将所有错误加倍?

答案 1 :(得分:1)

如果只是弄清楚两个值的接近程度(Property1 vs Prediction1),你可以这样做:

Sequence Property1 Prediction1 Diff
seq1     3l.4      35.0         3.6  | Prediction matches well
seq2     23.4      79.9        56.5  | Prediction was off
seq3     20.0      20.3         0.3  | Prediction as super

并根据Diff列决定在该行上添加什么“等级”。

在代码中它看起来像:

diff = abs(Property1 - Prediction1)

if (diff < 1.0)        Prediction was super
else if (diff < 5.0)   Prediction matches well
else if (diff < ...)   ...
else                   Prediction was off

如果您有完整的值序列(例如diff值的完整列),并且您想要查看整个预测是否匹配良好,那么您可以计算standard deviation的{{3}}这些价值观。在那之后,只需要量化你愿意接受的偏差有多大。