コード例 #1
0
        public void TestMethod()
        {
            /* -- testing versions */

            PIDebug.Title("Version");

            Console.WriteLine(PIConfiguration.Version_isStable());

            /* -- testing getPartialSums() */

            PIDebug.Title("Partial sums", true);

            PIVariable variable = new PIVariable();

            variable.AddValues(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 });

            PIVariable[] varArray = variable.GetPartsForPartialSum(3, CutStyleForPartialSum.START);

            if (varArray != null)
            {
                Console.WriteLine(varArray.Length);
                PIDebug.Blank();

                if (varArray.Length >= 1)
                {
                    Console.WriteLine(varArray[0].AsString(0));
                }
                if (varArray.Length >= 2)
                {
                    Console.WriteLine(varArray[1].AsString(0));
                }
                if (varArray.Length >= 3)
                {
                    Console.WriteLine(varArray[2].AsString(0));
                }
            }

            PIDebug.Blank();
            varArray = variable.GetPartsForPartialSum(3, CutStyleForPartialSum.END);

            if (varArray != null)
            {
                if (varArray.Length >= 1)
                {
                    Console.WriteLine(varArray[0].AsString(0));
                }
                if (varArray.Length >= 2)
                {
                    Console.WriteLine(varArray[1].AsString(0));
                }
                if (varArray.Length >= 3)
                {
                    Console.WriteLine(varArray[2].AsString(0));
                }
            }

            /* -- testing order */

            PIDebug.Title("Order in variable", true);

            PIVariable varA = new PIVariable();

            varA.AddValue(175);
            varA.AddValue(166);
            varA.AddValue(170);
            varA.AddValue(169);
            varA.AddValue(188);
            varA.AddValue(175);
            varA.AddValue(176);
            varA.AddValue(171);
            varA.AddValue(173);
            varA.AddValue(175);
            varA.AddValue(173);
            varA.AddValue(174);
            varA.AddValue(169);

            PIVariable uniqueOrderedA = varA.GetUniqueOrdered();

            Console.WriteLine("1) varA - unique list with frequency and order");
            PIDebug.Blank();

            for (int i = 0; i < uniqueOrderedA.Count(); i++)
            {
                Console.WriteLine(String.Format("value = {0:f2} , frequency = {1:d}, order = {2:f2}",
                                                uniqueOrderedA.GetValue(i), uniqueOrderedA.Get(i).GetFrequency(), uniqueOrderedA.Get(i).GetOrder()));
            }

            PIDebug.Blank();
            Console.WriteLine("1a) varA - frequency and order");
            PIDebug.Blank();

            for (int i = 0; i < varA.Count(); i++)
            {
                Console.WriteLine(String.Format("value = {0:f2} , frequency = {1:d}, order = {2:f2}",
                                                varA.GetValue(i), varA.Get(i).GetFrequency(), varA.Get(i).GetOrder()));
            }

            PIVariable varB = new PIVariable();

            varB.AddValue(69);
            varB.AddValue(55);
            varB.AddValue(67);
            varB.AddValue(52);
            varB.AddValue(90);
            varB.AddValue(53);
            varB.AddValue(57);
            varB.AddValue(57);
            varB.AddValue(68);
            varB.AddValue(73);
            varB.AddValue(62);
            varB.AddValue(90);
            varB.AddValue(63);

            varB.GetUniqueOrdered();

            PIDebug.Blank();
            Console.WriteLine("2a) varB - frequency and order");
            PIDebug.Blank();

            for (int i = 0; i < varB.Count(); i++)
            {
                Console.WriteLine(String.Format("value = {0:f2} , frequency = {1:d}, order = {2:f2}",
                                                varB.GetValue(i), varB.Get(i).GetFrequency(), varB.Get(i).GetOrder()));
            }

            PIDebug.Blank();
            Console.WriteLine("-> order`s difference");
            PIDebug.Blank();

            PITwoVariables varAB = new PITwoVariables(varA, varB);

            Console.WriteLine("Sum of order`s differences = " + varAB.GetSumOrderDiff2());
        }
