⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 binomial_confidence_limits.cpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 CPP
字号:
// Copyright John Maddock 2006// Use, modification and distribution are subject to the// Boost Software License, Version 1.0.// (See accompanying file LICENSE_1_0.txt// or copy at http://www.boost.org/LICENSE_1_0.txt)#ifdef _MSC_VER#  pragma warning(disable: 4512) // assignment operator could not be generated.#  pragma warning(disable: 4510) // default constructor could not be generated.#  pragma warning(disable: 4610) // can never be instantiated - user defined constructor required.#endif#include <iostream>#include <iomanip>#include <boost/math/distributions/binomial.hpp>void confidence_limits_on_frequency(unsigned trials, unsigned successes){   //   // trials = Total number of trials.   // successes = Total number of observed successes.   //   // Calculate confidence limits for an observed   // frequency of occurrence that follows a binomial   // distribution.   //   using namespace std;   using namespace boost::math;   // Print out general info:   cout <<      "___________________________________________\n"      "2-Sided Confidence Limits For Success Ratio\n"      "___________________________________________\n\n";   cout << setprecision(7);   cout << setw(40) << left << "Number of Observations" << "=  " << trials << "\n";   cout << setw(40) << left << "Number of successes" << "=  " << successes << "\n";   cout << setw(40) << left << "Sample frequency of occurrence" << "=  " << double(successes) / trials << "\n";   //   // Define a table of significance levels:   //   double alpha[] = { 0.5, 0.25, 0.1, 0.05, 0.01, 0.001, 0.0001, 0.00001 };   //   // Print table header:   //   cout << "\n\n"           "_______________________________________________________________________\n"           "Confidence        Lower CP       Upper CP       Lower JP       Upper JP\n"           " Value (%)        Limit          Limit          Limit          Limit\n"           "_______________________________________________________________________\n";   //   // Now print out the data for the table rows.   //   for(unsigned i = 0; i < sizeof(alpha)/sizeof(alpha[0]); ++i)   {      // Confidence value:      cout << fixed << setprecision(3) << setw(10) << right << 100 * (1-alpha[i]);      // Calculate Clopper Pearson bounds:      double l = binomial_distribution<>::find_lower_bound_on_p(trials, successes, alpha[i]/2);      double u = binomial_distribution<>::find_upper_bound_on_p(trials, successes, alpha[i]/2);      // Print Clopper Pearson Limits:      cout << fixed << setprecision(5) << setw(15) << right << l;      cout << fixed << setprecision(5) << setw(15) << right << u;      // Calculate Jeffreys Prior Bounds:      l = binomial_distribution<>::find_lower_bound_on_p(trials, successes, alpha[i]/2, binomial_distribution<>::jeffreys_prior_interval);      u = binomial_distribution<>::find_upper_bound_on_p(trials, successes, alpha[i]/2, binomial_distribution<>::jeffreys_prior_interval);      // Print Jeffreys Prior Limits:      cout << fixed << setprecision(5) << setw(15) << right << l;      cout << fixed << setprecision(5) << setw(15) << right << u << std::endl;   }   cout << endl;} // void confidence_limits_on_frequency()int main(){   confidence_limits_on_frequency(20, 4);   confidence_limits_on_frequency(200, 40);   confidence_limits_on_frequency(2000, 400);   return 0;} // int main()/*------ Build started: Project: binomial_confidence_limits, Configuration: Debug Win32 ------Compiling...binomial_confidence_limits.cppLinking...Autorun "i:\boost-06-05-03-1300\libs\math\test\Math_test\debug\binomial_confidence_limits.exe"___________________________________________2-Sided Confidence Limits For Success Ratio___________________________________________Number of Observations                  =  20Number of successes                     =  4Sample frequency of occurrence          =  0.2_______________________________________________________________________Confidence        Lower CP       Upper CP       Lower JP       Upper JP Value (%)        Limit          Limit          Limit          Limit_______________________________________________________________________    50.000        0.12840        0.29588        0.14974        0.26916    75.000        0.09775        0.34633        0.11653        0.31861    90.000        0.07135        0.40103        0.08734        0.37274    95.000        0.05733        0.43661        0.07152        0.40823    99.000        0.03576        0.50661        0.04655        0.47859    99.900        0.01905        0.58632        0.02634        0.55960    99.990        0.01042        0.64997        0.01530        0.62495    99.999        0.00577        0.70216        0.00901        0.67897___________________________________________2-Sided Confidence Limits For Success Ratio___________________________________________Number of Observations                  =  200Number of successes                     =  40Sample frequency of occurrence          =  0.2000000_______________________________________________________________________Confidence        Lower CP       Upper CP       Lower JP       Upper JP Value (%)        Limit          Limit          Limit          Limit_______________________________________________________________________    50.000        0.17949        0.22259        0.18190        0.22001    75.000        0.16701        0.23693        0.16934        0.23429    90.000        0.15455        0.25225        0.15681        0.24956    95.000        0.14689        0.26223        0.14910        0.25951    99.000        0.13257        0.28218        0.13468        0.27940    99.900        0.11703        0.30601        0.11902        0.30318    99.990        0.10489        0.32652        0.10677        0.32366    99.999        0.09492        0.34485        0.09670        0.34197___________________________________________2-Sided Confidence Limits For Success Ratio___________________________________________Number of Observations                  =  2000Number of successes                     =  400Sample frequency of occurrence          =  0.2000000_______________________________________________________________________Confidence        Lower CP       Upper CP       Lower JP       Upper JP Value (%)        Limit          Limit          Limit          Limit_______________________________________________________________________    50.000        0.19382        0.20638        0.19406        0.20613    75.000        0.18965        0.21072        0.18990        0.21047    90.000        0.18537        0.21528        0.18561        0.21503    95.000        0.18267        0.21821        0.18291        0.21796    99.000        0.17745        0.22400        0.17769        0.22374    99.900        0.17150        0.23079        0.17173        0.23053    99.990        0.16658        0.23657        0.16681        0.23631    99.999        0.16233        0.24169        0.16256        0.24143*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -