Spec-Zone.ru › Julia 1.5

Статистика

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

Если массив содержит 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 Array{Int64,2}:
 1  2
 3  4

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

julia> mean!([1. 1.], v)
1×2 Array{Float64,2}:
 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 Array{Float64,2}:
 1.3820881233139908
 2.2285192400943226
исходный код
mean(A::AbstractArray; dims)

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

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

Примеры

julia> using Statistics

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

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

julia> mean(A, dims=2)
2×1 Array{Float64,2}:
 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 Array{Float64,2}:
 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 Array{Float64,1}:
  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 Array{Int64,1}:
 1
 2
 3

julia> y = zeros(3);

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

julia> y
3-element Array{Float64,1}:
 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 Array{Float64,1}:
  2.0
 10.0
 18.000000000000004

julia> quantile(skipmissing([1, 10, missing]), 0.5)
5.5
исходный код

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

Spec-Zone.ru

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