Spec-Zone.ru › Julia 1.8

Статистические данные

Модуль стандартной библиотеки Statistics содержит базовые функции для работы со статистикой.

Statistics.stdФункция

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

Вычислить выборочное стандартное отклонение коллекции itr.

Алгоритм возвращает оценку стандартного отклонения генеративной распределения при предположении, что каждый элемент itr представляет собой выборку из одного и того же неизвестного распределения, а выборки некоррелированы. Для массивов это вычисление эквивалентно вычислению sqrt(sum((itr .- mean(itr)).^2) / (length(itr) - 1)). Если corrected равно true, то сумма масштабируется с помощью n-1, в то время как сумма масштабируется с помощью n, если corrected равно false, где n — количество элементов в itr.

Если itr является AbstractArray, то dims может быть предоставлено для вычисления стандартного отклонения по измерениям, и means может содержать средние значения для каждого измерения itr.

Может быть предоставлено предварительно вычисленное значение mean . Когда dims указано, mean должен быть массивом с такой же формой, как и mean(itr, dims=dims) (допускаются дополнительные trailing singleton измерения).

Если массив содержит NaN или missing значения, результат также NaN или missing (missing имеет приоритет, если массив содержит оба). Используйте функцию skipmissing для пропуска missing элементов и вычисления стандартного отклонения для не пропущенных значений.

Statistics.stdmФункция

stdm(itr, mean; corrected::Bool=true[, dims])

Вычислить выборочное стандартное отклонение коллекции itr, со средним значением(и) mean.

Алгоритм возвращает оценку стандартного отклонения генеративной распределения при предположении, что каждый элемент itr представляет собой выборку из одного и того же неизвестного распределения, а выборки некоррелированы. Для массивов это вычисление эквивалентно вычислению sqrt(sum((itr .- mean(itr)).^2) / (length(itr) - 1)). Если corrected равно true, то сумма масштабируется с помощью n-1, в то время как сумма масштабируется с помощью n, если corrected равно false, где n — количество элементов в itr.

Если itr является AbstractArray, dims может быть предоставлено для вычисления стандартного отклонения по измерениям. В этом случае mean должен быть массивом с такой же формой, как и mean(itr, dims=dims) (допускаются дополнительные trailing singleton измерения).

Если массив содержит NaN или missing значения, результат также NaN или missing (missing имеет приоритет, если массив содержит оба). Используйте функцию skipmissing для пропуска missing элементов и вычисления стандартного отклонения для не пропущенных значений.

Statistics.varФункция

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

Вычислить выборочную дисперсию коллекции itr.

Алгоритм возвращает оценку дисперсии генеративной распределения при предположении, что каждый элемент itr представляет собой выборку из одного и того же неизвестного распределения, а выборки некоррелированы. Для массивов это вычисление эквивалентно вычислению sum((itr .- mean(itr)).^2) / (length(itr) - 1)). Если corrected равно true, то сумма масштабируется с помощью n-1, в то время как сумма масштабируется с помощью n, если corrected равно false, где n — количество элементов в itr.

Если itr является AbstractArray, dims может быть предоставлено для вычисления дисперсии по измерениям.

Может быть предоставлено предварительно вычисленное mean значение. Когда dims указано, mean должен быть массивом с такой же формой, как и mean(itr, dims=dims) (допускаются дополнительные trailing singleton измерения).

Если массив содержит NaN или missing значения, результат также NaN или missing (missing имеет приоритет, если массив содержит оба). Используйте функцию skipmissing для пропуска missing элементов и вычисления дисперсии для не пропущенных значений.

Statistics.varmФункция

varm(itr, mean; dims, corrected::Bool=true)

Вычислить выборочную дисперсию коллекции itr, со средним значением(и) mean.

Алгоритм возвращает оценку дисперсии генеративной распределения при предположении, что каждый элемент itr представляет собой выборку из одного и того же неизвестного распределения, а выборки некоррелированы. Для массивов это вычисление эквивалентно вычислению sum((itr .- mean(itr)).^2) / (length(itr) - 1). Если corrected равно true, то сумма масштабируется с помощью n-1, в то время как сумма масштабируется с помощью n, если corrected равно false, где n — количество элементов в itr.

