So, this is my attempt (I've also made a video about this on my YouTube channel, you can find it here). If you find a better way, or if you spot an error, let me know.
It will be divided into two parts - 1) getting from the likelihood to the partial likelihood, and 2) developing the individual terms in the partial likelihood.
Notations:
- $T_i$ - a random variable signifying the time of an event or a censor (technically $\min(X_i,C_i)$)
- $\delta_i$ - a binary random variable that signifies an event or a censor (technically $\chi_{\{X_i<C_i\}}$)
- $Z_i$ - a set of covariates that are associated with $T_i$
- $t_i$ - the value that the random variable $T_i$ got; we will assume that the variables are ordered by their time, i.e., that $t_1\le t_2 \le...\le t_n$
- $\delta(t_i)=1$ - someone from our dataset had an event at time $t_i$
- $R(t_i)$ - the risk set at $t_i$
- $D$ - the set of events
For brevity I will omit the individual deltas from the derivation, so $T_i=t_i$ is (when appropriate) the event $T_i=t_i, \delta_i=\epsilon_i$ (where $\epsilon_i$ denotes the binary value of the random variable).
Note that:
$$ \{\delta(t_i)=1\}=\{T_1=t_i \cup ... \cup T_n=t_i\} \\
R(t_i) = \{T_1<t_i,...,T_{i-1}<t_i, T_i\ge t_i,...,T_n\ge t_i\}
$$
(The 1st row omits the $\delta$'s, the 2nd doesn't have them)
Part 1: from the likelihood to the partial likelihood
Suppose we have 3 subjects, the 1st and 3rd experienced events, and the 2nd a censor.
The full likelihood, conditioned on the Z's and on the fact that the times are ordered (I omit this from the notation), will be:
$$ \mathcal L(\beta) = P(T_1=t_1, T_2=t_2, T_3=t_3)
$$
Note that this is equal to
$$ = P(T_1=t_1, \delta(t_1)=1, R(t_1), T_2=t_2, T_3=t_3, \delta(t_3)=1, R(t_3))
$$
Because the events added, are a superset of the events already present, and if $A\subset B \Rightarrow A\cap B = A$:
- $\{T_1=1, \delta_1=1\} \subseteq \{\delta(T_1)=1\}$
- Since we ordered the variables, $\{T_1=t_1\} = \{T_1=t_1, T_2\ge t_1, ... , T_n \ge t_1\} \subseteq \{R(t_1)\}$
Using the "chain rule" of probability, we will decompose the new likelihood as follows:
$$ \mathcal L(\beta) = P(T_1=t_1, \delta(t_1)=1, R(t_1), T_2=t_2, T_3=t_3, \delta(t_3)=1, R(t_3)) \\
=P(T_1=t_1, \delta(t_1)=1, R(t_1))P(T_2=t_2 | T_1=t_1, \delta(t_1)=1, R(t_1)) \\ \cdot P(T_3=t_3, \delta(t_3)=1, R(t_3)|T_1=t_1, \delta(t_1)=1, R(t_1), T_2=t_2)
$$
The assumption made by Cox, that $h_0$ is arbitrary, and can be 0 for all times except events make us unable to reason about $\beta$ from $T_2$ (a censor), so we will collapse this probability to $P_2$. We will decompose the 1st term as follows:
$$P(T_1=t_1, \delta(t_1)=1, R(t_1)) = P(T_1=t_1 | \delta(t_1)=1, R(t_1))P(\delta(t_1)=1, R(t_1))
$$
We will ignore the 2nd part and collapse it into $P_1$ (note, that technically we could compute it, but this will not be true for the subsequent terms). We will do the same for the 3rd term:
$$
P(T_3=t_3, \delta(t_3)=1, R(t_3)|T_1=t_1, \delta(t_1)=1, R(t_1), T_2=t_2) \\
=P(T_3=t_3|T_1=t_1, ..., \delta(t_3)=1, R(t_3))P(\delta(t_3)=1, R(t_3) | ...)
$$
Note that here the 2nd part is not computable, as it does depend on $h_0$ (we know the subjects survived until after $t_2$ and now require to compute the probability that they all survived until $t_3$ and that then someone had an event at $t_3$). So we will collapse this into $P_3$. Also note, that the for the 1st part, given $R(t_3)$ we don't care anymore about the past events or risk sets.
So, overall we get:
$$ \mathcal L (\beta) = P(T_1=t_1|R(t_1),\delta(t_1)=1)P(T_3=t_3|R(t_3),\delta(t_3)=1)P_1P_2P_3
$$
We will call the first terms who are not collapsed the partial likelihoods, and extrapolate to a general case:
$$\mathcal {PL}(\beta) = \prod_{i\in D} P(T_i=t_i|R(t_i),\delta(t_i)=1)
$$
Part 2: deriving the individual term
$$ P(T_i=t_i|R(t_i),\delta(t_i)=1) = \\ P(T_i=t_i|\{T_1=t_i \cup ... \cup T_n=t_i\} \cap \{T_1<t_i,...,T_{i-1}<t_i, T_i\ge t_i,...,T_n\ge t_i\})
$$
Notice that for all the $T$'s before $i$ we will get the empty set $T_1 = t_i \cap T_1 < t_1 = \emptyset$, so for brevity we will omit them.
$$ = \frac{P(T_i=t_i,\{T_i=t_i \cup ... \cup T_n=t_i\} | \{T_i\ge t_i,...,T_n\ge t_i\})}{P(\{T_i=t_i \cup ... \cup T_n=t_i\}|\{T_i\ge t_i,...,T_n\ge t_i\})}
$$
In the numerator the 1st event is a subset of the 2nd, so the 2nd cancels. Now, assuming independence, the event $T_i=t_i$ is only dependent on $T_i \ge t_i$. Also, the probability of a union is equal to the sum of probabilities. So we get:
$$= \frac{P(T_i=t_i | T_i\ge t_i)}{\sum_{j\in R(t_i)} P(T_j=t_i |T_j\ge t_i)}
$$
Assuming discrete times, each probability is equal to the hazard, according to the definition of the discrete hazard. So we get:
$$ = \frac{h_{T_i}(t_i)}{\sum_{j\in R(t_i)} h_{T_j}(t_i)} = \frac{h_0(t_i)e^{\beta^T Z_i}}{\sum_{j\in R(t_i)} h_0(t_i)e^{\beta^T Z_j}} =
\frac{e^{\beta^T Z_i}}{\sum_{j\in R(t_i)} e^{\beta^T Z_j}}
$$
Conclusion
Putting everything together we got that the partial likelihood is equal to:
$$\mathcal {PL}(\beta) = \prod_{i\in D} \frac{e^{\beta^T Z_i}}{\sum_{j\in R(t_i)} e^{\beta^T Z_j}}
$$