Entendendo a Mediana

A mediana é uma medida de tendência central que divide um conjunto de dados ordenados em duas partes iguais. Em outras palavras, é o valor que está exatamente no meio de um conjunto de dados quando organizados em ordem crescente ou decrescente.

O que é a Mediana?

A mediana é o valor que separa a metade superior da metade inferior de uma amostra de dados. Diferentemente da média, ela não é afetada por valores extremamente altos ou baixos, tornando-se particularmente útil em distribuições assimétricas ou na presença de outliers.

Como Calcular a Mediana

Método Passo a Passo

  1. Ordene os dados em ordem crescente
  2. Conte o número de observações (n)
  3. Se n for ímpar:
    • A mediana é o valor na posição (n + 1)/2
  4. Se n for par:
    • A mediana é a média dos valores nas posições n/2 e (n/2) + 1

Exemplos Numéricos

Número Ímpar de Observações

Dados: 23, 45, 12, 34, 29 (idades de um grupo)

  1. Ordenado: 12, 23, 29, 34, 45
  2. n = 5 (ímpar)
  3. Posição da mediana = (5 + 1)/2 = 3ª posição
  4. Mediana = 29 anos

Número Par de Observações

Dados: 7.5, 6.0, 8.5, 5.5 (notas de alunos)

  1. Ordenado: 5.5, 6.0, 7.5, 8.5
  2. n = 4 (par)
  3. Posições centrais: 2ª (6.0) e 3ª (7.5)
  4. Mediana = (6.0 + 7.5) / 2 = 6.75

Calculando a Mediana em Julia

Julia oferece maneiras eficientes de calcular a mediana através do pacote Statistics. Vamos ver alguns exemplos práticos:

Instalação do Pacote (se necessário)

julia
using Pkg
Pkg.add("Statistics")

Exemplo Básico

julia
using Statistics

# Dados de exemplo
idades = [23, 45, 12, 34, 29]
notas = [7.5, 6.0, 8.5, 5.5]

# Calculando a mediana
mediana_idades = median(idades)  # 29.0
mediana_notas = median(notas)    # 6.75

println("Mediana das idades: ", mediana_idades)
println("Mediana das notas: ", mediana_notas)

Trabalhando com Dados Faltantes (Missing Values)

julia
using Statistics

# Dados com valores faltantes
dados = [12.5, 15.8, missing, 14.2, 13.7, missing, 16.1]

# Calculando a mediana ignorando valores faltantes
mediana = median(skipmissing(dados))  # 14.95

println("Mediana (ignorando faltantes): ", mediana)

Mediana por Grupo em um DataFrame

julia
using DataFrames, Statistics

# Criando um DataFrame de exemplo
df = DataFrame(
    departamento = ["Vendas", "TI", "RH", "Vendas", "TI", "RH", "Vendas"],
    salario = [4500, 6500, 3800, 5200, 7000, 4000, 4800]
)

# Calculando a mediana salarial por departamento
medianas_por_depto = combine(
    groupby(df, :departamento),
    :salario => median => :mediana_salarial
)

println(medianas_por_depto)

Vantagens da Mediana

  1. Robustez a Valores Extremos
    • Não é afetada por valores atípicos (outliers)
    • Exemplo: No conjunto [1, 2, 3, 4, 100], a média é 22, mas a mediana é 3
  2. Melhor Representação em Dados Assimétricos
    • Em distribuições com assimetria, a mediana representa melhor o valor típico
    • Exemplo: Renda familiar, preços de imóveis
  3. Aplicável a Dados Ordinais
    • Pode ser usada com dados ordinais (não requer escala intervalar como a média)
    • Exemplo: Classificações de satisfação (ruim, regular, bom, excelente)
  4. Estabilidade
    • Menos sensível a flutuações amostrais do que a média
    • Mais representativa em amostras pequenas com valores extremos

Aplicações Práticas

1. Análise Salarial

A mediana salarial é frequentemente usada em relatórios de RH para evitar distorções causadas por salários extremamente altos de executivos.

2. Mercado Imobiliário

O preço mediano de casas é mais representativo do que a média em mercados com grande variação de preços.

3. Análise de Desempenho

Em métricas de desempenho (tempo de resposta, carregamento), a mediana ajuda a entender o comportamento típico, ignorando picos atípicos.

4. Dados Ambientais

Na análise de poluição ou qualidade do ar, onde valores extremos são comuns, a mediana fornece uma visão mais estável das condições típicas.

Mediana vs Média: Quando Usar Cada Uma

Característica Média Mediana
Influência de valores extremos Alta Nula
Melhor para dados simétricos
Melhor para dados assimétricos
Requer escala intervalar Sim Não
Sensível a outliers Sim Não
Cálculo Soma/quantidade Ordenação
Uso típico Dados simétricos, sem outliers Dados assimétricos, com outliers

Implementação Manual em Julia

Para entender melhor como a mediana funciona, vejamos uma implementação manual:

julia
function calcular_mediana(vetor)
    # Faz uma cópia para não modificar o vetor original
    dados = copy(vetor)
    sort!(dados)  # Ordena os dados
    n = length(dados)
    
    if isodd(n)
        # Se ímpar, retorna o elemento do meio
        return dados[(n + 1) ÷ 2]
    else
        # Se par, retorna a média dos dois elementos do meio
        meio = n ÷ 2
        return (dados[meio] + dados[meio + 1]) / 2
    end
end

# Testando a função
println("Mediana manual (ímpar): ", calcular_mediana([1, 3, 3, 6, 7, 8, 9]))  # 6
println("Mediana manual (par): ", calcular_mediana([1, 2, 3, 4, 5, 6, 8, 9]))  # 4.5

Conclusão

A mediana é uma medida robusta e essencial na análise estatística, especialmente quando lidamos com dados assimétricos ou na presença de valores atípicos. Seu cálculo simples e interpretação direta a tornam uma ferramenta valiosa para qualquer profissional que trabalhe com análise de dados.

Em Julia, o cálculo da mediana é facilitado pela função median() do pacote Statistics, que lida eficientemente com diferentes tipos de dados e estruturas, incluindo DataFrames e vetores com valores faltantes.

Lembre-se: enquanto a média nos fala sobre o “centro de gravidade” dos dados, a mediana nos mostra o “ponto médio” que divide os dados ao meio, sendo menos sensível a valores extremos.

“A estatística é a ciência de aprender com os dados, e a mediana é uma de suas lições mais valiosas sobre como encontrar o centro em meio à variação.”

Escrito em 17/05/2025