一个元素的标准偏差

时间:2011-11-05 22:50:35

标签: wolfram-mathematica

当我尝试执行

StandardDeviation[{1}]

我收到错误

StandardDeviation::shlen: "The argument {1} should have at least two elements"

但是一个元素的标准是0,不是吗?

5 个答案:

答案 0 :(得分:14)

标准偏差通常定义为方差无偏估算的平方根:

enter image description here

您可以轻松地看到,对于单个样本N=1,您会得到0/0,这是未定义的。因此,对于Mathematica中的单个样本,您的标准偏差是未定义的。

现在,根据您的约定,您可能希望为单个样本定义标准偏差(返回Null或某个值或0)。这是一个示例,向您展示如何为单个样本定义它。

std[x_List] := Which[(Length[x] == 1), 0, True, StandardDeviation[x]]
std[{1}]
Out[1]= 0

答案 1 :(得分:8)

常数的标准偏差为零。

一个样本的估计标准偏差未定义。

答案 2 :(得分:1)

如果你想要一些形式:

p[x_] := DiracDelta[x - mu];
expValue = Integrate[x p[x] , {x, -Infinity, Infinity}]
stdDev = Sqrt[Integrate[(x - expValue)^2 p[x] , {x, -Infinity, Infinity}]]

(*
-> ConditionalExpression[mu, mu \[Element] Reals]
-> ConditionalExpression[0, mu \[Element] Reals]
*)

修改

或者更好,使用Mathematica ProbabilityDistribution[]

dist = ProbabilityDistribution[DiracDelta[x - mu], {x, -Infinity, Infinity}];
{Mean[dist], StandardDeviation[dist]}

(*
 -> { mu, ConditionalExpression[0, mu \[Element] Reals]}
*)

答案 3 :(得分:1)

如果您的人口规模是一个元素,那么您的人口的标准差将为0.但是通常标准偏差用于样本,而不是整个人口,因此不是除以总数中的元素数量。样本,除以元素数减一。这是由于对样本而非人口进行计算所固有的误差。

对1号人口进行标准差的计算绝对没有意义,我认为这是混乱的来源。如果您知道您的总体只包含一个元素,那么找出该元素的标准偏差是没有意义的,因此通常您会看到单个元素的标准偏差被写为未定义。

答案 4 :(得分:0)

标准偏差 - 衡量实际值与给定集合平均值之间的偏差 - 对于一个元素的列表没有任何意义(如果需要,可以将其设置为0)。 / p>