fbuf: New data structure for buffered file I/O.
[pspp] / doc / statistics.texi
index 3877a8d43d93db8ddd35a49aa287121ac907bd86..c46189bd0709394fe2552ee9783915126c9442a3 100644 (file)
@@ -1,3 +1,12 @@
+@c PSPP - a program for statistical analysis.
+@c Copyright (C) 2017 Free Software Foundation, Inc.
+@c Permission is granted to copy, distribute and/or modify this document
+@c under the terms of the GNU Free Documentation License, Version 1.3
+@c or any later version published by the Free Software Foundation;
+@c with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+@c A copy of the license is included in the section entitled "GNU
+@c Free Documentation License".
+@c
 @node Statistics
 @chapter Statistics
 
@@ -12,6 +21,7 @@ far.
 * CORRELATIONS::                Correlation tables.
 * CROSSTABS::                   Crosstabulation tables.
 * FACTOR::                      Factor analysis and Principal Components analysis.
+* GLM::                         Univariate Linear Models.
 * LOGISTIC REGRESSION::         Bivariate Logistic Regression.
 * MEANS::                       Average values and other statistics.
 * NPAR TESTS::                  Nonparametric tests.
@@ -596,6 +606,8 @@ CROSSTABS
                 @{BOX,NOBOX@}
         /CELLS=@{COUNT,ROW,COLUMN,TOTAL,EXPECTED,RESIDUAL,SRESIDUAL,
                 ASRESIDUAL,ALL,NONE@}
+        /COUNT=@{ASIS,CASE,CELL@}
+               @{ROUND,TRUNCATE@}
         /STATISTICS=@{CHISQ,PHI,CC,LAMBDA,UC,BTAU,CTAU,RISK,GAMMA,D,
                      KAPPA,ETA,CORR,ALL,NONE@}
         /BARCHART
@@ -695,6 +707,15 @@ Suppress cells entirely.
 If @subcmd{CELLS} is not specified at all then only @subcmd{COUNT}
 will be selected.
 
+By default, crosstabulation and statistics use raw case weights,
+without rounding.  Use the @subcmd{/COUNT} subcommand to perform
+rounding: CASE rounds the weights of individual weights as cases are
+read, CELL rounds the weights of cells within each crosstabulation
+table after it has been constructed, and ASIS explicitly specifies the
+default non-rounding behavior.  When rounding is requested, ROUND, the
+default, rounds to the nearest integer and TRUNCATE rounds toward
+zero.
+
 The @subcmd{STATISTICS} subcommand selects statistics for computation:
 
 @table @asis
@@ -773,7 +794,10 @@ Fixes for any of these deficiencies would be welcomed.
 @cindex data reduction
 
 @display
-FACTOR  VARIABLES=@var{var_list}
+FACTOR  @{
+         VARIABLES=@var{var_list},
+         MATRIX IN (@{CORR,COV@}=@{*,@var{file_spec}@})
+        @}
 
         [ /METHOD = @{CORRELATION, COVARIANCE@} ]
 
@@ -783,7 +807,7 @@ FACTOR  VARIABLES=@var{var_list}
 
         [ /ROTATION=@{VARIMAX, EQUAMAX, QUARTIMAX, PROMAX[(@var{k})], NOROTATE@}]
 
-        [ /PRINT=[INITIAL] [EXTRACTION] [ROTATION] [UNIVARIATE] [CORRELATION] [COVARIANCE] [DET] [KMO] [SIG] [ALL] [DEFAULT] ]
+        [ /PRINT=[INITIAL] [EXTRACTION] [ROTATION] [UNIVARIATE] [CORRELATION] [COVARIANCE] [DET] [KMO] [AIC] [SIG] [ALL] [DEFAULT] ]
 
         [ /PLOT=[EIGEN] ]
 
@@ -797,10 +821,21 @@ FACTOR  VARIABLES=@var{var_list}
 The @cmd{FACTOR} command performs Factor Analysis or Principal Axis Factoring on a dataset.  It may be used to find
 common factors in the data or for data reduction purposes.
 
-The @subcmd{VARIABLES} subcommand is required.  It lists the variables
-which are to partake in the analysis.  (The @subcmd{ANALYSIS}
+The @subcmd{VARIABLES} subcommand is required (unless the @subcmd{MATRIX IN}
+subcommand is used).
+It lists the variables which are to partake in the analysis.  (The @subcmd{ANALYSIS}
 subcommand may optionally further limit the variables that
-participate; it is not useful and implemented only for compatibility.)
+participate; it is useful primarily in conjunction with @subcmd{MATRIX IN}.)
+
+If @subcmd{MATRIX IN} instead of @subcmd{VARIABLES} is specified, then the analysis
+is performed on a pre-prepared correlation or covariance matrix file instead of on
+individual data cases.  Typically the matrix file will have been generated by
+@cmd{MATRIX DATA} (@pxref{MATRIX DATA}) or provided by a third party.
+If specified, @subcmd{MATRIX IN} must be followed by @samp{COV} or @samp{CORR},
+then by @samp{=} and @var{file_spec} all in parentheses.
+@var{file_spec} may either be an asterisk, which indicates the currently loaded
+dataset, or it may be a filename to be loaded. @xref{MATRIX DATA}, for the expected
+format of the file.
 
 The @subcmd{/EXTRACTION} subcommand is used to specify the way in which factors (components) are extracted from the data.
 If @subcmd{PC} is specified, then Principal Components Analysis is used.  
