正态分布检验的拟合优度法与综合统计量法

综合统计量方法和正态分布的拟合优度检验方法是常用于检验数据是否呈正态分布的两类主要方法。以下是具体的检验方法:

综合统计量方法:

  1. Shapiro-Wilk检验:基于W统计量,适用于各种样本大小。
  2. D'Agostino检验:结合了偏度和峰度的信息,适用于中等样本大小。
  3. Shapiro-Francia检验:使用W'统计量,特别适用于大样本。
  4. Lilliefors检验:类似于Kolmogorov-Smirnov,但适用于小样本。
  5. Ryan-Joiner检验:基于观察数据的偏度和峰度,适用于偏态和厚尾分布。

正态分布的拟合优度检验方法:

  1. Kolmogorov-Smirnov检验:通过比较观察数据与理论正态分布的累积分布函数,适用于大样本。
  2. Anderson-Darling检验:对尾部分布敏感,用于评估数据是否来自正态分布。
  3. Cramér-von Mises检验:考虑了所有分布区域的差异,评估观察数据与理论正态分布之间的拟合度。
  4. D'Agostino's K-squared检验:用于检验数据是否符合正态分布的一种变体。

这些方法提供了多样化的工具,用于全面评估数据是否遵循正态分布。在使用时,你可以根据样本大小、数据特性和分析需求选择适当的方法。在实际应用中,通常使用多种方法相互印证,以获得更可靠的结论。

from scipy import stats
import numpy as np
from statsmodels.stats.diagnostic import lilliefors# 这个函数的实现是基于Shapiro-Francia检验的一种常见形式,但在特定情况下可能需要根据您的需求进行微调。
def shapiro_francia(data):n = len(data)data = np.sort(data)w = np.corrcoef(data, np.arange(1, n + 1) / (n + 1), rowvar=False)[0, 1]# 参数a和b通常是Shapiro-Francia检验的推荐值,用于计算这些权重。a = 1.0378b = 0.365statistic = (w / a) ** 2p_value = 1 - stats.chi2.cdf(statistic, df=2)return statistic, p_value# 示例数据,用您的实际数据替换这里的数据
# data = [2.5, 3.0, 2.7, 3.2, 2.8, 3.5, 2.9, 3.7, 2.8, 3.9]
data = [34,56,39,71,84,92,44,67,98,49,55,73,50,62,75,44,88,53,61,25,36,66,77,35]# 执行Shapiro-Francia正态性检验
# Shapiro-Francia检验通过计算样本数据的统计量来评估数据是否来自正态分布。
statistic, p_value = shapiro_francia(data)# 输出检验结果
print("Shapiro-Francia Statistic:", statistic)
print("Shapiro-Francia p-value:", p_value)# 根据p-value进行假设检验
alpha = 0.05  # 设置显著性水平
if p_value < alpha:print("拒绝零假设,数据不符合正态分布。\n")
else:print("无法拒绝零假设,数据可能符合正态分布。\n")print("其他检验验证方法参考:")
# 正态性检验 - Shapiro-Wilk检验
stat, p = stats.shapiro(data)
print("Shapiro-Wilk检验统计量:", stat)
print("Shapiro-Wilk检验p值:", p)
print("\n")
# Anderson-Darling检验
result = stats.anderson(data, dist='norm')
# Anderson-Darling统量
print("Anderson-Darling统计量:", result.statistic)
# 临界值
print("临界值:", result.critical_values)
# 显著性水平
print("显著性水平:", result.significance_level)
# 适配结果
fit_result = result.fit_result
print("适配结果 params:", fit_result.params)
print("适配结果 success:", fit_result.success)
print("适配结果 message:", fit_result.message)
print("\n")
# 执行单样本K-S检验,假设数据服从正态分布
statistic, p_value = stats.kstest(data, 'norm')
print("K-S检验统计量:", statistic)
print("K-S检验p值:", p_value)
print("\n")
# 执行正态分布检验
k2, p_value = stats.normaltest(data)
print(f"normaltest正态分布检验的统计量 (K^2): {k2}")
print(f"normaltest检验p值: {p_value}")
print("\n")
# 执行Jarque-Bera检验
jb_statistic, jb_p_value = stats.jarque_bera(data)
# 输出检验结果
print("Jarque-Bera Statistic:", jb_statistic)
print("Jarque-Bera p-value:", jb_p_value)
print("\n")
# 执行Lilliefors检验
lilliefors_statistic, p_value = lilliefors(data)
# 打印结果
print("lilliefors_statistic =", lilliefors_statistic)
print("Lilliefors p_value =", p_value)

 

------------

