O Coeficiente de Variação (CV), que pode ser denominado Coeficiente de Variação de Pearson, é uma medida que expressa a variabilidade dos dados em relação à sua média. O coeficiente de variação corresponde ao valor do desvio-padrão normalizado pela média.



É usado para avaliar a extensão da variabilidade em relação à média da população e determinar se a média aritmética exprime uma boa representatividade como medida de posição do conjunto de dados, e é particularmente útil para comparar a dispersão de diferentes conjuntos de dados, especialmente quando esses conjuntos possuem médias ou unidades de medida diferentes.

Table of Contents

Fórmulas:

$$Amostras: \large CV = \left (\frac{s}{\bar{x}} \right)$$
$$Populações: \large CV = \left( \frac{\sigma}{\mu} \right)$$

Sendo:

  • $CV:$ coeficiente de variação
  • $s:$ desvio padrão amostral
  • $\bar{x}:$ média aritmética amostral
  • $\sigma:$ desvio padrão populacional
  • $\mu:$ média aritmética populacional

Python :

# Amostras
 Cv = (((sum(list(map(lambda x: (x - m)**2, values))) / (len(values) - 1))**0.5) / (sum(values) / len(values))) * 100

# Populações
Cv = (((sum(list(map(lambda x: (x - m)**2, values))) / (len(values)))**0.5) / (sum(values) / len(values))) * 100

Julia :

# Amostras
Cv = (sqrt(sum((valor .- m).^2) / length(valor)) / (sum(valor) / (length(valor)-1))) * 100

# Populações
Cv = (sqrt(sum((valor .- m).^2) / length(valor)) / (sum(valor) / (length(valor)))) * 100

O CV é expresso em porcentagem e não possui unidade de medida, o que facilita a comparação entre diferentes conjuntos de dados. Um CV mais alto indica maior variabilidade em relação à média, enquanto um CV mais baixo indica menor variabilidade.


Interpretação do coeficiente de variação
CV < 15% baixa dispersão, e a média aritmética exprime uma boa representatividade, para a distribuição em questão, como medida de posição.
15% ≤ CV < 30% Há uma média dispersão, e a média aritmética exprime uma regular representatividade, para a distribuição em questão, como medida de posição.
CV ≥ 30% Há uma elevada dispersão, e a média aritmética exprime uma ruim representatividade, para a distribuição em questão, como medida de posição.

Libs:

Somente para operações em dataframes ou lista com dados. Não funciona se for a partir já do resultado do desvio padrão e média.

Linguagem Biblioteca Função
Python Scipy.stats st.variation(values, ddof= 0 ou 1) * 100

* ddof = 0 (default): desvio padrão populacional
* ddof = 1: desvio padrão amostral
Julia Statistics amostras:

std(values, corrected=false) / mean(values)

populações:

std(values, corrected=true) / mean(values)
StatsBase amostras:

variation(values)

populaçõesNão tem opção

Exemplo 1

O proprietário de uma empresa fez um levantamento junto ao setor de recursos humanos e percebeu que o salário médio dos funcionários do sexo masculino é de R$ 2.637,50, com desvio padrão de R$ 950,80. O mesmo levantamento para os funcionários do sexo feminino revelou que a média salarial é de R$ 2.668,18, com desvio padrão de R$ 930,00.
O proprietário solicitou ao diretor do departamento de recursos humanos que determinasse os valores dos coeficientes de variação, separados por sexo, de seus funcionários.
Quais valores o diretor do departamento de recursos humanos forneceu ao proprietário da empresa? Além disso, que conclusão o proprietário da empresa pode retirar dos valores dos coeficientes de variação obtidos?

Python

'Funcionários do sexo masculino'

s = 950.80
m = 2637.50

Cv = (s / m) * 100

# Cv = 36.05%
'Funcionários do sexo feminino'

s = 930.0
m = 2668.18

Cv = (s / m) * 100

# Cv = 34.86%

Com base nos cálculos realizados, o proprietário da empresa pôde concluir que o salário dos funcionários do sexo masculino apresenta maior dispersão que o dos funcionários do sexo feminino.



Exemplo 2

Determine o coeficiente de variação dos dados = 7 – 8 – 9 – 10 – 11 – 12.

Python

''' Utilizando somente o Python '''

lista = [7, 8, 9, 10, 11, 12]

# Calculando a média
m = sum(lista) / len(lista)

# Calculando o desvio padrão
s = (sum(list(map(lambda x: (x - m)**2, lista))) / len(lista))**0.5

# Calculando o coeficiente de variação
Cv = (s / m) * 100

# Cv = 17.98%

''' Utilizando a função variation da biblioteca Scipy.stats '''
import scipy.stats as sc

lista = [7, 8, 9, 10, 11, 12]

# Calculando o coeficiente de variação
Cv = sc.variation(lista) * 100

# Cv = 17.98%

O resultado, 17.98% (15% ≤ CV < 30%) indica que há uma dispersão média dos dados e a média aritmética fornece uma representatividade regular como medida de dispersão.


Exemplo 3

Determine o coeficiente de variação dos dados abaixo.

$$2,\ 3,\ 2.5,\ 3.4,\ 4.8,\ 4.1,\ 8,\ 4,\ 4.2,\ 3,\ 2.7,\ 4.1$$

Julia

valor = [2, 3, 2.5, 3.4, 4.8, 4.1, 8,  4, 4.2, 3, 2.7, 4.1]

m = sum(valor) / length(valor)

Cv = (sqrt(sum((valor .- m).^2) / length(valor)) / (sum(valor) / length(valor)))*100


# Cv = 39.006658685747915

O resultado, 39.01% (CV ≥ 30%) indica que há uma alta dispersão dos dados e a média aritmética não fornece uma boa representatividade dos dados da distribuição como medida de posição.


Vantagens

  • Comparabilidade: O CV é adimensional, o que permite comparar a variabilidade de diferentes conjuntos de dados, mesmo que estejam em escalas diferentes.
  • Simplicidade: É fácil de calcular e interpretar.
  • Contexto relativo : Ele fornece uma ideia da variabilidade em relação à magnitude dos dados, o que é mais informativo do que apenas olhar o desvio padrão isoladamente.

Desvantagens

  • Sensibilidade a Valores Extremos: Pode ser influenciado por valores extremos (outliers) nos dados.
  • Sensível à média próxima de zero : Se a média (μ) for muito próxima de zero, o CV pode se tornar muito inflado ou indefinido, tornando a interpretação enganosa.
  • Interpretação Relativa: Deve ser interpretado com cuidado, pois um CV alto ou baixo só faz sentido em comparação com outros CV’s ou em contexto específico.
  • Dados negativos: Não é adequado para dados com valores negativos, pois a média pode ser distorcida.
  • Não considera a distribuição dos dados : O CV só mede a dispersão em relação à média, mas não informa sobre a forma da distribuição (por exemplo, se os dados são simétricos ou assimétricos).