Если itr является AbstractArray, dims может быть предоставлено для вычисления дисперсии по измерениям. В этом случае mean должен быть массивом с такой же формой, как и mean(itr, dims=dims) (допускаются дополнительные trailing singleton измерения).

Если массив содержит NaN или missing значения, результат также NaN или missing (missing имеет приоритет, если массив содержит оба). Используйте функцию skipmissing для пропуска missing элементов и вычисления дисперсии для не пропущенных значений.

Statistics.corФункция

cor(x::AbstractVector)

Возвращает число один.

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

Вычислить матрицу корреляции Пирсона для матрицы X по измерению dims.

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

Вычислить корреляцию Пирсона между векторами x и y.

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

Вычислить корреляцию Пирсона между векторами или матрицами X и Y по измерению dims.

Statistics.covФункция

cov(x::AbstractVector; corrected::Bool=true)

Вычислить дисперсию вектора x. Если corrected равно true (по умолчанию), то сумма масштабируется с помощью n-1, в то время как сумма масштабируется с помощью n, если corrected равно false, где n = length(x).

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

Вычислить матрицу ковариации матрицы X по измерению dims. Если corrected равно true (по умолчанию), то сумма масштабируется с помощью n-1, в то время как сумма масштабируется с помощью n, если corrected равно false, где n = size(X, dims).

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

Вычислить ковариацию между векторами x и y. Если corrected равно true (по умолчанию), вычисляет $\frac{1}{n-1}\sum_{i=1}^n (x_i-\bar x) (y_i-\bar y)^*$, где $*$ обозначает комплексно сопряжённое и n = length(x) = length(y). Если corrected равно false, вычисляет $\frac{1}{n}\sum_{i=1}^n (x_i-\bar x) (y_i-\bar y)^*$.

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

Вычислить ковариацию между векторами или матрицами X и Y по измерению dims. Если corrected равно true (по умолчанию), то сумма масштабируется с помощью n-1, в то время как сумма масштабируется с помощью n, если corrected равно false, где n = size(X, dims) = size(Y, dims).

Statistics.mean!Функция

mean!(r, v)

Вычислить среднее значение v по одиночным измерениям r и записать результат в r.

Примеры

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

Statistics.meanФункция

mean(itr)

Вычислить среднее значение всех элементов в коллекции.

Если itr содержит NaN или missing значения, результат также NaN или missing (missing имеет приоритет, если массив содержит оба). Используйте функцию skipmissing для пропуска missing элементов и вычисления среднего значения для не пропущенных значений.

Примеры

julia> using Statistics

julia> mean(1:20)
10.5

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

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

Применить функцию f к каждому элементу коллекции itr и вычислить среднее.

julia> using Statistics

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

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

Применить функцию f к каждому элементу массива A и вычислить среднее по измерениям dims.

