2012-04-24 47 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。之後,這只是一個量化你願意接受多大偏差的問題。