Python에서 변동 계수를 계산하는 방법


종종 CV 로 축약되는 변동 계수는 평균을 기준으로 데이터 세트의 값 확산을 측정하는 방법입니다. 다음과 같이 계산됩니다.

CV = σ / μ

금:

  • σ: 데이터세트의 표준편차
  • μ: 데이터 세트의 평균

간단히 말하면, 변동계수는 단순히 평균에 대한 표준편차의 비율입니다.

변동계수를 사용해야 하는 경우

변동 계수는 서로 다른 두 데이터 세트 간의 변동을 비교하는 데 종종 사용됩니다.

실제 세계에서는 투자의 평균 기대 수익률과 투자의 예상 표준 편차를 비교하기 위해 금융 분야에서 자주 사용됩니다. 이를 통해 투자자는 투자 간 위험-수익 균형을 비교할 수 있습니다.

예를 들어, 투자자가 다음 두 가지 뮤추얼 펀드에 투자하는 것을 고려하고 있다고 가정해 보겠습니다.

뮤추얼 펀드 A: 평균 = 9%, 표준편차 = 12.4%

UCITS B: 평균 = 5%, 표준편차 = 8.2%

각 펀드의 변동계수를 계산함으로써 투자자는 다음 사항에 주목합니다.

뮤추얼 펀드 A의 CV = 12.4% /9% = 1.38

뮤추얼 펀드 B의 CV = 8.2% / 5% = 1.64

뮤추얼 펀드 A는 변동 계수가 낮기 때문에 표준 편차에 비해 더 나은 평균 수익률을 제공합니다.

Python에서 변동 계수를 계산하는 방법

Python에서 데이터 세트의 변동 계수를 계산하려면 다음 구문을 사용할 수 있습니다.

 import numpy as np

cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100

다음 예에서는 이 구문을 실제로 사용하는 방법을 보여줍니다.

예 1: 단일 네트워크의 변동 계수

다음 코드는 단일 테이블의 CV를 계산하는 방법을 보여줍니다.

 #create vector of data
data = [88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81, 82]

#define function to calculate cv
cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100 

#calculate CV
cv(data)

9.234518

변동계수는 9.23 으로 나타났습니다.

예 2: 여러 벡터의 변동 계수

다음 코드는 Pandas DataFrame에 있는 여러 열의 CV를 계산하는 방법을 보여줍니다.

 import numpy as np
import pandas as pd

#define function to calculate cv
cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100

#create pandas DataFrame
df = pd. DataFrame ({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95],
                   'b': [77, 88, 85, 76, 81, 82, 88, 91, 92, 99],
                   'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, 84]})

#calculate CV for each column in data frame
df. apply (cv)

a 11.012892
b8.330843
c7.154009
dtype:float64

변동 계수를 계산할 때 누락된 값은 무시됩니다.

 import numpy as np
import pandas as pd

#define function to calculate cv
cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100

#create pandas DataFrame
df = pd. DataFrame ({'a': [88, 85, 82, 97, 67, 77, 74, 86, 81, 95],
                   'b': [77, 88, 85, 76, 81, 82, 88, 91, np. no , 99],
                   'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, np. no ]})

#calculate CV for each column in data frame
df. apply (cv)

a 11.012892
b 8.497612
c5.860924
dtype:float64

추가 리소스

R의 변동 계수를 계산하는 방법
Excel에서 변동 계수를 계산하는 방법
Google 스프레드시트에서 변동 계수를 계산하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다