2007-11-06
统计学上sd、cv的计算
关键字: java
sd Std Dev,Standard Deviation 标准偏差(Std Dev,Standard Deviation)
一种量度数据分布的分散程度之标准,用以衡量数据值偏离算术平均值的程度。标准偏差越小,这些值偏离平均值就越少,反之亦然。标准偏差的大小可通过标准偏差与平均值的倍率关系来衡量。
标准偏差公式:S = Sqr(∑(xn-x拨)^2 /(n-1))
一种量度数据分布的分散程度之标准,用以衡量数据值偏离算术平均值的程度。标准偏差越小,这些值偏离平均值就越少,反之亦然。标准偏差的大小可通过标准偏差与平均值的倍率关系来衡量。
标准偏差公式:S = Sqr(∑(xn-x拨)^2 /(n-1))
公式中∑代表总和,x拨代表x的算术平均值,^2代表二次方,Sqr代表平方根。
例:有一组数字分别是200、50、100、200,求它们的标准偏差。
x拨 = (200+50+100+200)/4 = 550/4 = 137.5
S^2 = [(200-137.5)^2+(50-137.5)^2+(100-137.5)^2+(200-137.5)^2]/(4-1) =[62.5^2+(-87.5)^2+(-37.5)^2+62.5^2]/3 =[3906.25+7656.25+1406.25+3906.25]/3 = 16875/3 = 5625
标准偏差 S = Sqr(5625) = 75
cv 变异系数(coefficient of variation),亦称离散系数(coefficient of dispersion)或相对偏差(rsd),是标准偏差与平均值之比,用百分数表示,计算公式为:
cv = sd/mean ×100%
200、50、100、200的cv=55%
通过commons-math,要计算SD、CV值,只需要
// Get a DescriptiveStatistics instance using factory method
DescriptiveStatistics stats = DescriptiveStatistics.newInstance();
// Add the data from the array
for( int i = 0; i < inputArray.length; i++) {
stats.addValue(inputArray[i]);
}
double std = stats.getStandardDeviation(); //获得sd值
double mean=stats.getMean(); // 获得平均值
String cv=new DecimalFormat("0%").format(DoubleUtil.divide(std,mean,2)); //获得cv值
发表评论
- 浏览: 9723 次
- 性别:

- 来自: 深圳

- 详细资料
搜索本博客
最新评论
-
j2ee系统与rtx的整合实现
可以直接在java类里面调用方法发送消息吗,不到页面
-- by hrob -
下载、合并szdaily的PDF
嗯,wget通用一些,不过axel速度可能快一点,有时候pdf还是挺大的。r是多 ...
-- by ivan -
下载、合并szdaily的PDF
用wget更通用一些吧rm -rf 的 r有些多余不过还是挺强的!
-- by mikecool -
j2ee系统与rtx的整合实现
能不能在服务器端模拟实现从发送人A给接收人B发送即时消息的功能
-- by pennypipi






评论排行榜