Rewrote most of the examine command.
[pspp-builds.git] / doc / statistics.texi
1 @node Statistics, Utilities, Conditionals and Looping, Top
2 @chapter Statistics
3
4 This chapter documents the statistical procedures that PSPP supports so
5 far.
6
7 @c If you add any new commands, then don't forget to remove the entry in 
8 @c not-implemented.texi
9
10 @menu
11 * DESCRIPTIVES::                Descriptive statistics.
12 * FREQUENCIES::                 Frequency tables.
13 * EXAMINE::                     Testing data for normality.
14 * CROSSTABS::                   Crosstabulation tables.
15 * T-TEST::                      Test hypotheses about means.
16 * ONEWAY::                      One way analysis of variance.
17 @end menu
18
19 @node DESCRIPTIVES, FREQUENCIES, Statistics, Statistics
20 @section DESCRIPTIVES
21
22 @vindex DESCRIPTIVES
23 @display
24 DESCRIPTIVES
25         /VARIABLES=var_list
26         /MISSING=@{VARIABLE,LISTWISE@} @{INCLUDE,NOINCLUDE@}
27         /FORMAT=@{LABELS,NOLABELS@} @{NOINDEX,INDEX@} @{LINE,SERIAL@}
28         /SAVE
29         /STATISTICS=@{ALL,MEAN,SEMEAN,STDDEV,VARIANCE,KURTOSIS,
30                      SKEWNESS,RANGE,MINIMUM,MAXIMUM,SUM,DEFAULT,
31                      SESKEWNESS,SEKURTOSIS@}
32         /SORT=@{NONE,MEAN,SEMEAN,STDDEV,VARIANCE,KURTOSIS,SKEWNESS,
33                RANGE,MINIMUM,MAXIMUM,SUM,SESKEWNESS,SEKURTOSIS,NAME@}
34               @{A,D@}
35 @end display
36
37 The @cmd{DESCRIPTIVES} procedure reads the active file and outputs
38 descriptive
39 statistics requested by the user.  In addition, it can optionally
40 compute Z-scores.
41
42 The VARIABLES subcommand, which is required, specifies the list of
43 variables to be analyzed.  Keyword VARIABLES is optional.
44
45 All other subcommands are optional:
46
47 The MISSING subcommand determines the handling of missing variables.  If
48 INCLUDE is set, then user-missing values are included in the
49 calculations.  If NOINCLUDE is set, which is the default, user-missing
50 values are excluded.  If VARIABLE is set, then missing values are
51 excluded on a variable by variable basis; if LISTWISE is set, then
52 the entire case is excluded whenever any value in that case has a
53 system-missing or, if INCLUDE is set, user-missing value.
54
55 The FORMAT subcommand affects the output format.  Currently the
56 LABELS/NOLABELS and NOINDEX/INDEX settings are not used.  When SERIAL is
57 set, both valid and missing number of cases are listed in the output;
58 when NOSERIAL is set, only valid cases are listed.
59
60 The SAVE subcommand causes @cmd{DESCRIPTIVES} to calculate Z scores for all
61 the specified variables.  The Z scores are saved to new variables.
62 Variable names are generated by trying first the original variable name
63 with Z prepended and truncated to a maximum of 8 characters, then the
64 names ZSC000 through ZSC999, STDZ00 through STDZ09, ZZZZ00 through
65 ZZZZ09, ZQZQ00 through ZQZQ09, in that sequence.  In addition, Z score
66 variable names can be specified explicitly on VARIABLES in the variable
67 list by enclosing them in parentheses after each variable.
68
69 The STATISTICS subcommand specifies the statistics to be displayed:
70
71 @table @code
72 @item ALL
73 All of the statistics below.
74 @item MEAN
75 Arithmetic mean.
76 @item SEMEAN
77 Standard error of the mean.
78 @item STDDEV
79 Standard deviation.
80 @item VARIANCE
81 Variance.
82 @item KURTOSIS
83 Kurtosis and standard error of the kurtosis.
84 @item SKEWNESS
85 Skewness and standard error of the skewness.
86 @item RANGE
87 Range.
88 @item MINIMUM
89 Minimum value.
90 @item MAXIMUM
91 Maximum value.
92 @item SUM
93 Sum.
94 @item DEFAULT
95 Mean, standard deviation of the mean, minimum, maximum.
96 @item SEKURTOSIS
97 Standard error of the kurtosis.
98 @item SESKEWNESS
99 Standard error of the skewness.
100 @end table
101
102 The SORT subcommand specifies how the statistics should be sorted.  Most
103 of the possible values should be self-explanatory.  NAME causes the
104 statistics to be sorted by name.  By default, the statistics are listed
105 in the order that they are specified on the VARIABLES subcommand.  The A
106 and D settings request an ascending or descending sort order,
107 respectively.
108
109 @node FREQUENCIES, EXAMINE, DESCRIPTIVES, Statistics
110 @section FREQUENCIES
111
112 @vindex FREQUENCIES
113 @display
114 FREQUENCIES
115         /VARIABLES=var_list
116         /FORMAT=@{TABLE,NOTABLE,LIMIT(limit)@}
117                 @{STANDARD,CONDENSE,ONEPAGE[(onepage_limit)]@}
118                 @{LABELS,NOLABELS@}
119                 @{AVALUE,DVALUE,AFREQ,DFREQ@}
120                 @{SINGLE,DOUBLE@}
121                 @{OLDPAGE,NEWPAGE@}
122         /MISSING=@{EXCLUDE,INCLUDE@}
123         /STATISTICS=@{DEFAULT,MEAN,SEMEAN,MEDIAN,MODE,STDDEV,VARIANCE,
124                      KURTOSIS,SKEWNESS,RANGE,MINIMUM,MAXIMUM,SUM,
125                      SESKEWNESS,SEKURTOSIS,ALL,NONE@}
126         /NTILES=ntiles
127         /PERCENTILES=percent@dots{}
128
129 (These options are not currently implemented.)
130         /BARCHART=@dots{}
131         /HISTOGRAM=@dots{}
132         /HBAR=@dots{}
133         /GROUPED=@dots{}
134
135 (Integer mode.)
136         /VARIABLES=var_list (low,high)@dots{}
137 @end display
138
139 The @cmd{FREQUENCIES} procedure outputs frequency tables for specified
140 variables.
141 @cmd{FREQUENCIES} can also calculate and display descriptive statistics
142 (including median and mode) and percentiles.
143
144 In the future, @cmd{FREQUENCIES} will also support graphical output in the
145 form of bar charts and histograms.  In addition, it will be able to
146 support percentiles for grouped data.
147
148 The VARIABLES subcommand is the only required subcommand.  Specify the
149 variables to be analyzed.  In most cases, this is all that is required.
150 This is known as @dfn{general mode}.
151
152 Occasionally, one may want to invoke a special mode called @dfn{integer
153 mode}.  Normally, in general mode, PSPP will automatically determine
154 what values occur in the data.  In integer mode, the user specifies the
155 range of values that the data assumes.  To invoke this mode, specify a
156 range of data values in parentheses, separated by a comma.  Data values
157 inside the range are truncated to the nearest integer, then assigned to
158 that value.  If values occur outside this range, they are discarded.
159
160 The FORMAT subcommand controls the output format.  It has several
161 possible settings:  
162
163 @itemize @bullet
164 @item
165 TABLE, the default, causes a frequency table to be output for every
166 variable specified.  NOTABLE prevents them from being output.  LIMIT
167 with a numeric argument causes them to be output except when there are
168 more than the specified number of values in the table.
169
170 @item
171 STANDARD frequency tables contain more complete information, but also to
172 take up more space on the printed page.  CONDENSE frequency tables are
173 less informative but take up less space.  ONEPAGE with a numeric
174 argument will output standard frequency tables if there are the
175 specified number of values or less, condensed tables otherwise.  ONEPAGE
176 without an argument defaults to a threshold of 50 values.
177
178 @item
179 LABELS causes value labels to be displayed in STANDARD frequency
180 tables.  NOLABLES prevents this.
181
182 @item
183 Normally frequency tables are sorted in ascending order by value.  This
184 is AVALUE.  DVALUE tables are sorted in descending order by value.
185 AFREQ and DFREQ tables are sorted in ascending and descending order,
186 respectively, by frequency count.
187
188 @item
189 SINGLE spaced frequency tables are closely spaced.  DOUBLE spaced
190 frequency tables have wider spacing.
191
192 @item
193 OLDPAGE and NEWPAGE are not currently used.
194 @end itemize
195
196 The MISSING subcommand controls the handling of user-missing values.
197 When EXCLUDE, the default, is set, user-missing values are not included
198 in frequency tables or statistics.  When INCLUDE is set, user-missing
199 are included.  System-missing values are never included in statistics,
200 but are listed in frequency tables.
201
202 The available STATISTICS are the same as available in @cmd{DESCRIPTIVES}
203 (@pxref{DESCRIPTIVES}), with the addition of MEDIAN, the data's median
204 value, and MODE, the mode.  (If there are multiple modes, the smallest
205 value is reported.)  By default, the mean, standard deviation of the
206 mean, minimum, and maximum are reported for each variable.
207
208 PERCENTILES causes the specified percentiles to be reported.
209 The percentiles should  be presented at a list of numbers between 0
210 and 100 inclusive.  
211 The NTILES subcommand causes the percentiles to be reported at the
212 boundaries of the data set divided into the specified number of ranges.
213 For instance, @code{/NTILES=4} would cause quartiles to be reported.
214
215
216 @node EXAMINE, CROSSTABS, FREQUENCIES, Statistics
217 @comment  node-name,  next,  previous,  up
218 @section EXAMINE
219 @vindex EXAMINE
220
221 @cindex Normality, testing for
222
223 @display
224 EXAMINE
225         VARIABLES=var_list [[BY var_list] [BY var_list]]
226         /STATISTICS=@{DESCRIPTIVES, EXTREME[(n)], ALL, NONE@}
227         /PLOT=@{STEMLEAF, BOXPLOT, NPPLOT, SPREADLEVEL(n), HISTOGRAM, 
228                ALL, NONE@}
229         /CINTERVAL n
230         /COMPARE=@{GROUPS,VARIABLES@}
231         /ID=@{case_number, var_name@}
232         /@{TOTAL,NOTOTAL@}
233         /MISSING=@{LISTWISE, PAIRWISE@} [@{EXCLUDE, INCLUDE@}] 
234                 [@{NOREPORT,REPORT@}]
235 @end display
236
237 The @cmd{EXAMINE} command is used to test how closely a distribution is to a 
238 normal distribution.  It also shows you outliers and extreme values.
239
240
241 @node CROSSTABS, T-TEST, EXAMINE, Statistics
242 @section CROSSTABS
243
244 @vindex CROSSTABS
245 @display
246 CROSSTABS
247         /TABLES=var_list BY var_list [BY var_list]@dots{}
248         /MISSING=@{TABLE,INCLUDE,REPORT@}
249         /WRITE=@{NONE,CELLS,ALL@}
250         /FORMAT=@{TABLES,NOTABLES@}
251                 @{LABELS,NOLABELS,NOVALLABS@}
252                 @{PIVOT,NOPIVOT@}
253                 @{AVALUE,DVALUE@}
254                 @{NOINDEX,INDEX@}
255                 @{BOX,NOBOX@}
256         /CELLS=@{COUNT,ROW,COLUMN,TOTAL,EXPECTED,RESIDUAL,SRESIDUAL,
257                 ASRESIDUAL,ALL,NONE@}
258         /STATISTICS=@{CHISQ,PHI,CC,LAMBDA,UC,BTAU,CTAU,RISK,GAMMA,D,
259                      KAPPA,ETA,CORR,ALL,NONE@}
260         
261 (Integer mode.)
262         /VARIABLES=var_list (low,high)@dots{}
263 @end display
264
265 The @cmd{CROSSTABS} procedure displays crosstabulation
266 tables requested by the user.  It can calculate several statistics for
267 each cell in the crosstabulation tables.  In addition, a number of
268 statistics can be calculated for each table itself.
269
270 The TABLES subcommand is used to specify the tables to be reported.  Any
271 number of dimensions is permitted, and any number of variables per
272 dimension is allowed.  The TABLES subcommand may be repeated as many
273 times as needed.  This is the only required subcommand in @dfn{general
274 mode}.  
275
276 Occasionally, one may want to invoke a special mode called @dfn{integer
277 mode}.  Normally, in general mode, PSPP automatically determines
278 what values occur in the data.  In integer mode, the user specifies the
279 range of values that the data assumes.  To invoke this mode, specify the
280 VARIABLES subcommand, giving a range of data values in parentheses for
281 each variable to be used on the TABLES subcommand.  Data values inside
282 the range are truncated to the nearest integer, then assigned to that
283 value.  If values occur outside this range, they are discarded.  When it
284 is present, the VARIABLES subcommand must precede the TABLES
285 subcommand.
286
287 In general mode, numeric and string variables may be specified on
288 TABLES.  Although long string variables are allowed, only their
289 initial short-string parts are used.  In integer mode, only numeric
290 variables are allowed.
291
292 The MISSING subcommand determines the handling of user-missing values.
293 When set to TABLE, the default, missing values are dropped on a table by
294 table basis.  When set to INCLUDE, user-missing values are included in
295 tables and statistics.  When set to REPORT, which is allowed only in
296 integer mode, user-missing values are included in tables but marked with
297 an @samp{M} (for ``missing'') and excluded from statistical
298 calculations.
299
300 Currently the WRITE subcommand is ignored.
301
302 The FORMAT subcommand controls the characteristics of the
303 crosstabulation tables to be displayed.  It has a number of possible
304 settings:
305
306 @itemize @bullet
307 @item
308 TABLES, the default, causes crosstabulation tables to be output.
309 NOTABLES suppresses them.
310
311 @item
312 LABELS, the default, allows variable labels and value labels to appear
313 in the output.  NOLABELS suppresses them.  NOVALLABS displays variable
314 labels but suppresses value labels.
315
316 @item
317 PIVOT, the default, causes each TABLES subcommand to be displayed in a
318 pivot table format.  NOPIVOT causes the old-style crosstabulation format
319 to be used.
320
321 @item
322 AVALUE, the default, causes values to be sorted in ascending order.
323 DVALUE asserts a descending sort order.
324
325 @item
326 INDEX/NOINDEX is currently ignored.
327
328 @item
329 BOX/NOBOX is currently ignored.
330 @end itemize
331
332 The CELLS subcommand controls the contents of each cell in the displayed
333 crosstabulation table.  The possible settings are:
334
335 @table @asis
336 @item COUNT
337 Frequency count.
338 @item ROW
339 Row percent.
340 @item COLUMN
341 Column percent.
342 @item TOTAL
343 Table percent.
344 @item EXPECTED
345 Expected value.
346 @item RESIDUAL 
347 Residual.
348 @item SRESIDUAL
349 Standardized residual.
350 @item ASRESIDUAL
351 Adjusted standardized residual.
352 @item ALL
353 All of the above.
354 @item NONE
355 Suppress cells entirely.
356 @end table
357
358 @samp{/CELLS} without any settings specified requests COUNT, ROW,
359 COLUMN, and TOTAL.  If CELLS is not specified at all then only COUNT
360 will be selected.
361
362 The STATISTICS subcommand selects statistics for computation:
363
364 @table @asis
365 @item CHISQ
366 Pearson chi-square, likelihood ratio, Fisher's exact test, continuity
367 correction, linear-by-linear association.
368 @item PHI
369 Phi.
370 @item CC
371 Contingency coefficient.
372 @item LAMBDA
373 Lambda.
374 @item UC
375 Uncertainty coefficient.
376 @item BTAU
377 Tau-b.
378 @item CTAU
379 Tau-c.
380 @item RISK
381 Risk estimate.
382 @item GAMMA
383 Gamma.
384 @item D
385 Somers' D.
386 @item KAPPA
387 Cohen's Kappa.
388 @item ETA
389 Eta.
390 @item CORR
391 Spearman correlation, Pearson's r.
392 @item ALL
393 All of the above.
394 @item NONE
395 No statistics.
396 @end table
397
398 Selected statistics are only calculated when appropriate for the
399 statistic.  Certain statistics require tables of a particular size, and
400 some statistics are calculated only in integer mode.
401
402 @samp{/STATISTICS} without any settings selects CHISQ.  If the
403 STATISTICS subcommand is not given, no statistics are calculated.
404
405 @strong{Please note:} Currently the implementation of CROSSTABS has the
406 followings bugs:
407
408 @itemize @bullet
409 @item
410 Pearson's R (but not Spearman) is off a little.
411 @item
412 T values for Spearman's R and Pearson's R are wrong.
413 @item
414 Significance of symmetric and directional measures is not calculated.
415 @item
416 Asymmetric ASEs and T values for lambda are wrong.
417 @item
418 ASE of Goodman and Kruskal's tau is not calculated.
419 @item
420 ASE of symmetric somers' d is wrong.
421 @item
422 Approximate T of uncertainty coefficient is wrong.
423 @end itemize
424
425 Fixes for any of these deficiencies would be welcomed.
426
427 @node T-TEST, ONEWAY, CROSSTABS, Statistics
428 @comment  node-name,  next,  previous,  up
429 @section T-TEST
430
431 @vindex T-TEST
432 @display
433 T-TEST
434         /MISSING=@{ANALYSIS,LISTWISE@} @{EXCLUDE,INCLUDE@}
435         /CRITERIA=CIN(confidence)
436
437
438 (One Sample mode.)
439         TESTVAL=test_value
440         /VARIABLES=var_list
441
442
443 (Independent Samples mode.)
444         GROUPS=var(value1 [, value2])
445         /VARIABLES=var_list
446
447
448 (Paired Samples mode.)
449         PAIRS=var_list [WITH var_list [(PAIRED)] ]
450
451 @end display
452
453
454 The @cmd{T-TEST} procedure outputs tables used in testing hypotheses about 
455 means.  
456 It operates in one of three modes:
457 @itemize
458 @item One Sample mode.
459 @item Independent Groups mode.
460 @item Paired mode.
461 @end itemize
462
463 @noindent
464 Each of these modes are described in more detail below.
465 There are two optional subcommands which are common to all modes.
466
467 The @cmd{/CRITERIA} subcommand tells PSPP the confidence interval used
468 in the tests.  The default value is 0.95.
469
470
471 The @cmd{MISSING} subcommand determines the handling of missing
472 variables.  
473 If INCLUDE is set, then user-missing values are included in the
474 calculations, but system-missing values are not.
475 If EXCLUDE is set, which is the default, user-missing
476 values are excluded as well as system-missing values. 
477 This is the default.
478
479 If LISTWISE is set, then the entire case is excluded from analysis
480 whenever any variable  specified in the @cmd{/VARIABLES}, @cmd{/PAIRS} or 
481 @cmd{/GROUPS} subcommands contains a missing value.   
482 If ANALYSIS is set, then missing values are excluded only in the analysis for
483 which they would be needed. This is the default.
484
485
486 @menu
487 * One Sample Mode::             Testing against a hypothesised mean
488 * Independent Samples Mode::    Testing two independent groups for equal mean
489 * Paired Samples Mode::         Testing two interdependent groups for equal mean
490 @end menu
491
492 @node One Sample Mode, Independent Samples Mode, T-TEST, T-TEST
493 @subsection One Sample Mode
494
495 The @cmd{TESTVAL} subcommand invokes the One Sample mode.
496 This mode is used to test a population mean against a hypothesised
497 mean. 
498 The value given to the @cmd{TESTVAL} subcommand is the value against
499 which you wish to test.
500 In this mode, you must also use the @cmd{/VARIABLES} subcommand to
501 tell PSPP which variables you wish to test.
502
503 @node Independent Samples Mode, Paired Samples Mode, One Sample Mode, T-TEST
504 @comment  node-name,  next,  previous,  up
505 @subsection Independent Samples Mode
506
507 The @cmd{GROUPS} subcommand invokes Independent Samples mode or
508 `Groups' mode. 
509 This mode is used to test whether two groups of values have the
510 same population mean.
511 In this mode, you must also use the @cmd{/VARIABLES} subcommand to
512 tell PSPP the dependent variables you wish to test.
513
514 The variable given in the @cmd{GROUPS} subcommand is the independent
515 variable which determines to which group the samples belong.
516 The values in parentheses are the specific values of the independent
517 variable for each group.
518 If the parentheses are omitted and no values are given, the default values 
519 of 1.0 and 2.0 are assumed.
520
521 If the independent variable is numeric, 
522 it is acceptable to specify only one value inside the parentheses.
523 If you do this, cases where the independent variable is
524 less than  or equal to this value belong to the first group, and cases
525 greater than this value belong to the second group.
526 When using this form of the @cmd{GROUPS} subcommand, missing values in
527 the independent variable are excluded on a listwise basis, regardless
528 of whether @cmd{/MISSING=LISTWISE} was specified.
529
530
531 @node Paired Samples Mode,  , Independent Samples Mode, T-TEST
532 @comment  node-name,  next,  previous,  up
533 @subsection Paired Samples Mode
534
535 The @cmd{PAIRS} subcommand introduces Paired Samples mode.
536 Use this mode when repeated measures have been taken from the same
537 samples.
538 If the the @code{WITH} keyword is omitted, then tables for all
539 combinations of variables given in the @cmd{PAIRS} subcommand are
540 generated. 
541 If the @code{WITH} keyword is given, and the @code{(PAIRED)} keyword
542 is also given, then the number of variables preceding @code{WITH}
543 must be the same as the number following it.
544 In this case, tables for each respective pair of variables are
545 generated.
546 In the event that the @code{WITH} keyword is given, but the
547 @code{(PAIRED)} keyword is omitted, then tables for each combination
548 of variable preceding @code{WITH} against variable following
549 @code{WITH} are generated.
550
551
552 @node ONEWAY, , T-TEST, Statistics
553 @comment  node-name,  next,  previous,  up
554 @section Oneway
555
556 @vindex ONEWAY
557 @cindex analysis of variance
558 @cindex ANOVA
559
560 @display
561 ONEWAY
562         [/VARIABLES = ] var_list BY var
563         /MISSING=@{ANALYSIS,LISTWISE@} @{EXCLUDE,INCLUDE@}
564         /CONTRASTS= value1 [, value2] ... [,valueN]
565         /STATISTICS=@{DESCRIPTIVES,HOMOGENEITY@}
566
567 @end display
568
569 The @cmd{ONEWAY} procedure performs a one-way analysis of variance of
570 variables factored by a single independent variable.
571 It is used to compare the means of a population
572 divided into more than two groups. 
573
574 The  variables to be analysed should be given in the @code{VARIABLES}
575 subcommand.  
576 The list of variables must be followed by the @code{BY} keyword and
577 the name of the independent (or factor) variable.
578
579 You can use the @code{STATISTICS} subcommand to tell PSPP to display
580 ancilliary information.  The options accepted are:
581 @itemize
582 @item DESCRIPTIVES
583 Displays descriptive statistics about the groups factored by the independent
584 variable.
585 @item HOMOGENEITY
586 Displays the Levene test of Homogeneity of Variance for the
587 variables and their groups.
588 @end itemize
589
590 The @code{CONTRASTS} subcommand is used when you anticipate certain
591 differences between the groups.
592 The subcommand must be followed by a list of numerals which are the
593 coefficients of the groups to be tested.
594 The number of coefficients must correspond to the number of distinct
595 groups (or values of the independent variable).
596 If the total sum of the coefficients are not zero, then PSPP will
597 display a warning, but will proceed with the analysis.
598 The @code{CONTRASTS} subcommand may be given up to 10 times in order
599 to specify different contrast tests.
600 @setfilename ignored