Beispiel #1
0
        public void TauB_SameOrder()
        {
            var kendall = new KendallTauCorrelation <int, int>(
                (int value) => value,
                (int value) => value * 10
                );

            Assert.AreEqual(
                1.0,
                kendall.TauB(OneToTen),
                "Numbers that sort in the same order should be perfectly correlated."
                );
        }
Beispiel #2
0
        public void TauB_ReverseOrder()
        {
            var kendall = new KendallTauCorrelation <int, int>(
                (int value) => value,
                (int value) => value * -10
                );

            Assert.AreEqual(
                -1.0,
                kendall.TauB(OneToTen),
                "Numbers that sort in reverse order should be perfectly anti-correlated."
                );
        }
Beispiel #3
0
        public void TauB_OneSwap_NoTies()
        {
            var reordered = new[] { 1, 2, 3, 5, 4, 6, 7, 8, 9, 10 };
            var kendall   = new KendallTauCorrelation <int, int>(
                (int value) => value,
                (int value) => reordered[value - 1]
                );

            Assert.AreEqual(
                43.0 / 45.0,
                kendall.TauB(OneToTen),
                0.00001,
                "If a single number is out of place the sequences should be almost perfectly correlated."
                );
        }
Beispiel #4
0
        public void TauB_Ties()
        {
            var reordered = new[] { 1, 1, 1, 4, 5, 6, 7, 8, 9, 10 };
            var kendall   = new KendallTauCorrelation <int, int>(
                (int value) => value,
                (int value) => reordered[value - 1]
                );

            Assert.AreEqual(
                42.0 / Sqrt(42.0 * 45.0),
                kendall.TauB(OneToTen),
                0.00001,
                "Adding a few ties should be almost perfectly correlated."
                );
        }