本文地址:http://www.datasoldier.net/archives/173
版权声明:本文为原创文章,版权归 数据小兵 所有,欢迎分享本文,转载请保留出处!
 
 

方差分析经常会出现不满足前提条件的情况,比如:

数据不符正态分布;

如何转换为正态;

方差不齐怎么办;

辛辛苦苦收集的原始数据,无法从中获取相应的结果。我们会很苦恼,不知下一步要如何去做。

我们一方面想通过参数检验获取相对准确的分析结论,另一方面却又不得不面对众多参数检验的前提假设条件难以满足的窘态。

如果遇到此类问题,不妨考虑一下非参数检验方法,今天我们就分享一个实用的非参统计方法。秩和检验。

某研究员,想要比较小白鼠接种3种不同伤寒杆菌9D、11C和DSC1后存活日数,收集到的结果如下表,试分析小白鼠接种不同伤寒杆菌的存活日数有无差别。

我们先梳理一下思路,收集到的原始数据,有两个变量,第一个是伤寒杆菌分组,是分类变量,有3个水平,分别是9D、11C、DSC,第二个变量是存活日数,共有30个数字,是连续型的数值变量。

3种不同伤寒杆菌,将30个数字划分为3组,这3组小白鼠在接种和存活试验过程是互不影响的,是3组独立样本。

研究目标就是要考察3个独立样本间存活日数有无差别。

我们不管它是不是符合方差分析的几个条件,最起码使用非参数的方法是合适的。

第一步,我们把原始数据录入到SPSS统计软件。

点【分析】→【非参数检验】→【独立样本】,通过SPSS的菜单栏,调出独立样本的非参数检验主对话框。

【目标】选项卡中选择【定制分析】,【字段】选项卡中勾选【使用自定义字段分配】,将存活日数变量移入【检验字段】框内,将伤寒杆菌分组变量移入【组】框内。

在【设置】选项卡中,可以勾选【根据数据自动选择检验】,此时软件会自动根据数据结构来选择最合适的非参数检验方法。当然我们也可以自己选择合适的方法,例如本例,当勾选【定制检验】时,可再勾选【克鲁斯卡尔-沃利斯单因素检验】。

实际上,我们完全可以软软件自动,智能的去选择最合适的检验方法。

其他参数可以不用设置了,点底部的【运行】按钮,要求软件执行统计分析。

接下来一起来解读输出的结果。

结果查看器窗口中,我们看到检验表,原假设不同伤寒杆菌分组之间白鼠的存活日数没有差别,软件帮我们智能的选择了克鲁斯卡尔-沃利斯单因素检验,也可以简称为KW秩和检验。

直接给出了该检验的显著性p值=0.007,小于0.05,最后一列给出软件的判定是要拒绝原假设,即原假设不成立,说明不同组白鼠存活日数有差别,并达到统计学意义。

完了么?当然没有。

我们现在仅仅知道了3个组有差别,那么更应关切的是3种伤寒杆菌两两之间的关系,为进一步研究提供数据支持。此时则需要进行多重比较。

现在用鼠标双击检验表,软件随之会打开KW检验的模型查看器,呈现更为细致的统计结果。

SPSS统计软件得到的结果里面,也提供了多重比较的数据结论。在模型查看器右下角,点开【独立样本测试视图】,然后勾选【成对比较】。

成对比较的结果展示如下:

9D与11C两组之间的差别,显著性p值=0.029,小于0.05,说明两组之间差异达统计学意义;

9D与DCS两组之间的差别,显著性p值=0.013,小于0.05,说明两组之间差异达统计学意义;

11C与DSC两组之间的差别,显著性p值=1,大于0.05,说明两组之间存活日数分布一致,没有差别。

综合起来,即9D和其他两个组在存活日数方面有较为明显的差别,而11C和DSC之间几乎是一致的。

再结合存活日数绝对值的大小,11C和DSC存活日数较高,明显高于9D。

全文完

文/图=数据小兵

参考文献:

刘万里, 薛茜, 曹明芹,等. 用SPSS实现完全随机设计多组比较秩和检验的多重比较[J]. 疾病预防控制通报, 2007, 22(2):27-29.

 
 
 
 

