当前位置: 首页>>代码示例>>C#>>正文


C# StudentT.CumulativeDistribution方法代码示例

本文整理汇总了C#中MathNet.Numerics.Distributions.StudentT.CumulativeDistribution方法的典型用法代码示例。如果您正苦于以下问题:C# StudentT.CumulativeDistribution方法的具体用法?C# StudentT.CumulativeDistribution怎么用?C# StudentT.CumulativeDistribution使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MathNet.Numerics.Distributions.StudentT的用法示例。


在下文中一共展示了StudentT.CumulativeDistribution方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Run

        /// <summary>
        /// Run example
        /// </summary>
        /// <a href="http://en.wikipedia.org/wiki/StudentT_distribution">StudentT distribution</a>
        public void Run()
        {
            // 1. Initialize the new instance of the StudentT distribution class with parameters Location = 0, Scale = 1, DegreesOfFreedom = 1
            var studentT = new StudentT();
            Console.WriteLine(@"1. Initialize the new instance of the StudentT distribution class with parameters Location = {0}, Scale = {1}, DegreesOfFreedom = {2}", studentT.Location, studentT.Scale, studentT.DegreesOfFreedom);
            Console.WriteLine();

            // 2. Distributuion properties:
            Console.WriteLine(@"2. {0} distributuion properties:", studentT);

            // Cumulative distribution function
            Console.WriteLine(@"{0} - Сumulative distribution at location '0.3'", studentT.CumulativeDistribution(0.3).ToString(" #0.00000;-#0.00000"));

            // Probability density
            Console.WriteLine(@"{0} - Probability density at location '0.3'", studentT.Density(0.3).ToString(" #0.00000;-#0.00000"));

            // Log probability density
            Console.WriteLine(@"{0} - Log probability density at location '0.3'", studentT.DensityLn(0.3).ToString(" #0.00000;-#0.00000"));

            // Entropy
            Console.WriteLine(@"{0} - Entropy", studentT.Entropy.ToString(" #0.00000;-#0.00000"));

            // Largest element in the domain
            Console.WriteLine(@"{0} - Largest element in the domain", studentT.Maximum.ToString(" #0.00000;-#0.00000"));

            // Smallest element in the domain
            Console.WriteLine(@"{0} - Smallest element in the domain", studentT.Minimum.ToString(" #0.00000;-#0.00000"));

            // Mean
            Console.WriteLine(@"{0} - Mean", studentT.Mean.ToString(" #0.00000;-#0.00000"));

            // Median
            Console.WriteLine(@"{0} - Median", studentT.Median.ToString(" #0.00000;-#0.00000"));

            // Mode
            Console.WriteLine(@"{0} - Mode", studentT.Mode.ToString(" #0.00000;-#0.00000"));

            // Variance
            Console.WriteLine(@"{0} - Variance", studentT.Variance.ToString(" #0.00000;-#0.00000"));

            // Standard deviation
            Console.WriteLine(@"{0} - Standard deviation", studentT.StdDev.ToString(" #0.00000;-#0.00000"));

            // 3. Generate 10 samples of the StudentT distribution
            Console.WriteLine(@"3. Generate 10 samples of the StudentT distribution");
            for (var i = 0; i < 10; i++)
            {
                Console.Write(studentT.Sample().ToString("N05") + @" ");
            }

            Console.WriteLine();
            Console.WriteLine();

            // 4. Generate 100000 samples of the StudentT(0, 1, 1) distribution and display histogram
            Console.WriteLine(@"4. Generate 100000 samples of the StudentT(0, 1, 1) distribution and display histogram");
            var data = new double[100000];
            for (var i = 0; i < data.Length; i++)
            {
                data[i] = studentT.Sample();
            }

            ConsoleHelper.DisplayHistogram(data);

            // 5. Generate 100000 samples of the StudentT(0, 1, 5) distribution and display histogram
            Console.WriteLine(@"5. Generate 100000 samples of the StudentT(0, 1, 5) distribution and display histogram");
            studentT.DegreesOfFreedom = 5;
            for (var i = 0; i < data.Length; i++)
            {
                data[i] = studentT.Sample();
            }

            ConsoleHelper.DisplayHistogram(data);
            Console.WriteLine();

            // 6. Generate 100000 samples of the StudentT(0, 1, 10) distribution and display histogram
            Console.WriteLine(@"6. Generate 100000 samples of the StudentT(0, 1, 10) distribution and display histogram");
            studentT.DegreesOfFreedom = 10;
            for (var i = 0; i < data.Length; i++)
            {
                data[i] = studentT.Sample();
            }

            ConsoleHelper.DisplayHistogram(data);
        }
开发者ID:jvangael,项目名称:mathnet-numerics,代码行数:88,代码来源:StudentTDistribution.cs

示例2: PT

 /// <summary>
 /// Distribution function for Student's T distribution for a specified z-score
 /// and a number of degrees of freedom.
 /// </summary>
 public static double PT(double z, double df)
 {
     var tdist = new StudentT(0, 1, df);
     return tdist.CumulativeDistribution(z);
 }
开发者ID:lgatto,项目名称:proteowizard,代码行数:9,代码来源:Statistics.cs

示例3: ValidateCumulativeDistribution

 public void ValidateCumulativeDistribution(double location, double scale, double dof, double x, double c)
 {
     var n = new StudentT(location, scale, dof);
     AssertHelpers.AlmostEqualRelative(c, n.CumulativeDistribution(x), 13);
 }
开发者ID:rookboom,项目名称:mathnet-numerics,代码行数:5,代码来源:StudentTTests.cs

