IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> java实现重复测量T检验 -> 正文阅读

[数据结构与算法]java实现重复测量T检验

术语及定义

1、重复测量定义

在重复测量研究中,样本中的个体要在同一个因变量下被测量多于一次,所有的处理条件都使用相同的被试。

2、与独立试验研究的区别

重复试验与独立试验的区别是,重复试验使用的是同一批样本,比较的是同一个样本在施加因变量影响后与处理前的变化。

示例及公式

表1 放松训练前后,在哮喘发作时,病人所需药物的剂量

病人训练前的一周训练后的一周DD^2
A93-636
B41-39
C50-525
D43-11
E72-525

陈述假设:
H 0 : u = 0 ( 症 状 上 没 有 变 化 ) H0:u=0(症状上没有变化) H0u=0

H 1 : u ≠ 0 ( 有 变 化 ) H1:u\neq0(有变化) H1u?=0

公式:
t = M ? u s t=\frac{M-u}{s} t=sM?u?
其中M为差值的平均值,在此例中:
M = ( ? 6 ? 3 ? 5 ? 1 ? 5 ) 5 = ? 4 M=\frac{(-6-3-5-1-5)}{5}=-4 M=5(?6?3?5?1?5)?=?4
u总体平均数差,即为0。

s为估计标准误:

? 计算s的方式第一步是求出样本的方差:

?
s 2 = S S n ? 1 = ∑ D 2 ? ( ∑ D ) 2 n n ? 1 = 16 5 ? 1 = 4 ( S S 为 平 方 差 和 ) s^2=\frac{SS}{n-1}=\frac{\sum D^2-\frac{(\sum D)^2}{n}}{n-1}=\frac{16}{5-1}=4(SS为平方差和) s2=n?1SS?=n?1D2?n(D)2??=5?116?=4SS
? 然后估计除标准误:
s = s 2 n = 4 5 = 0.894 s=\sqrt{\frac{s^2}{n}}=\sqrt{\frac{4}{5}}=0.894 s=ns2? ?=54? ?=0.894
最终的t值为:
t = M ? u s = ? 4 ? 0 0.894 = ? 4.47 t=\frac{M-u}{s}=\frac{-4-0}{0.894}=-4.47 t=sM?u?=0.894?4?0?=?4.47

实现代码

package com.math.statistics;
import org.apache.commons.math3.stat.descriptive.moment.StandardDeviation;

import JSci.maths.statistics.TDistribution;

/***
 * 配对T检验
 * @author miaoyibo
 *
 */
public class PairedTTest {
	
	private double[] x;
	
	private double[] y;
	
	private int freedom;
	
	StandardDeviation standardDeviation =new StandardDeviation();
	
	public PairedTTest(double[] x, double[] y) {
		this.x = x;
		this.y = y;
		this.freedom=x.length-1;
	}
	public int getXSize() {
		return x==null?0:x.length;
	}
	public int getYSize() {
		return y==null?0:y.length;
	}
	/***
	 * 计算差值的平均值
	 * @return
	 */
	public double getMean() {
		double sum=0;
		for(int i=0;i<x.length;i++) {
			sum=sum+(y[i]-x[i]);
		}
		return sum/x.length;
	}
	/***
	 * 计算方差
	 * @param x
	 * @return
	 */
	public double getStandard() {
		double sum=0;
		double pow=0;
		for(int i=0;i<x.length;i++) {
			double d=(y[i]-x[i]);
			pow=pow+Math.pow(d,2);
			sum=sum+d;
		}
		int n=x.length;
		double ss=pow-Math.pow(sum,2)/n;
		return ss;
	}
	public double calculateTvalue() {
		double sp=getStandard()/freedom;
		double sm=Math.sqrt(sp/x.length);
		return (getMean()-0)/sm;
	}
	public int getDegreesOfFreedom() {

		return freedom;
	}
	/***
	 * @return
	 */
	public double getPValue() {
		
		double t=calculateTvalue();
		TDistribution td=new TDistribution(freedom);
		double cumulative = td.cumulative(t);
		double p;
		if(t>0) {
			p=(1-cumulative)*2;
		}else {
			p=cumulative*2;
		}
		return p;
	}
	/***
	 * 效应大小
	 * @return
	 */
	public double getRValue() {
		double t=calculateTvalue();
		return Math.pow(t,2)/(Math.pow(t,2)+freedom);
	}
	/***
	 * 科恩d值
	 * @return
	 */
	public double getDValue() {
		double m=getMean();
		double s=getStandard()/freedom;
		return Math.abs(m/Math.sqrt(s));
	}
}

DEMO

package com.math.demo;

import com.math.statistics.PairedTTest;

public class PairedTTestDemo {

	public static void main(String[] args) {
		double[] x= {9,4,5,4,7};
		double[] y= {3,1,0,3,2};
		PairedTTest pt=new PairedTTest(x, y);
		System.out.println(pt.calculateTvalue());//T分数
		System.out.println(pt.getPValue());//P值
		System.out.println(pt.getRValue());//效应大小
		System.out.println(pt.getDValue());//科恩d值

	}

}

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 12:59:06  更:2022-05-09 13:03:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:53:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码