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
λ₯Ό μ 곡νμ¬ μμ²ν΄μΌν©λλ€.
μ¦, var
λ―Έλ§μΌλ‘ μ¬μ©λλ cov
μ λμμ λ³κ²½νλ κ²μ μλ―Έν©λλ€.
첫 λ²μ§Έ λ¨κ³λ‘ bias
λ ddof
λ μ 곡λμ§ μμ κ²½μ° cov
ν₯ν κ²½κ³ λ₯Ό μΆκ°νλ κ²μ μ΄λ»μ΅λκΉ?
λμμ bias
μ§μ μ€λ¨μ μ μ ν μ μμ΅λκΉ? νΈν₯μ κ°λ
μ λΆμ°κ³Ό 곡λΆμ°μ μΆμ μλ‘ μκ°νλ κ²½μ°μλ§ μ μ©λ©λλ€. κ·Έλ¬λ λ€μ λ§νμ§λ§, κ°μ₯ μ’μ κΈ°λ³Έκ°μ λ¬λ¦¬ μΈκΈνμ§ μλ ν μ΄λ¬ν ν¨μλ₯Ό μ€λͺ
ν΅κ³λ‘ μκ°νλ κ²μ
λλ€.
λκ°μ λ§μ λ€λ₯Έ λ°©μμΌλ‘ λ§νλ©΄ λ΄κ° μνλ κ²μ΄ κ°λ¨ν μ€λͺ ν΅κ³λΌλ©΄ νΈν₯λ μΆμ μΉλ₯Ό μμ²νλ κ²μ΄ μ΄μν©λλ€.
... of
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 μ, "μ ν¨ν μ½λλ₯Ό κΉ¨μ§ λ§μμμ€"λ κ½€ μ’μ κ·μΉμ λλ€.
bias
λλ ddof
μμ΄ cov
λ₯Ό νΈμΆ ν λ€μ λμμ λ³κ²½νμ§ μμΌλ©΄ κ²½κ³ λ μ΄λ»μ΅λκΉ?
bias
λλddof
μμ΄cov
λ₯Ό νΈμΆ ν λ€μ λμμ λ³κ²½νμ§ μμΌλ©΄ κ²½κ³ λ μ΄λ»μ΅λκΉ?
κ·Έκ²μ ν©λ¦¬μ μΈ μΌμ²λΌ 보μ
λλ€. cov
λ μ΄μ μ¬μ©νμ§ μλ κ²λ³΄λ€ λ«μ΅λλ€. ddof=0/1
λ₯Ό μΆκ°ν΄μΌνλ κ²μ μ½κ° μ±κ°μ μΌμ΄μ§λ§ μ½λλ₯Ό λ μ΄ν΄νκΈ° μ½κ² λ§λ€μ΄μ μμ΄λμ΄κ° λ§μμ λλλ€.
κ°μ₯ μ μ©ν λκΈ
@rgommers μ, "μ ν¨ν μ½λλ₯Ό κΉ¨μ§ λ§μμμ€"λ κ½€ μ’μ κ·μΉμ λλ€.
bias
λλddof
μμ΄cov
λ₯Ό νΈμΆ ν λ€μ λμμ λ³κ²½νμ§ μμΌλ©΄ κ²½κ³ λ μ΄λ»μ΅λκΉ?