TwoPieceNormalLSS#

class superglm.TwoPieceNormalLSS(scale_floor: float = 0.01, skew_bound: float = 0.9)#

Bases: LocationPredictor, ScalePredictor, SkewPredictor

Epsilon-skew two-piece normal on the real line, (location, scale, skew).

The same kernel as TwoPieceLogNormalLSS with the identity variate and no mean loading: E[Y] = location + 2 skew * scale * sqrt(2/pi) is a functional rather than a natural parameter, so this family has no mean form.

Declare family.location(...), family.scale(...) and family.skew(...). Results use those three names in that order. Location uses an identity link; the other parameters use links that respect their configured bounds.

Parameters:
scale_floorfloat, default=0.01

Nonnegative lower bound on scale, in response units. Its default link is log(scale - scale_floor).

skew_boundfloat, default=0.9

Positive bound, less than one, on the magnitude of epsilon. Positive skew makes the right piece wider.

Notes

Scale need not equal the response standard deviation, and skew is epsilon rather than the standardized third moment. predict returns the response mean, including the location adjustment given above.