java实现T检验(Ttest)
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)相关推荐
- 影像组学视频学习笔记(9)-T检验(T-test)理论及示例、Li‘s have a solution and plan.
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(9)主要介绍: T-test理论及示例 T 检验 两独立样本t检验(ttest_ind):检验两组独立样本的平均数与其分布是否具有显著性 ...
- Li‘s 影像组学视频学习笔记(9)-T检验(T-test)理论及示例
本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(9)主要介绍: T-test理论及示例 T 检验 两独立样本t检验(ttest_ind):检验两组独立样本的平均数与其分布是否具有显著性 ...
- 单样本的t检验(t-test)是什么?
单样本t检验是用來确定样本均值 (x) 是否与已知或假设的总体均值 (µ) 在统计上有显著的不同.单样本t检验是一种参数检验. 在六西格玛项目中的分析阶段,往往有机会使用到单样本t检验. 假设单样本T ...
- Java 使用注解检验手机号
手机号校验注解类 package com.command.util;import static java.lang.annotation.ElementType.CONSTRUCTOR; import ...
- java毕业设计LIS检验系统2021(附源码、数据库)
项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- java 判断 中文字符_java中判断字符串中是否有中文字符
package com.meritit.test; public class TestChart { public static void main(String[] args) throws Exc ...
- 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 需要注意的是安装路径中不 ...
- 问卷 假设检验 t检验_真实问题的假设检验
问卷 假设检验 t检验 A statistical Hypothesis is a belief made about a population parameter. This belief may ...
- java的沙盒安全模式_Java沙箱机制
自从 Java 技术出现以来, 有关 Java 平台的安全性及由 Java 技术发展所引发的新的安全性问题,引起了越来越多的关注.目前,Java 已经大量应用在各个领域,研究 Java 的安全 性对于 ...
- matlab 正态输入信号,用matlab或者spss做正态检验(转载)
2.5 总体分布正态性检验 进行参数估计和假设检验时,通常总是假定总体服从正态分布,虽然在许多情况下这个假定是合理的,但是当要以此为前提进行重要的参数估计或假设检验,或者人们对它有较大怀疑的时候,就确 ...
最新文章
- Tensorflow实现神经网络及实现多层神经网络进行时装分类
- Python基础入门:反射
- 导致oracle 控制文件坏,异常断电导致ORACLE控制文件等受到破坏的处理
- SAP License:SAP应用随想
- 谷歌发布 Windows 10 图形组件 RCE 漏洞的详情
- ajax更换内容执行函数,在ajax成功调用另一个ajax函数
- python 类属性 对象属性_python 类属性、对象属性
- vs2017 错误:当前页面的脚本发生错误
- 百度AI的2020:迎合时代节拍,扛起智能大旗
- python/sympy求解矩阵方程
- 数字图像处理成长之路17:linux下训练样本并识别车牌实验
- 怎么用服务器刷网站排名,怎样提高网站排名?这三个提升网站排名的方法你一定要知道...
- 在vue中使用echarts,echarts-map:echarts画地图
- JMeter Address Already in use 错误解决
- typescript egg mysql_Egg.js egg-mysql 连接MySQL 报 AppWorkerDiedError 错误
- 使用u盘前需要将其格式化怎么办?
- 统计各个年份出生的人数.如1996多少人,1997多少人
- 专业版amp;普及版代理「后台设置方法」详解
- 试用用友致远最新版协同产品A8之二
- 贵州大学计算机科学与技术学院排名,贵州大学计算机专业全国排名