学习笔记|正负偏态的转换方法|对数转换|正态得分法|适用条件|《小白爱上SPSS》课程:加餐 | 如何将非正态分布数据转换为正态分布的?手把手教你SPSS操作

news2024/11/26 16:30:40

目录

  • 学习目的
  • 软件版本
  • 原始文档
  • 将非正态分布数据转换为正态分布
    • 一、正负偏态的转换方法
      • (一)正偏态数据转换方法
      • (二)负偏态数据转换方法
    • 三、正态性检验
      • (一)操作如下
      • (二)结果解读
      • 四、SPSS:对数转换法
        • (一)选择检验方法和操作步骤
        • (二)结果验证和解读
      • 五、SPSS:正态得分法
        • 需要注意
    • 六、划重点

学习目的

加餐 | 如何将非正态分布数据转换为正态分布的?手把手教你SPSS操作

软件版本

IBM SPSS Statistics 26。

原始文档

《小白爱上SPSS》课程
#统计原理

将非正态分布数据转换为正态分布

在前面我们学过的参数检验中,比如两独立样本T检验和单因素方差分析中,有一个重要前提条件是连续型变量要满足正态分布。
如果遇到非正态分布数据怎么办?
一种建议是选用合适的非参数检验方法,比如两样本秩和检验;另一种是对原始进行转换使得其满足正态分布特性。
这一讲,我们来讲解下如何转换?

一、正负偏态的转换方法

正态分布转换方法有很多,比如:对数变换、平方根变换、平方根反正弦变换、平方变换、倒数变换、Box-Cox变换、正态得分法。
这里选择几种常用方法讲解,起示范作用。
数据转换分成两种情况,一种是正偏态数据,另一种是负偏态数据,每种又分成轻度、中度和严重三种情况。

(一)正偏态数据转换方法

1、轻度正偏态分布
当偏度值>0,偏度值为其标准误差的2-3倍,即Z-score=2~3,此时认为资料分布呈现轻度的正偏态分布,故考虑对变量x取根号开平方的方法来进行转换。
SPSS语句如下:
COMPUTE x_new = SQRT(x)
(SQRT为开平方根Square Root缩写)
2、中度正偏态分布
当偏度值>0,偏度值为其标准误差的3倍以上时,即Z-score>3,此时认为资料分布呈现中度的正偏态分布,可以考虑对变量x取对数来进行转换。可以取自然对数(ln)或以10为底的对数(log10)。
SPSS语句如下:
COMPUTE x_new = LN(x)
COMPUTE x_new = LG10(x)
注意:LG10的纠正力度较强,有时甚至会矫枉过正,将正偏态转换为负偏态,因此在进行正态转换后一定要对该变量再次进行正态性检验。
3、重度正偏态分布
对于两端波动比较大的数据资料,极端值可能产生较大的影响,此时可以考虑取倒数的方法来进行转换。
SPSS语句如下:
COMPUTE x_new = 1/x
若你不太熟悉SPSS语法编辑窗口,则可通过SPSS中“转换”—“计算变量”实现,找到sqrt, ln, lg10等函数。
在这里插入图片描述
注意:根号下要求数据均为非负数(即≥0),对数要求数据均为正数(即>0);取倒数要求分母不为0, 如果变量x中出现上述情况,则需要先将其进行一定的转换,如x+K或K-x,再对其取根号、对数或倒数。其中K为一个常数,可以根据需要进行赋值,例如赋值为1,或取数据的最小值、最大值等。

(二)负偏态数据转换方法

对于负偏态分布的数据资料,首先需要将负偏态资料进行反转,转换为正偏态,然后再参考正偏态分布资料的转换方法进行转换。
反转的方法:首先找出该数据系列的最大值max,用最大值+1,再减去每个数值。
1、轻度负偏态分布
SPSS语句如下:
COMPUTE x_new = SQRT(max+1-x)
2、中度负偏态分布
SPSS语句如下:
COMPUTE x_new = LN(max+1-x)
COMPUTE x_new = LG10(max+1-x)
3、重度负偏态分布
SPSS语句如下:
COMPUTE x_new = 1/(max+1-x)
二、实战案例
下面是42名员工的月收入,试检验其正态性。若不服从正态性,请将其转化为正态分布。
读数据:

GET 
  FILE='E:\E盘备份\recent\小白爱上SPSS\小白数据\加餐:非正态分布数据的转换.sav'. 

在这里插入图片描述

三、正态性检验

这里主要通过SPSS的探索性描述统计方法来考察收入的分布情况。

(一)操作如下

点击分析——描述统计——探索
将“收入”选入因变量列表,点击 图 --勾选直方图–勾选含检验的正态图–继续–确定。
命令行:

