Statistics

تحتوي مكتبة معيار الإحصائيات على وظائف إحصائية أساسية.

Statistics.stdFunction
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 لحساب الانحراف المعياري عبر الأبعاد.

يمكن تقديم mean محسوبة مسبقًا. عندما يتم تحديد dims، يجب أن تكون mean مصفوفة بنفس شكل mean(itr, dims=dims) (تُسمح بأبعاد فردية إضافية في النهاية).

!!! ملاحظة إذا كانت المصفوفة تحتوي على قيم NaN أو missing، فإن النتيجة ستكون أيضًا NaN أو missing (missing تأخذ الأولوية إذا كانت المصفوفة تحتوي على كلاهما). استخدم دالة skipmissing لتجاهل الإدخالات المفقودة وحساب الانحراف المعياري للقيم غير المفقودة.

source
Statistics.stdmFunction
stdm(itr, mean; corrected::Bool=true[, dims])

احسب الانحراف المعياري لعينة من المجموعة 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 لتجاهل الإدخالات المفقودة وحساب الانحراف المعياري للقيم غير المفقودة.

source
Statistics.varFunction
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 لتجاهل الإدخالات المفقودة وحساب التباين للقيم غير المفقودة.

source
Statistics.varmFunction
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) (تُسمح بأبعاد مفردة إضافية في النهاية).

Note

إذا كانت المصفوفة تحتوي على قيم NaN أو missing، فإن النتيجة ستكون أيضًا NaN أو missing (missing تأخذ الأولوية إذا كانت المصفوفة تحتوي على كلاهما). استخدم دالة skipmissing لتجاهل الإدخالات المفقودة وحساب التباين للقيم غير المفقودة.

source
Statistics.corFunction
cor(x::AbstractVector)
source
cor(X::AbstractMatrix; dims::Int=1)

احسب مصفوفة الارتباط بيرسون للمصفوفة X على طول البعد dims.

source
cor(x::AbstractVector, y::AbstractVector)

احسب معامل الارتباط بيرسون بين المتجهات x و y.

source
cor(X::AbstractVecOrMat, Y::AbstractVecOrMat; dims=1)

احسب معامل الارتباط بيرسون بين المتجهات أو المصفوفات X و Y على طول البعد dims.

source
Statistics.covFunction
cov(x::AbstractVector; corrected::Bool=true)

احسب تباين المتجه x. إذا كانت corrected تساوي true (القيمة الافتراضية) فإن المجموع يتم قياسه بـ n-1، بينما يتم قياس المجموع بـ n إذا كانت corrected تساوي false حيث أن n = length(x).

source
cov(X::AbstractMatrix; dims::Int=1, corrected::Bool=true)

احسب مصفوفة التباين للمصفوفة X على طول البعد dims. إذا كان corrected هو true (القيمة الافتراضية) فإن المجموع يتم تحجيمه بـ n-1، بينما يتم تحجيم المجموع بـ n إذا كان corrected هو false حيث n = size(X, dims).

source
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)^*$.

source
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).

source
Statistics.mean!Function
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
source
Statistics.meanFunction
mean(itr)

احسب المتوسط لجميع العناصر في مجموعة.

!!! ملاحظة إذا كانت itr تحتوي على قيم NaN أو missing، فإن النتيجة ستكون أيضًا NaN أو missing (missing لها الأولوية إذا كانت المصفوفة تحتوي على كلاهما). استخدم دالة skipmissing لتجاهل الإدخالات المفقودة وحساب المتوسط للقيم غير المفقودة.

أمثلة

julia> using Statistics

julia> mean(1:20)
10.5

julia> mean([1, missing, 3])
missing

julia> mean(skipmissing([1, missing, 3]))
2.0
source
mean(f, itr)

قم بتطبيق الدالة f على كل عنصر من عناصر المجموعة itr واحسب المتوسط.

julia> using Statistics

julia> mean(√, [1, 2, 3])
1.3820881233139908

julia> mean([√1, √2, √3])
1.3820881233139908
source
mean(f, A::AbstractArray; dims)

قم بتطبيق الدالة f على كل عنصر من مصفوفة A واحسب المتوسط عبر الأبعاد dims.

Julia 1.3

تتطلب هذه الطريقة على الأقل 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
source
mean(A::AbstractArray; dims)

احسب متوسط مصفوفة عبر الأبعاد المعطاة.

جوليا 1.1

mean للمصفوفات الفارغة يتطلب على الأقل جوليا 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
source
Statistics.medianFunction
median(itr)

احسب الوسيط لجميع العناصر في مجموعة. بالنسبة لعدد زوجي من العناصر، لا يوجد عنصر وسيط دقيق، لذا فإن النتيجة تعادل حساب متوسط عنصرين وسيطين.

!!! ملاحظة إذا كانت itr تحتوي على قيم NaN أو missing، فإن النتيجة ستكون أيضًا NaN أو missing (missing لها الأسبقية إذا كانت itr تحتوي على كلاهما). استخدم دالة skipmissing لتجاهل الإدخالات المفقودة وحساب الوسيط للقيم غير المفقودة.

أمثلة

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
source
median(A::AbstractArray; dims)

احسب الوسيط لمصفوفة على طول الأبعاد المعطاة.

أمثلة

julia> using Statistics

julia> median([1 2; 3 4], dims=1)
1×2 Matrix{Float64}:
 2.0  3.0
source
Statistics.middleFunction
middle(x)

احسب منتصف قيمة عددية، وهو ما يعادل x نفسه، ولكن من نوع middle(x, x) من أجل التناسق.

source
middle(x, y)

احسب منتصف رقمين x و y، والذي يعادل من حيث القيمة والنوع حساب متوسطهما ((x + y) / 2).

source
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.95
source
Statistics.quantile!Function
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 جزئيًا في المكان.

تُعرف الكميات العينية بواسطة Q(p) = (1-γ)*x[j] + γ*x[j+1]، حيث x[j] هو الإحصاء من الرتبة j لـ v، 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). وهذا يتوافق مع التعريف 7 لـ Hyndman و Fan (1996)، وهو نفس الافتراضي في 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 (Excel PERCENTILE.EXC، افتراضي Python، Stata altdef)
  • Def. 7: alpha=1, beta=1 (افتراضي Julia و R و NumPy، Excel PERCENTILE و PERCENTILE.INC، Python 'inclusive')
  • Def. 8: alpha=1/3, beta=1/3
  • Def. 9: alpha=3/8, beta=3/8

!!! ملاحظة يتم طرح ArgumentError إذا كانت v تحتوي على قيم NaN أو missing.

المراجع

  • Hyndman, R.J و Fan, Y. (1996) "Sample Quantiles in Statistical Packages"، 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
source
Statistics.quantileFunction
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 من itr، 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). وهذا يتوافق مع التعريف 7 من هايندمان وفان (1996)، وهو نفس الافتراضي في R وNumPy.

تشير الوسيطات الرئيسية alpha و beta إلى نفس المعلمات في هايندمان وفان، مما يسمح بحساب الكميات باستخدام أي من الطرق 4-9 المحددة في هذه الورقة:

  • التعريف 4: alpha=0، beta=1
  • التعريف 5: alpha=0.5، beta=0.5 (افتراضي MATLAB)
  • التعريف 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 لتجاهل الإدخالات المفقودة وحساب الكميات للقيم غير المفقودة.

المراجع

  • هايندمان، R.J وفان، Y. (1996) "كميات العينة في حزم الإحصاء"، الإحصائي الأمريكي، المجلد 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
source