@@ -836,6 +871,8 @@ The @subcmd{/PRINT} subcommand may be used to select which features of the analy
       The covariance matrix is printed.
 @item @subcmd{DET}
       The determinant of the correlation or covariance matrix is printed.
+@item @subcmd{AIC}
+      The anti-image covariance and anti-image correlation matrices are printed.
 @item @subcmd{KMO}
       The Kaiser-Meyer-Olkin measure of sampling adequacy and the Bartlett test of sphericity is printed.
 @item @subcmd{SIG}
@@ -888,6 +925,65 @@ If @subcmd{PAIRWISE} is set, then a case is considered missing only if either of
 values  for the particular coefficient are missing.
 The default is @subcmd{LISTWISE}.
 
+@node GLM
+@section GLM
+
+@vindex GLM
+@cindex univariate analysis of variance
+@cindex fixed effects
+@cindex factorial anova
+@cindex analysis of variance
+@cindex ANOVA
+
+
+@display
+GLM @var{dependent_vars} BY @var{fixed_factors}
+     [/METHOD = SSTYPE(@var{type})]
+     [/DESIGN = @var{interaction_0} [@var{interaction_1} [... @var{interaction_n}]]]
+     [/INTERCEPT = @{INCLUDE|EXCLUDE@}]
+     [/MISSING = @{INCLUDE|EXCLUDE@}]
+@end display
+
+The @cmd{GLM} procedure can be used for fixed effects factorial Anova.
+
+The @var{dependent_vars} are the variables to be analysed.
+You may analyse several variables in the same command in which case they should all
+appear before the @code{BY} keyword.
+
+The @var{fixed_factors} list must be one or more categorical variables.  Normally it
+will not make sense to enter a scalar variable in the @var{fixed_factors} and doing
+so may cause @pspp{} to do a lot of unnecessary processing.
+
+The @subcmd{METHOD} subcommand is used to change the method for producing the sums of
+squares.  Available values of @var{type} are 1, 2 and 3.  The default is type 3.
+
+You may specify a custom design using the @subcmd{DESIGN} subcommand.
+The design comprises a list of interactions where each interaction is a 
+list of variables separated by a @samp{*}.  For example the command
+@display
+GLM subject BY sex age_group race
+    /DESIGN = age_group sex group age_group*sex age_group*race
+@end display
+@noindent specifies the model @math{subject = age_group + sex + race + age_group*sex + age_group*race}.
+If no @subcmd{DESIGN} subcommand is specified, then the default is all possible combinations
+of the fixed factors.  That is to say
+@display
+GLM subject BY sex age_group race
+@end display
+implies the model
+@math{subject = age_group + sex + race + age_group*sex + age_group*race + sex*race + age_group*sex*race}.
+
+
+The @subcmd{MISSING} subcommand determines the handling of missing
+variables.  
+If @subcmd{INCLUDE} is set then, for the purposes of GLM analysis,
+only system-missing values are considered
+to be missing; user-missing values are not regarded as missing.
+If @subcmd{EXCLUDE} is set, which is the default, then user-missing
+values are considered to be missing as well as system-missing values. 
+A case for which any dependent variable or any factor
+variable has a missing value is excluded from the analysis.
+
 @node LOGISTIC REGRESSION
 @section LOGISTIC REGRESSION
 
@@ -1717,7 +1813,7 @@ The default is 0.05.
 QUICK CLUSTER @var{var_list}
       [/CRITERIA=CLUSTERS(@var{k}) [MXITER(@var{max_iter})] CONVERGE(@var{epsilon}) [NOINITIAL]]
       [/MISSING=@{EXCLUDE,INCLUDE@} @{LISTWISE, PAIRWISE@}]
-      [/PRINT=@{INITIAL@} @{CLUSTERS@}]
+      [/PRINT=@{INITIAL@} @{CLUSTER@}]
 @end display
 
 The @cmd{QUICK CLUSTER} command performs k-means clustering on the
@@ -1767,7 +1863,7 @@ The default is @subcmd{LISTWISE}.
 The @subcmd{PRINT} subcommand requests additional output to be printed.
 If @subcmd{INITIAL} is set, then the initial cluster memberships will
 be printed.
-If @subcmd{CLUSTERS} is set, the cluster memberships of the individual
+If @subcmd{CLUSTER} is set, the cluster memberships of the individual
 cases will be displayed (potentially generating lengthy output).
 
 
@@ -1948,3 +2044,5 @@ exclude them.
 Cases are excluded on a listwise basis; if any of the variables in @var{var_list} 
 or if the variable @var{state_var} is missing, then the entire case will be 
 excluded.
+
+@c  LocalWords:  subcmd subcommand