EXAMINE VARIABLES=原始收入数据
  /PLOT HISTOGRAM NPPLOT /*若无此行,则不输出正态性检验表*/
  /COMPARE GROUPS 
  /STATISTICS DESCRIPTIVES 
  /CINTERVAL 95 
  /MISSING LISTWISE 
  /NOTOTAL.

(二)结果解读

1.描述看峰度偏度
在这里插入图片描述
在这里插入图片描述
由以上结果可知,偏度系数的绝对值均大于1.96,可以认为该组样本数据不服从符合正态分布。
4.看正态性检验结果
在这里插入图片描述
5.结果解读:
当数据量≤50时,倾向于以夏皮洛-威尔克(S-W)检验结果为准;
当数据量>50时,倾向以柯尔莫戈洛夫-斯米诺夫(K-S)检验结果为准;当数据量>5000时,SPSS只会显示K-S检验结果。
本例中,我们检验40名员工收入的正态分布情况,由上表显示,样本量(可参考自由度那一列数值)小于50,故以夏皮洛-威尔克(S-W)检验结果为准。检验的p值(即显著性那一列)为0.000,小于0.05,具有统计意义,不支持原假设。说明40名员工收入不符合正态分布,故认为收入不满足正态性。

四、SPSS:对数转换法

(一)选择检验方法和操作步骤

由上可知,因本案例中偏度值<0,为负偏态,偏度值为其标准误差的3倍以上,故考虑对变量x取对数来进行转换。对于负偏态分布的数据资料,首先需要将负偏态资料进行反转,转换为正偏态,然后再参考正偏态分布资料的转换方法进行转换。
Step1:反转的方法为:首先找出该数据系列的最大值max,用最大值+1,再减去每个数值,本例子中最大值为15510,处理后数据名称为“反转后数据”如下:
在这里插入图片描述
命令行:

COMPUTE 反转数据=15510+1-原始收入数据. 
EXECUTE.

处理结果如下:在这里插入图片描述
Step2: 对反转后数据进行对数转换,以Log10为例,步骤如下:
(1) 选择转换→ 计算变量
(2) 在目标变量(T)框中输入一个新的变量名:新收入数据,作为数据转换后的变量名,此处设定为新收入数据。
(3) 在函数组中选择算数,在函数和特殊变量中双击Lg10,此时在数字表达式框中显示LG10(?)
(4) 从变量列表中双击反转后数据,此时在数字表达式框中显示:LG10(反转数据)
在这里插入图片描述
(5) 点击确定完成操作,操作完成,出现新收入数据列。
命令行:

COMPUTE 新收入数据=LG10(反转数据). 
EXECUTE.
(二)结果验证和解读

重新验证正态性:

EXAMINE VARIABLES=新收入数据
  /PLOT HISTOGRAM NPPLOT /*若无此行,则不输出正态性检验表*/
  /COMPARE GROUPS 
  /STATISTICS DESCRIPTIVES 
  /CINTERVAL 95 
  /MISSING LISTWISE 
  /NOTOTAL.

结果:
在这里插入图片描述
在结果输出的描述表格中显示,计算偏度系数和峰度系数均大于1.96,正态性检验p<0.001,故说明转换后数据仍不服从正态分布(读者可以采用【倒数】转换方法尝试下,结果仍然不服从正态分布)。
至此,本公众号建议不进行正态分布数据转换,而采用非参数检验方法。因为,一般而言,收入这个变量的总体数据是不服从正态分布的。
当然,我们也可采用正态得分方法操作,使其转换为正态分布。

五、SPSS:正态得分法

(一)选择转换→个案排秩检验
将原始收入数据选入变量(V)框中,点击类型排秩选项框,取消默认勾选的秩,勾选正态得分选项。在比例估算公式下有4种方法可供选择,默认Blom方法,其他方法也可以进行尝试,点击继续再点击确定完成操作。
在这里插入图片描述
命令行:

RANK VARIABLES=原始收入数据 (A) 
  /NORMAL 
  /PRINT=YES 
  /TIES=MEAN 
  /FRACTION=BLOM.

我们可以看到在程序运行后在变量列表中多出了一个名为N原始的新变量,即为计算的正态得分。
在这里插入图片描述
重新验证正态性:

EXAMINE VARIABLES=N原始收
  /PLOT HISTOGRAM NPPLOT /*若无此行,则不输出正态性检验表*/
  /COMPARE GROUPS 
  /STATISTICS DESCRIPTIVES 
  /CINTERVAL 95 
  /MISSING LISTWISE 
  /NOTOTAL.

