NAG Library Function Document
nag_condl_logistic (g11cac)
 
1
 Purpose
nag_condl_logistic (g11cac) returns parameter estimates for the conditional logistic analysis of stratified data, for example, data from case-control studies and survival analyses.
 
2
 Specification
| 
| #include <nag.h> |  
| #include <nagg11.h> |  
| void | nag_condl_logistic (Nag_OrderType order,
Integer n,
Integer m,
Integer ns,
const double z[],
Integer pdz,
const Integer isz[],
Integer p,
const Integer ic[],
const Integer isi[],
double *dev,
double b[],
double se[],
double sc[],
double cov[],
Integer nca[],
Integer nct[],
double tol,
Integer maxit,
Integer iprint,
const char *outfile,
NagError *fail) |  | 
 
3
 Description
In the analysis of binary data, the logistic model is commonly used.  This relates the probability of one of the outcomes, say 
, to 
 explanatory variates or covariates by
where 
 is a vector of unknown coefficients for the covariates 
 and 
 is a constant term.  If the observations come from different strata or groups, 
 would vary from strata to strata.  If the observed outcomes are independent then the 
s follow a Bernoulli distribution, i.e., a binomial distribution with sample size one and the model can be fitted as a generalized linear model with binomial errors.
In some situations the number of observations for which 
 may not be independent.  For example, in epidemiological research, case-control studies are widely used in which one or more observed cases are matched with one or more controls.  The matching is based on fixed characteristics such as age and sex, and is designed to eliminate the effect of such characteristics in order to more accurately determine the effect of other variables.  Each case-control group can be considered as a stratum.  In this type of study the binomial model is not appropriate, except if the strata are large, and a conditional logistic model is used.  This considers the probability of the cases having the observed vectors of covariates given the set of vectors of covariates in the strata.  In the situation of one case per stratum, the conditional likelihood for 
 strata can be written as
where 
 is the set of observations in the 
th stratum, with associated vectors of covariates 
, 
, and 
 is the vector of covariates of the case in the 
th stratum.  In the general case of 
 cases per strata then the full conditional likelihood is
where 
 is the sum of the vectors of covariates for the cases in the 
th stratum and 
, 
 refer to the sum of vectors of covariates for all distinct sets of 
 observations drawn from the 
th stratum.  The conditional likelihood can be maximized by a Newton–Raphson procedure.  The covariances of the parameter estimates can be estimated from the inverse of the matrix of second derivatives of the logarithm of the conditional likelihood, while the first derivatives provide the score function, 
, for 
, which can be used for testing the significance of arguments.
If the strata are not small, 
 can be large so to improve the speed of computation, the algorithm in  
Howard (1972) and described by 
Krailo and Pike (1984) is used.
A second situation in which the above conditional likelihood arises is in fitting Cox's proportional hazard model (see 
nag_surviv_cox_model (g12bac)) in which the strata refer to the risk sets for each failure time and where the failures are cases.  When ties are present in the data 
nag_surviv_cox_model (g12bac) uses an approximation.  For an exact estimate, the data can be expanded using 
nag_surviv_risk_sets (g12zac) to create the risk sets/strata and 
nag_condl_logistic (g11cac) used.
 
4
 References
Cox D R (1972)  Regression models in life tables (with discussion) J. Roy. Statist. Soc. Ser. B 34 187–220 
Cox D R and Hinkley D V (1974)  Theoretical Statistics Chapman and Hall 
Howard S (1972)  Remark on the paper by Cox, D R (1972): Regression methods  J. R. Statist. Soc. B 34 and life tables 187–220 
Krailo M D and Pike M C (1984)  Algorithm AS 196. Conditional multivariate logistic analysis of stratified case-control studies Appl. Statist. 33 95–103 
Smith P G, Pike M C, Hill P, Breslow N E and Day N E (1981)  Algorithm AS 162. Multivariate conditional logistic analysis of stratum-matched case-control studies Appl. Statist. 30 190–197 
 
5
 Arguments
- 1:
  
      – Nag_OrderTypeInput
