Lilliefors正态性检验(一种非参数统计方法)

Lilliefors检验(也称为Kolmogorov-Smirnov-Lilliefors检验)是一种用于检验数据是否符合正态分布的统计检验方法,它是Kolmogorov-Smirnov检验的一种变体,专门用于小样本情况。与K-S检验不同,Lilliefors检验不需要假定数据的分布类型,它基于观测数据来评估是否来自正态分布。

Lilliefors检验是一种用于检验数据是否符合正态分布的非参数统计方法。它的基本原理和步骤如下:

  1. 提出假设:Lilliefors检验的原假设是数据来自正态分布(正态性假设)。备择假设是数据不来自正态分布。

  2. 数据预处理:首先,对数据进行排序,然后计算每个数据点的累积分布函数(ECDF)值。ECDF表示每个数据点在样本中的相对位置。

  3. 计算统计量:Lilliefors检验的统计量是基于ECDF的最大绝对偏差。它衡量了ECDF与标准正态分布累积分布函数之间的最大差异。统计量的计算涉及数据点与标准正态分布值的比较。

  4. 计算p值:通过比较观察到的统计量与经过模拟或查找临界值得到的分布,计算得到一个p值。p值表示观察到的最大绝对偏差在原假设下的概率。

  5. 假设检验:根据p值和显著性水平(通常是0.05),决定是否拒绝原假设。如果p值小于显著性水平,则拒绝原假设,认为数据不服从正态分布;如果p值大于显著性水平,则接受原假设,认为数据可能服从正态分布。

与Kolmogorov-Smirnov检验相比,Lilliefors检验更适用于小样本情况,因为它考虑了样本量的影响,并使用了不同的临界值来进行检验。然而,对于较大的样本,通常建议使用其他正态性检验方法,如D'Agostino-Pearson检验。

总之,Lilliefors检验是一种有用的工具,特别适用于小样本情况下的正态性检验,它不要求假定数据的分布类型,并可以提供有关数据分布是否接近正态分布的信息。

import numpy as np
from scipy import stats
from statsmodels.stats.diagnostic import lilliefors# 创建示例数据
data = np.random.normal(loc=12, scale=1.8, size=60)# 执行Lilliefors检验
lilliefors_statistic, p_value = lilliefors(data)# 打印结果
print("Lilliefors统计量 =", lilliefors_statistic)
print("p值 (p) =", p_value)# 设置显著性水平
alpha = 0.05# 根据p值进行假设检验
if p_value < alpha:print("拒绝原假设:数据不服从正态分布")
else:print("接受原假设:数据服从正态分布")
import numpy as np
from statsmodels.stats.diagnostic import lilliefors# 创建一个示例数据集,可以是非正态分布
data_non_normal = np.random.exponential(scale=2, size=100)# 执行Lilliefors检验
lilliefors_statistic, p_value = lilliefors(data_non_normal)# 打印结果
print("Lilliefors统计量 =", lilliefors_statistic)
print("p值 (p) =", p_value)# 设置显著性水平
alpha = 0.05# 根据p值进行假设检验
if p_value < alpha:print("拒绝原假设:数据不服从正态分布")
else:print("接受原假设:数据服从正态分布")

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

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

相关文章

什么是DevOps

文章目录 一、概念二、地位三、目标四、要求五、具体手段 一、概念 是一组过程、方法与系统的统称&#xff0c;有助于打破开发、测试、运维、交付部门之间的壁垒&#xff0c;提高部门间的沟通协助能力。 二、地位 应成为公司的一种理念、文化、哲学。 三、目标 实现更加高…

【vue3】Suspense组件和动态引入defineAsyncComponent的搭配使用

假期第五篇&#xff0c;对于基础的知识点&#xff0c;我感觉自己还是很薄弱的。 趁着假期&#xff0c;再去复习一遍 在app中定义子组件child //静态引入&#xff0c;网速慢的时候&#xff0c;父子组件也是同时渲染出来 <template><div><h3>APP父组件</…

Android自动化测试之MonkeyRunner--从环境构建、参数讲解、脚本制作到实战技巧

monkeyrunner 概述、环境搭建 monkeyrunner环境搭建 (1) JDK的安装不配置 http://www.oracle.com/technetwork/java/javase/downloads/index.html (2) 安装Python编译器 https://www.python.org/download/ (3) 设置环境变量(配置Monkeyrunner工具至path目彔下也可丌配置) (4) …

重新认识mysql

title: “重新认识mysql” createTime: 2022-03-06T15:52:4108:00 updateTime: 2022-03-06T15:52:4108:00 draft: false author: “ggball” tags: [“mysql”] categories: [“db”] description: “” 文章目录 title: "重新认识mysql" createTime: 2022-03-06T15:…

pygame - 贪吃蛇小游戏

蛇每吃掉一个身体块&#xff0c;蛇身就增加一个长度。为了统一计算&#xff0c;界面的尺寸和游戏元素的位置都是身体块长度的倍数 1. 上下左右方向键&#xff08;或者ASDW键&#xff09;控制蛇的移动方向 2. 空格键暂停和继续蛇的身体图片文件&#xff0c;复制到项目的asset\im…