下图为采用探索方法对N原始收入数据正态性检验以验证转化效果。
在这里插入图片描述
在这里插入图片描述
在结果输出的描述表格中显示,偏度系数和峰度系数均小于1.96,正态性检验p=1.000>0.05,故说明转换后数据服从正态分布。

需要注意

基于正态得分法得到的数据,在编秩过程中额外地加入原本不属于数据本身的分布特征,因此在一般统计方法中,并不能直接当做正态数据使用,其标准差、方差等信息与原始数据的计算结果也并不一样。这种转换,仅能用作在构建复杂模型时的探索

六、划重点

(1)正态分布转换方法有很多,包括:对数变换、平方根变换、平方根反正弦变换、平方变换、倒数变换、Box-Cox变换(SPSS软件实现不了)和正态得分法等。
(2)不是任何非正态数据都可以进行正态转换,只有把握认为数据的总体分布是正态的时候才可做正态转换。
(3)如果一种正态分布转换方法没成功,则需要多次其他转换方法,甚至要创造性提出转换方法,从中选择效果较好者。
(4)如果通过多次变量转换的方法依然无法转换成功,就不再适用于T检验、方差分析等方法了,这时可采用前期介绍过的非参数检验的方法来进行分析,例如Wilcoxon检验和Mann-Whitney U检验方法等。
(5)在对线性回归模型进行解释时,如果使用函数转换的方法对变量进行转换,则应对转换后的变量给予解释,或者可以根据转换时使用的函数关系,倒推原始自变量对原始因变量的效应大小。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1167164.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CTF工具PDF隐写神器wbStego4open安装和详细使用方法

wbStego4open安装和详细使用方法 1.wbStego4open介绍&#xff1a;2.wbStego4open下载&#xff1a;3.wbStego4open原理图&#xff1a;4.wbStego4open使用教程&#xff1a;第一步&#xff1a;第二步&#xff1a;第三步&#xff1a;第四步&#xff1a;第五步&#xff1a; 5.wbSteg…

电脑版WPS怎么将更新目录加到快速访问栏

效果 步骤 开启首页的“标签”、快速访问、在最近置顶展示然后选择好目录点击右边的设置 》 添加标签选中“快速访问”&#xff0c;确定并关闭完成 相关 WPS怎样设置快速访问工具栏 WPS怎样设置快速访问工具栏-百度经验WPS怎样设置快速访问工具栏,WPS怎样设置快速访问工具栏…

实现dialog在页面随意拖拽

实现dialog在页面随意拖拽 1.先建一个文件如图所示&#xff1a; 文件名:dialog-directive.js 文件内容&#xff1a; import Vue from vue // v-dialogDrag: 弹窗拖拽Vue.directive(dialogDrag, {bind(el, binding, vnode, oldVnode) {// 获取拖拽内容的头部const dialogHeade…

中国联通携手华为助力长城精工启动商用5G-A柔性产线

