我正在评估许多不同的算法,其作用是预测事件发生的概率。
我正在测试大型数据集上的算法。我使用“均方根误差”来衡量它们的有效性,它是((误差之和)平方的平方根)。误差是预测概率(0到1之间的浮点值)与实际结果(0.0或1.0)之间的差异。
所以我知道RMSE,以及测试算法的样本数量。
问题在于,有时RMSE值彼此非常接近,我需要一种方法来确定它们之间的差异是偶然,还是表示性能的实际差异。
理想情况下,对于一对给定的RMSE值,我想知道一个实际上比另一个更好的概率是什么,这样我就可以将这个概率用作重要性的阈值。
答案 0 :(得分:9)
MSE是平均值,因此适用中心极限定理。因此,测试两个MSE是否相同与测试两个均值是否相同是相同的。与比较两种方法的标准测试相比,一个难点是您的样本是相关的 - 两者都来自相同的事件。但MSE的差异与差分平方误差的平均值相同(均值是线性的)。这建议按如下方式计算one-sample t-test:
x
计算过程1和2的错误e
。(e2^2-e1^2)
。mean/(sd/sqrt(n))
。|t|>1.96
,则拒绝5%置信水平的平等。RMSE是MSE的单调转换,因此该测试不应给出实质上不同的结果。但要注意不要假设MRSE是RMSE。
更大的担忧应该是过度拟合。确保使用您未用于估算模型的数据计算所有MSE统计数据。
答案 1 :(得分:4)
你正在进入一个广泛而有争议的领域,不仅有计算,还有哲学。重要性测试和模型选择是贝叶斯主义者和常旅客之间激烈分歧的主题。 Triston关于将数据集拆分为训练和验证集的评论不会让贝叶斯人满意。
我可以建议RMSE不是概率的合适分数。如果样本是独立的,则正确分数分配给实际结果的概率的对数之和。 (如果他们不是独立的,那么你手上就会弄得一团糟。)我所描述的是评分“插件”模型。正确的贝叶斯建模需要在模型参数上进行积分,这在计算上非常困难。调节插件模型的贝叶斯方法是对不太可能的(大)模型参数的分数添加惩罚。这被称为“体重衰减”。
我开始尝试阅读Christopher Bishop的神经网络模式识别。我使用它和Gill的实践优化,等来编写对我来说非常好的软件。
答案 2 :(得分:0)
我在这里回答评论中的问题。这个主题太大了,无法在评论中处理。
Cliff Notes版本。
我们谈论的分数类型衡量概率。 (这是否适合你正在做的事情是另一个问题。)如果你假设样本是独立的,你可以通过简单地将所有概率相乘来得到“总”概率。但这通常导致荒谬的小数,所以等效地,你添加概率的对数。越大越好。零是完美的。
无处不在的误差-x ^ 2,其中x是模型的误差,来自(经常是不合理的)假设,即训练数据包括被“高斯噪声”破坏的观测(测量)。如果您在维基百科中查看高斯(又名正态)分布的定义,您会发现它包含术语e ^( - x ^ 2)。取其自然对数,瞧!, - x ^ 2。但是,您的模型不会产生最可能的“预噪声”测量值。它们直接产生概率。所以要做的只是添加分配给观察事件的概率的对数。假设这些观察结果是无噪声的。如果训练数据说它发生了,那就发生了。
您的原始问题仍未得到答复。如何判断两个型号是否“显着”不同?这是一个模糊而困难的问题。这是很多辩论的主题,甚至是情感和怨恨。这也不是你想要回答的问题。您想知道的是哪种型号可以为您提供最佳的预期利润,所有考虑因素,包括每种软件包的成本等等。
我很快就要打破这个。这不是一个关于建模和概率的课程的地方,我不是真正的教授资格。