统计数字
统计标准库模块包含基本的统计功能。
# *`统计数字。性病`*-函数
std(itr; corrected::Bool=true, mean=nothing[, dims])
计算收集的样本标准偏差 itr.
该算法返回生成分布的标准差的估计量,假设每个条目 itr 是从相同的未知分布中提取的样本,样本不相关。 对于数组,这种计算相当于计算 sqrt(sum((itr.-均值(itr))。^2)/(长度(itr)-1)). 如果 更正 是 真的,则和与缩放 n-1,而总和与缩放 n 如果 更正 是 错误 与 n 中元素的数量 itr.
如果 itr 是一个 抽象阵列, 暗淡无光 可以提供计算尺寸上的标准偏差.
预先计算的 平均 可以提供。 何时 暗淡无光 被指定, 平均 必须是具有相同形状的数组 均值(itr,dims=dims) (允许额外的尾随单例维度)。
# *`统计数字。stdm/stdm`*-函数
stdm(itr, mean; corrected::Bool=true[, dims])
计算收集的样本标准偏差 itr,已知均值 平均.
该算法返回生成分布的标准差的估计量,假设每个条目 itr 是从相同的未知分布中提取的样本,样本不相关。 对于数组,这种计算相当于计算 sqrt(sum((itr.-均值(itr))。^2)/(长度(itr)-1)). 如果 更正 是 真的,则和与缩放 n-1,而总和与缩放 n 如果 更正 是 错误 与 n 中元素的数量 itr.
如果 itr 是一个 抽象阵列, 暗淡无光 可以提供计算尺寸上的标准偏差. 那样的话, 平均 必须是具有相同形状的数组 均值(itr,dims=dims) (允许额外的尾随单例维度)。
# *`统计数字。瓦尔`*-函数
var(itr; corrected::Bool=true, mean=nothing[, dims])
计算集合的样本方差 itr.
该算法返回生成分布方差的估计量,假设每个条目 itr 是从相同的未知分布中提取的样本,样本不相关。 对于数组,这种计算相当于计算 sum((itr.-均值(itr))。^2)/(长度(itr)-1). 如果 更正 是 真的,则和与缩放 n-1,而总和与缩放 n 如果 更正 是 错误 哪里 n 是元素的数量在 itr.
如果 itr 是一个 抽象阵列, 暗淡无光 可以提供计算维度上的方差。
预先计算的 平均 可以提供。 何时 暗淡无光 被指定, 平均 必须是具有相同形状的数组 均值(itr,dims=dims) (允许额外的尾随单例维度)。
# *`统计数字。瓦尔姆`*-函数
varm(itr, mean; dims, corrected::Bool=true)
计算集合的样本方差 itr,已知均值 平均.
该算法返回生成分布方差的估计量,假设每个条目 itr 是从相同的未知分布中提取的样本,样本不相关。 对于数组,这种计算相当于计算 sum((itr.-均值(itr))。^2)/(长度(itr)-1). 如果 更正 是 真的,则和与缩放 n-1,而总和与缩放 n 如果 更正 是 错误 与 n 中元素的数量 itr.
如果 itr 是一个 抽象阵列, 暗淡无光 可以提供计算维度上的方差。 那样的话, 平均 必须是具有相同形状的数组 均值(itr,dims=dims) (允许额外的尾随单例维度)。
# *`统计数字。[医]肺心病`*-函数
cor(x::AbstractVector)
返回一号。
cor(X::AbstractMatrix; dims::Int=1)
计算矩阵的Pearson相关矩阵 X 沿尺寸 暗淡无光.
cor(x::AbstractVector, y::AbstractVector)
计算向量之间的Pearson相关性 x 和 y.
cor(X::AbstractVecOrMat, Y::AbstractVecOrMat; dims=1)
计算向量或矩阵之间的Pearson相关性 X 和 Y 沿尺寸 暗淡无光.
# *`统计数字。cov`*-函数
cov(x::AbstractVector; corrected::Bool=true)
计算向量的方差 x. 如果 更正 是 真的 (默认值)然后将总和缩放为 n-1,而总和与缩放 n 如果 更正 是 错误 哪里 n=长度(x).
cov(X::AbstractMatrix; dims::Int=1, corrected::Bool=true)
计算矩阵的协方差矩阵 X 沿尺寸 暗淡无光. 如果 更正 是 真的 (默认值)然后将总和缩放为 n-1,而总和与缩放 n 如果 更正 是 错误 哪里 n=尺寸(X,dims).
cov(x::AbstractVector, y::AbstractVector; corrected::Bool=true)
计算向量之间的协方差 x 和 y. 如果 更正 是 真的 (默认值),计算 哪里 表示复共轭和 n=长度(x)=长度(y). 如果 更正 是 错误,计算机 .
cov(X::AbstractVecOrMat, Y::AbstractVecOrMat; dims::Int=1, corrected::Bool=true)
计算向量或矩阵之间的协方差 X 和 Y 沿尺寸 暗淡无光. 如果 更正 是 真的 (默认值)然后将总和缩放为 n-1,而总和与缩放 n 如果 更正 是 错误 哪里 n=尺寸(X,dims)=尺寸(Y,dims).
# *`统计数字。卑鄙!`*-函数
mean!(r, v)
计算 v 在单例维度 r,并将结果写入 r.
*例子*
julia> using Statistics
朱莉娅>v=[1 2;3 4]
2×2矩阵{Int64}:
1 2
3 4
朱莉娅>的意思!([1., 1.],v)
2元素向量{Float64}:
1.5
3.5
朱莉娅>的意思!([1. 1.],v)
1×2矩阵{Float64}:
2.0 3.0
# *`统计数字。平均`*-函数
mean(itr)
计算集合中所有元素的均值。
*例子*
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)
应用函数 f 到集合的每个元素 itr 并采取均值。
julia> using Statistics
julia> mean(√, [1, 2, 3])
1.3820881233139908
julia> mean([√1, √2, √3])
1.3820881233139908
mean(f, A::AbstractArray; dims)
应用函数 f 到数组的每个元素 A 并对尺寸取平均值 暗淡无光.
|
兼容性
Julia1.3此方法至少需要Julia1.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
mean(A::AbstractArray; dims)
计算给定维度上数组的均值。
|
兼容性
朱莉娅1.1 |
*例子*
julia> using Statistics
julia> A = [1 2; 3 4]
2×2 Matrix{Int64}:
1 2
3 4
julia>均值(A,dims=1)
1×2矩阵{Float64}:
2.0 3.0
julia>均值(A,dims=2)
2×1矩阵{Float64}:
1.5
3.5
# *`统计数字。中位数`*-函数
median(itr)
计算集合中所有元素的中位数。 对于偶数个元素,不存在精确的中值元素,因此结果相当于计算两个中值元素的均值。
*例子*
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 Matrix{Float64}:
2.0 3.0
# *`统计数字。中间`*-函数
middle(x)
计算标量值的中间值,相当于 x 本身,但类型的 中间(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.95
# *`统计数字。分位数!`*-函数
quantile!([q::AbstractArray, ] v::AbstractVector, p; sorted=false, alpha::Real=1.0, beta::Real=alpha)
计算矢量的分位数 v 在指定的概率或向量或概率元组 p 在区间[0,1]上。 如果 p 是一个向量,一个可选的输出数组 q 也可以指定。 (如果未提供,则会创建一个新的输出数组。)关键字参数 已分类 指示是否 v 可以假设为排序;如果 错误 (默认值),然后是 v 将部分就地排序。
分位数由 Q(p)=(1-γ)*x[j]+γ*x[j+1],在哪里 x[j] 是第j阶统计量的 v, j=楼层(n*p+m), m=alpha+p*(1-alpha-beta) 和 γ=n*p+m-j.
默认情况下(阿尔法=贝塔=1),分位数通过点之间的线性插值计算 ((k-1)/(n-1),x[k]),为 k=1:n 哪里 n=长度(v). 这对应于Hyndman and Fan(1996)的定义7,并且与R和NumPy默认值相同。
关键字参数 阿尔法 和 贝塔 对应于Hyndman和Fan中的相同参数,将它们设置为不同的值允许用本文中定义的任何方法4-9计算分位数:
*Def。 4: 阿尔法=0, beta=1
*Def。 5: 阿尔法=0.5, beta=0.5 (MATLAB默认)
*Def。 6: 阿尔法=0, beta=0 (Excel 百分位数。EXC,Python默认,Stata 阿尔特德夫)
*Def。 7: 阿尔法=1, beta=1 (Julia,R和NumPy默认值,Excel 百分位数 和 百分位数。公司,蟒蛇 "包容性")
*Def。 8: 阿尔法=1/3, 贝塔=1/3
*Def。 9: 阿尔法=3/8, 贝塔=3/8
|
注一 |
*参考资料*
*Hyndman,R.J和Fan,Y.(1996)"统计包中的样本分位数",The American Statistician,Vol。 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
# *`统计数字。分位数`*-函数
quantile(itr, p; sorted=false, alpha::Real=1.0, beta::Real=alpha)
计算集合的分位数 itr 在指定的概率或向量或概率元组 p 在区间[0,1]上。 关键字参数 已分类 指示是否 itr 可以假设被排序。
分位数由 Q(p)=(1-γ)*x[j]+γ*x[j+1],在哪里 x[j] 是第j阶统计量的 itr, j=楼层(n*p+m), m=alpha+p*(1-alpha-beta) 和 γ=n*p+m-j.
默认情况下(阿尔法=贝塔=1),分位数通过点之间的线性插值计算 ((k-1)/(n-1),x[k]),为 k=1:n 哪里 n=长度(itr). 这对应于Hyndman and Fan(1996)的定义7,并且与R和NumPy默认值相同。
关键字参数 阿尔法 和 贝塔 对应于Hyndman和Fan中的相同参数,将它们设置为不同的值允许用本文中定义的任何方法4-9计算分位数:
*Def。 4: 阿尔法=0, beta=1
*Def。 5: 阿尔法=0.5, beta=0.5 (MATLAB默认)
*Def。 6: 阿尔法=0, beta=0 (Excel 百分位数。EXC,Python默认,Stata 阿尔特德夫)
*Def。 7: 阿尔法=1, beta=1 (Julia,R和NumPy默认值,Excel 百分位数 和 百分位数。公司,蟒蛇 "包容性")
*Def。 8: 阿尔法=1/3, 贝塔=1/3
*Def。 9: 阿尔法=3/8, 贝塔=3/8
*参考资料*
*Hyndman,R.J和Fan,Y.(1996)"统计包中的样本分位数",The American Statistician,Vol。 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