A juzgar por el aumento de documentación, parece ofrecer funciones cuantiles (funciones inversas de cdf) para distribuciones normal y gamma, pero no está claro para mí cómo puedo usarlas. ¿Podría alguien pegar un ejemplo, por favor?Funciones de Quantile en boost (C++)
10
A
Respuesta
8
El cálculo de cuantiles se implementa como una función gratuita. He aquí un ejemplo:
#include <boost/math/distributions/normal.hpp>
boost::math::normal dist(0.0, 1.0);
// 95% of distribution is below q:
double q = quantile(dist, 0.95);
También puede obtener el complemento (cuantil de la derecha) usando:
// 95% of distribution is above qc:
double qc = quantile(complement(dist, 0.05));
Hay algunos ejemplos desarrollados similares aquí:
Editar: no necesita espacios de nombres en las funciones gratuitas gracias a ADL
3
Hay un ejemplo viable en QuantCorner.
// Édouard Tallent @ TaGoMa.Tech
// September 2012
#include<boost/math/distributions.hpp>
#include<iostream>
using std::cout;
using std::endl;
double inverseNormal(double prob, double mean, double sd){
boost::math::normal_distribution<>myNormal (mean, sd);
return quantile(myNormal, prob);
}
int main (int, char*[])
{
try
{
double myProb = 0.1; // the 10% quantile
double myMean = 0.07; // a 7% mean
double myVol = 0.14; // a 14% volatility
cout << inverseNormal(myProb, myMean, myVol) << endl;
}
catch(std::exception& e)
{
cout << "Error message: " << e.what() << endl;
}
return 0;
}
Cuestiones relacionadas
- 1. Tipo de borrado en C++: ¿cómo funcionan las funciones boost :: shared_ptr y boost :: function?
- 2. Posible tener funciones anónimas de C++ con boost?
- 3. Intercalar Quantile/Mediana/2D en Python
- 4. Explicar la función quantile() en R
- 5. Composición de funciones en C++
- 6. Boost :: python Exponer funciones C++ usando y devolviendo plantillas
- 7. C++ Boost en iPhone
- 8. El uso de Boost BIMAP en C++ Boost
- 9. funciones dentro de las funciones en C
- 10. Boost como bibliotecas en C
- 11. Funciones recursivas en C/C++
- 12. Boost C++ library install
- 13. C++ - boost :: cualquier serialización
- 14. C++ Boost cadena
- 15. C++ - boost obtener pregunta
- 16. Boost thread Leakage C++
- 17. ¿Es posible usar boost :: bind para efectivamente concatenar funciones?
- 18. Funciones externas en C++
- 19. funciones ambiguas en C++
- 20. sobrecarga de funciones en C
- 21. Funciones de amigo en C++
- 22. Funciones de referencia en C++
- 23. sobrecarga de funciones en C++
- 24. Funciones de MATLAB en C++
- 25. funciones de salida en C
- 26. C++ Funciones de miembros vs funciones gratuitas
- 27. Funciones en línea en C++
- 28. C funciones de prototipo
- 29. Mapa de funciones C++
- 30. Punteros de función para funciones de miembro en C++
[Esta página] (http://www.boost.org/doc/libs/1_46_1/libs/math/doc/sf_and_dist/html/math_toolkit/dist/stat_tut/weg/normal_example/normal_misc.html) contiene un ejemplo para calcular cuantiles de la distribución normal. Parece bastante sencillo. ¿Esto funciona para tí? –