2.5 Outras medidas
2.5.1 Assimetria (ou Obliquidade)
Assimetria é uma medida que avalia a assimetria de uma distribuição de frequência. Existem diversas definições na literatura, das quais apresentam-se três alternativas. \[\begin{equation} g_1 = \dfrac{m_3}{m_2^{3/2}} = \dfrac{\frac{1}{n} \sum_{i=1}^{n} (x_{i} - \bar{x}_n)^3}{\left[ \frac{1}{n} \sum_{i=1}^{n} (x_{i} - \bar{x}_n)^2 \right]^{3/2}} \tag{2.41} \end{equation}\]
\[\begin{equation} b_1 = g_{1} \left( \dfrac{n-1}{n} \right)^{3/2} = \dfrac{m_3}{s^3} = \dfrac{\frac{1}{n} \sum_{i=1}^{n} (x_{i} - \bar{x}_n)^3 }{\left[ \frac{1}{n-1} \sum_{i=1}^{n} (x_{i} - \bar{x}_n)^2 \right]^{3/2}} \tag{2.42} \end{equation}\]
\[\begin{eqnarray} G_1 = g_{1} \sqrt{\dfrac{n(n-1)}{n-2}} = b_{1} \dfrac{n^2}{(n-1)(n-2)} \tag{2.43} \end{eqnarray}\]
Exemplo 2.90 Assimetria na distribuição normal.
set.seed(1); x <- rnorm(100) # Gerando 100 valores N(0,1) com semente fixa
e1071::skewness(x, type = 1) # Definição clássica de assimetria, Equação (2.41)
## [1] -0.0722319
## [1] -0.07333656
## [1] -0.07115113
Exemplo 2.91 Em Python.
import numpy as np
from scipy.stats import skew
# Define a semente para reprodutibilidade
np.random.seed(1)
# Gerando 100 valores de uma distribuição normal padrão
x = np.random.normal(size=100)
# Assimetria tipo 1 (definição clássica)
skewness_type1 = skew(x, bias=False)
print(skewness_type1)
# Assimetria tipo 2 (usada em SAS, SPSS e Excel)
skewness_type2 = skew(x, bias=False) * np.sqrt(len(x) * (len(x) - 1)) / (len(x) - 2)
print(skewness_type2)
# Assimetria tipo 3 (padrão do R, usada em MINITAB e BMDP)
skewness_type3 = skew(x, bias=False) * np.sqrt(len(x) * (len(x) - 1)) / (len(x) - 2) * ((len(x) - 1) / len(x))**(3/2)
print(skewness_type3)
Exemplo 2.92 Assimetria na distribuição qui-quadrado
set.seed(1); x <- rchisq(100,1) # Gerando 100 valores X^2(1) com semente fixa
e1071::skewness(x, type = 1) # Definição clássica de assimetria, Equação (2.41)
## [1] 3.01709
## [1] 3.063232
## [1] 2.971947
Exemplo 2.93 Em Python.
import numpy as np
from scipy.stats import skew
# Define a semente para reprodutibilidade
np.random.seed(1)
# Gerando 100 valores de uma distribuição qui-quadrado com 1 grau de liberdade
x = np.random.chisquare(df=1, size=100)
# Assimetria tipo 1 (definição clássica)
skewness_type1 = skew(x, bias=False)
print(skewness_type1)
# Assimetria tipo 2 (usada em SAS, SPSS e Excel)
skewness_type2 = skew(x, bias=False) * np.sqrt(len(x) * (len(x) - 1)) / (len(x) - 2)
print(skewness_type2)
# Assimetria tipo 3 (padrão do R, usada em MINITAB e BMDP)
skewness_type3 = skew(x, bias=False) * np.sqrt(len(x) * (len(x) - 1)) / (len(x) - 2) * ((len(x) - 1) / len(x))**(3/2)
print(skewness_type3)
2.5.2 Curtose
A curtose é uma medida de achatamento de uma distribuição de frequência. Assim como na assimetria, das diversas definições de curtose apresentam-se três alternativas.
\[\begin{eqnarray} g_2 = \dfrac{m_4}{m_2^{2}} - 3 = \dfrac{\frac{1}{n} \sum_{i=1}^{n} (x_{i} - \bar{x}_n)^4}{\left[ \frac{1}{n} \sum_{i=1}^{n} (x_{i} - \bar{x}_n)^2 \right]^{2}} - 3 \tag{2.44} \end{eqnarray}\]
\[\begin{eqnarray} b_2 = (g_2 + 3) \left( 1 - \dfrac{1}{n} \right)^{2} - 3 = \dfrac{m_4}{s^4} - 3 = \dfrac{\frac{1}{n} \sum_{i=1}^{n} (x_{i} - \bar{x}_n)^4 }{\left[ \frac{1}{n-1} \sum_{i=1}^{n} (x_{i} - \bar{x}_n)^2 \right]^{2}} - 3 \tag{2.45} \end{eqnarray}\]
\[\begin{eqnarray} G_2 = \dfrac{ \left[ (n+1) g_2 + 6 \right] (n-1)}{(n-2)(n-3)} \tag{2.46} \end{eqnarray}\]
Exemplo 2.94 Curtose na distribuição normal.
set.seed(1); x <- rnorm(100) # Gerando 100 valores N(0,1) com semente fixa
e1071::kurtosis(x, type = 1) # Definição clássica de curtose, Equação (2.44)
## [1] 0.007653206
## [1] 0.07053697
## [1] -0.05219909
Exemplo 2.95 Em Python.
import numpy as np
from scipy.stats import kurtosis
# Define a semente para reprodutibilidade
np.random.seed(1)
# Gerando 100 valores de uma distribuição normal padrão
x = np.random.normal(size=100)
# Curtose tipo 1 (definição clássica)
kurtosis_type1 = kurtosis(x, bias=False, fisher=False)
print(kurtosis_type1)
# Curtose tipo 2 (usada em SAS, SPSS e Excel)
kurtosis_type2 = kurtosis(x, bias=False, fisher=True) * (len(x) - 1) / ((len(x) - 2) * (len(x) - 3)) * (len(x) + 1) + 3
print(kurtosis_type2)
# Curtose tipo 3 (padrão do R, usada em MINITAB e BMDP)
kurtosis_type3 = kurtosis(x, bias=False, fisher=True) * (len(x) + 1) * (len(x) - 1) / ((len(x) - 2) * (len(x) - 3))
print(kurtosis_type3)
Exemplo 2.96 Curtose na distribuição qui-quadrado.
set.seed(1); x <- rchisq(100,1) # Gerando 100 valores X^2(1) com semente fixa
e1071::kurtosis(x, type = 1) # Definição clássica de curtose, Equação (2.44)
## [1] 9.918662
## [1] 10.49555
## [1] 9.661581
Exemplo 2.97 Em Python.
import numpy as np
from scipy.stats import kurtosis
# Define a semente para reprodutibilidade
np.random.seed(1)
# Gerando 100 valores de uma distribuição qui-quadrado com 1 grau de liberdade
x = np.random.chisquare(df=1, size=100)
# Curtose tipo 1 (definição clássica)
kurtosis_type1 = kurtosis(x, bias=False, fisher=False)
print(kurtosis_type1)
# Curtose tipo 2 (usada em SAS, SPSS e Excel)
kurtosis_type2 = kurtosis(x, bias=False, fisher=True) * (len(x) - 1) / ((len(x) - 2) * (len(x) - 3)) * (len(x) + 1) + 3
print(kurtosis_type2)
# Curtose tipo 3 (padrão do R, usada em MINITAB e BMDP)
kurtosis_type3 = kurtosis(x, bias=False, fisher=True) * (len(x) + 1) * (len(x) - 1) / ((len(x) - 2) * (len(x) - 3))
print(kurtosis_type3)