统计学上sd、cv的计算

sd Std Dev,Standard Deviation 标准偏差(Std Dev,Standard Deviation)
一种量度数据分布的分散程度之标准,用以衡量数据值偏离算术平均值的程度。标准偏差越小,这些值偏离平均值就越少,反之亦然。标准偏差的大小可通过标准偏差与平均值的倍率关系来衡量。

标准偏差公式:S = Sqr(∑(xn-x拨)^2 /(n-1))
公式中∑代表总和,x拨代表x的算术平均值,^2代表二次方,Sqr代表平方根。

例子:有一组数字分别是200、50、100、200,求它们的标准偏差。
[code]
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
[/code]

cv 变异系数(coefficient of variation),亦称离散系数(coefficient of dispersion)或相对偏差(rsd),是标准偏差与平均值之比,用百分数表示,计算公式为:
cv = sd/mean ×100%
200、50、100、200的cv=55%

通过[url=http://commons.apache.org/math/userguide/stat.html]commons-math[/url],要计算SD、CV值,只需要
[code]
// 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值
[/code]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值