Come si calcola la distribuzione chi-quadro non centrata?

di il
18 risposte

18 Risposte - Pagina 2

  • Re: Come si calcola la distribuzione chi-quadro non centrata?

    Io non so niente di statistica quindi faccio riferimento al esempio del sito. Questo compila
    
    #include <boost/math/distributions/non_central_chi_squared.hpp>
    #include <iostream>
    #include <cstdlib>
    
    using namespace std;
    
    int main()
    {
       double chiquad, XX, VV, DDelta;
       cout << "Parametri della distribuzione chi-quadro non centrale: \n";
       cin >> XX >> VV >> DDelta;
       
       boost::math::non_central_chi_squared_distribution<double> myNonCentralChiSquared(XX, VV);
       
       // Other properties
       cout << "\n***Noncentral Chi^2 Distribution: \n";
       cout << "mean: " << mean(myNonCentralChiSquared) << endl;
       cout << "variance: " << variance(myNonCentralChiSquared) << endl;
       cout << "median: " << median(myNonCentralChiSquared) << endl;
       cout << "mode: " << mode(myNonCentralChiSquared) << endl;
       cout << "kurtosis excess: " << kurtosis_excess(myNonCentralChiSquared) << endl;
       cout << "kurtosis: " << kurtosis(myNonCentralChiSquared) << endl;
       cout << "characteristic function: " << chf(myNonCentralChiSquared, DDelta) << endl;
       cout << "hazard: " << hazard(myNonCentralChiSquared, DDelta) << endl;
    
     
       //cout << "chisquare = " << chiquad << "\n";
     
       system ("pause");
       return 0;
    }
    
    non_central_chi_squared accetta due parametri e tu li stai passando 3.
    Poi non so cosa vuoi calcolare perche non è la mia materia ma vedi gli esempi che ho trovato.
  • Re: Come si calcola la distribuzione chi-quadro non centrata?

    Queste sono tutte le funzioni sulle distribuzioni in boost.
    https://www.quantnet.com/cplusplus-statistical-distributions-boost/
  • Re: Come si calcola la distribuzione chi-quadro non centrata?

    Ho risolto, skynet. Il codice corretto è quello riportato qui sotto, che compila e ho anche verificato che restituisce i valori giusti. Grazie mille davvero!
    #include <iostream>
    #include <cmath>
    #include <stdlib.h>
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/distributions/non_central_chi_squared.hpp>
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/distributions/fwd.hpp>
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/special_functions/gamma.hpp> 
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/special_functions/bessel.hpp> 
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/special_functions/round.hpp> 
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/distributions/complement.hpp> 
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/distributions/chi_squared.hpp> 
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/distributions/detail/common_error_handling.hpp> 
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/special_functions/fpclassify.hpp> 
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/tools/roots.hpp> 
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/distributions/detail/generic_mode.hpp>
    #include <C:/Dev-Cpp/boost_1_49_0/boost/math/distributions/detail/generic_quantile.hpp>
    
    using namespace std;
    
    int main()
    {
       double chiquad, XX, VV, DDelta;
       cout << "Parametri della distribuzione chi-quadro non centrale: \n";
       cin >> XX >> VV >> DDelta;
       chiquad = cdf(boost::math::non_central_chi_squared(VV, DDelta), XX);
      
       cout << "chisquare = " << chiquad << "\n";
      
       system ("pause");
       return 0; 
    }
  • Re: Come si calcola la distribuzione chi-quadro non centrata?

    Finalmente!!!
Devi accedere o registrarti per scrivere nel forum
18 risposte