FAQ/SPSSchiCIs - CBU statistics Wiki

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment
Type the odd characters out in each group: abz2a 125t7 HhHaHh year.s 5433r21 worl3d

location: FAQ / SPSSchiCIs

Confidence intervals for proportions using SPSS syntax

*  ============================================================= .
*  File:        CI_for_proportion.SPS .
*  Date:         19-Nov-2012 .
*  Author:  Bruce Weaver, bweaver@lakeheadu.ca .
*  ============================================================= .

* Get confidence interval for a binomial proportion using:
   - Wald method
   - Adjusted Wald method (Agresti & Coull, 1998)
   - Wilson score method (identical to Ghosh's 1979 method)
   - Jeffreys method
.
* The data used here are from Table I in Newcombe (1998), Statistics
   in Medicine, Vol 17, 857-872.

DATA LIST LIST /x(f8.0) n(f8.0) confid(f5.3) .
BEGIN DATA.
81 263 .95
15 148 .95
0   20 .95
1   29 .95
81 263 .90
15 148 .90
0   20 .90
1   29 .90
81 263 .99
15 148 .99
0   20 .99
1   29 .99
16  48 .95
16  48 .99
END DATA.

compute alpha = 1 - confid.
compute p = x/n.
compute q = 1-p.
compute z = probit(1-alpha/2).

*  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .

* Wald method (i.e., the usual normal approximation).

compute #se = SQRT(p*q/n).
compute Lower1 = p - z*#se.
if Lower1 LT 0 Lower1 = 0.
compute Upper1 = p + z*#se.
if Upper1 GT 1 Upper1 = 1.

*  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .

* Adjusted Wald method due to Agresti & Coull (1998).

compute #p = (x + z**2/2) / (n + z**2).
compute #q = 1 - #p.
compute #se = SQRT(#p*#q/(n+z**2)).
compute Lower2 = #p - z*#se.
if Lower2 LT 0 Lower2 = 0.
compute Upper2 = #p + z*#se.
if Upper2 GT 1 Upper2 = 1.

*  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .

* Wilson score method (Method 3 in Newcombe, 1998) .
* Code adapted from Robert Newcombe's code posted here:
    http://archive.uwcm.ac.uk/uwcm/ms/Robert2.html .

* The method of Ghosh (1979), as described in Glass & Hopkins
* (1996, p 326) is identical to Wilson's method.
* Glass & Hopkins describe it as the "method of choice for all values
   of p and n" .

COMPUTE #x1 = 2*n*p+z**2 .
COMPUTE #x2 = z*(z**2+4*n*p*(1-p))**0.5 .
COMPUTE #x3 = 2*(n+z**2) .
COMPUTE Lower3 = (#x1 - #x2) / #x3 .
COMPUTE Upper3 = (#x1 + #x2) / #x3 .

*  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .

* Jeffreys method shown on the IBM-SPSS website at
* http://www-01.ibm.com/support/docview.wss?uid=swg21474963 .

compute Lower4 = idf.beta(alpha/2,x+.5,n-x+.5).
compute Upper4 = idf.beta(1-alpha/2,x+.5,n-x+.5).

*  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .

* Format variables and list the results of all methods .

formats p q Lower1 to Upper4 (f5.4).
sort cases by p confid.

list var x n confid p Lower1 to Upper4 .

* Method 1:  Wald method (i.e., the usual normal approximation) .
* Method 2:  Adjusted Wald method (using z**2/2 and z**2 rather than 2 and
4).
* Method 3:  Wilson score method (from Newcombe paper), identical to Ghosh
(1979).
* Method 4:  Jeffreys method
(http://www-01.ibm.com/support/docview.wss?uid=swg21474963).

* Data from Newcombe (1998), Table I.

variable labels
 x "Successes"
 n "Trials"
 p "p(Success)"
 confid "Confidence Level"
 Lower1 "Wald: Lower"
 Upper1 "Wald: Upper"
 Lower2 "Adj Wald: Lower"
 Upper2 "Adj Wald: Upper"
 Lower3 "Wilson score/Ghosh: Lower"
 Upper3 "Wilson score/Ghosh: Upper"
 Lower4 "Jeffreys: Lower"
 Upper4 "Jeffreys: Upper"
.

SUMMARIZE
  /TABLES=x n p confid Lower1 Upper1 Lower2 Upper2 Lower3 Upper3 Lower4
Upper4
  /FORMAT=VALIDLIST NOCASENUM TOTAL
  /TITLE='Confidence Intervals for Binomial Proportions'
  /MISSING=VARIABLE
  /CELLS=NONE.

*  ============================================================= .