Class WeibullSurvival

java.lang.Object
org.kigalisim.engine.support.WeibullSurvival

public final class WeibullSurvival extends Object
Weibull survival mathematics for the shape-2 (Rayleigh) retirement model.
  • Method Details

    • fromMean

      public static WeibullSurvival fromMean(BigDecimal meanYears)
      Create survival mathematics for a positive mean lifetime in years.
      Parameters:
      meanYears - the mean equipment lifetime in years, strictly positive
      Returns:
      the corresponding Weibull survival mathematics
      Throws:
      IllegalArgumentException - if meanYears is not positive
    • getTruncationAge

      public int getTruncationAge()
      The first age at which cumulative retirement reaches 99.9% (S(a) ≤ 0.001), i.e. ceil(λ·√(ln 1000)). The hazard at and beyond this age is 1.0 so the residual tail is swept up.
      Returns:
      the truncation age in years
    • getSurvival

      public BigDecimal getSurvival(int age)
      The survival probability S(a) = exp(−(a/λ)2) at age a, where S(0) = 1.
      Parameters:
      age - the equipment age in years
      Returns:
      the survival probability at that age
    • getHazard

      public BigDecimal getHazard(int age)
      The conditional probability h(a) that a unit surviving to age a−1 retires during its a-th year. At and beyond the truncation age this is 1.0 by the sweep rule. Below age 1 no year of service has elapsed, so the hazard is 0.
      Parameters:
      age - the equipment age in years, starting at 1
      Returns:
      the discrete annual hazard at that age
    • getSyntheticCohortOffsetYears

      public int getSyntheticCohortOffsetYears()
      The steady-state mean fleet age for shape 2, round(2μ/π) years, used to place the synthetic prior-equipment cohort of the assuming new modifier. Floored at 1 year: a mean lifetime under about 0.79 years rounds to zero, and the engine steps annually so the youngest cohort it can express is a year old.
      Returns:
      the synthetic cohort offset in years, at least 1