コード例 #1
0
ファイル: DiscreteCharTest.cs プロジェクト: colinbull/infer
        public void CharDistribution()
        {
            var rng  = DiscreteChar.UniformInRanges("bdgi");
            var unif = DiscreteChar.Uniform();
            var mix  = new DiscreteChar();

            mix.SetToSum(0.8, rng, 0.2, unif);

            DistributionTests.DistributionTest(unif, mix, false);
            DistributionTests.PointMassTest(mix, 'b');
            DistributionTests.UniformTest(rng, 'b');
        }
コード例 #2
0
ファイル: GPTests.cs プロジェクト: ScriptBox21/dotnet-infer
        public void SparseGPTest()
        {
            // The basis
            Vector[] basis = new Vector[]
            {
                Vector.FromArray(new double[2] {
                    0.2, 0.2
                }),
                Vector.FromArray(new double[2] {
                    0.2, 0.8
                }),
                Vector.FromArray(new double[2] {
                    0.8, 0.2
                }),
                Vector.FromArray(new double[2] {
                    0.8, 0.8
                })
            };

            // The kernel
            IKernelFunction kf = new NNKernel(new double[] { 0.0, 0.0 }, 0.0);

            // The fixed parameters
            SparseGPFixed sgpf = new SparseGPFixed(kf, basis);

            // Alpha and beta
            Vector alpha = Vector.Zero(basis.Length);
            PositiveDefiniteMatrix beta = new PositiveDefiniteMatrix(basis.Length, basis.Length);

            for (int i = 0; i < alpha.Count; i++)
            {
                alpha[i] = i;
                for (int j = 0; j < alpha.Count; j++)
                {
                    beta[i, j] = alpha.Count - System.Math.Abs(i - j);
                }
            }

            SparseGP a = new SparseGP(sgpf);

#if false
            Rank1Pot r1p = new Rank1Pot();
            r1p.Xi        = basis[0]; // must be a basis point for this test
            r1p.Yi        = 2.2;
            r1p.LambdaInv = 0.7;
            SparseGP b = new SparseGP(sgpf, r1p);
            DistributionTests.SettableToRatioTest(a, b);
#endif
            DistributionTests.ProductWithUniformTest(a);
            DistributionTests.RatioWithUniformTest(a);
            DistributionTests.SettableToTest(a);
        }