python绘制R控制图(Range Chart)

server/2024/10/18 19:27:07/

R控制图(Range Chart),也称为范围图或移动极差图,是一种用于分析和控制生产过程中的变异性的统计工具。它通常与Xbar控制图(均值图)一起使用,可以提供关于生产过程变异性的额外信息。以下是R控制图的详细解释:

1. 目的

R控制图的主要目的是监控和评估生产过程中单个子组内部的变异性。如果R控制图显示出过程的变异性过大,这可能表明过程不稳定或存在特殊原因的变异。

2. 数据收集

与Xbar控制图一样,R控制图的数据通常来源于生产过程中的子组样本。每个子组包含一定数量的连续生产的产品或测量值。

3. 计算范围

对于R控制图,主要关注的统计量是每个子组的范围(R),即子组内的最大值与最小值之差。计算公式为:

R=最大值−最小值

4. 控制限计算

R控制图的控制限通常基于子组范围的平均值(平均范围)加减一个常数倍数的标准差。这个常数通常是3,意味着控制限覆盖了大约99.7%的数据点,假设数据遵循正态分布。

5. 图表绘制

R控制图通常包含以下元素:

垂直轴(Y轴)表示范围的数值。

水平轴(X轴)表示子组的编号或生产时间的顺序。

中心线,表示所有子组范围的平均值。

上控制限(UCL)和下控制限(LCL),表示变异性的正常范围。

6. 图表解读

中心线稳定:如果R控制图的点集中在中心线附近,并且没有显示出趋势或周期性模式,这通常表明过程是稳定的。

控制限外的点:如果数据点落在控制限之外,这可能表明过程受到特殊原因的影响,需要进一步调查。

非随机模式:如果数据点显示出系统性的变化(如趋势、周期性或系统性变化),这也可能表明过程不稳定。

7. 实际应用

在实际应用中,R控制图可以帮助质量控制人员识别和纠正生产过程中的问题,从而提高产品质量和生产效率。

8. 绘制

以下是使用Python绘制R控制图的基本步骤:

收集数据:与Xbar控制图一样,你需要收集一定数量的数据点。

计算子组范围:对于每个子组,计算最大值和最小值之间的差异。

确定控制限:控制限通常是基于子组范围的平均值加减一个常数倍数的标准差。

绘制图表:使用matplotlib库中的pyplot模块来绘制R图。

import matplotlib.pyplot as pltimport numpy as npfrom matplotlib import rcParamsrcParams['font.family'] = 'SimHei'# 假设我们有一组子组数据subgroup_data = np.random.normal(100, 5, (20, 5))  # 20个子组,每个子组5个数据点# 计算每个子组的范围(最大值与最小值之差)subgroup_ranges = np.max(subgroup_data, axis=1) - np.min(subgroup_data, axis=1)# 计算中心线(平均范围)center_line = np.mean(subgroup_ranges)# 计算控制限(这里使用3倍标准差)std_dev = np.std(subgroup_ranges)upper_control_limit = center_line + 3 * std_devlower_control_limit = center_line - 3 * std_dev# 绘制R控制图plt.figure(figsize=(10, 5))plt.plot(subgroup_ranges, marker='o', linestyle='-', color='blue')plt.axhline(center_line, color='green', linestyle='-', label='中心线')# 绘制控制限plt.axhline(y=upper_control_limit, color='red', linestyle='--', label='UCL')plt.axhline(y=lower_control_limit, color='red', linestyle='--', label='LCL')plt.legend()plt.xlabel('子组编号')plt.ylabel('范围')plt.title('R Control Chart')plt.show()


http://www.ppmy.cn/server/21091.html

相关文章

【Vue3】watch监听使用【超详细】

文章目录 情况一:监听ref定义的基本类型数据情况二:监听ref定义的对象类型数据情况三:监听reactive定义的对象类型数据情况四:监听ref或reactive定义的对象类型数据中某个属性情况五:监听上述多个数据 #watch使用结构 watch(被监视的数据,监视的回调,配置对象(deep,immediate等…

使用 Python 和 DirectShow 从相机捕获图像

在 Python 中使用 OpenCV 是视觉应用程序原型的一个非常好的解决方案,它允许您快速起草和测试算法。处理从文件中读取的图像非常容易,如果要处理从相机捕获的图像,则不那么容易。OpenCV 提供了一些基本方法来访问链接到 PC 的相机(通过对象),但大多数时候,即使对于简单的…

[论文笔记]GAUSSIAN ERROR LINEAR UNITS (GELUS)

引言 今天来看一下GELU的原始论文。 作者提出了GELU(Gaussian Error Linear Unit,高斯误差线性单元)非线性激活函数: GELU x Φ ( x ) \text{GELU} x\Phi(x) GELUxΦ(x),其中 Φ ( x ) \Phi(x) Φ(x)​是标准高斯累积分布函数。与ReLU激活函数通过输入…

如何备考PMP考试?

最近几年,PMP报考人数居高不下,越来越多的企业认可PMP证书,招聘时也会报名拥有PMP证书者优先考虑。根据《薪酬力:项目管理薪酬调查报告》的数据,PMI所调查对象的30多个国家中,拥有PMP认证的薪资&#xff0c…

Rust学习03:解决了如何更改项目名称的小问题

好不容易跑通了第一个小程序! 高兴之余,突然又对小程序的名字不满意了,想改一个更好的。奇怪么?不奇怪!对于一位想不开而来自学Rust的人又有什么事情是做不出的呐~~ 开始我是直接改了项目文件夹的名字~捅了马蜂窝了&am…

Github创建远程仓库(项目)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Redis是一款高性能的键值存储数据库,但除了存储数据,它还可以扮演消息队列的角色

Redis是一款高性能的键值存储数据库,但除了存储数据,它还可以扮演消息队列的角色。在Spring MVC中,我们可以利用Redis的特性来实现异步处理和任务调度。本文将介绍如何使用Redis作为消息队列,在Spring MVC中实现异步处理和任务调度…

[linux网络编程]UDP协议和TCP协议的使用

目录 看以下内容前,你要先了解main函数带参数有什么用、 了解socket的相关函数接口 如果不了解socket的相关函数接口请先看我这篇文章 main函数带参数有什么用 UDP udp_server 1.生成socket文件描述符 2.填充sockaddr_in信息 3.bind 4.发(收&…