首页 > 其他分享 >正态转换的多种方法

正态转换的多种方法

时间:2024-09-03 11:50:58浏览次数:11  
标签:多种 转换 正态 偏态 SPSS TG new

数据分布呈现非正态时,我们可以将原始数据作某种函数的转换,使偏态资料正态化,从而满足T检验或其他统计分析方法对资料的要求,这一节内容我们将向大家介绍如何对数据资料进行正态转换。

一、正偏态分布资料

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

注意根号下要求数据均为非负数(即≥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)

三、SPSS操作:函数转换法

以分析某人群甘油三酯(TG)的分布特征为例。

1、对TG分布进行正态性检验

采用上期介绍的Explore方法:Analyze→Descriptive Statistics→Explore

结果显示:偏度值为1.314>0,峰度值为1.596>0,偏度Z-score=1.314/0.172 = 7.640>3,Kolmogorov–Smirnov和Shapiro-Wilk检验P值均<0.001,从直方图也可以直观的看出TG在该人群中的分布呈现中度正偏态分布特征。

图片

图片

图片

2、对TG进行正态转换

根据以上正态性检验结果,拟采用取对数的方法进行正态转换,以Log10为例。

(1) 选择Transform → Compute Variable

(2) 在Target Variable框中输入一个新的变量名,作为数据转换后的变量名,此处设定为TG_new

(3) 在Function group中选择Arithmetic,在Functions and Special Variables中双击Lg10,此时在Numeric Expression框中显示LG10(?)

(4) 从变量列表中双击TG,此时在Numeric Expression框中显示LG10(TG)

(5) 点击OK完成操作

图片

3、对转换后的TG_new再次进行正态性检验

(1) 在结果输出的Descriptives表格中显示,偏度值为0.204≈0,峰度值为-0.338≈0,偏度Z-score=0.204/0.172=1.186<1.96,提示服从正态分布。

图片

(2) 在结果输出的Tests of Normality表格中显示,Kolmogorov-Smirnov和Shapiro-Wilk检验P值分别为0.200和0.272,均>0.05,提示服从正态分布。

图片

(3) 从直方图和Q-Q图也可以直观的看出,转换后的TG_new服从正态分布。

图片

四、SPSS操作:正态得分法

对于初学者在初学时无法很好掌握数据资料分布特征的情况下,SPSS提供了一种通过计算正态得分的方法来实现正态转换。

1、操作过程

选择Transform→Rank Cases,将TG选入Variable(s)框中

点击Rank Type选项框,取消默认勾选的Rank,勾选Normal scores选项

在Proportion Estimation Formula下有4种方法可供选择,默认Blom方法,其他方法也可以进行尝试。点击OK完成操作。

图片

2、结果解读

程序运行后在变量列表中多出了一个名为NTG的新变量,即为计算的正态得分,采用Explore方法对NTG进行正态性检验以验证转化效果。

图片

(1) 在结果输出的Descriptives表格中显示,偏度值为0.001≈0,峰度值为-0.124≈0,偏度Z-score=0.001/0.172=0.006<1.96,提示服从正态分布。

图片

(2) 在结果输出的Tests of Normality表格中显示,Kolmogorov-Smirnov和Shapiro-Wilk检验P值分别为0.200和1.000,均>0.05,提示服从正态分布。

图片

(3) 从直方图和Q-Q图也可以直观的看出,转换后的NTG服从正态分布。

图片

五、注意事项

1、不是任何非正态数据都可以进行正态转换,若有把握认为数据的总体分布是正态的时候才可以去做正态转换。如果通过变量转换的方法依然无法将数据转化为正态分布的话,就不再适用于T检验、方差分析等方法了,此时可以应用前期介绍过的非参数检验的方法来进行分析,例如Wilcoxon检验和Mann-Whitney U检验方法等。

标签:多种,转换,正态,偏态,SPSS,TG,new
From: https://blog.csdn.net/qq_37610365/article/details/141855916

