0

我对 MySql 关于标准函数的结果感到疯狂: - AVG() 平均值 - STD() 标准偏差

从我的表“拍卖”中检查以下结果:

mysql> SELECT avg(buyout) avg FROM auction where buyout <> 0 and item =72988;
+-------------+
| avg         |
+-------------+
| 234337.3622 |
+-------------+

结果看起来是正确的,没有问题。但是当我运行标准时:

mysql> SELECT std(buyout) std FROM auction where buyout <> 0 and item =72988;
+-------------+
| std         |
+-------------+
| 574373.6098 |
+-------------+

!SDT 大于 AVG (SDT > AVG),这是不可能的,因为我的 AVG>0。

我在这里错在哪里......?提前谢谢!

4

2 回答 2

2

没有数学约束说如果平均值为正,则它必须小于标准差。

我在 R 中阅读了您的数据摘录

data <- read.table("extract_72988.csv", h=1, sep="\t")

并确认

> mean(data$BUYOUT)
[1] 234337.4
> sd(data$BUYOUT)
[1] 574421.3

进一步分析您的数据表明它远非正态分布

这是您的数据的直方图:

买断直方图

这是对数转换数据的直方图

对数直方图(买断)

最后是正常的QQ剧情

QQ情节

于 2012-10-06T15:54:17.593 回答
-1

或者换一种说法,我们关注的是拍卖价格。数据库中的每个价格都是一个正值。我们的平均值没有减少也没有居中,大约是 2.35,但是 st.dev 的计算返回的值高于 2.35。如果我们把这个结果作为图表,这意味着价格围绕一个大于平均值本身的值的平均值移动,如果我们将这个标准差从我们的平均值“向左”绘制,那么它会说有找到负价的概率 -> 不可能!

对 ?

于 2012-10-06T15:40:38.147 回答