Como calcular o desvio mediano absoluto em python
O desvio absoluto mediano mede a distribuição das observações em um conjunto de dados.
Esta é uma medida particularmente útil porque é menos afetada por valores discrepantes do que outras medidas de dispersão, como desvio padrão e variância.
A fórmula para calcular o desvio mediano absoluto, muitas vezes abreviado como MAD, é:
MAD = mediana (|x i – x m |)
Ouro:
- x i : o i- ésimo valor do conjunto de dados
- x m : o valor mediano no conjunto de dados
Os exemplos a seguir mostram como calcular o desvio absoluto mediano em Python usando a função statsmodels mad .
Exemplo 1: Calcule o MAD para uma tabela
O código a seguir mostra como calcular o desvio absoluto mediano para um único array NumPy em Python:
import numpy as np from statsmodels import robust #define data data = np. array ([1, 4, 4, 7, 12, 13, 16, 19, 22, 24]) #calculate MAD robust. mad (data) 11.1195
O desvio absoluto mediano para o conjunto de dados é 11,1195 .
É importante notar que a fórmula utilizada para calcular o MAD calcula uma estimativa robusta do desvio padrão assumindo uma distribuição normal , escalonando o resultado por um fator de aproximadamente 0,67.
Para evitar o uso deste fator de escala, simplesmente defina c = 1 como segue:
#calculate MAD without scaling factor robust. mad (data, c=1) 7.5
Exemplo 2: Calcular MAD para um DataFrame
O código a seguir mostra como calcular o MAD para uma única coluna em um DataFrame do pandas:
#make this example reproducible n.p. random . seeds (1) #create pandas DataFrame data = pd. DataFrame ( np.random.randint (0,10,size=(5,3)),columns = [' A ',' B ',' C ']) #view DataFrame data A B C 0 5 8 9 1 5 0 0 2 1 7 6 3 9 2 4 4 5 2 4 #calculate MAD for column B data[[' B ']]. apply (robust. mad ) B 2.965204 dtype:float64
O desvio mediano absoluto para a coluna B é 2,965204 .
Podemos usar sintaxe semelhante para calcular MAD para múltiplas colunas no DataFrame do pandas:
#calculate MAD for all columns
data[[' A ',' B ',' C ']]. apply (robust. mad )
At 0.000000
B 2.965204
C 2.965204
dtype:float64
O desvio mediano absoluto é 0 para a coluna A, 2,965204 para a coluna B e 2,965204 para a coluna C.
Recursos adicionais
Como calcular MAPE em Python
Como calcular SMAPE em Python
Como calcular RMSE em Python