public ConfidenceInterval(double estimation, double lower, double upper, ConfidenceLevel confidenceLevel) { Estimation = estimation; Lower = lower; Upper = upper; ConfidenceLevel = confidenceLevel; }
/// <summary> /// Calculates Z value (z-star) for confidence interval /// </summary> /// <param name="level">ConfidenceLevel for a confidence interval</param> /// <param name="n">Sample size (n >= 3)</param> public static double GetZValue(this ConfidenceLevel level, int n) { if (n <= 1) { throw new ArgumentOutOfRangeException(nameof(n), "n should be >= 2"); } return(StudentDistribution.InverseTwoTailStudent(1 - level.ToPercent(), n - 1)); }
public ConfidenceInterval GetConfidenceInterval(ConfidenceLevel confidenceLevel) { if (DegreeOfFreedom <= 0) { return(new ConfidenceInterval(Estimation, double.NaN, double.NaN, confidenceLevel)); } double margin = StandardError * GetZLevel(confidenceLevel); return(new ConfidenceInterval(Estimation, Estimation - margin, Estimation + margin, confidenceLevel)); }
public static string ToPercentStr(this ConfidenceLevel level) { string s = level.ToString().Substring(1); if (s.Length > 2) { s = s.Substring(0, 2) + "." + s.Substring(2); } return(s + "%"); }
private double GetZLevel(ConfidenceLevel confidenceLevel) { double x = 1 - (1 - confidenceLevel) / 2; return(new StudentDistribution(DegreeOfFreedom).Quantile(x)); }
[PublicAPI] public static double ToPercent(this ConfidenceLevel level) { (int value, int digits) = ConfidenceLevelDetails[level]; return(value / Math.Pow(10, digits)); }
public ConfidenceInterval GetConfidenceInterval(ConfidenceLevel confidenceLevel) { double margin = StandardError * GetZLevel(confidenceLevel); return(new ConfidenceInterval(Estimation, Estimation - margin, Estimation + margin, confidenceLevel)); }