
数据分析之独立样本的T-Test分析
比较两个独立样本数据之间是否有显著性差异,将实验数据与标准数据对比,查看
实验结果是否符合预期。T-Test在生物数据分析,实验数据效果验证中很常见的数
据处理方法。- T-table查找表
独立样本T-test条件:
1. 每个样本相互独立没有影响
2. 样本大致符合正态分布曲线
3. 具有同方差异性
单侧检验(one-tail Test)与双侧检验(Two-Tail Test)
基本步骤:
1.双侧检验, 条件声明 alpha值设置为0.05
根据t-table, alpha = 0.05, df = 38时, 对于t-table的值为2.0244
2. 计算自由度(Degree of Freedom)
Df = (样本1的总数 + 样本2的总数)- 2
3. 声明决策规则
如果计算出来的结果t-value的结果大于2.0244或者小于-2.0244则拒绝
4. 计算T-test统计值
5. 得出结论
如果计算结果在双侧区间之内,说明两组样本之间没有显著差异。
可重复样本的T-Test计算
同样一组数据在不同的条件下得到结果进行比对,发现是否有显著性差异,最常见
的对一个人在饮酒与不饮酒条件下驾驶车辆测试,很容易得出酒精对驾驶员有显著
影响
算法实现:
对独立样本的T-Test计算最重要的是计算各自的方差与自由度df1与df2
对可重复样本的对比t-test计算
程序实现:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
package com.gloomyfish.data.mining.analysis;
public class TTestAnalysisAlg {
private double alpahValue = 0.05; // default
private boolean dependency = false; // default
public TTestAnalysisAlg() {
System.out.println("t-test algorithm");
}
public double getAlpahValue() {
return alpahValue;
}
public void setAlpahValue(double alpahValue) {
this.alpahValue = alpahValue;
}
public boolean isDependency() {
return dependency;
}
public void setDependency(boolean dependency) {
this.dependency = dependency;
}
public double analysis(double[] data1, double[] data2) {
double tValue = 0;
if (dependency) {
// Repeated Measures T-test.
// Uses the same sample of subjects measured on two different
// occasions
double diffSum = 0.0;
double diffMean = 0.0;
int size = Math.min(data1.length, data2.length);
double[] diff = new double[size];
for(int i=0; i
{
diff[i] = data2[i] -data1[i];
diffSum += data2[i] -data1[i];
}
diffMean = diffSum / size;
diffSum = 0.0;
for(int i=0; i
{
diffSum += Math.pow((diff[i] -diffMean), 2);
}
double diffSD = Math.sqrt(diffSum / (size - 1.0));
double diffSE = diffSD / Math.sqrt(size);
tValue = diffMean / diffSE;
} else {
double means1 = 0;
double means2 = 0;
double sum1 = 0;
double sum2 = 0;
// calcuate means
for (int i = 0; i < data1.length; i++) {
sum1 += data1[i];
}
for (int i = 0; i < data2.length; i++) {
sum2 += data2[i];
}
means1 = sum1 / data1.length;
means2 = sum2 / data2.length;
// calculate SD (Standard Deviation)
sum1 = 0.0;
sum2 = 0.0;
for (int i = 0; i < data1.length; i++) {
sum1 += Math.pow((means1 - data1[i]), 2);
}
for (int i = 0; i < data2.length; i++) {
sum2 += Math.pow((means2 - data2[i]), 2);
}
double sd1 = Math.sqrt(sum1 / (data1.length - 1.0));
double sd2 = Math.sqrt(sum2 / (data2.length - 1.0));
// calculate SE (Standard Error)
double se1 = sd1 / Math.sqrt(data1.length);
double se2 = sd2 / Math.sqrt(data2.length);
System.out.println("Data Sample one - > Means :" + means1
+ " SD : " + sd1 + " SE : " + se1);
System.out.println("Data Sample two - > Means :" + means2
+ " SD : " + sd2 + " SE : " + se2);
|
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据成为新时代“石油”的今天,几乎每个职场人都在焦虑: “为什么别人能用数据驱动决策、升职加薪,而我面对Excel表格却无从 ...
2025-10-18数据清洗是 “数据价值挖掘的前置关卡”—— 其核心目标是 “去除噪声、修正错误、规范格式”,但前提是不破坏数据的真实业务含 ...
2025-10-17在数据汇总分析中,透视表凭借灵活的字段重组能力成为核心工具,但原始透视表仅能呈现数值结果,缺乏对数据背景、异常原因或业务 ...
2025-10-17在企业管理中,“凭经验定策略” 的传统模式正逐渐失效 —— 金融机构靠 “研究员主观判断” 选股可能错失收益,电商靠 “运营拍 ...
2025-10-17在数据库日常操作中,INSERT INTO SELECT是实现 “批量数据迁移” 的核心 SQL 语句 —— 它能直接将一个表(或查询结果集)的数 ...
2025-10-16在机器学习建模中,“参数” 是决定模型效果的关键变量 —— 无论是线性回归的系数、随机森林的树深度,还是神经网络的权重,这 ...
2025-10-16在数字化浪潮中,“数据” 已从 “辅助决策的工具” 升级为 “驱动业务的核心资产”—— 电商平台靠用户行为数据优化推荐算法, ...
2025-10-16在大模型从实验室走向生产环境的过程中,“稳定性” 是决定其能否实用的关键 —— 一个在单轮测试中表现优异的模型,若在高并发 ...
2025-10-15在机器学习入门领域,“鸢尾花数据集(Iris Dataset)” 是理解 “特征值” 与 “目标值” 的最佳案例 —— 它结构清晰、维度适 ...
2025-10-15在数据驱动的业务场景中,零散的指标(如 “GMV”“复购率”)就像 “散落的零件”,无法支撑系统性决策;而科学的指标体系,则 ...
2025-10-15在神经网络模型设计中,“隐藏层层数” 是决定模型能力与效率的核心参数之一 —— 层数过少,模型可能 “欠拟合”(无法捕捉数据 ...
2025-10-14在数字化浪潮中,数据分析师已成为企业 “从数据中挖掘价值” 的核心角色 —— 他们既要能从海量数据中提取有效信息,又要能将分 ...
2025-10-14在企业数据驱动的实践中,“指标混乱” 是最常见的痛点:运营部门说 “复购率 15%”,产品部门说 “复购率 8%”,实则是两者对 ...
2025-10-14在手游行业,“次日留存率” 是衡量一款游戏生死的 “第一道关卡”—— 它不仅反映了玩家对游戏的初始接受度,更直接决定了后续 ...
2025-10-13分库分表,为何而生? 在信息技术发展的早期阶段,数据量相对较小,业务逻辑也较为简单,单库单表的数据库架构就能够满足大多数 ...
2025-10-13在企业数字化转型过程中,“数据孤岛” 是普遍面临的痛点:用户数据散落在 APP 日志、注册系统、客服记录中,订单数据分散在交易 ...
2025-10-13在数字化时代,用户的每一次行为 —— 从电商平台的 “浏览→加购→购买”,到视频 APP 的 “打开→搜索→观看→收藏”,再到银 ...
2025-10-11在机器学习建模流程中,“特征重要性分析” 是连接 “数据” 与 “业务” 的关键桥梁 —— 它不仅能帮我们筛选冗余特征、提升模 ...
2025-10-11在企业的数据体系中,未经分类的数据如同 “杂乱无章的仓库”—— 用户行为日志、订单记录、商品信息混杂存储,CDA(Certified D ...
2025-10-11在 SQL Server 数据库操作中,“数据类型转换” 是高频需求 —— 无论是将字符串格式的日期转为datetime用于筛选,还是将数值转 ...
2025-10-10