A coeficiente de variação , frequentemente abreviado como CV é uma forma de medir o grau de dispersão dos valores num conjunto de dados em relação à média. É calculado da seguinte forma

CV = σ / μ

onde:

  • σ: O desvio padrão do conjunto de dados
  • μ: A média do conjunto de dados

Em termos simples, o coeficiente de variação é simplesmente o rácio entre o desvio padrão e a média.

Quando utilizar o coeficiente de variação

O coeficiente de variação é frequentemente utilizado para comparar a variação entre dois conjuntos de dados diferentes.

No mundo real, é frequentemente utilizado em finanças para comparar a rendibilidade média esperada de um investimento relativamente ao desvio padrão esperado do investimento, o que permite aos investidores comparar a relação risco-rendimento entre investimentos.

Por exemplo, suponhamos que um investidor está a considerar investir nos dois fundos de investimento seguintes:

Fundo Mútuo A: média = 9%, desvio padrão = 12,4%

Fundo Mútuo B: média = 5%, desvio padrão = 8,2%

Ao calcular o coeficiente de variação de cada fundo, o investidor constata:

CV do fundo de investimento A = 12,4% /9% = 1.38

CV do Fundo de Investimento B = 8,2% / 5% = 1.64

Uma vez que o Fundo Mútuo A tem um coeficiente de variação mais baixo, oferece uma melhor rendibilidade média em relação ao desvio padrão.

Como calcular o coeficiente de variação em Python

Para calcular o coeficiente de variação de um conjunto de dados em Python, pode utilizar a seguinte sintaxe:

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

Os exemplos seguintes mostram como utilizar esta sintaxe na prática.

Exemplo 1: Coeficiente de variação para uma única matriz

O código seguinte mostra como calcular o CV para uma única matriz:

 #criar vetor de dados dados = [88, 85, 82, 97, 67, 77, 74, 86, 81, 95, 77, 88, 85, 76, 81, 82] #definir função para calcular cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100 #calcular CV cv(dados) 9.234518 

O coeficiente de variação é de 9.23 .

Exemplo 2: Coeficiente de variação para vários vectores

O código seguinte mostra como calcular o CV para várias colunas num DataFrame do pandas:

 import numpy as np import pandas as pd #definir função para calcular cv cv = lambda x: np. std (x, ddof= 1 ) / np. mean (x) * 100 #criar 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]}) #calcular CV para cada coluna no quadro de dados df. apply (cv) a 11.012892 b 8.330843c 7.154009 dtype: float64 

Note-se que os valores em falta serão simplesmente ignorados aquando do cálculo do coeficiente de variação:

 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. nan , 99], 'c': [67, 68, 68, 74, 74, 76, 76, 77, 78, np. nan ]}) #calculate CV for each column in data frame df. apply (cv) a11.012892 b 8.497612 c 5.860924 dtype: float64