Statistics

El módulo de la biblioteca estándar de Estadísticas contiene funcionalidad básica de estadísticas.

Statistics.stdFunction
std(itr; corrected::Bool=true, mean=nothing[, dims])

Calcula la desviación estándar muestral de la colección itr.

El algoritmo devuelve un estimador de la desviación estándar de la distribución generativa bajo la suposición de que cada entrada de itr es una muestra extraída de la misma distribución desconocida, con las muestras no correlacionadas. Para arreglos, este cálculo es equivalente a calcular sqrt(sum((itr .- mean(itr)).^2) / (length(itr) - 1)). Si corrected es true, entonces la suma se escala con n-1, mientras que la suma se escala con n si corrected es false, siendo n el número de elementos en itr.

Si itr es un AbstractArray, se pueden proporcionar dims para calcular la desviación estándar sobre dimensiones.

Se puede proporcionar un mean precomputado. Cuando se especifica dims, mean debe ser un arreglo con la misma forma que mean(itr, dims=dims) (se permiten dimensiones singleton adicionales al final).

Note

Si el arreglo contiene valores NaN o missing, el resultado también es NaN o missing (missing tiene prioridad si el arreglo contiene ambos). Usa la función skipmissing para omitir entradas missing y calcular la desviación estándar de los valores no faltantes.

source
Statistics.stdmFunction
stdm(itr, mean; corrected::Bool=true[, dims])

Calcula la desviación estándar muestral de la colección itr, con la(s) media(s) conocida(s) mean.

El algoritmo devuelve un estimador de la desviación estándar de la distribución generativa bajo la suposición de que cada entrada de itr es una muestra extraída de la misma distribución desconocida, con las muestras no correlacionadas. Para arreglos, este cálculo es equivalente a calcular sqrt(sum((itr .- mean(itr)).^2) / (length(itr) - 1)). Si corrected es true, entonces la suma se escala con n-1, mientras que la suma se escala con n si corrected es false, siendo n el número de elementos en itr.

Si itr es un AbstractArray, se pueden proporcionar dims para calcular la desviación estándar sobre dimensiones. En ese caso, mean debe ser un arreglo con la misma forma que mean(itr, dims=dims) (se permiten dimensiones singleton adicionales al final).

Note

Si el arreglo contiene valores NaN o missing, el resultado también es NaN o missing (missing tiene prioridad si el arreglo contiene ambos). Usa la función skipmissing para omitir entradas missing y calcular la desviación estándar de los valores no faltantes.

source
Statistics.varFunction
var(itr; corrected::Bool=true, mean=nothing[, dims])

Calcula la varianza muestral de la colección itr.

El algoritmo devuelve un estimador de la varianza de la distribución generativa bajo la suposición de que cada entrada de itr es una muestra extraída de la misma distribución desconocida, con las muestras no correlacionadas. Para arreglos, este cálculo es equivalente a calcular sum((itr .- mean(itr)).^2) / (length(itr) - 1). Si corrected es true, entonces la suma se escala con n-1, mientras que la suma se escala con n si corrected es false, donde n es el número de elementos en itr.

Si itr es un AbstractArray, se pueden proporcionar dims para calcular la varianza sobre dimensiones.

Se puede proporcionar un mean precomputado. Cuando se especifica dims, mean debe ser un arreglo con la misma forma que mean(itr, dims=dims) (se permiten dimensiones singleton adicionales al final).

Note

Si el arreglo contiene valores NaN o missing, el resultado también es NaN o missing (missing tiene prioridad si el arreglo contiene ambos). Usa la función skipmissing para omitir entradas missing y calcular la varianza de los valores no faltantes.

source
Statistics.varmFunction
varm(itr, mean; dims, corrected::Bool=true)

Calcula la varianza muestral de la colección itr, con la(s) media(s) conocida(s) mean.

