java实现T检验(Ttest)

最近公司将matlab中的算法要搬到java中来展示,本篇将向你展示如何不去调用matlab,纯用java来计算T检验。此代码算出结果与matlab、excel、的计算逻辑相同,自然结果也相同。
在编写此代码之前,我找过在线计算的网站,发现于matlab的计算结果不同,且差距较大,应该是计算逻辑不同。

前提需要引入maven依赖,apach的math3公共计算包,包括各种各样的计算

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-math3</artifactId><version>3.6.1</version></dependency>

以下为代码片段:

package success;import org.apache.commons.math3.distribution.TDistribution;
import org.apache.commons.math3.stat.descriptive.moment.StandardDeviation;public  class TtestDemo {public static void main(String[] args) {double[] x= {119, 114, 126, 98, 75, 93, 125, 103, 91, 98, 90, 108, 91, 122, 110, 103, 148, 81, 83, 113, 86, 120, 81, 102, 86, 80, 107, 87, 93, 91};double[] y= {130, 148, 156, 126, 110, 120, 151, 135, 111, 112, 140, 143, 120, 143, 138, 129, 173, 122, 100, 158, 117, 140, 107, 130, 129, 109, 139, 108, 125, 129};TtestDemo t = new TtestDemo();double t1 = t.getT(x, y);System.out.println(t1);double p = t.getP(x, y);System.out.println(p);}/*** 拿到T值* @param x* @param y* @return*/public double getT(double x[],double y[]){double a = getMean(x)-getMean(y);double b = getStandardDeviation(x,y);double c = Math.sqrt(x.length);double v = a / (b /c);return  v;}/*** 计算列平均* @param array* @return*/public double getMean(double[] array) {int n=array.length;double sum=0;for (double d : array) {sum=sum+d;}return sum/n;}/*** 计算标准偏差* @param x* @param y* @return*/public double getStandardDeviation  (double[] x,double[] y){double[] z =new double[x.length];for(int i=0;i<x.length;i++){z[i]=x[i]-y[i];}StandardDeviation standardDeviation =new StandardDeviation();double evaluate = standardDeviation.evaluate(z);return evaluate;}/*** 得到P值* @param x* @param y* @return*/public double getP(double [] x, double [] y) {int free = x.length-1;double t= getT(x, y);TDistribution td=new TDistribution(free);double cumulative = td.cumulativeProbability(t);double p;if(t>0) {p=(1-cumulative)*2;}else {p=cumulative*2;}return p;}}

java实现T检验(Ttest)相关推荐

  1. 影像组学视频学习笔记(9)-T检验(T-test)理论及示例、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(9)主要介绍: T-test理论及示例 T 检验 两独立样本t检验(ttest_ind):检验两组独立样本的平均数与其分布是否具有显著性 ...

  2. Li‘s 影像组学视频学习笔记(9)-T检验(T-test)理论及示例

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(9)主要介绍: T-test理论及示例 T 检验 两独立样本t检验(ttest_ind):检验两组独立样本的平均数与其分布是否具有显著性 ...

  3. 单样本的t检验(t-test)是什么?

    单样本t检验是用來确定样本均值 (x) 是否与已知或假设的总体均值 (µ) 在统计上有显著的不同.单样本t检验是一种参数检验. 在六西格玛项目中的分析阶段,往往有机会使用到单样本t检验. 假设单样本T ...

  4. Java 使用注解检验手机号

    手机号校验注解类 package com.command.util;import static java.lang.annotation.ElementType.CONSTRUCTOR; import ...

  5. java毕业设计LIS检验系统2021(附源码、数据库)

    项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  6. java 判断 中文字符_java中判断字符串中是否有中文字符

    package com.meritit.test; public class TestChart { public static void main(String[] args) throws Exc ...

  7. java1.7开发环境_在Windows平台搭建Java 1.7开发环境

    OS:Windows 7 or later Java Version: 1.7.x 本文具体的演示环境是:Windows 8.1,Java 1.7.0_45. 一.安装JDK 需要注意的是安装路径中不 ...

  8. 问卷 假设检验 t检验_真实问题的假设检验

    问卷 假设检验 t检验 A statistical Hypothesis is a belief made about a population parameter. This belief may ...

  9. java的沙盒安全模式_Java沙箱机制

    自从 Java 技术出现以来, 有关 Java 平台的安全性及由 Java 技术发展所引发的新的安全性问题,引起了越来越多的关注.目前,Java 已经大量应用在各个领域,研究 Java 的安全 性对于 ...

  10. matlab 正态输入信号,用matlab或者spss做正态检验(转载)

    2.5 总体分布正态性检验 进行参数估计和假设检验时,通常总是假定总体服从正态分布,虽然在许多情况下这个假定是合理的,但是当要以此为前提进行重要的参数估计或假设检验,或者人们对它有较大怀疑的时候,就确 ...

最新文章

  1. Tensorflow实现神经网络及实现多层神经网络进行时装分类
  2. Python基础入门:反射
  3. 导致oracle 控制文件坏,异常断电导致ORACLE控制文件等受到破坏的处理
  4. SAP License:SAP应用随想
  5. 谷歌发布 Windows 10 图形组件 RCE 漏洞的详情
  6. ajax更换内容执行函数,在ajax成功调用另一个ajax函数
  7. python 类属性 对象属性_python 类属性、对象属性
  8. vs2017 错误:当前页面的脚本发生错误
  9. 百度AI的2020:迎合时代节拍,扛起智能大旗
  10. python/sympy求解矩阵方程
  11. 数字图像处理成长之路17:linux下训练样本并识别车牌实验
  12. 怎么用服务器刷网站排名,怎样提高网站排名?这三个提升网站排名的方法你一定要知道...
  13. 在vue中使用echarts,echarts-map:echarts画地图
  14. JMeter Address Already in use 错误解决
  15. typescript egg mysql_Egg.js egg-mysql 连接MySQL 报 AppWorkerDiedError 错误
  16. 使用u盘前需要将其格式化怎么办?
  17. 统计各个年份出生的人数.如1996多少人,1997多少人
  18. 专业版amp;普及版代理「后台设置方法」详解
  19. 试用用友致远最新版协同产品A8之二
  20. 贵州大学计算机科学与技术学院排名,贵州大学计算机专业全国排名

热门文章

  1. Tif格式图片的读取与保存
  2. Allegro 常见问题
  3. rust自我解脱_如何从婚姻的痛苦中自我解脱?
  4. 用arcgis裁剪面时出错,ERROR 999999: 执行函数时出错
  5. GateWay新一代网关
  6. html图片轮播效果加链接,HTML首页怎么加图片轮播?
  7. 【概念】椭球面在球面上的投影
  8. javplayer 使用教程_PS教程连载第91课:PS核心功能:剪贴蒙版讲解
  9. EVO Evaluation of SLAM 4 --- ORB-SLAM3 编译和利用数据集运行
  10. EAS BOS:序时簿中获取选中行中某单元格的值方法