简介:围绕SPSS中单样本t检验与独立样本t检验的一份PPT教学课件,面向心理学、教育学、医学及社会科学等需要完成均值差异检验的初学者和论文写作者,帮助其理解检验原理、操作路径与结果报告方式。压缩包内共1个文件,为ppt格式,体积约1.24MB,内容紧凑,便于课堂演示、自学查阅或直接用于汇报展示。已有818人学习下载,说明其在入门统计教学中具有一定参考价值。课件以“某班学习兴趣与全校平均分比较”为例,完整呈现单样本t检验的数据录入、变量定义、菜单操作及t=9.98、df=13、p<.001的结果解释,并配有英语成绩练习题;独立样本t检验部分则通过两个班级心理健康水平数据,展示分组变量设置、均值比较与显著性判断逻辑。读者可借此掌握SPSS输出表中t值、自由度、p值的读取方法,积累从案例到结论的写作素材,也可将其作为统计课程复习与实操演练的模板。
1. t检验在SPSS里到底解决什么问题
实验组均值 4.32,对照组 4.02,差 0.3——这个差距是改版真起作用了,还是抽样波动凑出来的数字?这个问题在 SPSS 里就是一次 t 检验要回答的事。它适用于总体标准差未知、样本量不大的场景,用手里的样本均值去反推两组(或一组与某个已知值)在总体上是否存在差异。问卷量表分析、前后测实验、AB 分组对比,绝大多数人第一次打开 SPSS 做的就是这一件事。但真正卡人的从来不是点菜单,而是三选一:单样本、独立样本还是配对样本;跑完之后 Levene 那一行到底该读哪一行;p 值显著了,效应量又该不该补。后面几章按数据准备、独立样本、配对与单样本、正态性与替代方案的顺序,把这些挨个拆开讲清楚。
2. 三种t检验的选型与SPSS数据准备
选错检验类型是 SPSS 分析里返工成本最高的一步。菜单点下去几秒钟,结论错了却可能整篇报告重写。所以动手之前先把数据结构和研究设计对齐。
2.1 三种t检验怎么选:一张对照表
判断路径只有两问:比的是同一批对象吗?比较的基准是另一组人还是一个固定值?
| 检验类型 | 典型场景 | 数据怎么摆 | 中文界面菜单路径 |
|---|---|---|---|
| 单样本 T 检验 | 量表均值是否偏离中立项 4 分 | 一列连续变量,无需分组列 | 分析 → 比较平均值 → 单样本 T 检验 |
| 独立样本 T 检验 | 男/女、实验组/对照组对比 | 一列因变量 + 一列两分类分组变量 | 分析 → 比较平均值 → 独立样本 T 检验 |
| 配对样本 T 检验 | 同一批人干预前、干预后两次测量 | 两列并排(前测、后测),无分组列 | 分析 → 比较平均值 → 配对样本 T 检验 |
分组变量超过两个类别时不要硬套 t 检验,改用单因素方差分析再做事后比较。工具只是表层,决定结论对错的其实是统计思维:先确认设计,再挑方法。
2.2 变量视图里的三个设置决定t检验能不能跑起来
独立样本 T 检验的分组变量框只认数值型。如果导入的原始数据里性别写的是"男""女"字符串,SPSS 会直接拒绝放入分组框。这时候用 AUTORECODE 重编码:
* 把字符串分组变量重编码成 1/2 数值,供 T 检验的分组框使用. AUTORECODE VARIABLES=group_str /INTO group_num /PRINT. * 补上值标签,输出表格里才会显示组名而不是光秃秃的数字. VALUE LABELS group_num 1 '实验组' 2 '对照组'.AUTORECODE 会按字符串首次出现的顺序自动编号,所以必须核对生成的值标签是否和预期一致,必要时用 RECODE 手动指定。/PRINT子命令会把新旧编码对照表打到输出窗口,用于复核。另一个高频问题是"测量"列被设成了名义而因变量设成了有序,这不会阻止运算,但会影响后续把变量拖进某些对话框时的可选项,量表总分一律设为"标度"。
缺失值也要在变量视图里声明。SPSS 默认把空白当系统缺失,但问卷里常用 99、-1 表示"未作答",如果不声明为缺失值,这串数字会当作真实得分参与计算,均值直接跑偏。
2.3 用数据分拆文件按子组批量跑t检验
当需要按性别、年级、地区分别做一次 t 检验时,不必重复点菜单十几遍。数据 → 拆分文件提供了两条路:按组织输出会把每组结果分块呈现,按组比较(Compare groups)则把各组结果压进同一张表方便横向对照。
对应语法如下:
* SPLIT FILE 要求数据已按拆分变量排序,否则同组记录不连续会报错. SORT CASES BY gender. SPLIT FILE LAYERED BY gender. T-TEST GROUPS=group(1 2) /VARIABLES=score /CRITERIA=CI(.95). * 跑完立刻关闭,否则后续所有分析都被静默拆分. SPLIT FILE OFF.SORT CASES 是前置条件,SPLIT FILE 只在连续区间内分组。LAYERED BY 表示按该变量分层输出,如果只写 SPLIT FILE BY 则得到的是分离的多个表。用于比较两个以上拆分变量时可以叠加,但层级越多输出越难读。
注意:SPLIT FILE 具有粘性,一旦开启会一直生效直到手动关闭或重启会话。很多人跑完发现自己后面做的描述统计、相关分析全被拆成了若干块,就是这个原因。养成在语法末尾补 SPLIT FILE OFF 的习惯。
3. 独立样本t检验:从菜单点到T-TEST语法
独立样本 T 检验是使用频率最高的一类,也是最容易把两行结果读反的一类。这一章从对话框走一遍,再给出等价语法,最后落到输出表格的逐列解读。
3.1 对话框里的三个必填项
路径是分析 → 比较平均值 → 独立样本 T 检验。打开后有三个关键区域:
检验变量列表放入连续型的因变量,可以一次放多个,SPSS 会为每个因变量单独跑一遍。分组变量框放那个两分类变量,放进去之后变量名旁边会出现(1 2)之类的括号,括号里的数字就是当前定义的组编码。定义组按钮点开,组 1 和组 2 两个输入框里填的数字必须和值标签里的编码完全对应,填反了结论就整体反了。
选项按钮里可以改置信区间百分比,默认 95%,通常不动。缺失值处理有两种:按分析排除是逐次剔除当前分析用到的变量上有缺失的案例,按列表排除是只要任一涉及变量缺失就整条剔除。想知道不同处理下样本量的变化,可以两种都跑一遍对比 N。
3.2 常用参数与建议取值
| 参数 | 位置 | 建议值 | 影响 |
|---|---|---|---|
| 组 1 / 组 2 编码 | 定义组 | 与值标签一致,如 1 / 2 | 填反则均值差符号反向 |
| 置信区间百分比 | 选项 | 95% | 输出均值差的 95% 置信区间 |
| 缺失值 | 选项 | 按分析排除 | 保留样本量,但各分析 N 可能不同 |
| 显著性水平 | 输出解读环节 | 0.05 | 决定是否拒绝原假设 |
3.3 等价的T-TEST语法
* 独立样本 T 检验:比较实验组与对照组在 score 上的均值差异. T-TEST GROUPS=group(1 2) /MISSING=ANALYSIS /VARIABLES=score /CRITERIA=CI(.95).GROUPS 指定分组变量并定义要比较的两个编码,缺了括号里的(1 2)会报错。MISSING=ANALYSIS 对应"按分析排除",写成 MISSING=LISTWISE 就是按列表排除。VARIABLES 后面可以接多个因变量,用空格分隔。CRITERIA=CI(.95) 控制置信区间的置信水平。这段语法直接粘进语法窗口运行,结果和点菜单完全一致,而且能存下来复用,做重复性分析时省事得多。
3.4 输出表格怎么读:Levene检验决定看哪一行
输出第一张表是组统计,给出两组各自的 N、均值、标准差、标准误。第二张表才是核心,名字叫"独立样本检验",包含 Levene 方差齐性检验和两行 t 检验结果。
| Levene 显著性 | 读哪一行 | 处理方式 |
|---|---|---|
| 大于 0.05 | 第一行"假定等方差" | 方差齐,读常规 t 与 df |
| 小于等于 0.05 | 第二行"不假定等方差" | 方差齐性不成立,读校正后的 t 与 df |
选对行之后,关注四列:t 值本身说明差异相对误差有多大;df 是自由度,第二行的 df 通常带小数,因为经过了校正计算;Sig.(双尾)就是 p 值,小于 0.05 才拒绝原假设;均值差值给出方向,配合 95% 置信区间一起看,如果区间跨过 0,说明差异方向和大小都不确定。只看 p 值不看置信区间是很常见的做法,但区间能同时告诉你效应大小和精度,信息量更大。
t 检验输出里没有效应量。样本量一大,哪怕差异微乎其微也可能显著,这时候补一个 Cohen's d 才说得清楚差异到底实不实在,计算方式放到下一章。
4. 配对样本与单样本t检验及效应量补算
配对设计和单样本检验在实务里出现频率不低,但数据组织方式跟独立样本完全不同,摆错了就直接变成另一种检验。
4.1 配对样本T检验:两列数据并排摆
同一批被试在干预前后的两次测量,必须放成两列:一列 pre、一列 post,每一行代表一个人。正确语法:
* 配对样本 T 检验:检验同一批对象的干预前与干预后差异. T-TEST PAIRS=pre WITH post (PAIRED) /CRITERIA=CI(.95) /MISSING=ANALYSIS.PAIRS 后面用 WITH 连接两列,括号里的 PAIRED 表明走配对算法。SPSS 内部先算每个人的 post 减 pre,对差值列做一次单样本检验,所以输出表里会多出一张"配对样本相关性"和一张"配对样本检验"。第二张表里的均值就是差值的均值,Sig.(双尾)小于 0.05 表示前后差异成立。如果差值均值是正数,说明后测更高,方向别读反。
把前后测输成"一列得分 + 一列分组变量"是最高频的误用,那样跑出来的是独立样本 T 检验。配对设计下两组数据本身相关,忽略这种相关性会损失检验效力,本该显著的结果可能被压成不显著。
4.2 单样本T检验:和已知标准比
五点量表检验均值是否偏离中立项,用单样本检验:
* 单样本 T 检验:检验 satisfaction 的总体均值是否显著偏离 4 分. T-TEST /TESTVAL=4 /MISSING=ANALYSIS /VARIABLES=satisfaction /CRITERIA=CI(.95).TESTVAL 填比较基准,这里是量表中立项 4。输出给出样本均值、差值、t、df 和双尾 p 值,以及差值的置信区间。基准值的选择要有依据,用中立点、行业常模或历史数据都行,随手填一个数会让整个检验失去意义。
4.3 补算 Cohen's d:SPSS 不直接给的那一列
t 检验输出里没有效应量,手算或借助 Python 都很直接。独立样本的 d 用合并标准差做分母:
import numpy as np from scipy import stats exp = np.array([4.1, 3.8, 4.5, 4.2, 3.9, 4.4, 4.0]) ctrl = np.array([3.7, 3.5, 3.9, 3.6, 3.8, 3.4, 3.7]) # equal_var=False 走 Welch 校正,与 SPSS 第二行结果对应 t, p = stats.ttest_ind(exp, ctrl, equal_var=False) n1, n2 = len(exp), len(ctrl) s1, s2 = exp.std(ddof=1), ctrl.std(ddof=1) # ddof=1 为样本标准差 sp = np.sqrt(((n1 - 1) * s1 ** 2 + (n2 - 1) * s2 ** 2) / (n1 + n2 - 2)) d = (exp.mean() - ctrl.mean()) / sp print(f"t={t:.3f}, p={p:.4f}, Cohen's d={d:.3f}")ddof=1 不能省,numpy 默认的 ddof=0 算的是总体标准差,样本量小时偏差明显。equal_var=False 对应 SPSS 里"不假定等方差"那一行,两边口径要统一,否则 t 值和 p 值对不上。
| Cohen's d 绝对值 | 效应大小 | 实务含义 |
|---|---|---|
| 约 0.2 | 小 | 差异真实但幅度有限 |
| 约 0.5 | 中 | 有观察价值的差异 |
| 约 0.8 及以上 | 大 | 差异明显,实际意义充分 |
配对样本的 d 换成差值均值除以差值标准差,公式同源,只是数据换成 post 减 pre 那一列。
5. 正态性检验与不满足假设时的替代方案
5.1 Shapiro-Wilk优先看,样本量大小决定用哪个检验
t 检验的前提是数据近似正态。SPSS 里用探索过程一次性拿到正态性检验和图形:
* 分组做正态性检验,同时输出直方图与 Q-Q 图. EXAMINE VARIABLES=score BY group /PLOT BOXPLOT HISTOGRAM NPPLOT /STATISTICS DESCRIPTIVES /NOTOTAL.输出的正态性检验表里同时给 Kolmogorov-Smirnov 和 Shapiro-Wilk 两个结果。样本量小于 50 时以 Shapiro-Wilk 为准,它对小样本更敏感;样本量很大时两个检验都可能因为微小偏离而显著,这时看 Q-Q 图上的点是否贴着对角线更实际。显著不等于必须放弃 t 检验,偏态不严重、样本量又过得去,独立样本 t 检验对正态性偏离的容忍度是够的。
5.2 严重偏离正态时的非参数替代
| 情形 | 参数方法 | 非参数替代 | 语法关键 |
|---|---|---|---|
| 两组独立样本 | 独立样本 T 检验 | Mann-Whitney U | NPAR TESTS /M-W=score BY group(1 2). |
| 配对前后测 | 配对样本 T 检验 | Wilcoxon 符号秩 | NPAR TESTS /WILCOXON=pre WITH post (PAIRED). |
| 单样本与基准比 | 单样本 T 检验 | 单样本 Wilcoxon | NPAR TESTS /WILCOXON=score WITH score (TESTVAL). |
非参数检验比较的是秩次而不是均值,结论表述要跟着改,不能说"均值显著更高",而要说"分布位置显著上移"。用参数方法的口径去描述非参数结果,是审稿和答辩里经常被追问的点。
5.3 用OMS把多组t检验结果一次导成表格
分组多的时候,逐个复制输出窗口的表格效率很低。可以用 OMS 把指定表格直接落成文件,配合 SPLIT FILE 批量执行:
OMS /SELECT TABLES /IF COMMANDS=['T-Test'] SUBTYPES=['独立样本检验'] /DESTINATION FORMAT=SAV OUTFILE='t_results.sav'. SORT CASES BY region. SPLIT FILE LAYERED BY region. T-TEST GROUPS=group(1 2) /VARIABLES=score. SPLIT FILE OFF. OMSEND.OMS 必须在目标分析之前开启、之后用 OMSEND 关闭。SELECT TABLES 里的 SUBTYPES 名称要和输出窗口里的表格中文名完全一致,写错会静默导出空文件。导出的 .sav 里每行对应一个分组的检验结果,后面接 Python 或 R 做多重比较校正、画森林图都方便。
跑完所有分组之后,先把 p 值和 Cohen's d 放在一张表里核对一遍:p 值显著而 d 接近 0.1 的组合,说明差异被大样本放大了,写结论时把效应量一并报上,比单说一句"差异显著"经得起追问。
本文还有配套的精品资源,点击获取