CombiStats - 8.1 Computational details
Start Menu
Getting started
Login
8.1 Computational details

This chapter describes in detail the computational procedures that CombiStats uses to perform the calculations. Let `p` denote the number of preparations (=number of tables), `q` the number of doses per preparation and `r` the number of replicates per preparation. CombiStats collects the data from the tables in a design matrix `X` and an observation vector `y'`. The number of rows of `X` and `y'` is equal to `pqr`. The number of columns of `X` is equal to `p + 1 + r + pq`. If an observation is missing (i.e. cell is empty) or if it is excluded (i.e. barred), the corresponding row of `X` is filled with 0's as well as the corresponding row of `y'`. For each observation, the first `p` columns contain only 0's except the column that relates to the corresponding sample, which is set to 1 if `lambda = 0`, or to `text(dose)^lambda` if `lambda > 0`. Column `p + 1` contains `ln(text(dose))` if `lambda = 0`, or 1 if `lambda > 0`. The next `r` columns contains only 0's except the column that relates to a specific block effect (of the replications), which is set to 1. The last `pq` columns contain only 0's except the column that relates to a specific block effect (row or column in Latin squares). It should be noted that all observations are considered to belong to the same block (the first), in case of a completely randomised design, and that a similar statement holds true for randomised block designs. Hence, the last `r + pq` columns are only fully used in case of a (Latin) square design. The vector `y'` is filled with the observations after applying the selected transformation (i.e. `y' = f(y,z)` where `f` denotes the transformation, `y` the value before the slash and `z` the optional part after the slash). A vector of linear predictors `eta` with the same size as `y'` is initalized with only 0's.

The iterations starts here. A vector `mu` of non-linear predictors is calculated as `mu = d + a*h(eta)`, a vector `zeta` is calculated as `a*h'(eta)` where `h` denotes the inverse link function, `h'` its first derivative and `d` and `a` the non-linear parameters for addition and multiplication respectively. A vector `Y` of linearized responses is calculated as `Y = (y' - mu)zeta^(-1)`. A diagonal matrix `W^star` of weights is constructed on the basis of the specified weight function `w`. A diagonal matrix `W` is calculated with `w zeta^2` on the diagonal. Negative weights are set to 0 in both matrices.

When `X`, `W`, and `Y` are constructed, CombiStats continues with the following steps: Calculation of the cross-products `X^t W X` where `X^t` denotes the transposed matrix `X`. Calculation of the covariance matrix `(X^t W X)^-` where `-` denotes the generalized inverse matrix that contains 0's in rows which are linearly dependent of the preceding set of rows, and similarly for the columns. Calculation of the vector of parameter estimates `b=(X^tWX)^(-)(X^tWY)`. Calculation of a new vector of linear predictors `eta=Xb`. If `a` and/or `d` are not fixed, new values are calculated by performing a suitable regression using weight `W^star`. The iterations are repeated until

`max_i (|eta_i - eta_i^star|)/(|eta_i| + 10^-6) < 10^-8`,
where `eta_i^star` denotes `eta_i` of the preceding cycle.

For each test sample `T` the potency `m` relative to the standard `S` is calculated as `b_T b_S^-1` if `lambda>0` and as `(b_T - b_S)b_(p+1)^-1` if `lambda=0`, where `b_S` and `b_T` denote the parameter estimates that relate to the Standard and the Test preparation respectively, and `b_(p+1)` denotes the parameter estimate that relates to the common parameter. In the case of EDxx determinations, `m` is calculated as `(h^(-1)(text(xx))-b_(p+1))b_T^-1` if `lambda>0` and as `(h^(-1)(text(xx))-b_T)b_(p+1)^-1` if `lambda=0`. The relative confidence limits `m_L` and `m_U` are calculated using Fieller's theorem:

`m_L,m_U = [m-(gv_12)/(v_22) +- (ts)/b sqrt(v_11 - 2mv_12 + m^2v_22 - g(v_11-(v_12^2)/(v_22)) ) ]//(1-g)`,
where `b` is the denominator used in the calculation of `m`, `s` is the square root of the selected variance, `t` is Student's two-sided value (`p = 0.95`) for the number of degrees of freedom of the selected variance (infinite if theoretical), `v_11`, `v_22` and `v_12` are the variance multipliers of the numerator in the calculation of `m`, the denominator and their covariance multiplier, and `g=t^2 s^2 v_22b^-2`. The estimated potency is now found as `root(lambda)m` if `lambda>0` and as `e^m` if `lambda=0`. Similar so for the confidence limits.

For the analysis of variance the design matrix `X`, the final diagonal matrix `W` and the linearized responses `Y` are now treated as a classical weighted general linear model on which the linear hypotheses are tested. No additional iterations are carried out. The non-linear parameters `a` and `d` are, a-posteriori, considered to be known and fixed and do no longer play a role in the analysis. The analysis of variance is constructed as follows: For each of the hypotheses to be tested an appropriate design matrix `X` and a hypothesis matrix `L` is constructed. The number of columns of `L` is equal to the number of parameters fitted, and the number of rows of `L` is equal to the number of degrees of freedom of the hypothesis. The sum of squares is then calculated as `SS=(Lb)^t(L(X^tWX)^(-) L^t)^(-) (Lb)` where `b=(X^tWX)^(-) (X^tWY)` and `W` is the final diagonal matrix as calculated above. (Note that the transformation is supposed to be fixed, so that `W` and `Y` are taken as they appeared in the final cycle. No new cycles are performed).

Six types of matrices are contructed. Each matrix also takes account of the block constraints:

  • `X_text(model)`: Assuming linear and parallel (if `lambda=0`) or intersecting (if `lambda>0`) lines. This matrix has `p+1+r+pq` columns and is used to test for regression and deviations from model assumptions. It is identical to the matrix used above.
  • `X_text(lin)`: Assuming linear, but not necessarily parallel or intersecting lines. This matrix has `2p+r+pq` columns and is used to test for non-parallelism or intersection.
  • `X_text(quad)`: Assuming a common quadratic curvature. This matrix has `2p+1+r+pq` columns and is used to test for quadratic curvature.
  • `X_text(prep)`: Assuming a dose independent response per sample. This matrix has `p+r+pq` columns and is used to test for differences between preparations.
  • `X_text(blank)`: Assuming intersecting linear lines, allowing for an extra parameter for the blanks. This matrix has `p+2+r+pq` columns and is used to test for blanks.
  • `X_text(full)`: Assuming a full factorial model. This matrix has `pq+1+r+pq` columns and is used to test for linearity, treatments, blocks, columns and the full factorial hypothesis.

The hypothesis matrices are in general contructed in such a way that the column of the first estimable parameter of interest is set to 1 and the other columns are set in such a way as to express a meaningful hypothesis. For example: To test for parallelism in an assay with 1 standard and 2 test samples, the hypothesis matrix would be constructed as

`L=[[0,0,0,1,-1,0,...],[0,0,0,1,0,-1,...]]`,
where the first 3 columns relate to the 3 intercepts (unimportant for the test), the next 3 columns relate to the 3 slopes (these are the parameters of interest) and the following columns relate to the block-effects (unimportant for the test, so they are all set to 0). The matrix expresses the simultaneous hypothesis that `b_S - b_T=0` and `b_S - b_U=0`. It should be noted that the test for linearity is constructed from the distance between 3 doses where the first 2 doses are taken to be fixed. For example, to test for linearity of one sample with 4 equally spaced doses the hypothesis matrix would be constructed as
`L=[[-1,2,-1,0,...],[-2,3,0,-1,...]]`,
where the first 4 columns relate to the treatments (the parameters of interest) and the remaining columns relate to the block-effects (unimportant for the test, so set to 0). The matrix expresses the simulaneous hypothesis that `-d_1 +2d_2 - d_3=0` and `-2d_1 + 3d_2 -d_4=0`.

CombiStats © 1999–2010, European Directorate for the Quality of Medicines & HealthCareCouncil of Europe