示例4: ValidateCumulativeDistribution

 public void ValidateCumulativeDistribution(double location, double scale, double dof, double x, double p)
 {
     var dist = new StudentT(location, scale, dof);
     Assert.That(dist.CumulativeDistribution(x), Is.EqualTo(p).Within(1e-13));
     Assert.That(StudentT.CDF(location, scale, dof, x), Is.EqualTo(p).Within(1e-13));
 }
开发者ID:Jungwon,项目名称:mathnet-numerics,代码行数:6,代码来源:StudentTTests.cs

示例5: Fit

        public IList<LinearFitResult> Fit(double[] observations)
        {
            if (observations.Length != DesignMatrix.RowCount)
            {
                throw new ArgumentException("Wrong number of rows"); // Not L10N
            }
            var coefficients = QrFactorization.Solve(observations);
            var fittedValues = new double[observations.Length];
            var residuals = new double[observations.Length];
            for (int iRow = 0; iRow < observations.Length; iRow++)
            {
                var designRow = Enumerable.Range(0, DesignMatrix.ColumnCount).Select(index => DesignMatrix[iRow, index]).ToArray();
                fittedValues[iRow] = DotProduct(designRow, coefficients);
                residuals[iRow] = observations[iRow] - fittedValues[iRow];
            }
            double rss = DotProduct(residuals, residuals);

            int degreesOfFreedom = observations.Length - QrFactorization.NumberIndependentColumns;
            double resVar = rss / degreesOfFreedom;
            double sigma = Math.Sqrt(resVar);
            var covarianceUnscaled = MatrixCrossproductInverse;
            var scaledCovariance = covarianceUnscaled.Multiply(sigma * sigma);
            var indepColIndexes = QrFactorization.IndependentColumnIndexes.ToArray();
            var result = new List<LinearFitResult>();
            foreach (var contrastRow in ContrastValues.EnumerateRows())
            {
                double standardError = 0;
                for (int iRow = 0; iRow < indepColIndexes.Length; iRow++)
                {
                    for (int iCol = 0; iCol < indepColIndexes.Length; iCol++)
                    {
                        standardError += contrastRow[indepColIndexes[iRow]] * scaledCovariance[iRow, iCol] * contrastRow[indepColIndexes[iCol]];
                    }
                }
                standardError = Math.Sqrt(standardError);
                double foldChange = DotProduct(coefficients, contrastRow);
                double tValue = foldChange / standardError;
                double pValue;
                if (0 != degreesOfFreedom)
                {
                    var studentT = new StudentT(0, 1.0, degreesOfFreedom);
                    pValue = (1 - studentT.CumulativeDistribution(Math.Abs(tValue))) * 2;
                }
                else
                {
                    pValue = 1;
                }
                result.Add(new LinearFitResult(foldChange)
                    .SetDegreesOfFreedom(degreesOfFreedom)
                    .SetTValue(tValue)
                    .SetStandardError(standardError)
                    .SetPValue(pValue));
            }
            return result;
        }
开发者ID:AlexandreBurel,项目名称:pwiz-mzdb,代码行数:55,代码来源:LinearModel.cs

示例6: ComputeCorrelation

 public static CorrelData ComputeCorrelation(IEnumerable<double> d1, IEnumerable<double> d2)
 {
     CorrelData oRet = null;
     if ((d1 == null) || (d2 == null))
     {
         return null;
     }
     double[] dd1 = d1.ToArray();
     double[] dd2 = d2.ToArray();
     int n = (dd1.Length < dd2.Length) ? dd1.Length : dd2.Length;
     if (n < 3)
     {
         return null;
     }
     oRet = new CorrelData();
     oRet.Count = n;
     double corr = myconvert10000(Correlation.Pearson(dd1.Take(n), dd2.Take(n)));
     if (corr < -1.0)
     {
         corr = -1.0;
     }
     if (corr > 1.0)
     {
         corr = 1.0;
     }
     oRet.Value = corr;
     double xn = (double)n;
     double rr = (corr < 0.0) ? -corr : corr;
     double crit = rr * Math.Sqrt(xn - 2.0) / Math.Sqrt(1.0 - rr * rr);
     StudentT st = new StudentT(0.0, 1.0, xn - 2);
     double pb = st.CumulativeDistribution(crit);
     oRet.Probability = myconvert10000(1.0 - pb);
     double s1 = 0.5 * Math.Log((1.0 + corr) / (1.0 - corr));
     double s2 = 1.96 / Math.Sqrt(xn - 3.0);
     double s3 = corr / Math.Sqrt(xn - 1.0);
     double z1 = s1 - s2 - s3;
     double z2 = s1 + s2 - s3;
     oRet.Minimum = myconvert10000(Math.Tanh(z1));
     oRet.Maximum = myconvert10000(Math.Tanh(z2));
     return oRet;
 }
开发者ID:boubad,项目名称:StatDataStoreSolution,代码行数:41,代码来源:StatModelViewBase.cs

示例7: TDIST

 public static double TDIST(double x, int degrees_freedom, int tails)
 {
     var dist = new StudentT(0.0, 1.0, degrees_freedom);
     switch (tails)
     {
         case 1:
             return 1d - dist.CumulativeDistribution(x);
         case 2:
             return 1d - dist.CumulativeDistribution(x) + dist.CumulativeDistribution(-x);
         default:
             throw new ArgumentOutOfRangeException("tails");
     }
 }
开发者ID:rookboom,项目名称:mathnet-numerics,代码行数:13,代码来源:ExcelFunctions.cs


注:本文中的MathNet.Numerics.Distributions.StudentT.CumulativeDistribution方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。