- 
On entry: the  order argument specifies the two-dimensional storage scheme being used, i.e., row-major ordering or column-major ordering. C language defined storage is specified by  . See  Section 3.3.1.3 in How to Use the NAG Library and its Documentation for a more detailed explanation of the use of this argument. 
 Constraint:
   or .
 
- 2:
  
      – IntegerInput
- 
On entry: , the number of observations. Constraint:
  .
 
- 3:
  
      – IntegerInput
- 
On entry: the number of covariates in array  z. 
 Constraint:
  .
 
- 4:
  
      – IntegerInput
- 
On entry: the number of strata, . Constraint:
  .
 
- 5:
  
      – const doubleInput
- 
Note: the dimension,  dim, of the array 
      z
must be at least
 
-  when ;
-  when .
 
 The  th element of the matrix   is stored in  
-  when ;
-  when .
 
On entry: the th row must contain the covariates which are associated with the th observation. 
- 6:
  
      – IntegerInput
- 
On entry: the stride separating row or column elements (depending on the value of  order) in  the array  z. 
 Constraints:
      
- if , 
;
- if , .
 
 
- 7:
  
      – const IntegerInput
- 
On entry: indicates which subset of covariates are to be included in the model.
 If , the th covariate is included in the model. If , the th covariate is excluded from the model and not referenced. 
 Constraint:
   and at least one value must be nonzero.
 
- 8:
  
      – IntegerInput
- 
On entry:  , the number of covariates included in the model as indicated by  isz. 
 Constraint:
    and   number of nonzero values of  isz. 
 
- 9:
  
      – const IntegerInput
- 
On entry: indicates whether the  th observation is a case or a control.
 If , indicates that the th observation is a case. If , indicates that the th observation is a control. 
 Constraint:
   or , for .
 
- 10:
  
    – const IntegerInput
- 
On entry: stratum indicators which also allow data points to be excluded from the analysis.
 If , indicates that the th observation is from the th stratum, where . If , indicates that the th observation is to be omitted from the analysis. 
 Constraint:
    and more than  p values of  , for  .
 
 
- 11:
  
    – double *Output
- 
On exit: the deviance, that is, minus twice the maximized log-likelihood. 
- 12:
  
    – doubleInput/Output
- 
On entry: initial estimates of the covariate coefficient arguments  .   must contain the initial estimate of the coefficent of the covariate in  z corresponding to the  th nonzero value of  isz. 
 Suggested value:
  in many cases an initial value of zero for   may be used. For another suggestion see  Section 9. 
 On exit:   contains the estimate   of the coefficient of the covariate stored in the  th column of  z where   is the  th nonzero value in the array  isz. 
 
- 13:
  
    – doubleOutput
- 
On exit:  is the asymptotic standard error of the estimate contained in  and score function in , for . 
- 14:
  
    – doubleOutput
- 
On exit:  is the value of the score function  for the estimate contained in . 
- 15:
  
    – doubleOutput
- 
On exit: the variance-covariance matrix of the parameter estimates in  b stored in packed form by column, i.e., the covariance between the parameter estimates given in   and  ,  , is given in  . 
 
- 16:
  
    – IntegerOutput
- 
On exit:  contains the number of cases in the th stratum, for . 
- 17:
  
    – IntegerOutput
- 
On exit:  contains the number of controls in the th stratum, for . 
- 18:
  
    – doubleInput
- 
On entry: indicates the accuracy required for the estimation. Convergence is assumed when the decrease in deviance is less than . This corresponds approximately to an absolute accuracy if the deviance is small and a relative accuracy if the deviance is large. Constraint:
  .
 
- 19:
  
    – IntegerInput
- 
On entry: the maximum number of iterations required for computing the estimates. If  maxit is set to   then the standard errors, the score functions and the variance-covariance matrix are computed for the input value of   in  b but   is not updated. 
 Constraint:
  .
 
- 20:
  
    – IntegerInput
- 
On entry: indicates if the printing of information on the iterations is required. 
 
- No printing.
- The deviance and the current estimates are printed every iprint iterations.
 
 Suggested value:
  . 
 