综合统计量方法用于检验数据是否呈正态分布,它综合考虑了数据的各种特征。在正态性检验中,一些常用的综合统计量方法包括:

  1. Shapiro-Wilk统计量(W统计量):Shapiro-Wilk检验使用W统计量来评估数据是否符合正态分布。该统计量综合了样本数据的排序顺序和回归分析的概念,对于小样本和大样本均适用。

  2. D'Agostino统计量:D'Agostino检验结合了样本的偏度和峰度信息,通过计算一个综合的统计量来判断数据是否呈正态分布。它适用于中等样本大小。

  3. Shapiro-Francia统计量(W'统计量):类似于Shapiro-Wilk检验,但使用了修正的统计量W'。它特别适用于大样本数据的正态性检验。

  4. Ryan-Joiner统计量:Ryan-Joiner检验基于观察数据的偏度和峰度,通过计算一个综合的统计量来判断数据是否呈正态分布。它对于偏态和厚尾分布的数据更具敏感性。

这些综合统计量方法考虑了数据的不同方面,包括排序顺序、偏度、峰度等,从而提供了更全面的判断数据是否符合正态分布的手段。选择合适的方法通常依赖于样本大小和数据特性。在实际应用中,可以综合使用多种方法来得出更可信的结论。

-------------------------------

拟合优度指的是观察数据与理论分布之间的拟合程度。在正态性检验中,拟合优度主要关注以下几个方面:

  1. 累积分布函数(CDF)的拟合:观察数据的累积分布函数(ECDF)与理论分布的CDF进行比较。理论上,如果观察数据符合某种理论分布(如正态分布),它们的ECDF应该接近于对应理论分布的CDF。

  2. 分位数的拟合:观察数据的分位数与理论分布的分位数进行比较。常见的方法包括QQ图(Quantile-Quantile plot),它绘制了观察数据的分位数与理论分布的分位数之间的关系。如果数据符合理论分布,这些点应该落在一条直线上。

  3. 统计量的拟合:通过计算统计量(如均值、方差等)来比较观察数据与理论分布的差异。通常,如果观察数据符合理论分布,它们的统计量应该接近于理论分布的相应统计量。

  4. 拟合优度检验统计量:在拟合优度检验中,一些统计量(如Kolmogorov-Smirnov统计量、Anderson-Darling统计量等)用于量化观察数据与理论分布之间的差异,这些统计量的值越小,表示拟合越好。

  5. 尾部拟合:一些拟合优度检验方法关注观察数据与理论分布在尾部(高分位数或低分位数)的拟合程度,因为在这些区域的拟合往往更难。

通过以上方面的比较和分析,可以判断观察数据是否符合特定的理论分布。在实际应用中,通常会结合多个方面的信息,综合评估拟合优度,以便更全面地了解数据分布的特性。

=======

当处理小样本数据时,Lilliefors检验和Kolmogorov-Smirnov检验有些相似,但Lilliefors检验在计算临界值时考虑了样本大小,因此更适用于小样本场景。这两种检验方法的共同点在于都用于检验观察数据是否来自于特定的理论分布,例如正态分布。

具体来说,Lilliefors检验的步骤如下:

  1. 计算观察数据的累积分布函数(ECDF):将观察数据按大小排序,计算每个数据点的累积概率。

  2. 计算Lilliefors统计量:Lilliefors统计量是观察数据ECDF与理论分布的累积分布函数之间的最大差异。该差异通常用来衡量观察数据与理论分布之间的拟合程度。

  3. 计算临界值:Lilliefors检验根据样本大小和显著性水平(通常为0.05)计算临界值。如果Lilliefors统计量超过了临界值,就拒绝了数据符合理论分布的假设。

总的来说,Lilliefors检验是Kolmogorov-Smirnov检验的一个变种,适用于小样本数据。它的优势在于在小样本情况下,能够更准确地确定数据是否符合特定的分布,如正态分布。

 ========

当我们讨论综合统计量方法和正态分布的拟合优度检验方法时,我们可以更深入地了解这些方法的具体特点和用途。

综合统计量方法:

  1. Shapiro-Wilk检验

    • 特点:适用于各种样本大小,对非正态分布的敏感性较高,对小样本数据较为准确。
    • 使用场景:适用于小样本和大样本,特别适用于小样本的正态性检验。
  2. D'Agostino检验

    • 特点:结合了偏度和峰度信息,对中等样本数据的正态性检验较为准确。
    • 使用场景:适用于中等样本,可以检测数据的偏态和峰度,对正态性的判断更加全面。
  3. Shapiro-Francia检验

    • 特点:使用W'统计量,特别适用于大样本,对正态性的判断较为准确。
    • 使用场景:适用于大样本,相对于Shapiro-Wilk检验,在大样本下更快速且准确。
  4. Ryan-Joiner检验

    • 特点:基于观察数据的偏度和峰度,对偏态和厚尾分布的数据更敏感。
    • 使用场景:适用于偏态和厚尾分布的数据,可以捕捉到数据分布的更多特征。

正态分布的拟合优度检验方法:

  1. Kolmogorov-Smirnov检验

    • 特点:通过比较观察数据与理论正态分布的累积分布函数,适用于大样本,但对尾部的拟合相对较弱。
    • 使用场景:适用于大样本,一般用于初步判断数据是否符合正态分布。
  2. Anderson-Darling检验

    • 特点:对尾部分布较为敏感,适用于各种样本大小,对非正态分布的敏感性较高。
    • 使用场景:适用于各种样本大小,特别适用于对尾部分布拟合的敏感性要求较高的场景。
  3. Cramér-von Mises检验

    • 特点:考虑了所有分布区域的差异,对整体分布拟合的敏感性较高。
    • 使用场景:适用于各种样本大小,用于全面评估数据与理论正态分布之间的拟合度。
  4. D'Agostino's K-squared检验

    • 特点:是D'Agostino检验的一种变体,结合了偏度和峰度信息。
    • 使用场景:适用于中等样本,对数据的整体分布特征进行评估。

这些方法各自有其特点和适用范围。在选择方法时,需要根据样本大小、数据分布的特性以及研究问题的需求进行权衡和选择。通常,为了提高结果的可靠性,可以综合使用多种方法来进行正态性检验。

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

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

相关文章

基于java的鲜花销售系统/网上花店

摘 要 本毕业设计的内容是设计并且实现一个基于Spring Boot框架的驿城鲜花销售系统。它是在Windows下&#xff0c;以MYSQL为数据库开发平台&#xff0c;Tomcat网络信息服务作为应用服务器。驿城鲜花销售系统的功能已基本实现&#xff0c;主要包括首页、个人中心、用户管理、鲜…

虚拟机安装 centos

title: 虚拟机安装 centos createTime: 2020-12-13 12:00:27 updateTime: 2020-12-13 12:00:27 categories: linux tags: 虚拟机安装 centos 路线图 主机(宿主机) —> centos --> docker --> docker 镜像 --> docker 容器 — docker 服务 1.前期准备 一台 主机 或…

pycharm配置python3.8版本专门用于undecteded_chromedriver测试

pycharm配置python3.8版本专门用于undecteded_chromedriver测试 作者&#xff1a;虚坏叔叔 博客&#xff1a;https://pay.xuhss.com 早餐店不会开到晚上&#xff0c;想吃的人早就来了&#xff01;&#x1f604; 一、Pycharm及python环境的配置 1.安装python-3.8.7rc1-amd64.e…

php实战案例记录(12)parse_url函数的用法

parse_url 函数是 PHP 中的一个内置函数&#xff0c;用于解析 URL 并返回其组成部分。 下面是 parse_url 函数的语法&#xff1a; parse_url(string $url, int $component -1): mixed参数说明&#xff1a; $url&#xff1a;要解析的 URL 字符串。$component&#xff1a;可选…

目标检测YOLO实战应用案例100讲-基于端到端的自动驾驶道路环境目标检测(续)

目录 3.1.2 多尺度小目标检测 3.1.3 Swin Transformer Layer 3.1.4 MCS-YOLO网络结构图 3.2 实验环境及参数设置

Python无废话-办公自动化Excel修改数据

如何修改Excel 符合条件的数据&#xff1f;用Python 几行代码搞定。 需求&#xff1a;将销售明细表的产品名称为PG手机、HW手机、HW电脑的零售价格分别修改为4500、5500、7500&#xff0c;并保存Excel文件。如下图 Python 修改Excel 数据&#xff0c;常见步骤&#xff1a; 1&…

【静态代码扫描服务】python实现-附ChatGPT解析

1.题目 静态代码扫描服务 知识点:数组、字符串、哈希表 时间限制:1s 空间限制: 256MB 限定语言:不限 题目描述: 静态扫描快速快速识别源代码的缺陷,静态扫描的结果以扫描报告作为输出: 文件扫描的成本和文件大小相关,如果文件大小为N,则扫描成本为N个金币扫描报告的缓存成本…

yum命令

title: yum命令 createTime: 2020-10-29 18:05:52 updateTime: 2020-10-29 18:05:52 categories: linuxyum tags: yum 命令 yum相关例子 一、只下载不安装 yum install --downloadonly --downloaddir/soft/mysql mysql-community-server 只是下载 不安装 二、删除的例子 …

WPS Office for Linux即将面临开源

WPS Office 是一款免费&#xff08;但不开源&#xff09;的办公套件&#xff0c;目前已经在 Windows、macOS、Android、iOS 和 Linux 设备上线&#xff0c;由于在界面和功能上模仿了微软 Office 的部分特性&#xff0c;对于那些轻量办公的用户来说已经能够完全驾驭大部分需求。…

nodejs+vue 汽车销售系统elementui

第三章 系统分析 10 3.1需求分析 10 3.2可行性分析 10 3.2.1技术可行性&#xff1a;技术背景 10 3.2.2经济可行性 11 3.2.3操作可行性&#xff1a; 11 3.3性能分析 11 3.4系统操作流程 12 3.4.1管理员登录流程 12 3.4.2信息添加流程 12 3.4.3信息删除流程 13 第四章 系统设计与…

[异构图-论文阅读]Heterogeneous Graph Transformer

这篇论文介绍了一种用于建模Web规模异构图的异构图变换器(HGT)架构。以下是主要的要点: 摘要和引言 (第1页) 异构图被用来抽象和建模复杂系统,其中不同类型的对象以各种方式相互作用。许多现有的图神经网络(GNNs)主要针对同构图设计,无法有效表示异构结构。HGT通过设计…

Java-序列化是什么?哪里有应用?

文章目录 什么是Java序列化&#xff1f;序列化特征序列化机制 为什么需要Java序列化&#xff1f;如何使用Java序列化&#xff1f;网络编程中Java序列化的应用 WhereWhenHowJava序列化和反序列化的表格总结 什么是Java序列化&#xff1f; Java序列化是将Java对象转换为字节流的…

再次总结nios II 下载程序到板子上时出现 Downloading RLF Process failed的问题

之前也写过两篇关于NIOS II 出现&#xff1a;Downloading RLF Process failed的问题&#xff0c;但是总结都不是很全面&#xff0c;小梅哥的教程总结的比较全面特此记录。 问题&#xff1a;nios II 下载程序到板子上时出现 Downloading RLF Process failed的问题。 即当nios中…

【数据结构】队列实现+层序遍历详解+一些练题

欢迎来到我的&#xff1a;世界 希望作者的文章对你有所帮助&#xff0c;有不足的地方还请指正&#xff0c;大家一起学习交流 ! 目录 前言队列的实现层序遍历详解强化练习1.判断是不是完全二叉树求二叉树的最大深度 总结 前言 国庆到了&#xff0c;也要内卷一下&#xff0c;感…

计算机毕业设计 基于SSM的高校毕业论文管理系统小程序的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb;…

华为云云耀云服务器L实例评测|部署在线轻量级备忘录 memos

华为云云耀云服务器L实例评测&#xff5c;部署在线轻量级备忘录 memos 一、云耀云服务器L实例介绍1.1 云服务器介绍1.2 产品优势1.3 应用场景1.4 支持镜像 二、云耀云服务器L实例配置2.1 重置密码2.2 服务器连接2.3 安全组配置 三、部署 memos3.1 memos介绍3.2 Docker 环境搭建…

本地连接服务器 jupyter notebook

本地连接服务器 jupyter notebook 一、前提工作二、服务器操作三、Windows 操作 一、前提工作 准备一台Linux云服务器新建一个用户&#xff0c;并切换到此用户安装 Anaconda 二、服务器操作 远程服务器上安装和配置 Jupyter Notebook&#xff1a; pip3 install jupyter接着…

Monkey测试

一&#xff1a;测试环境搭建 1&#xff1a;下载android-sdk_r24.4.1-windows 2&#xff1a;下载Java 3&#xff1a;配置环境变量&#xff1a;关于怎么配置环境变量&#xff08;百度一下&#xff1a;monkey环境搭建&#xff0c;&#xff09; 二&#xff1a;monkey测试&#xff1…

第1篇 目标检测概述 —(3)YOLO系列算法

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。YOLO&#xff08;You Only Look Once&#xff09;系列算法是一种目标检测算法&#xff0c;主要用于实时物体检测。相较于传统的目标检测算法&#xff0c;YOLO具有更快的检测速度和更高的准确率。YOLO系列算法的核心思想是将…

【iptables 实战】06 iptables网络防火墙实验

一、现状说明 在上一节中&#xff0c;我们将两个网段的机器&#xff0c;通过中间机器的网络转发&#xff0c;能达到互通。再来回顾一下这个网络连接的图 这一节&#xff0c;我们将通过设置机器B的iptables规则&#xff0c;来做一些防火墙实验 机器A模拟公网的一台服务器&#…