样本方差

时间:2021-02-06 22:53:50

标签: r variance

function(x) var(sum(((x - mean(x))^2)/(n - 1)))

这是我的功能,但似乎不起作用。 我们可以在函数中使用 var 吗?

1 个答案:

答案 0 :(得分:1)

除非我弄错了,否则这比你想象的要困难得多;您无法按照您尝试的方式直接计算它。 (提示:当您取 $result = []; foreach ($array as ['question_id' => $q, 'segment_name' => $s, 'brand_name' => $b, 'count' => $c]) { $result[$q]['question_id'] = $q; $result[$q]['brands'][$b]['name'] = $b; $result[$q]['brands'][$b]['count'][$s] = $c; } foreach ($result as &$row) { $row['brands'] = array_values($row['brands']); } var_export(array_values($result)); 时,您会得到一个长度为 1 的值/向量,因此该向量的样本方差为 sum()。)This post on Mathematics Stack Exchange 导出样本方差的方差如NA,其中mu_4/n - sigma^4*(n-3)/(n*(n-1))第四个中心矩;您还可以看到 this post on CrossValidatedthis Wikipedia page(不同的推导根据第四个中心矩、峰度或超额峰度来呈现结果......)所以:

mu_4

小心:

set.seed(101)
r <- rnorm(100)
mu_4 <- mean((r-mean(r))^4)
sigma_4 <- var(r)^2
n <- length(r)
mu_4/n - sigma_4*(n-3)/(n*(n-1))  ## 0.01122

给出大约 0.0202。至少它不是错误的数量级,但它与上面的示例相差 2 倍。我的猜测只是估计本身是高度可变的(这并不奇怪,因为它取决于第四时刻......)(我尝试了几次上面的估计方法,它确实看起来高度可变......)

相关问题