The logrank tests are formed from the following elements,
with values for each time where there is at least one event:
\(W_i\), the weights, given below.
\(e_i\), the number of events (per time).
\(\hat{e_i}\), the number of predicted events,
given by predict
.
\(COV_i\), the covariance matrix for time \(i\),
given by COV
.
It is calculated as:
$$Q_i = \sum{W_i (e_i  \hat{e}_i)}^T
\sum{W_i \hat{COV_i} W_i^{1}}
\sum{W_i (e_i  \hat{e}_i)}$$
If there are \(K\) groups, then \(K1\) are selected (arbitrary).
Likewise the corresponding variancecovariance matrix is reduced to the
appropriate \(K1 \times K1\) dimensions.
\(Q\) is distributed as chisquare with \(K1\) degrees of freedom.
For \(2\) covariate groups, we can use:
\(e_i\) the number of events (per time).
\(n_i\) the number at risk overall.
\(e1_i\) the number of events in group \(1\).
\(n1_i\) the number at risk in group \(1\).
Then:
$$Q = \frac{\sum{W_i [e1_i  n1_i (\frac{e_i}{n_i})]} }{
\sqrt{\sum{W_i^2 \frac{n1_i}{n_i}
(1  \frac{n1_i}{n_i})
(\frac{n_i  e_i}{n_i  1}) e_i }}}$$
Below, for the FlemingHarrington weights,
\(\hat{S}(t)\) is the KaplanMeier (productlimit) estimator.
Note that both \(p\) and \(q\) need to be \(\geq 0\).
The weights are given as follows:
\(1\) 
logrank 

\(n_i\) 
GehanBreslow generalized Wilcoxon 

\(\sqrt{n_i}\) 
TaroneWare 

\(S1_i\) 
PetoPeto's modified survival estimate 
\(\bar{S}(t)=\prod{1  \frac{e_i}{n_i + 1}}\) 
\(S2_i\) 
modified PetoPeto (by Andersen) 
\(\tilde{S}(t)=\bar{S}  \frac{n_i}{n_i + 1}\) 
The supremum (Renyi) family of tests are designed
to detect differences in survival curves which cross.
That is, an early difference in survival in favor of one group
is balanced by a later reversal.
The same weights as above are used.
They are calculated by finding
$$Z(t_i) = \sum_{t_k \leq t_i} W(t_k)[e1_k  n1_k\frac{e_k}{n_k}], \quad i=1,2,...,k$$
(which is similar to the numerator used to find \(Q\)
in the logrank test for 2 groups above).
and it's variance:
$$\sigma^2(\tau) = \sum_{t_k \leq \tau} W(t_k)^2 \frac{n1_k n2_k (n_ke_k) e_k}{n_k^2 (n_k1)} $$
where \(\tau\) is the largest \(t\)
where both groups have at least one subject at risk.
Then calculate:
$$ Q = \frac{ \sup{Z(t)}}{\sigma(\tau)}, \quad t<\tau $$
When the null hypothesis is true,
the distribution of \(Q\) is approximately
$$Q \sim \sup{B(x), \quad 0 \leq x \leq 1}$$
And for a standard Brownian motion (Wiener) process:
$$Pr[\supB(t)>x] = 1  \frac{4}{\pi}
\sum_{k=0}^{\infty}
\frac{( 1)^k}{2k + 1} \exp{\frac{\pi^2(2k + 1)^2}{8x^2}}$$
Tests for trend are designed to detect ordered differences in survival curves.
That is, for at least one group:
$$S_1(t) \geq S_2(t) \geq ... \geq S_K(t) \quad t \leq \tau$$
where \(\tau\) is the largest \(t\) where all groups have at least one subject at risk.
The null hypothesis is that
$$S_1(t) = S_2(t) = ... = S_K(t) \quad t \leq \tau$$
Scores used to construct the test are typically \(s = 1,2,...,K\),
but may be given as a vector representing a numeric characteristic of the group.
They are calculated by finding:
$$ Z_j(t_i) = \sum_{t_i \leq \tau} W(t_i)[e_{ji}  n_{ji} \frac{e_i}{n_i}],
\quad j=1,2,...,K$$
The test statistic is:
$$Z = \frac{ \sum_{j=1}^K s_jZ_j(\tau)}{\sqrt{\sum_{j=1}^K \sum_{g=1}^K s_js_g \sigma_{jg}}} $$
where \(\sigma\) is the the appropriate element in the
variancecovariance matrix (see COV
).
If ordering is present, the statistic \(Z\) will be greater than the
upper \(\alpha\)th
percentile of a standard normal distribution.