コード例 #2
0
        public void TestMethod()
        {
            /* -- source 2a, 566 */

            PIDebug.Title("Two variables");

            /* - prepare X data  */

            PIVariable X = new PIVariable();

            Assert.IsNotNull(X);

            X.AddValues(new int[] { 2, 3, 3, 3, 4, 4, 5, 5, 5, 6 });

            /* - prepare Y data  */

            PIVariable Y = new PIVariable();

            Assert.IsNotNull(Y);

            Y.AddValues(new double[] { 28.7, 24.8, 26.0, 30.5, 23.8, 24.6, 23.8, 20.4, 21.6, 22.1 });

            /* - input data, show R and R2 */

            PITwoVariables twoVariables = new PITwoVariables(X, Y);

            Console.WriteLine("Correlation coefficient = " + twoVariables.GetR());
            Console.WriteLine("Coefficient of determination = " + twoVariables.GetR2());

            PIDebug.Blank();

            Assert.AreEqual(-0.818, twoVariables.GetR(), 0.001);
            Assert.AreEqual(0.670, twoVariables.GetR2(), 0.001);

            /* ------------------------ covariance, source 2i ---------------------------- */

            PIDebug.Title("X, Y covariance");

            /* - prepare X data  */

            PIVariable X1 = new PIVariable();

            Assert.IsNotNull(X1);

            X1.AddValues(new Double[] { 1.1, 1.7, 2.1, 1.4, 0.2 });

            /* - prepare Y data  */

            PIVariable Y1 = new PIVariable();

            Assert.IsNotNull(Y1);

            Y1.AddValues(new double[] { 3.0, 4.2, 4.9, 4.1, 2.5 });

            /* - X, Y */

            PITwoVariables twoVariables1 = new PITwoVariables(X1, Y1);

            Console.WriteLine("Population covariance = " + twoVariables1.GetPopulationCovariance());
            Console.WriteLine("Sample covariance = " + twoVariables1.GetSampleCovariance());

            PIDebug.Blank();

            Assert.AreEqual(0.532, twoVariables1.GetPopulationCovariance(), 0.001);
            Assert.AreEqual(0.665, twoVariables1.GetSampleCovariance(), 0.001);

            /* -- source 2n */

            PIDebug.Title("Pearson correlation coefficient");

            PIVariable varX = new PIVariable();
            PIVariable varY = new PIVariable();

            Assert.IsNotNull(varX);
            Assert.IsNotNull(varY);

            PITwoVariables varXY = new PITwoVariables(varX, varY);

            Assert.IsNotNull(varXY);

            varXY.AddXY(175, 69);
            varXY.AddXY(166, 55);
            varXY.AddXY(170, 67);
            varXY.AddXY(169, 52);
            varXY.AddXY(188, 90);
            varXY.AddXY(175, 53);
            varXY.AddXY(176, 57);
            varXY.AddXY(171, 57);
            varXY.AddXY(173, 68);
            varXY.AddXY(175, 73);
            varXY.AddXY(173, 62);
            varXY.AddXY(174, 90);
            varXY.AddXY(169, 63);

            Console.WriteLine("R = " + varXY.GetR());
            Console.WriteLine("Pearson`s correlation coeffiecient = " + varXY.GetPearsonCorrelationCoefficient());

            Assert.AreEqual(0.639, varXY.GetPearsonCorrelationCoefficient(), 0.001);

            Console.WriteLine("Spearman`s rank correlation coeffiecient = " + varXY.GetSpearmanCorrelationCoefficient());

            Assert.AreEqual(0.475, varXY.GetSpearmanCorrelationCoefficient(), 0.001);

            //Console.Write( string.Format( "{0,3}", "Test") + "x" );
        }