【问题标题】:How do i measure power of prediction of my algorithm?我如何衡量我的算法的预测能力?
【发布时间】:2012-04-24 08:29:36
【问题描述】:

我的算法为给定的氨基酸序列预测了几个可测量的属性。 现在给出一个包含实际测量值和我的值的表格我如何计算 我的算法执行得好吗?

例子:

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

==> 算法表现良好。

有没有办法量化这个?

【问题讨论】:

  • 这不是一个真正的编程问题;这是一个基本的统计问题。您可以从卡方检验开始。

标签: algorithm prediction


【解决方案1】:

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

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

但是,这假设为所有测量获得正确答案同样重要。如果有些比其他更重要,那么您应该在总和中权衡它们。

试着问自己一个问题,什么会比你上面的答案糟糕一倍。将所有错误翻倍?

【讨论】:

    【解决方案2】:

    如果只是弄清楚两个值的接近程度(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。之后,只需量化您愿意接受多大的偏差即可。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-04
      • 1970-01-01
      • 2022-01-05
      • 2018-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多