El algoritmo devuelve un estimador de la varianza de la distribución generativa bajo la suposición de que cada entrada de itr es una muestra extraída de la misma distribución desconocida, con las muestras no correlacionadas. Para arreglos, este cálculo es equivalente a calcular sum((itr .- mean(itr)).^2) / (length(itr) - 1). Si corrected es true, entonces la suma se escala con n-1, mientras que la suma se escala con n si corrected es false, siendo n el número de elementos en itr.

Si itr es un AbstractArray, se pueden proporcionar dims para calcular la varianza a través de dimensiones. En ese caso, mean debe ser un arreglo con la misma forma que mean(itr, dims=dims) (se permiten dimensiones singleton adicionales al final).

Note

Si el arreglo contiene valores NaN o missing, el resultado también es NaN o missing (missing tiene prioridad si el arreglo contiene ambos). Usa la función skipmissing para omitir entradas missing y calcular la varianza de los valores no faltantes.

source
Statistics.corFunction
cor(x::AbstractVector)

Devuelve el número uno.

source
cor(X::AbstractMatrix; dims::Int=1)

Calcula la matriz de correlación de Pearson de la matriz X a lo largo de la dimensión dims.

source
cor(x::AbstractVector, y::AbstractVector)

Calcula la correlación de Pearson entre los vectores x y y.

source
cor(X::AbstractVecOrMat, Y::AbstractVecOrMat; dims=1)

Calcula la correlación de Pearson entre los vectores o matrices X y Y a lo largo de la dimensión dims.

source
Statistics.covFunction
cov(x::AbstractVector; corrected::Bool=true)

Calcula la varianza del vector x. Si corrected es true (el valor por defecto), entonces la suma se escala con n-1, mientras que la suma se escala con n si corrected es false, donde n = length(x).

source
cov(X::AbstractMatrix; dims::Int=1, corrected::Bool=true)

Calcula la matriz de covarianza de la matriz X a lo largo de la dimensión dims. Si corrected es true (el valor predeterminado), entonces la suma se escala con n-1, mientras que la suma se escala con n si corrected es false, donde n = size(X, dims).

source
cov(x::AbstractVector, y::AbstractVector; corrected::Bool=true)

Calcula la covarianza entre los vectores x y y. Si corrected es true (el valor predeterminado), calcula $\frac{1}{n-1}\sum_{i=1}^n (x_i-\bar x) (y_i-\bar y)^*$ donde $*$ denota el conjugado complejo y n = length(x) = length(y). Si corrected es false, calcula $\frac{1}{n}\sum_{i=1}^n (x_i-\bar x) (y_i-\bar y)^*$.

source
cov(X::AbstractVecOrMat, Y::AbstractVecOrMat; dims::Int=1, corrected::Bool=true)

Calcula la covarianza entre los vectores o matrices X y Y a lo largo de la dimensión dims. Si corrected es true (el valor predeterminado), entonces la suma se escala con n-1, mientras que la suma se escala con n si corrected es false, donde n = size(X, dims) = size(Y, dims).

source
Statistics.mean!Function
mean!(r, v)

Calcula la media de v sobre las dimensiones singleton de r, y escribe los resultados en r.

Ejemplos

julia> using Statistics

julia> v = [1 2; 3 4]
2×2 Matrix{Int64}:
 1  2
 3  4

julia> mean!([1., 1.], v)
2-element Vector{Float64}:
 1.5
 3.5

julia> mean!([1. 1.], v)
1×2 Matrix{Float64}:
 2.0  3.0
source
Statistics.meanFunction
mean(itr)

Calcule la media de todos los elementos en una colección.

Note

Si itr contiene valores NaN o missing, el resultado también es NaN o missing (missing tiene prioridad si el arreglo contiene ambos). Utilice la función skipmissing para omitir entradas missing y calcular la media de los valores no faltantes.

Ejemplos

julia> using Statistics

julia> mean(1:20)
10.5

julia> mean([1, missing, 3])
missing

julia> mean(skipmissing([1, missing, 3]))
2.0
source
mean(f, itr)

Aplica la función f a cada elemento de la colección itr y toma la media.

julia> using Statistics

julia> mean(√, [1, 2, 3])
1.3820881233139908

