A média geométrica é uma medida que avalia a tendência central de um conjunto de números positivos ao calcular a raiz
Média geométrica simples
A média geométrica simples é usada quando todos os valores do conjunto têm o mesmo peso.
Fórmula:
Sendo:
Média geométrica Elementos da população ou amostra ou Número de elementos da amostra.
Python :
# Descobrindo a raiz enésima
raiz_enesima = 1 / len(values)
# Calculando a média
G = eval('*'.join(map(str, values)))**raiz_enesima
Julia :
G = (prod(values))^(1 / length(values))
Libs:
Exemplo 1
Determine a média geométrica dos valores 1, 3, 9, 27, 81 e 162.
Python
''' Sem o uso de bibliotecas '''
lista = [1, 3, 9, 27, 81, 162]
raiz_enesima = 1/len(lista) # 0.16666666666666666
G = eval('*'.join(map(str, lista)))**raiz_enesima
print(G)
''' Utilizando a função geometric_mean da biblioteca Statistics '''
import statistics as st
lista = [1, 3, 9, 27, 81, 162]
G = st.geometric_mean(lista)
print(G)
Julia
" Sem o uso de bibliotecas "
valor = [1, 3, 9, 27, 81, 162]
G = (prod(valor))^(1 / length(valor))
Exemplo 2
Nos últimos três meses, determinado produto teve seu preço reajustado segundo os seguintes percentuais: 5%, 3% e 2,94%. Determine o percentual médio mensal de aumento do preço desse produto.
Python
''' Sem o uso de bibliotecas '''
# Como os valores são percentuais, deve-se utilizá-los somando-os ao valor atual, e no modo matemático. 5% = 1.05 / 3% = 1.03 / 2.94% = 1.0294
lista = [1.05, 1.03, 1.0294]
raiz_enesima = 1/len(lista) # 0.3333333333333333
G = eval('*'.join(map(str, lista)))**raiz_enesima
print(G)
Julia
" Sem o uso de bibliotecas "
valor = [1.05, 1.03, 1.0294]
G = (prod(valor))^(1 / length(valor))
Média geométrica ponderada
A média geométrica ponderada leva em conta pesos diferentes para cada valor do conjunto.
Fórmula:
Sendo:
Média geométrica ponderada Elementos da população ou amostra Frequência dos elementos da população ou amostra ou Número de elementos da amostra.
Python :
# Descobrindo a raiz enésima
raiz_enesima = 1 / sum(freq)
# multiplicando os valores por suas respectivas frequências
lista = list(map(lambda x, y: x**y, valores, freq))
# Calculando a média
Gp = (eval('*'.join(map(str, lista))))**raiz_enesima
Julia :
Gp = prod(values .^ freq)^(1/sum(freq))
Libs:
Exemplo
Determine a média geométrica da distribuição de frequências da tabela abaixo.
Python
''' Sem o uso de bibliotecas '''
dicio = {1:1, 2:1, 3:2, 4:3}
# criando uma lista com os valores
valores = list(dicio.keys())
# criando uma lista com as frequências
freq = list(dicio.values())
raiz_enesima = 1 / sum(dicio.values())
lista = list(map(lambda x, y: x**y, valores, freq))
Gp = eval('*'.join(map(str, lista)))**raiz_enesima
print(Gp)
Julia
" Sem o uso de bibliotecas "
dicio = Dict(1=>1, 2=>1, 3=>2, 4=>3)
# separando os valores e suas frequências em dois vetores independentes
valor = collect(keys(dicio))
freq = collect(values(dicio))
Gp = prod(valor .^ freq)^(1/sum(freq))
Deixe um comentário