faca87
#1
Hello, i’ve to estimate the p-value and the agreement from a gaussian test at one tail.
I calculated
t= |x0-x1|/sqrt{sigma_x1^2+sigma_x2^2}
now I’ve to calculate the p-value by a gaussian test at one tail. Is there a method by ROOT?
Maybe @moneta you know it?
Thanks
moneta
#2
Hi,
To compute the p-value (one-sided) for a gaussian you can use
double pvalue = ROOT::Math::normal_cdf_c( x, sigma);
where typically you have sigma=1
.
For computing the significance given the p-value you can use
double z = ROOT::Math::normal_quantile_c(pvalue, sigma=1);
Lorenzo
faca87
#3
Hi @moneta thank you
who is x in your formula? maybe is it my t in the formula
?
moneta
#4
Hi,
Yes, x
is your normalised random variable, i.e t
in your case.
However, since you are defining t
using the abs(x0-x1)
, the p-value will be:
double pvalue = 2 * ROOT::Math::normal_cdf_c( t, 1.);
Lorenzo
faca87
#5
Thank you @moneta last thing
if I use
double pvalue = 2 * ROOT::Math::normal_cdf_c( t, 1.);
being t=0.24, I get
root [20] double pvalue = 2*ROOT::Math::normal_cdf_c(0.24, 1)
(double) 0.81033026
and the agreement
root [21] double z = ROOT::Math::normal_quantile_c(pvalue, 1)
(double) -0.87911396
is it normal that I get a negative value of the number of sigma? (i.e. Nsigma=-0.88)? Or isn’t z the number of sigma?
moneta
#6
Hi,
since you are considering the p-value from both tails, for getting the significance you should do:
double z = ROOT::Math::normal_quantile_c(pvalue/2., 1);
and you will get again z=0.24
Lorenzo
system
Closed
#8
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.