# ExactCIone

## Introduction

This vignette serves an introduction to the R package ‘ExactCIone’, which is aimed at constructing the admissible exact confidence intervals (CI) for the binomial proportion, the poisson mean and the total number of subjects with a certain attribute or the total number of the subjects for the hypergeometric distribution. Both one-sided and two-sided CI are of interest. This package can be used to calculate the intervals constructed methods developed by Wang (2014) and Wang (2015).

    library(ExactCIone)

## Admissible exact CI for binomial proportion \(p\)

Suppose \(X\sim bino(n,p)\), the sample space of \(X\) is \(\{0,1,...,n\}\). Wang (2014) proposed an admissible interval for \(p\) which is obtained by uniformly shrinking the initial \(1-\alpha\) Clopper-Pearson interval from the middle to both sides of the sample space iteratively. This interval is admissible so that any proper sub-interval of it cannot assure the confidence coefficient. So the interval cannot be shortened anymore.

    # Compute the 95% confidence interval when x=2, n=5.
    WbinoCI(x=2,n=5,conf.level=0.95)
    #> $CI
    #>      x     lower     upper
    #> [1,] 2 0.0764403 0.8107447

Use “details=TRUE” to show the CIs of the whole sample space.

    WbinoCI(x=2,n=5,conf.level=0.95,details=TRUE)
    #> $CI
    #>      x     lower     upper
    #> [1,] 2 0.0764403 0.8107447
    #>
    #> $CIM
    #>      x      lower     upper
    #> [1,] 0 0.00000000 0.5000000
    #> [2,] 1 0.01020614 0.6574084
    #> [3,] 2 0.07644030 0.8107447
    #> [4,] 3 0.18925530 0.9235597
    #> [5,] 4 0.34259163 0.9897939
    #> [6,] 5 0.49999997 1.0000000
    #>
    #> $icp
    #> [1] 0.95

The one-sided intervals are the one-sided \(1-\alpha\) Clopper-Pearson intervals (Clopper and Pearson, 1934). Also show all the CIs when “details=TRUE”.

    WbinoCI_lower(x=2,n=5,conf.level=0.95)
    #> $CI
    #>      sample      lower upper
    #> [1,]      2 0.07644039     1
    WbinoCI_lower(x=2,n=5,conf.level=0.95,details=TRUE)
    #> $CI
    #>      sample      lower upper
    #> [1,]      0 0.00000000     1
    #> [2,]      1 0.01020622     1
    #> [3,]      2 0.07644039     1
    #> [4,]      3 0.18925538     1
    #> [5,]      4 0.34259168     1
    #> [6,]      5 0.54928027     1
    WbinoCI_upper(x=2,n=5,conf.level=0.95)
    #> $CI
    #>      sample lower     upper
    #> [1,]      2     0 0.8107446
    WbinoCI_upper(x=2,n=5,conf.level=0.95,details=TRUE)
    #> $CI
    #>      sample lower     upper
    #> [1,]      0     0 0.4507197
    #> [2,]      1     0 0.6574083
    #> [3,]      2     0 0.8107446
    #> [4,]      3     0 0.9235596
    #> [5,]      4     0 0.9897938
    #> [6,]      5     0 1.0000000

## Admissible exact CI for the poisson mean \(\lambda\)

Suppose \(X\sim poi(\lambda)\), the sample space of \(X\) is \(\{0,1,...\}\). Wang (2014) proposed an admissible interval for \(\lambda\) which is obtained by uniformly shrinking the initial \(1-\alpha\) Clopper-Pearson interval one by one from 0 to the sample point of interest. This interval is admissible so that any proper sub-interval of it cannot assure the confidence coefficient, which means the interval cannot be shortened anymore.

    # The admissible CI for poisson mean when the observed sample is x=3.
    WpoisCI(x=3,conf.level = 0.95)
    #> $CI
    #>      x     lower    upper
    #> [1,] 3 0.8176914 8.395386
    #We show the intervals from 0 to the sample of interest when "details=TRUE".
    WpoisCI(x=3,conf.level = 0.95,details = TRUE)
    #> $CI
    #>      x     lower    upper
    #> [1,] 3 0.8176914 8.395386
    #>
    #> $CIM
    #>      x      lower    upper
    #> [1,] 0 0.00000000 3.453832
    #> [2,] 1 0.05129329 5.491160
    #> [3,] 2 0.35536150 6.921952
    #> [4,] 3 0.81769144 8.395386
    #>
    #> $icp
    #> [1] 0.95