[中国&#xff0c;河北&#xff0c;2023年11月3日] 近日&#xff0c;中国联通携手华为助力精诚工科汽车系统有限公司保定自动化技术分公司&#xff08;简称长城精工自动化&#xff09;启动5G-A超高可靠性超低时延柔性产线的商用阶段。 在河北保定精工自动化工厂&#xff0c;5G…

java入门,java数据结构二叉树结构

一、前言 树结构是计算机各种存储和查询算法的基本结构。但是在学习这个数据结构的时候&#xff0c;很少人知道它有什么运用&#xff0c;因为在学的时候&#xff0c;也是纯数学的讲解。博主当时学的时候也是云里雾里&#xff0c;最经典的就是严蔚敏和吴伟民的那本《C语言数据结…

python自动化运维——模拟键盘鼠标重复性操作Pyautoui

一、程序样式展示 将程序与cmd.xls文件放在同一文件夹&#xff0c;每一步的截图也放在当前文件夹 通过图片在屏幕上面进行比对&#xff0c;找到点击处进行自动化操作 自动化rpa测试 二、核心点 1.Pyautoui模块&#xff1a;主要针对图片进行定位pyautogui.locateCenterOnScree…

重新理解数字化采购:一场企业内的数字化战役

在显性的采购商品成本之外&#xff0c;越来越多企业开始发现采购环节里高昂的供应链隐性成本&#xff0c;这些成本几乎分布在链条和经营的每个节点&#xff1a;供应商管理、物流履约&#xff0c;售前、售后以及最前端的系统对接搭建等等。 换言之&#xff0c;若想做好数字化采…

智能电表瞬时电量是什么意思?

智能电表已经成为我们进行能源管理的重要工具。其中&#xff0c;瞬时电量这一概念逐渐走进大众视野。那么&#xff0c;智能电表瞬时电量究竟是什么意思&#xff1f;它对我们的生活和能源管理又有哪些影响呢&#xff1f;下面&#xff0c;小编就来为大家介绍一下瞬时电量&#xf…

linux上重启mysql

1、先关闭 [rootHIS bin]# ./mysqladmin -h 127.0.0.1 -u root -p shutdown 2、 再重启 [rootHIS support-files]# ./mysql.server start

eclipse报错 an error has occurred.see the log file

eclipse报错: an error has occurred.see the log file 问题描述 eclipse安装好之后用的好好的,结果第二天再打开的时候突然就起不来了,然后就开始报错 原因分析&#xff1a; 刚安装上那会因为是jdk1.8的环境运行我的项目报错,后来换成高版本的jdk换成了11,用的好好的就这样…

企业提高客服服务质量,可以从哪几个方面着手?

随着市场竞争的日益激烈&#xff0c;企业提高客服服务质量成为了企业发展的重要方向。一个良好的客服服务体系可以提升企业的竞争力&#xff0c;增强企业的品牌影响力。那么企业要如何提高客服服务质量呢&#xff1f;本文将从多个方面入手&#xff0c;帮助企业提高客服服务质量…

双向可视对讲终端机居家养老家用视频对讲

双向可视对讲终端机&#xff0c;用于平安校园&#xff0c;智慧城市、银行、医院&#xff0c;智慧养老&#xff0c;平安校园&#xff0c;无人超市等方案中的可视对讲报警设备。语音识别报警、一键报警、双向视频对讲、录音、电子地图显示、广播喊话等具有多功能产品。是守护平安…

JWT

目录 JWT组成 第一部分header 第二部分payload 第三部分signature 注意 JWT认证算法&#xff1a;签发和校验 drf使用jwt drf项目的jwt认证开发流程 drf-jwt安装和简单使用 安装 简单使用 drf-jwt使用 jwt内置类JSONWebTokenAuthentication 控制使用jwt的登录接口…

Sui zkSend,创建链接可直接发送SUI,快来体验吧

基于zkLogin和Sui的本机密码学构建&#xff0c;zkSend允许用户创建包含特定数量SUI的链接。该链接可以通过任何消息客户端发送&#xff0c;例如电子邮件和直接消息&#xff0c;甚至可以在媒体上转换成QR码。 使用zkSend发送SUI比复制和粘贴钱包地址&#xff0c;然后授权token转…

电脑技巧:WmiPrvSE.exe是什么进程?WMI Provider Host占用很高CPU的原因及解决办法

目录 一、WmiPrvSE.exe是什么进程&#xff1f; 二、WMI Provider Host简介 三、WMI Provider Host为什么占用很高CPU&#xff1f; 四、WMI Provider Host是否可禁用&#xff1f; 一、WmiPrvSE.exe是什么进程&#xff1f; WMI Provider Host &#xff08;WmiPrvSE.exe&#…

RT-Thread系统使用常见问题处理记录

1.使用telnet连接系统时发送help指令显示不全的问题。 原因&#xff1a;telnet发送缓存太小。 解决办法&#xff1a;更改agile_telnet软件包里Set agile_telnet tx buffer size的大小。 2.使用Paho MQTT软件包过一段时间报错hard fault on thread: mqtt0 解决办法&#xff1…

ElementuiPlus的table组件实现行拖动与列拖动

借助了插件sortablejs。这种方法只适合做非树状table。如果想实现树状table&#xff0c;并且可拖动。可以试一下aggridVue3这个插件 <template><div class"draggable" style"padding: 20px"><el-table row-key"id" :data"t…

linux——网络套接字编程

目录 一.简单了解TCP和UDP协议 二.网络字节序 三.socket常见的编程接口 1.介绍接口 2.sockaddr结构 四.简单的UDP网络程序 1.recvfrom和sendto 2.server.cc 3.client.cc 五.简单的TCP通信 1.client.cc 2.server.cc 一.简单了解TCP和UDP协议 此处我们先对TCP(Transm…

Unity在Project右键点击物体之后获取到点击物体的名称

Unity在Project右键点击物体之后获取到点击物体的名称 描述&#xff1a; 在Unity的Project右键点击物体之后选择对应的菜单选项点击之后打印出物体的名称 注意事项 如果获取到文件或者预制体需要传递objcet类型&#xff0c;然后使用 GameObject.Instantiate((GameObject)se…

人工智能-深度学习计算:层和块

我们关注的是具有单一输出的线性模型。 在这里&#xff0c;整个模型只有一个输出。 注意&#xff0c;单个神经网络 &#xff08;1&#xff09;接受一些输入&#xff1b; &#xff08;2&#xff09;生成相应的标量输出&#xff1b; &#xff08;3&#xff09;具有一组相关 参数…