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