The one-sided intervals are the one-sided \(1-\alpha\) Clopper-Pearson intervals which is givend by Garwood (1936). Also shows all the CIs when “details=TRUE”.

    WpoisCI_lower(x=3,conf.level = 0.95)
    #> $CI
    #>      sample
    #> [1,]      3 0.8176914 Inf
    WpoisCI_lower(x=3,conf.level = 0.95,details = TRUE)
    #> $CI
    #>      x     lower upper
    #> [1,] 3 0.8176914   Inf
    #>
    #> $CIM
    #>      sample      lower upper
    #> [1,]      0 0.00000000   Inf
    #> [2,]      1 0.05129329   Inf
    #> [3,]      2 0.35536151   Inf
    #> [4,]      3 0.81769145   Inf
    WpoisCI_upper(x=3,conf.level = 0.95)
    #> $CI
    #>      sample
    #> [1,]      3 0 7.753657
    WpoisCI_upper(x=3,conf.level = 0.95,details = TRUE)
    #> $CI
    #>      x lower    upper
    #> [1,] 3     0 7.753657
    #>
    #> $CIM
    #>      sample lower    upper
    #> [1,]      0     0 2.995732
    #> [2,]      1     0 4.743865
    #> [3,]      2     0 6.295794
    #> [4,]      3     0 7.753657

## Admissible exact confidence intervals for N, the number of balls in an urn.

Suppose \(X\sim Hyper(M,N,n)\). The sample space is \(\{0,\ldots,\min(M,n)\}\). When \(M\) and \(n\) are known, Wang (2015) construct an admissible confidence interval for \(N\) by uniformly shrinking the initial \(1-\alpha\) Clopper-Pearson type interval from 0 to \(\min(M,n)\). Also this interval cannot be shortened more.

    # For hyper(M,N,n), construct 95% CI for N on the observed sample x when n,M are known.
    WhyperCI_N(x=5,n=10,M=800,conf.level = 0.95)
    #> $CI
    #>      x lower upper
    #> [1,] 5  1031  3591
    # It shows CIs for all the sample point When "details=TRUE".
    WhyperCI_N(x=5,n=10,M=800,conf.level = 0.95,details=TRUE)
    #> $CI
    #>      x lower upper
    #> [1,] 5  1031  3591
    #>
    #> $CIM
    #>        x lower  upper
    #>  [1,]  0  3003    Inf
    #>  [2,]  1  1837 156370
    #>  [3,]  2  1459  21746
    #>  [4,]  3  1295   9160
    #>  [5,]  4  1151   5326
    #>  [6,]  5  1031   3591
    #>  [7,]  6   943   3002
    #>  [8,]  7   878   2096
    #>  [9,]  8   831   1779
    #> [10,]  9   805   1411
    #> [11,] 10   800   1150
    #>
    #> $icp
    #> [1] 0.9500001

The one-sided \(1-\alpha\) CI for \(N\) is the one-sided Clopper-Pearson type interval (Konijn, 1973).

    WhyperCI_N_lower(x=0,n=10,M=800,conf.level = 0.95)
    #> $CI
    #>      x
    #> [1,] 0 3095 Inf
    WhyperCI_N_lower(x=0,n=10,M=800,conf.level = 0.95,details=TRUE)
    #> $CI
    #>      sample lower upper
    #> [1,]      0  3095   Inf
    #>
    #> $CIM
    #>       sample lower upper
    #>  [1,]      0  3095   Inf
    #>  [2,]      1  2033   Inf
    #>  [3,]      2  1581   Inf
    #>  [4,]      3  1321   Inf
    #>  [5,]      4  1151   Inf
    #>  [6,]      5  1031   Inf
    #>  [7,]      6   943   Inf
    #>  [8,]      7   878   Inf
    #>  [9,]      8   831   Inf
    #> [10,]      9   805   Inf
    #> [11,]     10   800   Inf
    WhyperCI_N_upper(x=0,n=10,M=800,conf.level = 0.95)
    #> $CI
    #>      x
    #> [1,] 0 0 Inf
    WhyperCI_N_upper(x=0,n=10,M=800,conf.level = 0.95,details=TRUE)
    #> $CI
    #>      sample lower upper
    #> [1,]      0     0   Inf
    #>
    #> $CIM
    #>       sample lower  upper
    #>  [1,]      0     0    Inf
    #>  [2,]      1     0 156370
    #>  [3,]      2     0  21746
    #>  [4,]      3     0   9160
    #>  [5,]      4     0   5326
    #>  [6,]      5     0   3591
    #>  [7,]      6     0   2631
    #>  [8,]      7     0   2030
    #>  [9,]      8     0   1619
    #> [10,]      9     0   1318
    #> [11,]     10     0   1077

## Admissible exact CI for \(M\), the number of white balls in an urn

