2012-04-24 49 views
2

我的算法预测给定的氨基酸序列几个可测量的属性。 现在给出一个表格,其中包含真实值,测量值和我的数值我如何计算我的算法如何执行?我如何测量我的算法的预测功率?

实施例:

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 

==>表现良好的算法。

有没有办法量化这个?

+1

这不是一个真正的编程问题;这是一个基本的统计问题。你可以从卡方检验开始。 – 2012-04-24 09:01:29

回答

2

是的,创建一个质量指标。

最简单的方法是最小二乘法 - 计算结果与测量值之间的差值,平方和,然后求和平方。除以值的数量。然后的平方根给你的标准错误规范。

但是,这假设为所有测量获得正确答案同样重要。如果有些人比其他人重要,那么你应该加总他们。

试着问自己什么会比上面的答案差两倍。加倍所有的错误?

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。之后,这只是一个量化你愿意接受多大偏差的问题。