Spec-Zone.ru › Julia 1.6

Статистики

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

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) (допускаются дополнительные конечные одинарные измерения).

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

источник

Statistics.stdmФункция

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

Вычислить выборочное стандартное отклонение коллекции 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) (допускаются дополнительные конечные одинарные измерения).

Если массив содержит 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) (допускаются дополнительные конечные одинарные измерения).

Если массив содержит 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) (допускаются дополнительные конечные одинарные измерения).

Если массив содержит 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).

источник
END_OF_DOCUMENT_MARKER
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
исходный код
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–2021 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/v1.6.0/stdlib/Statistics/

Spec-Zone.ru

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