Read the equation
Each hazard is the conditional probability of an event in that period given survival up to that period. Multiplying successive complements yields the probability of remaining event-free through the selected period. Hazards in [0,1] give a nonincreasing survival curve in [0,1]; the application uses this for remaining open rather than a biological survival outcome.
Terms & definitions
| Term | Meaning in this source |
|---|---|
| S_t | Probability of remaining open through period t |
| hazard_i | Conditional event probability in period i |
How it works
Read the definition from its right-hand expression to the quantity on the left. Its surrounding source records the intended input, state, or parameter context. Where the source leaves an operation unspecified, this page preserves that gap.
Assumptions & limits
Source recovery establishes that the expression appears in this record. Its mathematical validity, implementation behavior, and interpretation must be assessed separately. See the linked source and research notes for the checks available for this version.
Original context
Read the surrounding source passage
if atRisk[m] > 0 {
hazard[m] = events[m] / atRisk[m]
}
}
return hazard
}
// Survival returns the cumulative survival curve from a per period hazard vector: S[t] = product over i in 0..t
// of (1 - hazard[i]). S has the same length as hazards; S[t] is the probability of still being open (not yet
// filled) at the end of period t+1. A hazard clamped outside [0,1] is treated as its nearest bound so the
// survival stays a valid probability.
func Survival(hazards []float64) []float64 {
s := make([]float64, len(hazards))
running := 1.0
for t, h := range hazards {
if h < 0 {
h = 0
}Exact original notation
Survival returns the cumulative survival curve from a per period hazard vector: S[t] = product over i in 0..t of (1 - hazard[i]). S has the same length as hazards; S[t] is the probability of still being open (not yet