Statistics
İstatistikler standart kütüphane modülü temel istatistik işlevselliğini içerir.
Statistics.std
— Functionstd(itr; corrected::Bool=true, mean=nothing[, dims])
Küme itr
'nin örnek standart sapmasını hesaplar.
Algoritma, itr
'nin her bir girişinin aynı bilinmeyen dağılımdan çekilmiş bir örnek olduğu varsayımı altında, üretken dağılımın standart sapmasının bir tahmincisini döndürür ve örneklerin birbirleriyle ilişkili olmadığını varsayar. Diziler için bu hesaplama, sqrt(sum((itr .- mean(itr)).^2) / (length(itr) - 1))
hesaplamasına eşdeğerdir. Eğer corrected
true
ise, toplam n-1
ile ölçeklendirilir; corrected
false
ise toplam n
ile ölçeklendirilir ve burada n
, itr
'deki eleman sayısını ifade eder.
Eğer itr
bir AbstractArray
ise, boyutlar üzerinde standart sapmayı hesaplamak için dims
sağlanabilir.
Önceden hesaplanmış bir mean
sağlanabilir. dims
belirtildiğinde, mean
mean(itr, dims=dims)
ile aynı şekle sahip bir dizi olmalıdır (ekstra son tekil boyutlara izin verilir).
Eğer dizi NaN
veya missing
değerleri içeriyorsa, sonuç da NaN
veya missing
olur (missing
her ikisi de varsa önceliklidir). missing
girişlerini atlamak ve eksik olmayan değerlerin standart sapmasını hesaplamak için skipmissing
fonksiyonunu kullanın.
Statistics.stdm
— Functionstdm(itr, mean; corrected::Bool=true[, dims])
Koleksiyon itr
'nin örnek standart sapmasını, bilinen ortalama(lar) mean
ile hesaplar.
Algoritma, itr
'nin her bir girişinin aynı bilinmeyen dağılımdan çekilmiş bir örnek olduğu varsayımı altında, üretken dağılımın standart sapmasının bir tahmincisini döndürür ve örneklerin birbirleriyle ilişkili olmadığını varsayar. Diziler için bu hesaplama, sqrt(sum((itr .- mean(itr)).^2) / (length(itr) - 1))
hesaplamasıyla eşdeğerdir. Eğer corrected
true
ise, toplam n-1
ile ölçeklendirilir; corrected
false
ise toplam n
ile ölçeklendirilir, burada n
itr
'deki eleman sayısını ifade eder.
Eğer itr
bir AbstractArray
ise, boyutlar üzerinde standart sapmayı hesaplamak için dims
sağlanabilir. Bu durumda, mean
mean(itr, dims=dims)
ile aynı şekle sahip bir dizi olmalıdır (ekstra son tekil boyutlara izin verilir).
Eğer dizi NaN
veya missing
değerleri içeriyorsa, sonuç da NaN
veya missing
olacaktır (missing
her ikisi de varsa önceliklidir). missing
girişlerini atlamak ve eksik olmayan değerlerin standart sapmasını hesaplamak için skipmissing
fonksiyonunu kullanın.
Statistics.var
— Functionvar(itr; corrected::Bool=true, mean=nothing[, dims])
itr
koleksiyonunun örnek varyansını hesaplayın.
Algoritma, itr
'nin her bir girişinin aynı bilinmeyen dağılımdan çekilmiş bir örnek olduğu varsayımı altında, üretken dağılımın varyansının bir tahmincisini döndürür ve örneklerin birbirleriyle ilişkili olmadığı varsayılır. Diziler için bu hesaplama, sum((itr .- mean(itr)).^2) / (length(itr) - 1)
hesaplamasıyla eşdeğerdir. Eğer corrected
true
ise, toplam n-1
ile ölçeklendirilir; corrected
false
ise toplam n
ile ölçeklendirilir; burada n
, itr
'deki eleman sayısını temsil eder.
Eğer itr
bir AbstractArray
ise, varyansı boyutlar üzerinde hesaplamak için dims
sağlanabilir.
Önceden hesaplanmış bir mean
sağlanabilir. dims
belirtildiğinde, mean
, mean(itr, dims=dims)
ile aynı şekle sahip bir dizi olmalıdır (ekstra son tekil boyutlara izin verilir).
Eğer dizi NaN
veya missing
değerleri içeriyorsa, sonuç da NaN
veya missing
olur (dizi her ikisini de içeriyorsa
missingönceliklidir).
missinggirişlerini atlamak ve eksik olmayan değerlerin varyansını hesaplamak için [
skipmissing`](@ref) fonksiyonunu kullanın.
Statistics.varm
— Functionvarm(itr, mean; dims, corrected::Bool=true)
Koleksiyon itr
'nin örnek varyansını, bilinen ortalama(lar) mean
ile hesaplar.
Algoritma, itr
'nin her bir girişinin aynı bilinmeyen dağılımdan çekilmiş bir örnek olduğu varsayımı altında, üretken dağılımın varyansının bir tahmincisini döndürür ve örneklerin birbirleriyle ilişkili olmadığı varsayılır. Diziler için bu hesaplama, sum((itr .- mean(itr)).^2) / (length(itr) - 1)
hesaplamasına eşdeğerdir. Eğer corrected
true
ise, toplam n-1
ile ölçeklendirilir; corrected
false
ise toplam n
ile ölçeklendirilir, burada n
itr
'deki eleman sayısını ifade eder.
Eğer itr
bir AbstractArray
ise, varyansı boyutlar üzerinde hesaplamak için dims
sağlanabilir. Bu durumda, mean
mean(itr, dims=dims)
ile aynı şekle sahip bir dizi olmalıdır (ekstra son tekil boyutlara izin verilir).
Eğer dizi NaN
veya missing
değerleri içeriyorsa, sonuç da NaN
veya missing
olur (missing
her ikisi de varsa önceliklidir). missing
girişlerini atlamak ve eksik olmayan değerlerin varyansını hesaplamak için skipmissing
fonksiyonunu kullanın.
Statistics.cor
— Functioncor(x::AbstractVector)
Bir numara döndür.
cor(X::AbstractMatrix; dims::Int=1)
Matris X
'in dims
boyutu boyunca Pearson korelasyon matrisini hesaplar.
cor(x::AbstractVector, y::AbstractVector)
x
ve y
vektörleri arasındaki Pearson korelasyonunu hesaplar.
cor(X::AbstractVecOrMat, Y::AbstractVecOrMat; dims=1)
X
ve Y
vektörleri veya matrisleri arasında dims
boyutu boyunca Pearson korelasyonunu hesaplar.
Statistics.cov
— Functioncov(x::AbstractVector; corrected::Bool=true)
Vektör x
'in varyansını hesaplar. Eğer corrected
true
(varsayılan) ise, toplam n-1
ile ölçeklendirilir; corrected
false
ise toplam n
ile ölçeklendirilir, burada n = length(x)
.
cov(X::AbstractMatrix; dims::Int=1, corrected::Bool=true)
Matris X
'in dims
boyutu boyunca kovaryans matrisini hesaplar. Eğer corrected
true
(varsayılan) ise, toplam n-1
ile ölçeklendirilir; corrected
false
ise toplam n
ile ölçeklendirilir, burada n = size(X, dims)
.
cov(x::AbstractVector, y::AbstractVector; corrected::Bool=true)
Vektörler x
ve y
arasındaki kovaryansı hesaplar. Eğer corrected
true
(varsayılan) ise, $\frac{1}{n-1}\sum_{i=1}^n (x_i-\bar x) (y_i-\bar y)^*$ hesaplanır; burada $*$ karmaşık konjugatı ve n = length(x) = length(y)
'dir. Eğer corrected
false
ise, $\frac{1}{n}\sum_{i=1}^n (x_i-\bar x) (y_i-\bar y)^*$ hesaplanır.
cov(X::AbstractVecOrMat, Y::AbstractVecOrMat; dims::Int=1, corrected::Bool=true)
X
ve Y
vektörleri veya matrisleri arasında dims
boyutu boyunca kovaryansı hesaplar. Eğer corrected
true
(varsayılan) ise, toplam n-1
ile ölçeklendirilir, corrected
false
ise toplam n
ile ölçeklendirilir; burada n = size(X, dims) = size(Y, dims)
.
Statistics.mean!
— Functionmean!(r, v)
v
'nin r
'nin tekil boyutları üzerindeki ortalamasını hesaplayın ve sonuçları r
'ye yazın.
Örnekler
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
— Functionmean(itr)
Bir koleksiyondaki tüm elemanların ortalamasını hesaplayın.
Eğer itr
NaN
veya missing
değerleri içeriyorsa, sonuç da NaN
veya missing
olacaktır (missing
, dizi her ikisini de içeriyorsa önceliklidir). missing
girişlerini atlamak ve eksik olmayan değerlerin ortalamasını hesaplamak için skipmissing
fonksiyonunu kullanın.
Örnekler
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, itr)
Koleksiyon itr
'nin her bir elemanına f
fonksiyonunu uygula ve ortalamasını al.
julia> using Statistics
julia> mean(√, [1, 2, 3])
1.3820881233139908
julia> mean([√1, √2, √3])
1.3820881233139908
mean(f, A::AbstractArray; dims)
Dizi A
'nın her bir elemanına f
fonksiyonunu uygula ve dims
boyutları üzerinde ortalamayı al.
Bu yöntem en az Julia 1.3 gerektirir.
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)
Verilen boyutlar üzerinde bir dizinin ortalamasını hesaplayın.
Boş diziler için mean
en az Julia 1.1 gerektirir.
Örnekler
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!
— Functionmedian!(v)
median
gibi, ancak girdi vektörünü üzerine yazabilir.
Statistics.median
— Functionmedian(itr)
Bir koleksiyondaki tüm elemanların medyanını hesaplar. Eleman sayısı çift olduğunda, tam bir medyan elemanı yoktur, bu nedenle sonuç iki medyan elemanının ortalamasını almakla eşdeğerdir.
Eğer itr
NaN
veya missing
değerleri içeriyorsa, sonuç da NaN
veya missing
olacaktır (itr
hem NaN
hem de missing
içeriyorsa missing
önceliklidir). missing
girişlerini atlamak ve eksik olmayan değerlerin medyanını hesaplamak için skipmissing
fonksiyonunu kullanın.
Örnekler
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)
Verilen boyutlar boyunca bir dizinin medyanını hesaplar.
Örnekler
julia> using Statistics
julia> median([1 2; 3 4], dims=1)
1×2 Matrix{Float64}:
2.0 3.0
Statistics.middle
— Functionmiddle(x)
Bir skalar değerin ortalamasını hesaplar, bu da x
'in kendisine eşdeğerdir, ancak tutarlılık için middle(x, x)
türündedir.
middle(x, y)
İki sayının x
ve y
ortalamasını hesaplar, bu da değer ve tür açısından onların ortalamasıyla eşdeğerdir ((x + y) / 2
).
middle(a::AbstractArray)
Bir dizi a
nın ortasını hesaplayın, bu, onun ekstremalarını bulmayı ve ardından bunların ortalamasını hesaplamayı içerir.
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
Statistics.quantile!
— Functionquantile!([q::AbstractArray, ] v::AbstractVector, p; sorted=false, alpha::Real=1.0, beta::Real=alpha)
Bir vektör v
için belirtilen olasılık veya olasılıkların vektörü veya demeti p
üzerinde [0,1] aralığında kuantil(ler) hesaplayın. Eğer p
bir vektör ise, isteğe bağlı bir çıktı dizisi q
de belirtilebilir. (Sağlanmazsa, yeni bir çıktı dizisi oluşturulur.) Anahtar kelime argümanı sorted
, v
'nin sıralı olduğu varsayımını belirtir; eğer false
(varsayılan), o zaman v
'nin elemanları yerinde kısmen sıralanacaktır.
Örnek kuantiller Q(p) = (1-γ)*x[j] + γ*x[j+1]
ile tanımlanır; burada x[j]
, v
'nin j-inci sıralama istatistiğidir, j = floor(n*p + m)
, m = alpha + p*(1 - alpha - beta)
ve γ = n*p + m - j
.
Varsayılan olarak (alpha = beta = 1
), kuantiller, ((k-1)/(n-1), x[k])
noktaları arasında lineer interpolasyon ile hesaplanır; burada k = 1:n
ve n = length(v)
. Bu, Hyndman ve Fan (1996) tanım 7'sine karşılık gelir ve R ve NumPy varsayılanı ile aynıdır.
Anahtar kelime argümanları alpha
ve beta
, Hyndman ve Fan'daki aynı parametrelere karşılık gelir; bunları farklı değerlere ayarlamak, bu makalede tanımlanan 4-9 yöntemleri ile kuantillerin hesaplanmasına olanak tanır:
- Tanım 4:
alpha=0
,beta=1
- Tanım 5:
alpha=0.5
,beta=0.5
(MATLAB varsayılanı) - Tanım 6:
alpha=0
,beta=0
(ExcelPERCENTILE.EXC
, Python varsayılanı, Stataaltdef
) - Tanım 7:
alpha=1
,beta=1
(Julia, R ve NumPy varsayılanı, ExcelPERCENTILE
vePERCENTILE.INC
, Python'inclusive'
) - Tanım 8:
alpha=1/3
,beta=1/3
- Tanım 9:
alpha=3/8
,beta=3/8
Eğer v
NaN
veya missing
değerleri içeriyorsa bir ArgumentError
fırlatılır.
Kaynaklar
- Hyndman, R.J ve Fan, Y. (1996) "Sample Quantiles in Statistical Packages", The American Statistician, Cilt. 50, No. 4, ss. 361-365
- Wikipedia'da Kuantil farklı kuantil tanımlarını detaylandırmaktadır
Örnekler
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
— Functionquantile(itr, p; sorted=false, alpha::Real=1.0, beta::Real=alpha)
Bir koleksiyon itr
için belirtilen olasılık veya olasılıkların vektörü veya demeti p
üzerinde [0,1] aralığında kuantil(ler) hesaplayın. Anahtar kelime argümanı sorted
, itr
'nin sıralı olduğu varsayımında bulunulup bulunulamayacağını belirtir.
Örnek kuantiller, Q(p) = (1-γ)*x[j] + γ*x[j+1]
ile tanımlanır; burada x[j]
, itr
'nin j-inci sıralama istatistiğidir, j = floor(n*p + m)
, m = alpha + p*(1 - alpha - beta)
ve γ = n*p + m - j
.
Varsayılan olarak (alpha = beta = 1
), kuantiller, ((k-1)/(n-1), x[k])
noktaları arasında lineer interpolasyon yoluyla hesaplanır; burada k = 1:n
ve n = length(itr)
. Bu, Hyndman ve Fan (1996)'nın Tanım 7'sine karşılık gelir ve R ve NumPy varsayılanı ile aynıdır.
Anahtar kelime argümanları alpha
ve beta
, Hyndman ve Fan'daki aynı parametrelere karşılık gelir; bunları farklı değerlere ayarlamak, bu makalede tanımlanan 4-9 yöntemleri ile kuantillerin hesaplanmasına olanak tanır:
- Tanım 4:
alpha=0
,beta=1
- Tanım 5:
alpha=0.5
,beta=0.5
(MATLAB varsayılanı) - Tanım 6:
alpha=0
,beta=0
(ExcelPERCENTILE.EXC
, Python varsayılanı, Stataaltdef
) - Tanım 7:
alpha=1
,beta=1
(Julia, R ve NumPy varsayılanı, ExcelPERCENTILE
vePERCENTILE.INC
, Python'inclusive'
) - Tanım 8:
alpha=1/3
,beta=1/3
- Tanım 9:
alpha=3/8
,beta=3/8
Eğer v
NaN
veya missing
değerleri içeriyorsa bir ArgumentError
fırlatılır. missing
girişlerini atlamak ve eksik olmayan değerlerin kuantillerini hesaplamak için skipmissing
fonksiyonunu kullanın.
Kaynaklar
- Hyndman, R.J ve Fan, Y. (1996) "Statistik Paketlerinde Örnek Kuantilleri", The American Statistician, Cilt. 50, No. 4, ss. 361-365
- Wikipedia'da Kuantil farklı kuantil tanımlarını detaylandırmaktadır
Örnekler
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