cov () рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 1 рдХреЗ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
var () рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 0 рдХреЗ рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдРрд╕рд╛ рд╣реИ рдХрд┐
import numpy as np
x = np.random.rand(100)
if np.isclose(np.cov([x,x])[0,0], np.var(x)):
print("Consistent by default.")
if np.isclose(np.cov([x,x],ddof=0)[0,0], np.var(x,ddof=0))
print("Consistent.")
рдХреЗрд╡рд▓ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдЧрд╛ред
рд╣рд╛рдБред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╣рдо рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдореБрджреНрджрд╛ рд╕рдВрднрд╡рддрдГ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдкрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдареАрдХ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИ, рджрд░реНрджрдирд╛рдХ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╣реЛрдЧрд╛ред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ ddof=0
, рдЬреЛ рдПрдХ рдЖрдВрдХрдбрд╝реЗ рдХреЛ рдЖрдВрдХрдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЕрдиреБрдорд╛рдирдХ рдХреЗ рд╕рд╛рде рд╡рд┐рдкрд░реАрдд рд╣реИред
рдпрджрд┐ рдХреЛрдИ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдирд┐рд╖реНрдкрдХреНрд╖ рдЕрдиреБрдорд╛рдирдХ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ ddof=1
рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреВрдЫрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ cov
рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрджрд▓рдирд╛, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ var
рд╕реЗ рдХрдо рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИред
рдкрд╣рд▓реЗ рдХрджрдо рдХреЗ рд░реВрдк рдореЗрдВ, cov
рднрд╡рд┐рд╖реНрдп рдХреА рдЪреЗрддрд╛рд╡рдиреА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рди рддреЛ bias
рдФрд░ рди рд╣реА ddof
рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
рдЙрд╕реА рд╕рдордп, рдХреНрдпрд╛ рдореИрдВ bias
рдкрджрд╛рд╡рдирдд рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ? рдкреВрд░реНрд╡рд╛рдЧреНрд░рд╣ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗрд╡рд▓ рддрднреА рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ рдЬрдм рд╣рдо рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЪрд░рдг рдФрд░ рд╕рд╣рд╕рдВрдпреЛрдЬрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╡рд░реНрдгрдирд╛рддреНрдордХ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╣рдореЗрдВ рдЕрдиреНрдпрдерд╛ рдирд╣реАрдВ рдмрддрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рд╣реА рдмрд╛рдд рдХреЛ рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╣рдирд╛, рдЕрдЧрд░ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рд╕рд░рд▓ рд╡рд░реНрдгрдирд╛рддреНрдордХ рдЖрдВрдХрдбрд╝рд╛ рд╣реИ, рддреЛ рдПрдХ рдкрдХреНрд╖рдкрд╛рддреА рдЕрдиреБрдорд╛рдирдХ рдХреЗ рд▓рд┐рдП рдкреВрдЫрдирд╛ рдЕрдЬреАрдм рд╣реИред
...
cov
, рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐var
рд╕реЗ рдХрдо рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИред
рдпрд╣ рд╕рдЪ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ ( рдпрд╣рд╛рдБ рд╕реЗ рд╕рд╛рд░рд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛):
def cov(
m: object,
y: object = ...,
rowvar: Union[float, bool, int] = ...,
bias: Union[float, int, bool] = ...,
aweights: numpy.ndarray = ...,
):
"""
usage.dask: 11
usage.matplotlib: 3
usage.pandas: 7
usage.scipy: 21
usage.sklearn: 24
"""
def var(
a: object,
axis: Union[int, None, Tuple[Union[int, None], ...]] = ...,
out: Union[dask.dataframe.core.Scalar, dask.dataframe.core.Series] = ...,
keepdims: bool = ...,
dtype: Union[Literal["i8", "f8"], Type[float], None] = ...,
ddof: int = ...,
):
"""
usage.dask: 59
usage.pandas: 13
usage.scipy: 19
usage.sklearn: 55
usage.xarray: 31
"""
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐
cov
рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрджрд▓рдирд╛
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЪрд┐рддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдирдпрд╛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреЛ рджрд░реНрджрдирд╛рдХ рд╣реЛрдЧрд╛), рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд░реНрддрдорд╛рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЬреЛ рдЪреБрдкрдЪрд╛рдк рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдорд╛рдиреНрдп рдХреЛрдб рдХреЛ рдЧрд▓рдд рдмрдирд╛ рджреЗрдЧрд╛ред рд╣рдо рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ; FutureWarning
рдпрд╣ рдЧрд╛рд░рдВрдЯреА рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд▓реЛрдЧ рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред
@rgommers рд╣рд╛рдБ, "рд╡реИрдз рдХреЛрдб рдХрднреА рди рддреЛрдбрд╝реЗрдВ" рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд┐рдпрдо рд╣реИред
рдпрджрд┐ рдЖрдк cov
рдмрд┐рдирд╛ bias
рдпрд╛ ddof
рдХреЙрд▓ рдХрд░реЗрдВ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдлрд┐рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХрднреА рди рдмрджрд▓реЗрдВ?
рдпрджрд┐ рдЖрдк
cov
рдмрд┐рдирд╛bias
рдпрд╛ddof
рдХреЙрд▓ рдХрд░реЗрдВ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдлрд┐рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХрднреА рди рдмрджрд▓реЗрдВ?
рдпрд╣ рдПрдХ рдЙрдЪрд┐рдд рдХрд╛рдо рдХрд░рдиреЗ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред cov
рдШрдЯрд╛рдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред ddof=0/1
рдЬреЛрдбрд╝рдирд╛ рдПрдХ рдорд╛рдореВрд▓реА рдЭреБрдВрдЭрд▓рд╛рд╣рдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдб рдХреЛ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
@rgommers рд╣рд╛рдБ, "рд╡реИрдз рдХреЛрдб рдХрднреА рди рддреЛрдбрд╝реЗрдВ" рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд┐рдпрдо рд╣реИред
рдпрджрд┐ рдЖрдк
cov
рдмрд┐рдирд╛bias
рдпрд╛ddof
рдХреЙрд▓ рдХрд░реЗрдВ, рддреЛ рдЪреЗрддрд╛рд╡рдиреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдлрд┐рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдХрднреА рди рдмрджрд▓реЗрдВ?