julia> mean([√1, √2, √3])
1.3820881233139908
source
mean(f, A::AbstractArray; dims)

Aplica la función f a cada elemento del array A y toma la media sobre las dimensiones dims.

Julia 1.3

Este método requiere al menos Julia 1.3.

julia> using Statistics

julia> mean(√, [1, 2, 3])
1.3820881233139908

julia> mean([√1, √2, √3])
1.3820881233139908

julia> mean(√, [1 2 3; 4 5 6], dims=2)
2×1 Matrix{Float64}:
 1.3820881233139908
 2.2285192400943226
source
mean(A::AbstractArray; dims)

Calcula la media de un array sobre las dimensiones dadas.

Julia 1.1

mean para arrays vacíos requiere al menos Julia 1.1.

Ejemplos

julia> using Statistics

julia> A = [1 2; 3 4]
2×2 Matrix{Int64}:
 1  2
 3  4

julia> mean(A, dims=1)
1×2 Matrix{Float64}:
 2.0  3.0

julia> mean(A, dims=2)
2×1 Matrix{Float64}:
 1.5
 3.5
source
Statistics.medianFunction
median(itr)

Calcule la mediana de todos los elementos en una colección. Para un número par de elementos, no existe un elemento de mediana exacto, por lo que el resultado es equivalente a calcular la media de dos elementos de mediana.

Nota

Si itr contiene valores NaN o missing, el resultado también es NaN o missing (missing tiene prioridad si itr contiene ambos). Utilice la función skipmissing para omitir entradas missing y calcular la mediana de los valores no faltantes.

Ejemplos

julia> using Statistics

julia> median([1, 2, 3])
2.0

julia> median([1, 2, 3, 4])
2.5

julia> median([1, 2, missing, 4])
missing

julia> median(skipmissing([1, 2, missing, 4]))
2.0
source
median(A::AbstractArray; dims)

Calcula la mediana de un arreglo a lo largo de las dimensiones dadas.

Ejemplos

julia> using Statistics

julia> median([1 2; 3 4], dims=1)
1×2 Matrix{Float64}:
 2.0  3.0
source
Statistics.middleFunction
middle(x)

Calcula el medio de un valor escalar, que es equivalente a x mismo, pero del tipo de middle(x, x) para mantener la consistencia.

source
middle(x, y)

Calcule el punto medio de dos números x y y, que es equivalente en valor y tipo a calcular su media ((x + y) / 2).

source
middle(a::AbstractArray)

Calcula el punto medio de un arreglo a, que consiste en encontrar sus extremos y luego calcular su media.

julia> using Statistics

julia> middle(1:10)
5.5

julia> a = [1,2,3.6,10.9]
4-element Vector{Float64}:
  1.0
  2.0
  3.6
 10.9

julia> middle(a)
5.95
source
Statistics.quantile!Function
quantile!([q::AbstractArray, ] v::AbstractVector, p; sorted=false, alpha::Real=1.0, beta::Real=alpha)

Calcula el(los) cuantil(es) de un vector v en una probabilidad especificada o vector o tupla de probabilidades p en el intervalo [0,1]. Si p es un vector, también se puede especificar un array de salida opcional q. (Si no se proporciona, se crea un nuevo array de salida). El argumento clave sorted indica si se puede asumir que v está ordenado; si es false (el valor predeterminado), entonces los elementos de v se ordenarán parcialmente en su lugar.

Los cuantiles de muestra se definen por Q(p) = (1-γ)*x[j] + γ*x[j+1], donde x[j] es la j-ésima estadística de orden de v, j = floor(n*p + m), m = alpha + p*(1 - alpha - beta) y γ = n*p + m - j.

Por defecto (alpha = beta = 1), los cuantiles se calculan mediante interpolación lineal entre los puntos ((k-1)/(n-1), x[k]), para k = 1:n donde n = length(v). Esto corresponde a la Definición 7 de Hyndman y Fan (1996), y es lo mismo que el valor predeterminado de R y NumPy.

