Statistics
통계 표준 라이브러리 모듈은 기본 통계 기능을 포함합니다.
Statistics.std — Functionstd(itr; corrected::Bool=true, mean=nothing[, dims])컬렉션 itr의 샘플 표준 편차를 계산합니다.
이 알고리즘은 itr의 각 항목이 동일한 알려지지 않은 분포에서 추출된 샘플이라는 가정 하에 생성 분포의 표준 편차 추정치를 반환하며, 샘플은 상관관계가 없습니다. 배열의 경우, 이 계산은 sqrt(sum((itr .- mean(itr)).^2) / (length(itr) - 1))를 계산하는 것과 동일합니다. corrected가 true이면 합계는 n-1로 조정되며, corrected가 false이면 합계는 n으로 조정되며, 여기서 n은 itr의 요소 수입니다.
itr이 AbstractArray인 경우, 차원에 대해 표준 편차를 계산하기 위해 dims를 제공할 수 있습니다.
미리 계산된 mean을 제공할 수 있습니다. dims가 지정되면, mean은 mean(itr, dims=dims)와 동일한 형태의 배열이어야 합니다(추가적인 후행 단일 차원은 허용됩니다).
배열에 NaN 또는 missing 값이 포함된 경우, 결과도 NaN 또는 missing이 됩니다(missing이 두 가지 모두 포함된 경우 우선합니다). skipmissing 함수를 사용하여 missing 항목을 생략하고 비어 있지 않은 값의 표준 편차를 계산하십시오.
Statistics.stdm — Functionstdm(itr, mean; corrected::Bool=true[, dims])컬렉션 itr의 샘플 표준 편차를 알려진 평균 mean으로 계산합니다.
이 알고리즘은 itr의 각 항목이 동일한 알려지지 않은 분포에서 추출된 샘플이라고 가정할 때 생성 분포의 표준 편차 추정치를 반환합니다. 샘플은 서로 상관이 없다고 가정합니다. 배열의 경우, 이 계산은 sqrt(sum((itr .- mean(itr)).^2) / (length(itr) - 1))를 계산하는 것과 동일합니다. corrected가 true이면 합계는 n-1로 조정되며, corrected가 false이면 합계는 n으로 조정됩니다. 여기서 n은 itr의 요소 수입니다.
itr이 AbstractArray인 경우, 차원에 대해 표준 편차를 계산하기 위해 dims를 제공할 수 있습니다. 이 경우 mean은 mean(itr, dims=dims)와 동일한 형태의 배열이어야 합니다(추가적인 후행 단일 차원은 허용됩니다).
배열에 NaN 또는 missing 값이 포함된 경우 결과도 NaN 또는 missing이 됩니다(missing이 두 가지가 모두 포함된 경우 우선합니다). skipmissing 함수를 사용하여 missing 항목을 생략하고 비어 있지 않은 값의 표준 편차를 계산하십시오.
Statistics.var — Functionvar(itr; corrected::Bool=true, mean=nothing[, dims])컬렉션 itr의 샘플 분산을 계산합니다.
이 알고리즘은 itr의 각 항목이 동일한 알려지지 않은 분포에서 추출된 샘플이라는 가정 하에 생성 분포의 분산 추정치를 반환하며, 샘플은 서로 독립적입니다. 배열의 경우, 이 계산은 sum((itr .- mean(itr)).^2) / (length(itr) - 1)을 계산하는 것과 동일합니다. corrected가 true이면 합계는 n-1로 조정되며, corrected가 false이면 합계는 n으로 조정됩니다. 여기서 n은 itr의 요소 수입니다.
itr이 AbstractArray인 경우, 차원에 대해 분산을 계산하기 위해 dims를 제공할 수 있습니다.
미리 계산된 mean을 제공할 수 있습니다. dims가 지정되면, mean은 mean(itr, dims=dims)와 동일한 형태의 배열이어야 합니다(추가적인 후행 단일 차원은 허용됩니다).
배열에 NaN 또는 missing 값이 포함된 경우, 결과도 NaN 또는 missing이 됩니다(missing이 두 가지가 모두 포함된 경우 우선합니다). skipmissing 함수를 사용하여 missing 항목을 생략하고 비어 있지 않은 값의 분산을 계산하십시오.
Statistics.varm — Functionvarm(itr, mean; dims, corrected::Bool=true)컬렉션 itr의 샘플 분산을 알려진 평균 mean으로 계산합니다.
이 알고리즘은 itr의 각 항목이 동일한 알려지지 않은 분포에서 추출된 샘플이라는 가정 하에 생성 분포의 분산 추정치를 반환하며, 샘플은 서로 독립적입니다. 배열의 경우, 이 계산은 sum((itr .- mean(itr)).^2) / (length(itr) - 1)을 계산하는 것과 동일합니다. corrected가 true이면 합계는 n-1로 조정되며, corrected가 false이면 합계는 n으로 조정되며, 여기서 n은 itr의 요소 수입니다.
itr이 AbstractArray인 경우, 차원에 대해 분산을 계산하기 위해 dims를 제공할 수 있습니다. 이 경우, mean은 mean(itr, dims=dims)와 동일한 형태의 배열이어야 합니다(추가적인 후행 단일 차원은 허용됩니다).
배열에 NaN 또는 missing 값이 포함된 경우, 결과도 NaN 또는 missing이 됩니다(missing이 두 가지가 모두 포함된 경우 우선합니다). skipmissing 함수를 사용하여 missing 항목을 생략하고 비어 있지 않은 값의 분산을 계산하십시오.
Statistics.cor — Functioncor(x::AbstractVector)Return the number one.
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 — Functioncov(x::AbstractVector; corrected::Bool=true)벡터 x의 분산을 계산합니다. corrected가 true(기본값)인 경우 합계는 n-1로 조정되며, corrected가 false인 경우 합계는 n으로 조정됩니다. 여기서 n = length(x)입니다.
cov(X::AbstractMatrix; dims::Int=1, corrected::Bool=true)행렬 X의 공분산 행렬을 차원 dims에 따라 계산합니다. corrected가 true(기본값)인 경우 합계는 n-1로 조정되며, corrected가 false인 경우 합계는 n으로 조정됩니다. 여기서 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로 조정되며, corrected가 false인 경우 합계는 n으로 조정됩니다. 여기서 n = size(X, dims) = size(Y, dims)입니다.
Statistics.mean! — Functionmean!(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.0Statistics.mean — Functionmean(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.0mean(f, itr)함수 f를 컬렉션 itr의 각 요소에 적용하고 평균을 구합니다.
julia> using Statistics
julia> mean(√, [1, 2, 3])
1.3820881233139908
julia> mean([√1, √2, √3])
1.3820881233139908mean(f, 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.2285192400943226mean(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.5Statistics.median! — Functionmedian!(v)median와 유사하지만, 입력 벡터를 덮어쓸 수 있습니다.
Statistics.median — Functionmedian(itr)모든 요소의 중앙값을 계산합니다. 요소의 수가 짝수인 경우 정확한 중앙값 요소가 존재하지 않으므로 결과는 두 중앙값 요소의 평균을 계산하는 것과 같습니다.
itr에 NaN 또는 missing 값이 포함된 경우 결과도 NaN 또는 missing입니다(itr에 둘 다 포함된 경우 missing이 우선합니다). 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.0median(A::AbstractArray; dims)주어진 차원에 따라 배열의 중앙값을 계산합니다.
예제
julia> using Statistics
julia> median([1 2; 3 4], dims=1)
1×2 Matrix{Float64}:
2.0 3.0Statistics.middle — Functionmiddle(x)스칼라 값의 중간값을 계산합니다. 이는 x 자체와 동일하지만 일관성을 위해 middle(x, x)의 유형입니다.
middle(x, y)두 숫자 x와 y의 중간값을 계산합니다. 이는 두 숫자의 평균((x + y) / 2)을 계산하는 것과 값과 타입 모두에서 동일합니다.
middle(a::AbstractArray)배열 a의 중간값을 계산합니다. 이는 배열의 극값을 찾고 그 평균을 계산하는 것입니다.
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.95Statistics.quantile! — Functionquantile!([q::AbstractArray, ] v::AbstractVector, p; sorted=false, alpha::Real=1.0, beta::Real=alpha)벡터 v의 분위수를 지정된 확률 또는 확률의 벡터 또는 튜플 p에 대해 [0,1] 구간에서 계산합니다. p가 벡터인 경우, 선택적으로 출력 배열 q를 지정할 수 있습니다. (제공되지 않으면 새 출력 배열이 생성됩니다.) 키워드 인수 sorted는 v가 정렬되어 있다고 가정할 수 있는지를 나타냅니다. false(기본값)인 경우, v의 요소는 제자리에서 부분적으로 정렬됩니다.
샘플 분위수는 Q(p) = (1-γ)*x[j] + γ*x[j+1]로 정의되며, 여기서 x[j]는 v의 j번째 순서 통계량이고, j = floor(n*p + m), m = alpha + p*(1 - alpha - beta) 및 γ = n*p + m - j입니다.
기본적으로(alpha = beta = 1), 분위수는 점 ((k-1)/(n-1), x[k]) 사이의 선형 보간을 통해 계산됩니다. 여기서 k = 1:n이고 n = length(v)입니다. 이는 Hyndman과 Fan(1996)의 정의 7에 해당하며, R 및 NumPy의 기본값과 동일합니다.
키워드 인수 alpha와 beta는 Hyndman과 Fan의 동일한 매개변수에 해당하며, 이를 서로 다른 값으로 설정하면 이 논문에서 정의된 방법 4-9로 분위수를 계산할 수 있습니다:
- Def. 4:
alpha=0,beta=1 - Def. 5:
alpha=0.5,beta=0.5(MATLAB 기본값) - Def. 6:
alpha=0,beta=0(ExcelPERCENTILE.EXC, Python 기본값, Stataaltdef) - Def. 7:
alpha=1,beta=1(Julia, R 및 NumPy 기본값, ExcelPERCENTILE및PERCENTILE.INC, Python'inclusive') - Def. 8:
alpha=1/3,beta=1/3 - Def. 9:
alpha=3/8,beta=3/8
v에 NaN 또는 missing 값이 포함된 경우 ArgumentError가 발생합니다.
References
- Hyndman, R.J and Fan, Y. (1996) "Sample Quantiles in Statistical Packages", The American Statistician, Vol. 50, No. 4, pp. 361-365
- Quantile on Wikipedia는 다양한 분위수 정의에 대한 세부 정보를 제공합니다.
Examples
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.8000000000000003Statistics.quantile — Functionquantile(itr, p; sorted=false, alpha::Real=1.0, beta::Real=alpha)컬렉션 itr의 분위수(quantile)를 지정된 확률 또는 확률의 벡터 또는 튜플 p에 대해 [0,1] 구간에서 계산합니다. 키워드 인수 sorted는 itr이 정렬되어 있다고 가정할 수 있는지를 나타냅니다.
샘플 분위수는 Q(p) = (1-γ)*x[j] + γ*x[j+1]로 정의되며, 여기서 x[j]는 itr의 j번째 순서 통계량이고, j = floor(n*p + m), m = alpha + p*(1 - alpha - beta), γ = n*p + m - j입니다.
기본적으로(alpha = beta = 1), 분위수는 ((k-1)/(n-1), x[k]) 사이의 선형 보간을 통해 계산됩니다. 여기서 k = 1:n이고 n = length(itr)입니다. 이는 Hyndman과 Fan(1996)의 정의 7에 해당하며, R 및 NumPy의 기본값과 동일합니다.
키워드 인수 alpha와 beta는 Hyndman과 Fan의 동일한 매개변수에 해당하며, 이를 서로 다른 값으로 설정하면 이 논문에서 정의된 방법 4-9로 분위수를 계산할 수 있습니다:
- Def. 4:
alpha=0,beta=1 - Def. 5:
alpha=0.5,beta=0.5(MATLAB 기본값) - Def. 6:
alpha=0,beta=0(ExcelPERCENTILE.EXC, Python 기본값, Stataaltdef) - Def. 7:
alpha=1,beta=1(Julia, R 및 NumPy 기본값, ExcelPERCENTILE및PERCENTILE.INC, Python'inclusive') - Def. 8:
alpha=1/3,beta=1/3 - Def. 9:
alpha=3/8,beta=3/8
v에 NaN 또는 missing 값이 포함되어 있으면 ArgumentError가 발생합니다. skipmissing 함수를 사용하여 missing 항목을 생략하고 비어 있지 않은 값의 분위수를 계산하십시오.
References
- Hyndman, R.J and Fan, Y. (1996) "Sample Quantiles in Statistical Packages", The American Statistician, Vol. 50, No. 4, pp. 361-365
- Quantile on Wikipedia는 다양한 분위수 정의에 대한 세부 정보를 제공합니다.
Examples
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