SPSS教程学习笔记1:K个独立样本秩和检验及多重比较 (转载) (非参数假设检验)的更多相关文章

  1. 莫烦python教程学习笔记——利用交叉验证计算模型得分、选择模型参数

    # View more python learning tutorial on my Youtube and Youku channel!!! # Youtube video tutorial: ht ...

  2. 尚硅谷韩顺平Linux教程学习笔记

    目录 尚硅谷韩顺平Linux教程学习笔记 写在前面 虚拟机 Linux目录结构 远程登录Linux系统 vi和vim编辑器 关机.重启和用户登录注销 用户管理 实用指令 组管理和权限管理 定时任务调度 ...

  3. jfinal框架教程-学习笔记

    jfinal框架教程-学习笔记 JFinal  是基于 Java  语言的极速  WEB  + ORM  开发框架,其核心设计目标是开发迅速.代码量少.学习简单.功能强大.轻量级.易扩展.Restfu ...

  4. Webpack新手入门教程(学习笔记)

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 30.0px Helvetica; color: #000000 } ...

  5. TypeScript 入门教程学习笔记

    TypeScript 入门教程学习笔记 1. 数据类型定义 类型 实例 说明 Number let num: number = 1; 基本类型 String let myName: string = ...

  6. C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例

    C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...

  7. JProfiler使用详细教程学习笔记

    JProfiler学习笔记    推荐文章:JProfiler 入门教程 一.安装JProfiler        从http://www.ej-technologies.com/下载5.1.2并申请 ...

  8. Postman使用教程学习笔记

    刚加入网页测试行列,最近在学习POSTman的使用教程,记录下学习笔记. Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件.当开发人员需要调试一个网页是否运行正常,并不是 ...

  9. Python基础教程学习笔记:第一章 基础知识

    Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入“p ...

随机推荐

  1. 使用docker安装myql/redis等软件

    使用docker安装myql/redis等软件 概述 基本命令 安装mysql 安装redis 概述 在开发时经常需要安装各种软件,有时甚至为了验证一个命令不得不安装配置一个缓存.数据库.MQ等,耽误 ...

  2. MongoDB(课时17 更新函数)

    3.4.3 数据更新操作 MongoDB数据存的是副本数据, 最终的数据还要保存在传统的数据库里,所以如果关系型数据库里数据变了,最好的方法是删除里面的MongoDB数据重新插入. 在MongoDB里 ...

  3. 用MVVM模式开发中遇到的零散问题总结(1)

    https://www.cnblogs.com/tong-tong/archive/2011/11/28/2250948.html

  4. Confluence 6 启用嵌套用户组

    一些目录服务器能够允许你在一个组中定义另外一个组.在这种结构下的用户组称为用户组嵌套.嵌套组的配置能够让子用户组继承上级用户组的权限,使系统的权限配置变得简单. 这个页面描述了 Confluence ...

  5. Pavel and barbecue CodeForces - 756A (排列,水题)

    大意: 给定排列p, 0/1序列b, 有n个烤串, 每秒钟第i串会移动到$p_i$, 若$p_i$为1则翻面, 可以修改b和p, 求最少修改次数使得每串在每个位置正反都被烤过. 显然只需要将置换群合并 ...

  6. 2-16 MySQL字段约束-索引-外键

    一:字段修饰符 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table worker(id int not null,name varchar(8) ...

  7. python-day13--装饰器

    1.开放封闭的原则: 1.对扩展是开放的 为什么要对扩展开放呢? 我们说,任何一个程序,不可能在设计之初就已经想好了所有的功能并且未来不做任何更新和修改.所以我们必须允许代码扩展.添加新功能. 2.对 ...

  8. pyculiarity 时间序列(异常流量)异常检测初探——感觉还可以,和Facebook的fbprophet本质上一样

    demo: from pyculiarity import detect_ts import matplotlib.pyplot as plt import pandas as pd import m ...

  9. 自定义实现spark的分区函数

    有时自己的业务需要自己实现spark的分区函数 以下代码是实现一个自定义spark分区的demo 实现的功能是根据key值的最后一位数字,写到不同的文件 例如: 10写入到part-00000 11写 ...

  10. C++实现Vector容器的基本功能

    本文只实现了Vector的默认构造函数.赋值构造函数.赋值函数.析构函数.重置空间大小函数和插入函数,权当起到抛砖引玉的作用,其他函数功能的实现可在此基础之上进行拓展. #include <io ...