NAG Library Routine Document

g07abf (ci_poisson)


    1  Purpose
    7  Accuracy


g07abf computes a confidence interval for the mean argument of the Poisson distribution.


Fortran Interface
Subroutine g07abf ( n, xmean, clevel, tl, tu, ifail)
Integer, Intent (In):: n
Integer, Intent (Inout):: ifail
Real (Kind=nag_wp), Intent (In):: xmean, clevel
Real (Kind=nag_wp), Intent (Out):: tl, tu
C Header Interface
#include nagmk26.h
void  g07abf_ (const Integer *n, const double *xmean, const double *clevel, double *tl, double *tu, Integer *ifail)


Given a random sample of size n, denoted by x1,x2,,xn, from a Poisson distribution with probability function
px=e-θ θxx! ,  x=0,1,2,  
the point estimate, θ^, for θ is the sample mean, x-.
Given n and x- this routine computes a 1001-α% confidence interval for the argument θ, denoted by [θl,θu], where α is in the interval 0,1.
The lower and upper confidence limits are estimated by the solutions to the equations
e-nθlx=T nθlxx! =α2, e-nθux=0Tnθuxx! =α2,  
where T=i=1nxi=nθ^.
The relationship between the Poisson distribution and the χ2-distribution (see page 112 of Hastings and Peacock (1975)) is used to derive the equations
θl= 12n χ2T,α/22, θu= 12n χ2T+2,1-α/22,  
where χν,p2 is the deviate associated with the lower tail probability p of the χ2-distribution with ν degrees of freedom.
In turn the relationship between the χ2-distribution and the gamma distribution (see page 70 of Hastings and Peacock (1975)) yields the following equivalent equations;
θl= 12n γT,2;α/2, θu= 12n γT+1,2;1-α/2,  
where γα,β;δ is the deviate associated with the lower tail probability, δ, of the gamma distribution with shape argument α and scale argument β. These deviates are computed using g01fff.


Hastings N A J and Peacock J B (1975) Statistical Distributions Butterworth
Snedecor G W and Cochran W G (1967) Statistical Methods Iowa State University Press


1:     n – IntegerInput
On entry: n, the sample size.
Constraint: n1.
2:     xmean – Real (Kind=nag_wp)Input
On entry: the sample mean, x-.
Constraint: xmean0.0.
3:     clevel – Real (Kind=nag_wp)Input
On entry: the confidence level, 1-α, for two-sided interval estimate. For example clevel=0.95 gives a 95% confidence interval.
Constraint: 0.0<clevel<1.0.
4:     tl – Real (Kind=nag_wp)Output
On exit: the lower limit, θl, of the confidence interval.
5:     tu – Real (Kind=nag_wp)Output
On exit: the upper limit, θu, of the confidence interval.
6:     ifail – IntegerInput/Output
On entry: ifail must be set to 0, -1​ or ​1. If you are unfamiliar with this argument you should refer to Section 3.4 in How to Use the NAG Library and its Documentation for details.
For environments where it might be inappropriate to halt program execution when an error is detected, the value -1​ or ​1 is recommended. If the output of error messages is undesirable, then the value 1 is recommended. Otherwise, if you are not familiar with this argument, the recommended value is 0. When the value -1​ or ​1 is used it is essential to test the value of ifail on exit.
On exit: ifail=0 unless the routine detects an error or a warning has been flagged (see Section 6).

Error Indicators and Warnings

If on entry ifail=0 or -1, explanatory error messages are output on the current error message unit (as defined by x04aaf).
Errors or warnings detected by the routine:
On entry,n<1,
When using the relationship with the gamma distribution to calculate one of the confidence limits, the series to calculate the gamma probabilities has failed to converge. Both tl and tu are set to zero. This is a very unlikely error exit and if it occurs please contact NAG.
An unexpected error has been triggered by this routine. Please contact NAG.
See Section 3.9 in How to Use the NAG Library and its Documentation for further information.
Your licence key may have expired or may not have been installed correctly.
See Section 3.8 in How to Use the NAG Library and its Documentation for further information.
Dynamic memory allocation failed.
See Section 3.7 in How to Use the NAG Library and its Documentation for further information.


For most cases the results should have a relative accuracy of max0.5E-12,50.0×ε where ε is the machine precision (see x02ajf). Thus on machines with sufficiently high precision the results should be accurate to 12 significant digits. Some accuracy may be lost when α/2 or 1-α/2 is very close to 0.0, which will occur if clevel is very close to 1.0. This should not affect the usual confidence intervals used.

Parallelism and Performance

g07abf is not threaded in any implementation.

Further Comments



The following example reads in data showing the number of noxious weed seeds and the frequency with which that number occurred in 98 subsamples of meadow grass. The data is taken from page 224 of Snedecor and Cochran (1967). The sample mean is computed as the point estimate of the Poisson argument θ. g07abf is then called to compute both a 95% and a 99% confidence interval for the argument θ.

Program Text

Program Text (g07abfe.f90)

Program Data

Program Data (g07abfe.d)

Program Results

Program Results (g07abfe.r)

© The Numerical Algorithms Group Ltd, Oxford, UK. 2017