public void KappaVarianceTest2()
{
// Example from http://vassarstats.net/kappa.html
// Checked against http://graphpad.com/quickcalcs/Kappa2.cfm (OK)
int[,] matrix =
{
{ 44, 5, 1 },
{ 7, 20, 3 },
{ 9, 5, 6 },
};
GeneralConfusionMatrix a = new GeneralConfusionMatrix(matrix);
Assert.AreEqual(a.RowTotals[0], 50);
Assert.AreEqual(a.RowTotals[1], 30);
Assert.AreEqual(a.RowTotals[2], 20);
Assert.AreEqual(a.ColumnTotals[0], 60);
Assert.AreEqual(a.ColumnTotals[1], 30);
Assert.AreEqual(a.ColumnTotals[2], 10);
Assert.AreEqual(0.4915, a.Kappa, 1e-4);
Assert.IsFalse(double.IsNaN(a.Kappa));
double var = a.Variance;
double var0 = a.VarianceUnderNull;
double varD = Accord.Statistics.Testing.KappaTest.DeltaMethodKappaVariance(a);
double se = System.Math.Sqrt(var);
double se0 = System.Math.Sqrt(var0);
double seD = System.Math.Sqrt(varD);
Assert.AreEqual(0.072, a.StandardError, 0.0005);
Assert.AreEqual(0.073534791185213152, seD, 1e-10);
Assert.AreEqual(0.073509316753225237, se0, 1e-10);
Assert.IsFalse(double.IsNaN(se));
Assert.IsFalse(double.IsNaN(se0));
Assert.IsFalse(double.IsNaN(seD));
}