相关文章

  • 判断数据正态分布的超多方法!
    一、正态性检验:偏度和峰度1、偏度(Skewness):描述数据分布不对称的方向及其程度(见图1)当偏度≈0时,可认为分布是对称的,服从正态分布;当偏度>0时,分布为右偏,即拖尾在右边,峰尖在左边,也称为正偏态;当偏度<0时,分布为左偏,即拖尾在左边,峰尖在右边,也称为负偏态;注意:数据分布的左偏或......
  • PostgreSQL的安装与配置(包含多种可能遇到的报错或者无法安装问题)
    1.Windows安装1.官网下载安装包,EDB:Open-Source,EnterprisePostgresDatabaseManagement(enterprisedb.com) 2.按照提示步骤进行安装(文件路径很重要!!!)这是PostgreSQL的安装目录(自定义目录安装的一定要命名清楚,不要和后面的data混淆) 这个全选这个是存储数据的目录(不......
  • C语言:大小端模式、判断大小端、大小端转换
    目录1.什么是大端和小端2.为什么会存在大小端的问题3.判断主机字节序(主机大小端)3.1使用联合体(union)3.2使用指针3.3强制转为char类型法4.大小端转换1.什么是大端和小端对于一个存储空间大于1个字节的数据,在内存中有两种存储模式,大端模式(big-end......
  • 多字节字符串和宽字节字符串相互转换
    #define_CRT_SECURE_NO_WARNINGS/*多字节转宽字节*/intunsafe_mbstowcs(){//设置当前的locale为用户环境变量指定的localesetlocale(LC_ALL,"");//定义多字节字符串constchar*mbstr="Hello,世界!";//计算需要的缓冲区大小size_......
  • 行转列,值转换成列
      1.值转换成列操作。值转列操作:[1777题库] 表:Products+-------------+---------+|ColumnName|Type|+-------------+---------+|product_id|int||store|enum||price|int|+-------------+---------+在SQL中,(prod......
  • 【算法每日一练及解题思路】多种方式判断指定字符串其是否为回文字符串
    一、题目:给定一个字符串,判断其是否为回文字符串:二、举例:回文字符串是指一个字符串正读和反读都一样的字符串。例如,“level”、“radar”和“noon”都是回文字符串,因为它们从前往后读和从后往前读都是一样的在Java中,有多种方法可以判断一个字符串是否为回文字符串。以下是......
  • Apache SeaTunnel 2.3.7发布:全新支持大型语言模型数据转换
    我们欣喜地宣布,ApacheSeaTunnel2.3.7版本现已正式发布!作为一个广受欢迎的下一代开源数据集成工具,ApacheSeaTunnel一直致力于为用户提供更加灵活、高效的数据同步和集成能力。此次版本更新不仅引入了如LLM(大型语言模型)数据转换支持、增强的SQL支持和新连接器支持等多个新......
  • 支持多种前后端组合的代码生成项目,终于不用写CRUD了
    介绍抽取若依RuoYi-Vue的代码生成,目前支持Mybatis、Mybaits-plus的后端代码生成,前端支持element-ui与vue、AntDesignofVue以及html的代码,可以自由组合导出预览,可以通过导入mysql脚本的方式来创建表进行代码生成,可以导出数据字典,后续会持续更新。功能支持mybatis、mybaits-plus的......
  • 根据IP地址获取当前地区的货币单位,php汇率转换
    首先,通过Composer安装库:composerrequirejoshuajohnson/php-money-exchange-rate然后,使用以下PHP代码进行转换:require'vendor/autoload.php';useMoney\Currency;useMoney\Money;useMoney\Exchange\Swap;useMoney\Exchange\PhpExchange;//初始化交换机和API......
  • CSS3 2D 转换
    CSS3的2D转换可以用来旋转、缩放、平移和倾斜元素,使网页布局更具动感和互动性。一transform:translate(x,y);transform:translate(x,y);是CSS3中用于平移元素的属性。它将元素在水平(x轴)和垂直(y轴)方向上移动一定的距离。x和y值可以是像素(px)、百分比(%)、......