docs: def g_parameter(time_residual):
      """stolen from thomas"""
      mean = np.mean(time_residual)
      time_residual_prime = (time_residual - np.ones(time_residual.shape) * mean)
      time_residual_prime *= time_residual_prime / (-2 * 1.5 * 1.5)
      time_residual_prime = np.exp(time_residual_prime)
      g = np.sum(time_residual_prime) / len(time_residual)
      return g