(高阶) Redis 7 第17讲 分布式锁 实战篇

🌹 以下分享 Redis 分布式锁,如有问题请指教。🌹🌹 如你对技术也感兴趣,欢迎交流。🌹🌹🌹 如有对阁下帮助,请👍点赞💖收藏🐱‍🏍分享😀 Redis 除了做缓存,其他基于Redis的用法。(答案:数据共享,分布式session/分布式锁/全局ID/计算器、点赞/位统…

Rust 多线程编程

一个进程一定有一个主线程&#xff0c;主线程之外创建出来的线程称为子线程 多线程编程&#xff0c;其实就是在主线程之外创建子线程&#xff0c;让子线程和主线程并发运行&#xff0c;完成各自的任务。 Rust语言支持多线程编程。 Rust语言标准库中的 std::thread 模块用于多线…

flutter播放rtmp视频

安装 dependencies:fijkplayer: ^0.11.0使用方法 import package:fijkplayer/fijkplayer.dart; import package:flutter/material.dart;class RtmpPlayerPage extends StatefulWidget {const RtmpPlayerPage({super.key});overrideState<RtmpPlayerPage> createState()…

【Python】返回指定时间对应的时间戳

使用模块datetime&#xff0c;附赠一个没啥用的“时间推算”功能(获取n天后对应的时间 代码&#xff1a; import datetimedef GetTimestamp(year,month,day,hour,minute,second,*,relativeNone,timezoneNone):#返回指定时间戳。指定relative时进行时间推算"""根…

TFT LCD刷新原理及LCD时序参数总结(LCD时序,写的挺好)

cd工作原理目前不了解&#xff0c;日后会在博客中添加这一部分的内容。 1.LCD工作原理[1] 我对LCD的工作原理也仅仅处在了解的地步&#xff0c;下面基于NXP公司对LCD工作原理介绍的ppt来学习一下。 LCD(liquid crystal display,液晶显示屏) 是由液晶段阵列组成&#xff0c;当…

目标检测YOLO实战应用案例100讲-机器人路径规划与目标检测

目录 前言 路径规划研究现状 全局路径规划方法 局部路径规划方法

【网络协议】ARP协议

为什么网络需要同时借助MAC地址这种物理地址和IP地址这种逻辑地址进行通信&#xff1f; 尽管目前MAC地址可以通过逻辑的方式进行修改&#xff0c;但它最初是被设计为不可人为更改的硬件地址。虽然MAC地址也可以满足唯一性的要求&#xff0c;但由于它不可由管理员根据需求通过逻…

newstarctf

wp web: 1.rce 可以发现这个变量名有下划线也有点。 $code$_POST[e_v.a.l]; 这时候如果直接按这个变量名来传参&#xff0c;php 是无法接收到这个值的&#xff0c;具体原因是 php 会自动把一些不合法的字符转化为下划线&#xff08;注&#xff1a;php8以下&#xff09;&am…

springboot和vue:八、vue快速入门

vue快速入门 新建一个html文件 导入 vue.js 的 script 脚本文件 <script src"https://unpkg.com/vuenext"></script>在页面中声明一个将要被 vue 所控制的 DOM 区域&#xff0c;既MVVM中的View <div id"app">{{ message }} </div…

Node.js 是如何处理请求的

前言&#xff1a;在服务器软件中&#xff0c;如何处理请求是非常核心的问题。不管是底层架构的设计、IO 模型的选择&#xff0c;还是上层的处理都会影响一个服务器的性能&#xff0c;本文介绍 Node.js 在这方面的内容。 TCP 协议的核心概念 要了解服务器的工作原理首先需要了…

C++17中std::filesystem::directory_entry的使用

C17引入了std::filesystem库(文件系统库, filesystem library)。这里整理下std::filesystem::directory_entry的使用。 std::filesystem::directory_entry&#xff0c;目录项&#xff0c;获取文件属性。此directory_entry类主要用法包括&#xff1a; (1).构造函数、…

EasyExcel的源码流程(导入Excel)

1. 入口 2. EasyExcel类继承了EasyExcelFactory类&#xff0c;EasyExcel自动拥有EasyExcelFactory父类的所有方法&#xff0c;如read()&#xff0c;readSheet()&#xff0c;write()&#xff0c;writerSheet()等等。 3. 进入.read()方法&#xff0c;需要传入三个参数(文件路径…

【C++】:类和对象(1)

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关C中类和对象的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通…

什么是序列化和反序列化?

什么是序列化和反序列化&#xff1f; 什么是序列化和反序列化&#xff1f; 序列化和反序列化是计算机科学中两个重要的概念&#xff0c;主要应用在数据存储和网络传输等场景。序列化是将数据结构或对象状态转换为可以存储或传输的形式的过程。这种形式要求在重新构建原始对象…

Windows电脑显示部分功能被组织控制

目录 问题描述 解决方法 总结 问题描述 如果你的电脑出现以上情况&#xff0c;建议你使用我这种方法&#xff08;万不得已&#xff09; 解决方法 原因就是因为当时你的电脑在激活的时候是选择了组织性激活的&#xff0c;所以才会不管怎么搞&#xff0c;都无法摆脱组织的控…