• 使用Apache commons-maths3-3.6.1.jar包进行简单的数据统计分析(java)


    使用maths3函数进行简单的数据统计性描述;

    使用场景:本地,直接运行就可以;

    具体后面有个性化的需求,可以再修改~

     1 package com;
     2 
     3 import org.apache.commons.lang.math.Range;
     4 import org.apache.commons.lang3.StringUtils;
     5 import org.apache.commons.math3.stat.StatUtils;
     6 import org.apache.commons.math3.stat.descriptive.moment.StandardDeviation;
     7 import org.apache.commons.math3.stat.descriptive.rank.Median;
     8 
     9 /*
    10  * @description:简单的数据统计分析
    11  * */
    12 
    13 public class MathYsf {
    14     public static void main(String[] args){
    15         double[] values = new double[] { 0.33, 1.33,0.27333, 0.3, 0.501,  
    16                 0.444, 0.44, 0.34496, 0.33,0.3, 0.292, 0.667 }; 
    17         double[] values2 = new double[] { 0.89, 1.51,0.37999, 0.4, 0.701,  
    18                 0.484, 0.54, 0.56496, 0.43,0.3, 0.392, 0.567 };
    19         
    20         //计数
    21         System.out.println("计算样本个数为:" +values.length);
    22         //mean--算数平均数
    23         System.out.println("平均数:" + StatUtils.mean(values));
    24         //sum--和
    25         System.out.println("所有数据相加结果为:" + StatUtils.sum(values));
    26         //max--最小值
    27         System.out.println("最小值:" + StatUtils.min(values));
    28         //max--最大值
    29         System.out.println("最大值:" + StatUtils.max(values));
    30         //范围
    31         System.out.println("范围是:" + (StatUtils.max(values)-StatUtils.min(values)));
    32         //标准差  
    33         StandardDeviation standardDeviation =new StandardDeviation();
    34         System.out.println("一组数据的标准差为:" + standardDeviation.evaluate(values));
    35         //variance--方差
    36         System.out.println("一组数据的方差为:" + StatUtils.variance(values));
    37         //median--中位数
    38         Median median= new Median();
    39         System.out.println("中位数:" + median.evaluate(values));
    40         //mode--众数
    41         double[] res = StatUtils.mode(values);
    42         System.out.println("众数:" + res[0]+","+res[1]);
    43         for(int i = 0;i<res.length;i++){
    44             System.out.println("第"+(i+1)+"个众数为:"+res[i]);
    45             }
    46         //geometricMean--几何平均数
    47         System.out.println("几何平均数为:" +StatUtils.geometricMean(values));
    48         //meanDifference-- 平均差,平均概率偏差
    49         System.out.println("平均差为:"+StatUtils.meanDifference(values, values2));
    50         //normalize--标准化
    51         double[] norm = StatUtils.normalize(values2);
    52         for(int i = 0;i<res.length;i++){
    53             System.out.println("第"+(i+1)+"个数据标准化结果为:" + norm[i]);
    54             }
    55         //percentile--百分位数
    56         System.out.println("从小到大排序后位于80%位置的数:" + StatUtils.percentile(values, 70.0));
    57         //populationVariance--总体方差 
    58         System.out.println("总体方差为:" + StatUtils.populationVariance(values));
    59         //product--乘积  
    60         System.out.println("所有数据相乘结果为:" + StatUtils.product(values));
    61         //sumDifference--和差
    62         System.out.println("两样本数据的和差为:" + StatUtils.sumDifference(values,values2));
    63         //sumLog--对数求和
    64         System.out.println("一组数据的对数求和为:" + StatUtils.sumLog(values));
    65         //sumSq--计算一组数值的平方和
    66         System.out.println("一组数据的平方和:" + StatUtils.sumSq(values));
    67         //varianceDifference --方差差异性。
    68         System.out.println("一组数据的方差差异性为:" + StatUtils.varianceDifference(values,values2,StatUtils.meanDifference(values, values2)));
    69     }    
    70 }

    个人认为,使用这些函数关键是知道他的公式和用法,能准确定位,有一些方法,我也找不到它的公式,只是罗列上了,欢迎批评指正~

  • 相关阅读:
    css圆角与阴影,[iecss3.htc文件需要下载]
    [纯css下拉菜单]兼容各种IE,但搜狗好像有点问题
    UITabBar的隐藏与显示
    UIScrollView属性总结
    NSTimer 用法小结
    自定义UINavigationController的push和pop切换界面动画
    UIScrollView实现缩放和居中
    UITableView内存警告销毁视图后重新load视图,cell未显示内容
    Select的使用
    FreeType的使用
  • 原文地址:https://www.cnblogs.com/xiao02fang/p/9883909.html
Copyright © 2020-2023  润新知