京公网安备 11010802034615号
经营许可证编号:京B2-20210330
如何在SPSS中做数据正态转化
数据不完全符合正态分布,接下来的问题是,很多学科都在讲大样本不用太考虑正态分布问题,但事实上由此造成的误差确实存在,有时还会比较大。那么如何用SPSS做数据正态化转换呢?
严格说来,解决这个问题需要讲四个方面:
什么是正态转换?
为什么做正态转换?
何时做正态转化?
如何做正态转化?
我担心如果只讲How(如何做),也许有些初学者不分场合,误用滥用。但是,我同样担心如果从ABC讲起,难免过分啰嗦,甚至有藐视大家的智商之嫌。所幸现在是互联网时代,有关上述What, Why, When问题的答案网上唾手可得。如果对这些问题不甚了了的读者,强烈建议先到google上用“How to transform data to normal distribution"搜一下(或点击下面的“前10条”),前10条几乎每篇都是必读的经典。
有了上述交代,我们可以比较放心地来讨论如何做正态转换的问题了。具体来说,涉及以下几步:
第一步
查看原始变量的分布形状及其描述参数(Skewness和Kurtosis)。这可以用频率或者描述性统计或者BoxPlot;
第二步
根据变量的分布形状,决定是否做转换。这里,主要是看一下两个问题:
1、左右是否对称
也就是看Skewness(偏差度)的取值。如果Skewness为0,则是完全对称(但罕见);如果Skewness为正值,则说明该变量的分布为positively skewed(正偏态,见下图1b);如果Skewness为负值,则说明该变量的分布为negatively skewed(负偏态,见图 1a)。然而,肉眼直观检查,往往无法判断偏态的分布是否与对称的正态分布有“显著”差别,所以需要做显著性检验。如同其它统计显著性检验一样,Skewness的绝对值如大于其标准误差的1.96倍,就被认为是与正态分布有显著差别。如果检验结果显著,我们也许(注意这里我用的是“也许”一词)可以通过转换来达到或接近对称。见注解1的说明。
2、峰态是否陡缓适度
也就是看Kurtosis(峰态)是否过分peaked(陡峭)或过分flat(平坦)。如果Kurtosis为0,则说明该变量分布的峰态正合适,不胖也不瘦(但罕见);如果Kurtosis为正值,则说明该变量的分布峰态太陡峭(瘦高个,见图2b);反之,如果Kurtosis为负值,该变量的分布峰态太平缓(矮胖子,见图2a)。峰态是否适度,更难直观看出,也需要通过显著检验。如同Skewness一样,Kurtosis的绝对值如果大于其标准误差的1.96倍,就被认为与正态分布有显著差别。这时,我们也许可以通过转换来达到或接近正态分布(峰态)。
第三步
如果需要做正态化转换,还是根据变量的分布形状,确定相应的转换公式。最常见的情况是正偏态加上陡峰态。
1、如果是中度偏态
如Skewness为其标准误差的2-3倍,可以考虑取根号值来转换,以下是SPSS的指令(其中"nx"是原始变量x的转换值,参见注2):
COMPUTE nx=SQRT(x)
2、如果高度偏态
如Skewness为其标准误差的3倍以上,则可以取对数,其中又可分为自然对数和以10为基数的对数。以下是转换自然对数的指令(注2):
COMPUTE nx=LN(x)
以下是转换成以10为基数的对数(其纠偏力度最强,有时会矫枉过正,将正偏态转换成负偏态,注2):
COMPUTE nx=LG10(x)
上述公式只能减轻或消除变量的正偏态(positive skewed),但如果不分青红皂白(即不仔细操作第一和第二步)地用于负偏态(negative skewed)的变量,则会使负偏态变得更加严重。如果第一步显示了负偏态的分布,则需要先对原始变量做reflection(反向转换),即将所有的值反过来,如将最大值变成最小值、最小值变成最大值、等等。如果一个变量的取值不多,可用如下指令来反转:
RECODE x(1=7)(2=6)(3=5)(5=3)(6=2)(7=1)
如果变量的取值很多或有小数、分数,上述方法几乎不可能,则需要写如下的指令(不知大家现在是否信服了为什么要学syntax吗?):
COMPUTE nx=max-x+1, 其中max是x的最大值。
第四步
回到第一步,再次检验转换后变量的分布形状。如果没有解决问题,或者甚至恶化(如上述的从正偏态转成负偏态),需要再从第二或第三步重新做起,然后再回到第一步的检验,等等,直至达到比较令人满意的结果(见注3)。
数据正态化的特别注解
1、如同其它统计检验量一样,Skewness和Kurtosis的的标准误差也与样本量直接有关。具体说来,Skewness的标准误差约等于6除以n后的开方(根号喜下6/n),而Kurtosis的标准误差约等于24除以n后的开方(根号下24/n),其中n均为样本量。由此可见,样本量越大,标准误差越小,因此同样大小的Skewness和Kurtosis在大样本中越可能与正态分布有显著差别。这也许就是SW在问题中提到的“很多学科都在讲大样本不用太考虑正态分布问题”的由来。我的看法是,如果小样本的Skewness和Kurtosis是显著的话,一定要转换;在大样本的条件下,如果Skewness和Kurtosis是轻度偏差,也许不需要转换,但如果严重偏差,也是要转换。
2、大家知道,根号里的x不能为负数,对数或倒数里的x不能为非正数(即等于或小于0)。如果你的x中有是负数或非正数,需要将其做线性转换成非负数(即等于或大于0)或正数(大于0),如 COMPUTE nx = SQRT (x - min) 或 COMPUTE nx = LN (x - min + 1),其中的min是x的最小值(为一个非正数)。
3、不是任何分布形态的变量都可以转换的。例外之一是“双峰”或“多峰”分布(distribution with dual or multiple modality),没有任何公式可以将之转换成单峰的正态分布。数据分析师培训
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在 MySQL 实际应用中,“频繁写入同一表” 是常见场景 —— 如实时日志存储(用户操作日志、系统运行日志)、高频交易记录(支付 ...
2025-10-30为帮助教育工作者、研究者科学分析 “班级规模” 与 “平均成绩” 的关联关系,我将从相关系数的核心定义与类型切入,详解 “数 ...
2025-10-30对 CDA(Certified Data Analyst)数据分析师而言,“相关系数” 不是简单的数字计算,而是 “从业务问题出发,量化变量间关联强 ...
2025-10-30在构建前向神经网络(Feedforward Neural Network,简称 FNN)时,“隐藏层数目设多少?每个隐藏层该放多少个神经元?” 是每个 ...
2025-10-29这个问题切中了 Excel 用户的常见困惑 —— 将 “数据可视化工具” 与 “数据挖掘算法” 的功能边界混淆。核心结论是:Excel 透 ...
2025-10-29在 CDA(Certified Data Analyst)数据分析师的工作中,“多组数据差异验证” 是高频需求 —— 例如 “3 家门店的销售额是否有显 ...
2025-10-29在数据分析中,“正态分布” 是许多统计方法(如 t 检验、方差分析、线性回归)的核心假设 —— 数据符合正态分布时,统计检验的 ...
2025-10-28箱线图(Box Plot)作为展示数据分布的核心统计图表,能直观呈现数据的中位数、四分位数、离散程度与异常值,是质量控制、实验分 ...
2025-10-28在 CDA(Certified Data Analyst)数据分析师的工作中,“分类变量关联分析” 是高频需求 —— 例如 “用户性别是否影响支付方式 ...
2025-10-28在数据可视化领域,单一图表往往难以承载多维度信息 —— 力导向图擅长展现节点间的关联结构与空间分布,却无法直观呈现 “流量 ...
2025-10-27这个问题问到了 Tableau 中两个核心行级函数的经典组合,理解它能帮你快速实现 “相对位置占比” 的分析需求。“index ()/size ( ...
2025-10-27对 CDA(Certified Data Analyst)数据分析师而言,“假设检验” 绝非 “套用统计公式的机械操作”,而是 “将模糊的业务猜想转 ...
2025-10-27在数字化运营中,“凭感觉做决策” 早已成为过去式 —— 运营指标作为业务增长的 “晴雨表” 与 “导航仪”,直接决定了运营动作 ...
2025-10-24在卷积神经网络(CNN)的训练中,“卷积层(Conv)后是否添加归一化(如 BN、LN)和激活函数(如 ReLU、GELU)” 是每个开发者都 ...
2025-10-24在数据决策链条中,“统计分析” 是挖掘数据规律的核心,“可视化” 是呈现规律的桥梁 ——CDA(Certified Data Analyst)数据分 ...
2025-10-24在 “神经网络与卡尔曼滤波融合” 的理论基础上,Python 凭借其丰富的科学计算库(NumPy、FilterPy)、深度学习框架(PyTorch、T ...
2025-10-23在工业控制、自动驾驶、机器人导航、气象预测等领域,“状态估计” 是核心任务 —— 即从含噪声的观测数据中,精准推断系统的真 ...
2025-10-23在数据分析全流程中,“数据清洗” 恰似烹饪前的食材处理:若食材(数据)腐烂变质、混杂异物(脏数据),即便拥有精湛的烹饪技 ...
2025-10-23在人工智能领域,“大模型” 已成为近年来的热点标签:从参数超 1750 亿的 GPT-3,到万亿级参数的 PaLM,再到多模态大模型 GPT-4 ...
2025-10-22在 MySQL 数据库的日常运维与开发中,“更新数据是否会影响读数据” 是一个高频疑问。这个问题的答案并非简单的 “是” 或 “否 ...
2025-10-22