Suppose \(X\sim Hyper(M,N,n)\). When N and n are known, Wang (2015) construct an admissible confidence interval for N by uniformly shrinking the initial \(1-\alpha\) Clopper-Pearson type interval from the mid-point of the sample space to 0. This interval is admissible so that any proper sub-interval of it cannot assure the confidence coefficient. This means the interval cannot be shortened anymore.

    # For Hyper(M,N,n), construct the CI for M on the observed sample x when n, N are known.
    # Also output CI for p=M/N.
    WhyperCI_M(x=0,n=10,N=2000,conf.level = 0.95)
    #> $CI
    #>      x lower upper
    #> [1,] 0     0   608
    #>
    #> $CI_p
    #>      p lower upper
    #> [1,] 0     0 0.304
    WhyperCI_M(x=0,n=10,N=2000,conf.level = 0.95,details = TRUE)
    #> $CI
    #>      X lower upper
    #> [1,] 0     0   608
    #>
    #> $CIM
    #>        x lower upper
    #>  [1,]  0     0   608
    #>  [2,]  1    11   873
    #>  [3,]  2    74  1102
    #>  [4,]  3   176  1236
    #>  [5,]  4   301  1391
    #>  [6,]  5   446  1554
    #>  [7,]  6   609  1699
    #>  [8,]  7   764  1824
    #>  [9,]  8   898  1926
    #> [10,]  9  1127  1989
    #> [11,] 10  1392  2000
    #>
    #> $CIM_p
    #>         p lower_p upper_p
    #>  [1,] 0.0  0.0000  0.3040
    #>  [2,] 0.1  0.0055  0.4365
    #>  [3,] 0.2  0.0370  0.5510
    #>  [4,] 0.3  0.0880  0.6180
    #>  [5,] 0.4  0.1505  0.6955
    #>  [6,] 0.5  0.2230  0.7770
    #>  [7,] 0.6  0.3045  0.8495
    #>  [8,] 0.7  0.3820  0.9120
    #>  [9,] 0.8  0.4490  0.9630
    #> [10,] 0.9  0.5635  0.9945
    #> [11,] 1.0  0.6960  1.0000
    #>
    #> $icp
    #> [1] 0.9500005

The one-sided \(1-\alpha\) CI for \(M\) is the one-sided Clopper-Pearson type interval (Konijn, 1973).

    WhyperCI_M_lower(X=0,n=10,N=2000,conf.level = 0.95)
    #> $CI
    #>      X      N
    #> [1,] 0 0 2000
    WhyperCI_M_lower(X=0,n=10,N=2000,conf.level = 0.95,details = TRUE)
    #> $CI
    #>      X      N
    #> [1,] 0 0 2000
    #>
    #> $CIM
    #>       sample lower upper
    #>  [1,]      0     0  2000
    #>  [2,]      1    11  2000
    #>  [3,]      2    74  2000
    #>  [4,]      3   176  2000
    #>  [5,]      4   301  2000
    #>  [6,]      5   446  2000
    #>  [7,]      6   609  2000
    #>  [8,]      7   788  2000
    #>  [9,]      8   988  2000
    #> [10,]      9  1213  2000
    #> [11,]     10  1484  2000
    WhyperCI_M_upper(X=0,n=10,N=2000,conf.level = 0.95)
    #> $CI
    #>      X
    #> [1,] 0 0 516
    WhyperCI_M_upper(X=0,n=10,N=2000,conf.level = 0.95,details = TRUE)
    #> $CI
    #>      X
    #> [1,] 0 0 516
    #>
    #> $CIM
    #>       sample lower upper
    #>  [1,]      0     0   516
    #>  [2,]      1     0   787
    #>  [3,]      2     0  1012
    #>  [4,]      3     0  1212
    #>  [5,]      4     0  1391
    #>  [6,]      5     0  1554
    #>  [7,]      6     0  1699
    #>  [8,]      7     0  1824
    #>  [9,]      8     0  1926
    #> [10,]      9     0  1989
    #> [11,]     10     0  2000

## Reference

Clopper, C. J. and Pearson, E. S. (1934). The use of confidence or fiducial limits in the case of the binomial. “Biometrika” 26: 404-413.

Garwood, F. (1936). Fiducial Limits for the Poisson Distribution. “Biometrika” 28: 437-442.

Konijn, H. S. (1973). Statistical Theory of Sample Survey Design and Analysis, Amsterdam: North-Holland.

Wang, W. (2014). An iterative construction of confidence intervals for a proportion. “Statistica Sinica” 24: 1389-1410.

Wang, W. (2015). Exact Optimal Confidence Intervals for Hypergeometric Parameters. “Journal of the American Statistical Association” 110 (512): 1491-1499.