staircase.Stairs.cov#
- Stairs.cov(other, where=(<staircase.constants.NegInf object>, <staircase.constants.Inf object>), lag=0, clip='pre')#
Calculates either covariance, autocovariance or cross-covariance.
The calculation is between two step functions described by self and other. If lag is None or 0 then covariance is calculated, otherwise cross-covariance is calculated. Autocovariance is a special case of cross-covariance when other is equal to self.
- Parameters:
- other: :class:`Stairs`
the stairs instance with which to compute the covariance
- wheretuple or list of length two, optional
- Indicates the domain interval over which to perform the calculation.
Default is (-sc.inf, sc.inf) or equivalently (None, None).
- lagint, float, pandas.Timedelta
A pandas.Timedelta is only valid when domain is date-like.
- clip{‘pre’, ‘post’}, default ‘pre’
Only relevant when lag is non-zero. Determines if the domain is applied before or after other is translated. If ‘pre’ then the domain over which the calculation is performed is the overlap of the original domain and the translated domain.
- Returns:
- float
The covariance (or cross-covariance) between self and other
See also
Examples
>>> s1.cov(s2) 0.1404958677685951
>>> s2.cov(s1) 0.1404958677685951
>>> s1.cov(s2, where=(0, 6)) 0.125
>>> # autocovariance with lag 1 >>> s1.cov(s1, where=(1, 5), lag=1) -0.3333333333333333
>>> # cross-covariance with lag 1 >>> s1.cov(s2, where=(1, 4.5), lag=1) 0.15999999999999998
>>> # cross-covariance with lag 1 >>> s1.cov(s2, where=(1, 4.5), lag=1, clip='post') 0.163265306122449