Función SciPy stats.skew
-
La función
scipy.stats.skew
-
Cálculo de la asimetría usando
numpy.linspace()
- Cálculo de la asimetría utilizando datos aleatorios
La asimetría en estadística se define como una medida de la simetría de la distribución de algunos datos. El punto que está en la parte superior de toda la distribución se conoce como la moda. La asimetría se calcula mediante la siguiente fórmula.
Skewness = 3(Mean - Median) / Standard Deviation
Condiciones de asimetría:
- Si
skewness = 0
, los datos se distribuyen normalmente. - Si
skewness > 0
, entonces los datos se ponderan más en el lado izquierdo de la distribución. - Si
skewness < 0
, entonces los datos se ponderan más en el lado derecho de la distribución.
La función scipy.stats.skew
La función scipy.stats.skew
de la biblioteca SciPy
se utiliza para determinar el valor de asimetría de un dato dado. Esta función se define como scipy.stats.skew(a, axis, bias, nan_policy)
.
Los siguientes son los parámetros de la función scipy.stats.skew
.
un (ndarray) |
Define el array de entrada, es decir, los datos de entrada. |
axis (int) |
Define el eje a lo largo del cual la función calcula el valor de skewness . El valor predeterminado es 0 , es decir, la función calcula sobre todo el array. |
bais (bool) |
Si el valor de este parámetro se establece en False, todos los cálculos se corrigen por el sesgo estadístico. |
nan_policy |
Decide cómo tratar cuando hay valores de NaN en los datos de entrada. Hay tres parámetros de decisión en el parámetro, propagate , raise , omit . El parámetro propagate simplemente devuelve el valor NaN, raise devuelve un error y omit simplemente ignora los valores NaN y la función continúa con el cálculo. Estos parámetros de decisión se definen entre comillas simples ' ' . Además, el valor por defecto es propagate . |
Todos los parámetros excepto el parámetro a (ndarray)
son opcionales. Eso significa que no es necesario definirlos cada vez que se usa la función scipy.stats.skew
.
Cálculo de la asimetría usando numpy.linspace()
La función linespace()
de la biblioteca NumPy
ayuda a crear secuencias numéricas aleatorias que están espaciadas uniformemente.
from scipy.stats import skew
import numpy as np
import pylab as p
x = np.linspace(-10, 10, 1000)
y = 1 / (np.sqrt(4 * np.pi)) * np.exp(-0.2 * (x) ** 2)
p.plot(x, y, ".")
p.show()
print("Skewness for the input data : ", skew(y))
Producción:
Skewness for the input data : 1.458658437437705
Cálculo de la asimetría utilizando datos aleatorios
En este método se utiliza la función np.random.normal
de la biblioteca NumPy
. Esta función ayuda a crear una matriz de una forma y tamaño especificados que consta de valores aleatorios que en realidad son parte de la distribución gaussiana.
from scipy.stats import skew
import numpy as np
s = np.random.normal(0, 5, 10000)
print("S : ", s)
print("Skewness for input data : ", skew(s))
S : [ 2.52232305 5.66398738 2.72036031 ... 0.53774684 -0.31164153
1.99714612]
Skewness for input data : 0.0027004583356120505
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn