Split out of #149, which bundled this with two unrelated frailty items.
Status: maybe / not scheduled. Kept as a record of a considered design, not a plan. The reasoning against it below has not changed since it was first written.
What exists
Parametric proportional odds only — PO(Logistic), WeibullPO, LogNormalPO and the rest, via ProportionalOddsFitter. The baseline is a fitted distribution:
S(x|Z) / F(x|Z) = [S₀(x) / F₀(x)] · exp(β'Z)
with S₀ parametric. There is no surpyval.ProportionalOdds name; the semi-parametric form does not exist in any shape.
What is missing
The same model with a non-parametric baseline odds — an unspecified step function O₀(x) estimated jointly with β, the proportional-odds analogue of what CoxPH is for proportional hazards.
Why it is harder than Cox
Cox gets a partial likelihood: the baseline factors out entirely, and β is estimated without ever touching Λ₀. Proportional odds has no such factorisation. It needs a joint NPMLE of (β, Λ₀) — a profile likelihood over β with an inner loop solving a monotone (isotonic) problem for the baseline at each step. That is a different and substantially heavier piece of machinery than anything currently in the regression module, and it brings its own convergence and identifiability questions.
Why it is low priority
The parametric PO family already covers the practical cases. The usual reason to want a non-parametric baseline is that the baseline shape is the thing you cannot commit to — and where that matters, CoxPH is generally the model people reach for anyway.
If it were built
ProportionalOdds alongside CoxPH and AdditiveHazards, returning a SemiParametricRegressionModel.
- Profile likelihood in
β, isotonic inner solve for Λ₀.
- Validation against a parametric PO fit on data generated from that parametric model — the semi-parametric fit should recover the same
β with a baseline tracking the parametric one.
Split out of #149, which bundled this with two unrelated frailty items.
What exists
Parametric proportional odds only —
PO(Logistic),WeibullPO,LogNormalPOand the rest, viaProportionalOddsFitter. The baseline is a fitted distribution:with
S₀parametric. There is nosurpyval.ProportionalOddsname; the semi-parametric form does not exist in any shape.What is missing
The same model with a non-parametric baseline odds — an unspecified step function
O₀(x)estimated jointly withβ, the proportional-odds analogue of whatCoxPHis for proportional hazards.Why it is harder than Cox
Cox gets a partial likelihood: the baseline factors out entirely, and
βis estimated without ever touchingΛ₀. Proportional odds has no such factorisation. It needs a joint NPMLE of(β, Λ₀)— a profile likelihood overβwith an inner loop solving a monotone (isotonic) problem for the baseline at each step. That is a different and substantially heavier piece of machinery than anything currently in the regression module, and it brings its own convergence and identifiability questions.Why it is low priority
The parametric PO family already covers the practical cases. The usual reason to want a non-parametric baseline is that the baseline shape is the thing you cannot commit to — and where that matters,
CoxPHis generally the model people reach for anyway.If it were built
ProportionalOddsalongsideCoxPHandAdditiveHazards, returning aSemiParametricRegressionModel.β, isotonic inner solve forΛ₀.βwith a baseline tracking the parametric one.