- 21:
  
    – const char *Input
- 
On entry: the name of a file to which diagnostic output will be directed. If  outfile is  NULL the diagnostic output will be directed to standard output.
 
 
- 22:
  
    – NagError *Input/Output
- 
The NAG error argument (see  Section 3.7 in How to Use the NAG Library and its Documentation). 
 
6
 Error Indicators and Warnings
- NE_ALLOC_FAIL
- 
Dynamic memory allocation failed.
       
      See  Section 2.3.1.2  in How to Use the NAG Library and its Documentation for further information. 
- NE_BAD_PARAM
- 
On entry, argument   had an illegal value. 
- NE_CONVERGENCE
- 
Convergence not achieved in  iterations.
 
- NE_INT
- 
On entry, element  of .
 
On entry, .
 Constraint:  or , for all .
 On entry, .
 Constraint: .
 
On entry, .
 Constraint: .
 On entry, .
 Constraint: .
 
On entry, .
 Constraint: .
 
On entry, .
 Constraint: .
 
On entry, : .
 On entry, .
 Constraint: .
 
- NE_INT_2
- 
On entry,  and .
 Constraint: .
 On entry,  and .
 Constraint: .
 
- NE_INT_ARRAY_ELEM_CONS
- 
On entry, there are not  p values of  .
 
- NE_INTERNAL_ERROR
- 
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact  NAG for assistance. 
	See  Section 2.7.6  in How to Use the NAG Library and its Documentation for further information. 
- NE_NO_LICENCE
- 
Your licence key may have expired or may not have been installed correctly.
       
      See  Section 2.7.5 in How to Use the NAG Library and its Documentation for further information. 
- NE_NOT_CLOSE_FILE
- 
Cannot close file . 
- NE_NOT_WRITE_FILE
- 
Cannot open file  for writing. 
- NE_OBSERVATIONS
- 
On entry, too few observations included in model.
 
- NE_OVERFLOW
- 
Overflow in calculations.
 
- NE_REAL
- 
On entry, .
 Constraint: .
 
- NE_SINGULAR
- 
The matrix of second partial derivatives is singular; computation abandoned.
 
 
7
 Accuracy
The accuracy is specified by 
tol.
 
8
 Parallelism and Performance
nag_condl_logistic (g11cac) is threaded by NAG for parallel execution in multithreaded implementations of the NAG Library.
nag_condl_logistic (g11cac) makes calls to BLAS and/or LAPACK routines, which may be threaded within the vendor library used by this implementation. Consult the documentation for the vendor library for further information.
Please consult the 
x06 Chapter Introduction for information on how to control and interrogate the OpenMP environment used within this function. Please also consult the 
Users' Note for your implementation for any additional implementation-specific information.
The other models described in 
Section 3 can be fitted using the generalized linear modelling functions 
nag_glm_binomial (g02gbc) and 
nag_glm_poisson (g02gcc).
The case with one case per stratum can be analysed by having a dummy response variable 
 such that 
 for a case and 
 for a control, and fitting a Poisson generalized linear model with a log link and including a factor with a level for each strata.  These models can be fitted by using 
nag_glm_poisson (g02gcc).
nag_condl_logistic (g11cac) uses mean centering, which involves subtracting the means from the covariables prior to computation of any statistics.  This helps to minimize the effect of outlying observations and accelerates convergence.  In order to reduce the risk of the sums computed by Howard's algorithm becoming too large, the scaling factor described in 
Krailo and Pike (1984) is used.
 If the initial estimates are poor then there may be a problem with overflow in calculating  or there may be non-convergence.  Reasonable estimates can often be obtained by fitting an unconditional model.
 
10
 Example
The data was used for illustrative purposes by 
Smith et al. (1981) and consists of two strata and two covariates.  The data is input, the model is fitted and the results are printed.
 
10.1
 Program Text
Program Text (g11cace.c)
 
10.2
 Program Data
Program Data (g11cace.d)
 
10.3
 Program Results
Program Results (g11cace.r)