Los argumentos clave alpha y beta corresponden a los mismos parámetros en Hyndman y Fan, establecerlos en diferentes valores permite calcular cuantiles con cualquiera de los métodos 4-9 definidos en este documento:

  • Def. 4: alpha=0, beta=1
  • Def. 5: alpha=0.5, beta=0.5 (valor predeterminado de MATLAB)
  • Def. 6: alpha=0, beta=0 (Excel PERCENTILE.EXC, valor predeterminado de Python, Stata altdef)
  • Def. 7: alpha=1, beta=1 (valor predeterminado de Julia, R y NumPy, Excel PERCENTILE y PERCENTILE.INC, Python 'inclusive')
  • Def. 8: alpha=1/3, beta=1/3
  • Def. 9: alpha=3/8, beta=3/8
Note

Se lanza un ArgumentError si v contiene valores NaN o missing.

Referencias

  • Hyndman, R.J y Fan, Y. (1996) "Sample Quantiles in Statistical Packages", The American Statistician, Vol. 50, No. 4, pp. 361-365
  • Quantile en Wikipedia detalla las diferentes definiciones de cuantil

Ejemplos

julia> using Statistics

julia> x = [3, 2, 1];

julia> quantile!(x, 0.5)
2.0

julia> x
3-element Vector{Int64}:
 1
 2
 3

julia> y = zeros(3);

julia> quantile!(y, x, [0.1, 0.5, 0.9]) === y
true

julia> y
3-element Vector{Float64}:
 1.2000000000000002
 2.0
 2.8000000000000003
source
Statistics.quantileFunction
quantile(itr, p; sorted=false, alpha::Real=1.0, beta::Real=alpha)

Calcula el(los) cuantil(es) de una colección itr en una probabilidad especificada o vector o tupla de probabilidades p en el intervalo [0,1]. El argumento clave sorted indica si se puede asumir que itr está ordenado.

Los cuantiles de muestra se definen por Q(p) = (1-γ)*x[j] + γ*x[j+1], donde x[j] es la j-ésima estadística de orden de itr, j = floor(n*p + m), m = alpha + p*(1 - alpha - beta) y γ = n*p + m - j.

Por defecto (alpha = beta = 1), los cuantiles se calculan mediante interpolación lineal entre los puntos ((k-1)/(n-1), x[k]), para k = 1:n donde n = length(itr). Esto corresponde a la Definición 7 de Hyndman y Fan (1996), y es el mismo que el valor predeterminado de R y NumPy.

Los argumentos clave alpha y beta corresponden a los mismos parámetros en Hyndman y Fan, establecerlos en diferentes valores permite calcular cuantiles con cualquiera de los métodos 4-9 definidos en este documento:

  • Def. 4: alpha=0, beta=1
  • Def. 5: alpha=0.5, beta=0.5 (valor predeterminado de MATLAB)
  • Def. 6: alpha=0, beta=0 (Excel PERCENTILE.EXC, valor predeterminado de Python, Stata altdef)
  • Def. 7: alpha=1, beta=1 (valor predeterminado de Julia, R y NumPy, Excel PERCENTILE y PERCENTILE.INC, Python 'inclusive')
  • Def. 8: alpha=1/3, beta=1/3
  • Def. 9: alpha=3/8, beta=3/8
Note

Se lanza un ArgumentError si v contiene valores NaN o missing. Usa la función skipmissing para omitir entradas missing y calcular los cuantiles de los valores no faltantes.

Referencias

  • Hyndman, R.J y Fan, Y. (1996) "Sample Quantiles in Statistical Packages", The American Statistician, Vol. 50, No. 4, pp. 361-365
  • Quantile en Wikipedia detalla las diferentes definiciones de cuantil

Ejemplos

julia> using Statistics

julia> quantile(0:20, 0.5)
10.0

julia> quantile(0:20, [0.1, 0.5, 0.9])
3-element Vector{Float64}:
  2.0
 10.0
 18.000000000000004

julia> quantile(skipmissing([1, 10, missing]), 0.5)
5.5
source