Этот метод требует как минимум 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
END_OF_DOCUMENT_MARKER ```
mean(A::AbstractArray; dims)

Вычислить среднее значение массива по заданным измерениям.

mean для пустых массивов требует как минимум Julia 1.1.

Примеры

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

Statistics.median!Функция

median!(v)

Подобно median, но может перезаписать входной вектор.

Statistics.medianФункция

median(itr)

Вычислить медиану всех элементов в коллекции. Для чётного числа элементов точной медианного элемента не существует, поэтому результат эквивалентен вычислению среднего двух медианных элементов.

Если itr содержит NaN или missing значения, результат также NaN или missing (missing имеет приоритет, если itr содержит оба). Используйте функцию skipmissing для пропуска missing записей и вычисления медианы для значений, не являющихся пропущенными.

Примеры

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
median(A::AbstractArray; dims)

Вычислить медиану массива по заданным измерениям.

Примеры

julia> using Statistics

julia> median([1 2; 3 4], dims=1)
1×2 Matrix{Float64}:
 2.0  3.0

Statistics.middleФункция

middle(x)

Вычислить середину скалярного значения, что эквивалентно x самому, но с типом middle(x, x) для согласованности.

middle(x, y)

Вычислить середину двух чисел x и y, что эквивалентно как по значению, так и по типу вычислению их среднего ((x + y) / 2).

middle(range)

Вычислить середину диапазона, что заключается в вычислении среднего его экстремумов. Поскольку диапазон упорядочен, среднее вычисляется для первого и последнего элемента.

julia> using Statistics

julia> middle(1:10)
5.5
middle(a)

Вычислить середину массива a, что состоит в поиске его экстремумов и последующем вычислении их среднего.

julia> using Statistics

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

Statistics.quantile!Функция

quantile!([q::AbstractArray, ] v::AbstractVector, p; sorted=false, alpha::Real=1.0, beta::Real=alpha)

Вычислить квантиль(и) вектора v в заданной вероятности или векторе или кортеже вероятностей p в интервале [0,1]. Если p является вектором, то также может быть указан необязательный выходной массив q. (Если не указан, создаётся новый выходной массив.) Параметр sorted указывает, можно ли считать, что v отсортирован; если false (по умолчанию), то элементы v частично отсортируются на месте.

По умолчанию (alpha = beta = 1) квантили вычисляются путём линейной интерполяции между точками ((k-1)/(n-1), v[k]), для k = 1:n, где n = length(v). Это соответствует определению 7 Гиндмана и Фаната (1996), и совпадает с настройками по умолчанию R и NumPy.

Параметры alpha и beta соответствуют тем же параметрам в работе Гиндмана и Фаната, изменяя их, можно вычислить квантили по любому из методов 4-9, определённых в этой статье:

  • Опр. 4: alpha=0, beta=1
  • Опр. 5: alpha=0.5, beta=0.5
  • Опр. 6: alpha=0, beta=0 (Excel PERCENTILE.EXC, Python по умолчанию, Stata altdef)
  • Опр. 7: alpha=1, beta=1 (Julia, R и NumPy по умолчанию, Excel PERCENTILE и PERCENTILE.INC, Python 'inclusive')
  • Опр. 8: alpha=1/3, beta=1/3
  • Опр. 9: alpha=3/8, beta=3/8

Возникает ArgumentError, если v содержит NaN или missing значения.

Ссылки

  • Гиндман, Р.Дж. и Фан, Й. (1996) "Выборочные квантили в статистических пакетах", The American Statistician, т. 50, № 4, стр. 361-365

  • Квантиль в Википедии содержит подробное описание различных определений квантилей

Примеры

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

Statistics.quantileФункция

quantile(itr, p; sorted=false, alpha::Real=1.0, beta::Real=alpha)

Вычислить квантиль(и) коллекции itr в заданной вероятности или векторе или кортеже вероятностей p в интервале [0,1]. Параметр sorted указывает, можно ли считать, что itr отсортирована.

Квантили выборочных значений определяются Q(p) = (1-γ)*x[j] + γ*x[j+1], где $x[j]$ - j-й порядковый статистический показатель, а γ - функция от j = floor(n*p + m), m = alpha + p*(1 - alpha - beta) и g = n*p + m - j.

По умолчанию (alpha = beta = 1) квантили вычисляются путём линейной интерполяции между точками ((k-1)/(n-1), v[k]), для k = 1:n, где n = length(itr). Это соответствует определению 7 Гиндмана и Фаната (1996), и совпадает с настройками по умолчанию R и NumPy.

Параметры alpha и beta соответствуют тем же параметрам в работе Гиндмана и Фаната, изменяя их, можно вычислить квантили по любому из методов 4-9, определённых в этой статье:

  • Опр. 4: alpha=0, beta=1
  • Опр. 5: alpha=0.5, beta=0.5
  • Опр. 6: alpha=0, beta=0 (Excel PERCENTILE.EXC, Python по умолчанию, Stata altdef)
  • Опр. 7: alpha=1, beta=1 (Julia, R и NumPy по умолчанию, Excel PERCENTILE и PERCENTILE.INC, Python 'inclusive')
  • Опр. 8: alpha=1/3, beta=1/3
  • Опр. 9: alpha=3/8, beta=3/8

Возникает ArgumentError, если v содержит NaN или missing значения. Используйте функцию skipmissing для пропуска missing записей и вычисления квантилей для значений, не являющихся пропущенными.

Ссылки

  • Гиндман, Р.Дж. и Фан, Й. (1996) "Выборочные квантили в статистических пакетах", The American Statistician, т. 50, № 4, стр. 361-365

  • Квантиль в Википедии содержит подробное описание различных определений квантилей

Примеры

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

© 2009–2022 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.8/stdlib/Statistics/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API