我对MySql关于标准功能的结果感到不满意: - AVG()的平均值 - STD()标准差
检查我的表'拍卖'中的以下结果:
mysql> SELECT avg(buyout) avg FROM auction where buyout <> 0 and item =72988;
+-------------+
| avg |
+-------------+
| 234337.3622 |
+-------------+
该结果看起来正确,没问题。 但是当我跑std时:
mysql> SELECT std(buyout) std FROM auction where buyout <> 0 and item =72988;
+-------------+
| std |
+-------------+
| 574373.6098 |
+-------------+
! SDT大于AVG(SDT&gt; AVG),这是......因为我的AVG&gt; 0而不可能。
我在哪里错了......? 提前thx!
答案 0 :(得分:2)
没有数学约束,如果平均值为正,则必须小于标准偏差。
我在R
中阅读了你的数据摘录data <- read.table("extract_72988.csv", h=1, sep="\t")
并确认
> mean(data$BUYOUT)
[1] 234337.4
> sd(data$BUYOUT)
[1] 574421.3
对您的数据进行进一步分析表明它远未正常分发
以下是数据的直方图:
这是对数转换数据的直方图
最后是正常的Q-Q情节
答案 1 :(得分:-1)
或者换句话说,我们正在考虑拍卖价格。数据库中的每个价格都是正值。我们的均值没有减少也没有居中,大约是2.35,但是st.dev的计算返回的值高于2.35。如果我们把这个结果作为一个图表,那就意味着价格会移动一个大于平均值的平均值。如果我们从我们的均值“向左”绘制这个标准差,那么就会说有找到负价的概率 - &gt;不可能!
对吗?