SPSS统计分析全流程:描述统计、假设检验与相关分析

SPSS统计分析全流程:描述统计、假设检验与相关分析 简介这是一份围绕 SPSS 第四章“描述性统计分析”撰写的实验报告核心面向高校师生、科研人员及数据分析初学者用于解决在 SPSS 中完成基本统计量计算、频率分析与探索性分析时步骤不清、结果解读困难等问题。压缩包内为 1 个 docx 格式文档大小约 1.03MB正文对实验目的、操作过程、输出表格和图表分析进行了完整记录。当前已有 898 人学习下载内容具有课程实践与自学参考价值。报告涵盖了成绩数据的均值、中位数、众数、标准差、方差、极差等描述统计量利用 Recode 进行成绩分段并生成频数表、条形图和饼图还通过四分位数、茎叶图、箱图、Q-Q 图考察身高、体重和胸围的正态性并结合交叉表和卡方检验分析吸烟与患气管炎的关系。读者可从中掌握用 SPSS 开展描述性统计的完整流程学会解读常用统计图表为后续统计推断和数据建模打下扎实基础。1. 一份SPSS实验报告里的完整分析链路描述统计、假设检验与相关分析拿到这份SPSS实验报告别只把它当成一份课程作业来看。报告以第四章描述性统计、第五章参数估计与假设检验、第七章相关分析为骨架实际上把数据从业者最常用的一段分析链路走完整了先用描述统计量看数据分布再用探索分析查正态性和异常值接着根据研究问题选T检验或非参数检验最后用相关分析确认变量之间的关系强度。适合正在做课程实验的学生、毕业论文里做问卷数据分析的科研党以及想用菜单操作快速拿结论又不想背语法的分析师。下面按原报告的三章素材逐个拆解把每个对话框背后的统计逻辑讲透同时把报告里没写清楚、实操时一定会踩的坑补上。2. 描述统计、频率分析与探索分析从菜单到语法的完整对照2.1 描述性分析先看统计量还是先画图打开数据文件data4-8.sav成绩列共45个个案。题目要求计算均值、中位数、众数、标准差、方差、极差、最大值和最小值。SPSS菜单路径是“分析 → 描述统计 → 描述”把成绩选入变量框后在“选项”里勾选均值、标准差、方差、全距、最小值、最大值。这里有一个新手容易忽略的点“描述”对话框默认不输出中位数和众数。题目同时要中位数和众数就得再走一次“频率”过程。常见做法是用下面两条命令一次拿齐省得在两个对话框之间来回切DESCRIPTIVES VARIABLES成绩 /STATISTICSMEAN STDDEV VARIANCE RANGE MIN MAX. FREQUENCIES VARIABLES成绩 /FORMATNOTABLE /STATISTICSMEDIAN MODE.第一条命令输出均值、标准差、方差、极差、最小值和最大值对应报告里的“描述统计量”表N45全距83极小值15极大值98均值60.51标准差23.048方差531.210。第二条命令里的/FORMATNOTABLE表示不打印45行频数表只往输出查看器写统计量避免输出窗口被无关表格占满/STATISTICSMEDIAN MODE把中位数和众数补上。两组命令合起来正好覆盖题目全部要求。如果只看均值而不看中位数45个成绩里15分和98分同时存在均值很容易被极端值拉偏所以同时读两个集中趋势指标才是描述统计的正确打开方式。2.2 Recode分箱把连续成绩变成有序分类变量题目要求用Recode生成新变量“成绩段”90100为18089为27079为36069为460分以下为5并赋予“优、良、中、及格、不及格”的值标签。菜单路径是“转换 → 重新编码为不同变量”把成绩选入数字变量输出变量名写“成绩段”再逐段设置旧值和新值。直接在语法窗口里写更清晰RECODE 成绩 (90 THRU 1001) (80 THRU 892) (70 THRU 793) (60 THRU 694) (MISSINGSYSMIS) (ELSE5) INTO 成绩段. VARIABLE LABELS 成绩段 成绩分段. VALUE LABELS 成绩段 1 优 2 良 3 中 4 及格 5 不及格. EXECUTE.这段语法的关键是THRU。SPSS的THRU是闭区间90 THRU 100包含90也包含100不会和下一条80 THRU 89重叠所以分段边界不会出现一个成绩同时落进两组的bug。把MISSINGSYSMIS放在ELSE之前是为了防止缺失值被编成5。如果成绩列里有系统缺失值ELSE会把它们一并归入“不及格”这在统计上是错误的先声明MISSINGSYSMIS缺失值就能保持缺失。最后的EXECUTE强制立即执行转换不写它时某些过程会在下次运行时才应用转换容易造成结果滞后。2.3 频率分析与图形输出读图和读表要看同一列数据分段之后做频数统计并用条形图和饼图展示分布FREQUENCIES VARIABLES成绩段 /BARCHART FREQ /PIECHART PERCENT /ORDERANALYSIS./BARCHART FREQ指定条形图纵轴为频数/PIECHART PERCENT让饼图显示百分比标签。/ORDERANALYSIS是一个容易漏掉的参数它的作用是让分段按值标签顺序显示即“优、良、中、及格、不及格”。如果不加这一行SPSS会默认按频数降序排列分类轴从人数最多的“不及格”开始图表顺序和值标签对不上答辩时很可能被问住。结果解读时要同时看频数表和图形。45个成绩分布在15到98之间均值60.51标准差23.048数据的离散程度很大。“成绩段”的频数表里“优”段人数很少大量个案落在低分段所以直方图形态明显偏离正态并不是中间高两边低的钟形曲线。饼图上各扇区的比例能更直观地看出“不及格”段的占比。这就是为什么报告结论写“不具备明显的正态分布”——频数表里读出的是具体个案数图形读出的是分布形态两者对照才完整。再看一个更复杂的例子。data4-11.sav是100名学生的三个志愿填报数据要求分别统计第一、第二、第三志愿的分布以及每个学校的填报人数和百分比。用一条频率命令加百分位数就能完成FREQUENCIES VARIABLES志愿1 志愿2 志愿3 /FORMATTABLE /STATISTICSMEDIAN MODE STDDEV VARIANCE MIN MAX PERCENTILES /ORDERANALYSIS.输出里的百分位数值得专门读一下百分位数志愿1志愿2志愿325%2.002.002.0050%3.003.003.0075%4.004.005.00三个志愿的中位数都是3说明一半以上的学生把第三志愿填给了编码为3的学校但志愿3的75%分位数到了5说明第三志愿的高分段学生明显更分散。百分位数比均值更适合刻画顺序数据的分布因为志愿编码是分类值而不是等距数值用均值描述“平均志愿是3”没有实际意义中位数和众数才是这类变量该报告的统计量。2.4 探索性分析四分位数、奇异值和茎叶图data4-9.sav考察身高变量要求输出四分位数、上下奇异值、上下极端值并生成茎叶图和箱图。菜单路径是“分析 → 描述统计 → 探索”在“图”选项卡里勾选“茎叶图”和“箱图”。EXAMINE VARIABLES身高 /PLOT BOXPLOT STEMLEAF /COMPARE GROUP /STATISTICS DESCRIPTIVES EXTREME /CINTERVAL 95 /MISSING LISTWISE /NOTOTAL./PLOT BOXPLOT STEMLEAF让SPSS同时输出箱图和茎叶图/STATISTICS DESCRIPTIVES EXTREME除了给描述统计量还会列出取值最大的5个和最小的5个个案编号正好对应题目要求的奇异值、极端值判定。判定规则是箱图中小圆圈标出的是奇异值超过Q31.5倍四分位距星号标出的是极端值超过Q33倍四分位距。报告里的茎叶图要会读。第一行2.00 | 9.99表示有2个案例的身高落在9099段具体数值9916.00 | 10.0000001222333344表示16个案例在100104段最大一块是39.00 | 10.5555…39个案例集中在105109段。茎宽10代表每个数字占10个单位每叶1个case说明叶子上的每个数字对应一个真实观测值。茎叶图比直方图更细的地方在于它保留了原始数值能从图上直接看出数据是否有拖尾、峰在哪里、有没有离群点。箱图和茎叶图交叉使用比单独看均值标准差更能反映身高的真实分布形态。3. 探索性分析与交叉表卡方正态性判断和列联表检验的实操细节3.1 正态性检验Q-Q图和SW检验不能只看一张图报告里考察身高、体重和胸围的正态性结论是“三个变量都很好的服从正态分布”。这个结论在实战里还需要更多证据支撑。操作路径是“分析 → 描述统计 → 探索”在“图”选项卡里勾选“带检验的正态图”SPSS会同时输出Q-Q图和Kolmogorov-Smirnov检验、Shapiro-Wilk检验结果EXAMINE VARIABLES身高 体重 胸围 /PLOT BOXPLOT NPPLOT /COMPARE GROUPS /STATISTICS DESCRIPTIVES /CINTERVAL 95 /MISSING LISTWISE /NOTOTAL.NPPLOT是正态概率图也就是Q-Q图的关键参数。判断正态性的标准写法是两条一起看第一Shapiro-Wilk检验的Sig大于0.05说明不能拒绝“数据来自正态分布”的假设第二Q-Q图上的散点基本贴着yx对角线没有明显的S形弯曲。样本量小于50时SW检验比KS检验更灵敏所以优先读Shapiro-Wilk那一行。如果只写“从Q-Q图可以看出服从正态”论文审稿人通常会追问一句“检验统计量是多少”。把SW检验的p值写进去结论才站得住。3.2 交叉表卡方加权个案的缺失会怎样扭曲结果data4-10.sav是吸烟与患气管炎的调查数据报告里用交叉列联表分析二者关系。这里有一个报告本身没有处理干净的问题原始调查表是“是否吸烟 × 是否患气管炎 × 人数”的汇总格式人数分别是43、162、13、121合计339人。但报告输出的交叉表只有4个有效个案卡方检验的Sig输出1.000期望计数小于5的单元格占100%。问题出在“数据 → 加权个案”这一步。如果数据文件里每个变量是一行汇总记录而不是每个人一行SPSS默认把每行当一个个体来分析。交叉表里每个格子自然只数到1有效N就变成4卡方检验完全失真。正确做法是先按人数加权再做交叉表WEIGHT BY 人数. CROSSTABS /TABLES是否患气管炎 BY 是否吸烟 /STATISTICSCHISQ /CELLSCOUNT EXPECTED ROW COLUMN./CELLSCOUNT EXPECTED ROW COLUMN表示单元格输出观测频数、期望频数、行百分比和列百分比。加权后得到的列联表应该是是否患气管炎 × 是否吸烟吸烟不吸烟合计患病431356健康162121283合计205134339为了验证结果可以在Python里用同一组数复算一遍卡方检验import numpy as np from scipy.stats import chi2_contingency # 行是否患气管炎患病/健康列是否吸烟吸烟/不吸烟 table np.array([[43, 162], [13, 121]]) chi2, p, dof, expected chi2_contingency(table, correctionFalse) print(fPearson chi2 {chi2:.2f}, df {dof}, p {p:.4f}) print(期望频数矩阵) print(expected)逻辑说明chi2_contingency接收的是列联表矩阵correctionFalse对应SPSS里不勾选“连续校正”的Pearson卡方。计算原理是Σ(O-E)²/E其中O是观测频数E是按行列边际算出的期望频数。这段代码输出大约chi27.46p0.006期望频数矩阵四个格子都大于5说明卡方检验前提满足p值远小于0.05拒绝“吸烟与患气管炎独立”的假设。对比SPSS报告里的Sig1.000根本原因就是没做加权。以后再遇到频数表格式的原始数据第一步就检查“数据 → 加权个案”是否设置好否则后面所有结果都是假的。3.3 列联表读百分比的方向和Fisher精确检验卡方检验显著只说明“有关联”不说明关联方向。要判断方向得回到百分比。原则是在因果分析中自变量放列、因变量放行读行百分比。这个例子里“是否吸烟”是暴露变量“是否患气管炎”是结局所以读吸烟组中患病的比例43/205≈21.0%对照不吸烟组13/134≈9.7%。两个比例相差一倍多关联方向就很清晰吸烟组患病率明显更高。再看卡方检验结果表里的几个关键行。Pearson卡方是默认结果连续校正是针对2×2四格表的调整样本量小且期望频数低时更保守Fisher精确检验在任意单元格期望频数小于5时优先使用。报告里“4个单元格(100%)的期望计数少于5最小期望计数为1.00”这个脚注是SPSS在提醒使用者当前表格不满足卡方检验适用条件。看到这条脚注正确反应不是照抄结果而是回头查数据是否要加权、样本量是否太小、要不要合并类别。4. 单样本、独立样本与配对样本T检验均值比较的三种场景判定4.1 单样本T检验用一个已知常数当参照data5-16.sav是27名学生的数学成绩要检验该班与全国平均分70分是否有显著差异。菜单路径是“分析 → 比较均值 → 单样本T检验”检验值填70。语法如下T-TEST /TESTVAL70 /MISSINGANALYSIS /VARIABLES成绩 /CRITERIACI(.95).TESTVAL后面的数字就是参照均值。输出里“单个样本统计量”表给出N27均值77.93标准差12.111均值的标准误2.331“单个样本检验”表给出t3.400df26Sig(双侧)0.002。注意报告里写的是0.02如果对照t分布表t3.400对应的双侧p值约0.002SPSS默认显示到三位小数也是0.002报告大概率是漏了一位小数。无论0.02还是0.002都小于0.05结论不变数学成绩与全国平均分70存在显著差异。单样本T检验的原理可以用一个式子讲清楚t(x̄-μ₀)/(s/√n)分子的7.93是两个均值的差分母的2.331是抽样误差。t值越大说明样本均值离参照值越远越不像随机波动能解释的。如果p值大于0.05只能说“现有证据不足以拒绝原假设”不能写成“该班与全国平均分相同”。4.2 独立样本T检验两组之间比先看方差齐性男女学生各10名的得分数据要求比较置信度95%下男女得分是否有显著差异。数据分两列或一列带性别分组变量操作路径是“分析 → 比较均值 → 独立样本T检验”组别定义里把性别取值填成1和2T-TEST GROUPS性别(1 2) /VARIABLES成绩 /CRITERIACI(.95).独立样本T检验的输出里第一张表“组统计量”先给出两组各自的均值、标准差和标准误第二张表最关键——Levene方差齐性检验。判断规则是看Levene的Sig如果大于0.05读“假定等方差”那一行t值如果小于0.05读“不假定等方差”那一行SPSS会自动改用Welch-Satterthwaite校正结果。本例男生成绩范围5999女生最低23分两组方差差异不小稳妥做法是直接读第二行的结论。报告里p值小于0.05拒绝原假设男女得分差异显著这与数据直观分布一致。多组别场景下还有一个高频操作把班级或年级也纳入分组检验用“数据 → 拆分文件”按分组变量排序后选择“比较组”再执行同一段T-TESTSPSS会逐组输出结果。分析完成后一定记得把拆分状态改回“分析所有个案不创建组”否则后续频率表和描述统计全部默认按组输出这是SPSS操作里最常见的“状态残留”问题。4.3 配对样本T检验前后测数据的差值检验16位肥胖者服药前后体重构成典型的配对设计。同一批人测两次数据不独立要用配对样本T检验T-TEST PAIRS服药前 WITH 服药后 (PAIRED) /CRITERIACI(.95) /MISSINGANALYSIS.PAIRS服药前 WITH 服药后 (PAIRED)明确告诉SPSS这两个变量是成对出现的。输出共三张表配对样本统计量给前后体重的均值配对样本相关系数检验前后测量是否存在线性关联配对样本检验给出差值的均值、标准差、t值和Sig。报告里Sig小于0.05拒绝“服药前后体重无差异”的原假设结论是体重有显著变化。这里有一个值得多写一句的细节双侧检验只回答“有没有差异”不回答“是降还是升”。要看方向就检查“配对样本检验”表里Mean那一列的符号。如果“服药前服药后”的差值均值为正且显著说明服药前体重大于服药后也就是体重下降。论文表述里写“体重显著下降”比“体重有显著变化”更精确因为后者没有给出效应的方向。三种T检验放在一起对照选型的逻辑非常清楚检验类型适用数据结构原假设关键输出单样本T检验一组样本 vs 已知常数样本均值等于检验值t值、Sig(双侧)独立样本T检验两组互相独立的个案两组均值差为0Levene检验 对应t行配对样本T检验同一批对象的两次测量配对差值的均值为0配对差值均值的符号5. 数据不满足正态时怎么办独立样本与相关样本非参数检验5.1 Mann-Whitney U检验的适用条件与结果判读小麦产量数据里小麦Ⅰ有11个观测小麦Ⅱ有9个观测。样本量这么小两组数据的分布形态很难判断t检验所依赖的正态性前提没有保障所以报告采用“独立样本非参数检验”。操作路径是“分析 → 非参数检验 → 独立样本”字段选项卡把产量放入检验字段品种放入分组变量设置选项卡里选择“自定义检验”勾选Mann-Whitney U。Mann-Whitney U检验的原理是把两组数据混合后排序再比较两组秩和。如果两组产量没有差异秩和应该大致相当如果一组明显偏高秩和差距拉大检验统计量就会落入拒绝域。报告里Sig1.000说明两组秩和几乎完全相同完全落在接受域所以结论是两品种产量无显著差异。0.05和0.01两个显著性水平下结论一致。需要留意的是SPSS在样本量较小时会同时给出“精确显著性”和“渐近显著性”Mann-Whitney U优先读精确Sig因为小样本下渐近分布近似程度不够好。5.2 相关样本的Wilcoxon符号秩检验晨脉数据怎么比15名男生经过5个月长跑锻炼锻炼前后的晨脉属于配对数据。如果差值不服从正态分布不能用配对T检验改用“分析 → 非参数检验 → 相关样本”里的Wilcoxon符号秩检验NPTESTS /RELATED TEST(晨脉前 晨脉后) WILCOXON /MISSING SCOPEANALYSIS USERMISSINGEXCLUDE /CRITERIA ALPHA0.05 CILEVEL95.NPTESTS是SPSS 18之后统一输出非参数检验结果的命令比老旧的NPAR TESTS更规范。/RELATED TEST(晨脉前 晨脉后)指定配对变量次序括号内的顺序决定差值计算方向。Wilcoxon符号秩检验先计算每对观测的差值再按差值绝对值排序最后比较正秩和负秩的大小。报告里Sig0.22大于0.05接受原假设结论是锻炼前后晨脉差异的中位数等于0即没有显著变化。注意这句话的严谨之处非参数检验比较的是分布位置而不是均值所以结论应该写“晨脉差异的中位数等于0”而不是“晨脉均值无变化”。参数检验与非参数检验的对应关系是学习时最容易绕晕的地方参数检验非参数检验适用场景单样本T检验Wilcoxon符号秩检验单样本一组数据的中位数 vs 已知常数独立样本T检验Mann-Whitney U检验两组独立样本的位置比较配对样本T检验Wilcoxon符号秩检验配对同一批对象的前后测量比较5.3 参数和非参数结论冲突时怎么报告实战中常见一个尴尬局面同一份数据T检验显著可Mann-Whitney U检验不显著或者反过来。这种冲突的根源通常是数据里有极端值或者样本量太小导致两种检验的检验效能不同。常见处理思路是分三步先输出正态性检验结果说明数据是否满足参数检验前提再按数据特征确定主检验明显偏态时直接用非参数最后把另一个检验作为稳健性检验写进脚注。样本量接近30时t检验已经相当稳健两个结论一致就可以同时列出。如果企业里做分析报告最终结论建议以“主检验稳健性检验”的格式呈现而不是挑一个对自己有利的检验单独报告——这既是统计规范也是SPSS实战里最容易被忽视的统计思维。6. 相关分析矩阵从Pearson到偏相关再到距离分析的递进6.1 双变量相关先分清Pearson、Spearman和KendallK.K.Smith的花卉数据包含花瓣长、花枝长、花萼长三组连续变量要求两两相关分析。操作路径是“分析 → 相关 → 双变量”把三个变量都选入变量框相关系数勾选PearsonCORRELATIONS /VARIABLES花瓣长 花枝长 花萼长 /PRINTTWOTAIL NOSIG /MISSINGPAIRWISE.输出表上半部分是描述统计量下半部分是相关矩阵。花瓣长与花枝长的相关系数0.955与花萼长的相关系数0.797都大于0方向为正显著性0.002小于0.05拒绝“两变量不相关”的原假设三个变量两两之间存在显著正相关。MISSINGPAIRWISE表示有缺失值时按对删除即计算某对变量相关系数时只排除这一对里的缺失个案其他变量对不受影响。三种相关系数的使用条件差异很大实际选型经常被人忽略相关系数适用条件对异常值的敏感度Pearson连续变量、近似正态、线性关系敏感极端值容易拉高相关系数Spearman顺序变量或非正态连续变量基于秩不敏感Kendall小样本或大量并列秩时更稳健不敏感6.2 偏相关控制住干扰变量再谈相关性短跑名次和跳高名次的例子涉及偏相关分析。简单相关只能说明两个变量存在共同变化但共同变化可能是第三方变量造成的。偏相关的思路是把控制变量对两个目标变量的影响都回归掉再计算残差之间的相关系数。SPSS操作路径是“分析 → 相关 → 偏相关”PARTIAL CORR /VARIABLES百米名次 跳高名次 BY 控制变量 /SIGNIFICANCETWOTAIL /STATISTICSCORR.输出结果显示百米名次与跳高名次的偏相关系数为0.697双尾检验Sig为0.25大于0.05接受原假设说明在控制无关变量后两个名次之间的相关不具备统计显著性。这里有一个官方文档里经常讲不清楚的细节偏相关不显著但简单相关显著说明变量之间的原始相关主要由被控制的变量传递不能解读成两个变量存在直接关系。太阳镜销售量案例同样用偏相关“分析 → 相关 → 偏相关”把销售量与月份作为分析变量平均价格、广告费用、日照时间作为控制变量。结果显示偏相关系数0.203Sig0.559远大于0.05销量与月份在控制其他变量后不存在显著相关。报告里“此题用偏相关分析无实际意义”应该这样理解既然控制了价格、广告、日照后月份与销量几乎没有净相关那么月份本身并不能解释销量的额外变差。做论文数据分析时碰到偏相关不显著但简单相关显著的场景先不要急着写“二者无关”要回头检查控制变量是否过度中介或者样本量是否不足以支撑多个控制变量。6.3 距离分析把相关矩阵喂给聚类分析分析太阳镜数据时SPSS“分析 → 相关 → 距离”命令输出的不是显著性检验而是变量或个案之间的相似性矩阵。语句如下PROXIMITIES 销量 价格 广告费用 日照时间 /MATRIX OUT(D:\\distance.sav) /MEASURECORRELATION /STANDARDIZENONE./MEASURECORRELATION把相关系数当作相似性度量相关系数越接近1变量距离越近/MATRIX OUT把相似性矩阵保存为.sav文件后续“分析 → 分类 → 系统聚类”里可以直接读取这个矩阵文件作为聚类输入这就把相关分析和聚类分析衔接起来了。如果变量的量纲差距很大比如销量是几百、价格是个位数距离会被销量完全主导应在/STANDARDIZE里选择Z得分标准化后再计算矩阵。距离分析没有p值它的价值在于为后续的多元分析准备输入数据这也是市面上很多SPSS教程不讲、但实际做市场细分和问卷结构分析时一定会用到的衔接步骤。本文还有配套的精品资源点击获取