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çeriyorsamissingö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.0Statistics.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.0mean(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.3820881233139908mean(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.2285192400943226mean(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.5Statistics.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.0median(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.0Statistics.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 anı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.95Statistics.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ı, ExcelPERCENTILEvePERCENTILE.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.8000000000000003Statistics.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ı, ExcelPERCENTILEvePERCENTILE.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