绘制X-Bar-S和X-Bar-R图,监测过程,计算CPK过程能力指数

news2025/2/26 9:46:31

X-Bar-S图和X-Bar-R图是统计质量控制中常用的两种控制图,用于监测过程的稳定性和一致性。它们的主要区别在于如何计算和呈现数据的变化以及所关注的问题类型。

  1. X-Bar-S图(平均值与标准偏差图):

    • X-Bar代表样本均值,S代表样本标准偏差。
    • X-Bar-S图用于监测过程的平均值和变异性。
    • 过程中的每个样本都会测量,并计算出该样本的平均值(X-Bar)和标准偏差(S)。
    • 控制图上通常有两条中心线:一条代表平均值,另一条代表标准偏差。
    • X-Bar-S图适用于对过程均值和过程标准偏差都有关注的情况,例如,需要确保产品的尺寸和质量稳定。
  2. X-Bar-R图(平均值与范围图):

    • X-Bar代表样本均值,R代表样本范围。
    • X-Bar-R图主要用于监测过程的平均值和范围,而不是标准偏差。
    • 对每个样本进行测量,并计算出该样本的平均值(X-Bar)和范围(R,即最大值与最小值之差)。
    • 控制图上通常有两条中心线:一条代表平均值,另一条代表范围。
    • X-Bar-R图适用于关注过程的平均值,但不太关注过程的标准偏差的情况,例如,需要确保生产过程的平均值在目标值附近。

总之,X-Bar-S图和X-Bar-R图都用于监测过程的稳定性,但它们关注的参数不同。X-Bar-S图同时关注平均值和标准偏差,而X-Bar-R图关注平均值和样本范围。选择使用哪种图表取决于你对过程的关注点和需要监测的参数。

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

下面是X-Bar-S图和X-Bar-R图的各自控制限计算公式:

X-Bar-S图的控制限计算公式:

  1. 上控制限(UCL)和下控制限(LCL)用于X-Bar图(平均值图):

    • UCL(X-Bar) = X-Double Bar + A3 * S-Bar
    • LCL(X-Bar) = X-Double Bar - A3 * S-Bar
      其中,X-Double Bar是所有样本平均值的平均值,A3是与样本容量相关的常数,S-Bar是所有样本标准偏差的平均值。
  2. 上控制限(UCL)和下控制限(LCL)用于S图(标准偏差图):

    • UCL(S) = B4 * S-Bar
    • LCL(S) = B3 * S-Bar
      其中,B3和B4是与样本容量相关的常数,S-Bar是所有样本标准偏差的平均值。

X-Bar-R图的控制限计算公式:

  1. 上控制限(UCL)和下控制限(LCL)用于X-Bar图(平均值图):

    • UCL(X-Bar) = X-Double Bar + A2 * R-Bar
    • LCL(X-Bar) = X-Double Bar - A2 * R-Bar
      其中,X-Double Bar是所有样本平均值的平均值,A2是与样本容量相关的常数,R-Bar是所有样本范围的平均值。
  2. 上控制限(UCL)和下控制限(LCL)用于R图(范围图):

    • UCL(R) = D4 * R-Bar
    • LCL(R) = D3 * R-Bar
      其中,D3和D4是与样本容量相关的常数,R-Bar是所有样本范围的平均值。

这些常数(如A2、B3、B4、D3和D4)取决于样本容量和所选的控制图类型,通常可以在统计参考表中找到相应的值。控制限的目标是帮助检测过程中任何异常或变化,以便及时采取纠正措施来维持过程的稳定性。

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

两种X-Bar控制图(X-Bar-S图和X-Bar-R图)的平均值图计算方法不同,是因为它们关注的参数和控制图的目的不同,这导致了不同的控制限计算方法。

  1. X-Bar-S图的平均值图(X-Bar图)

    • X-Bar-S图用于监测过程的平均值和标准偏差。它关注的是过程的整体平均水平以及过程中的变异性。
    • 平均值图的上控制限(UCL)和下控制限(LCL)计算方法包括平均值(X-Bar)和标准偏差(S-Bar)的组合,因为在X-Bar-S图中,两者都是关注的参数。
    • 控制限的目的是确保过程的平均值和标准偏差保持在可接受的范围内。
  2. X-Bar-R图的平均值图(X-Bar图)

    • X-Bar-R图用于监测过程的平均值和范围(即最大值与最小值之差)。它关注的是过程的平均水平和过程的范围变化。
    • 平均值图的上控制限(UCL)和下控制限(LCL)计算方法包括平均值(X-Bar)和范围(R-Bar)的组合,因为在X-Bar-R图中,这两个参数是关注的。
    • 控制限的目的是确保过程的平均值和范围保持在可接受的范围内。

因此,不同的控制图类型具有不同的控制限计算方法,以反映它们关注的参数和过程监测的目的。选择使用哪种图表取决于你对过程的关注点,例如,是更关注标准偏差还是范围的变化。

----------

X-Bar-R 控制图是一种用于监测过程稳定性和一致性的质量控制工具。首先,我们需要计算每组数据的平均值和范围,然后绘制控制图,并计算CPK以及合格率。

  1. 计算每组数据的平均值和范围: 对于每组数据,计算平均值和范围。范围(R)是每组数据中最大值与最小值的差异。

  2. 计算 X-Bar 控制图: a. 计算所有平均值的平均值(X-双点中心线)。 b. 绘制 X-Bar 控制图,将每组的平均值分布在图上。

  3. 计算 R 控制图: a. 计算所有范围值的平均值(R-双点中心线)。 b. 绘制 R 控制图,将每组的范围值分布在图上。

  4. 计算控制限: a. 计算 X-Bar 控制图的控制限,可以使用标准的控制图公式,通常为 X-Bar 的平均值加减 3 倍 R 的平均值。 b. 计算 R 控制图的控制限,通常为 R 的平均值乘以一个常数因子。

  5. 计算CPK(过程能力指数): CPK = min[(USL - X-双点中心线) / (3 * 标准差), (X-双点中心线 - LSL) / (3 * 标准差)] 其中,USL是产品规格上限,LSL是产品规格下限。

  6. sigma 表示过程的标准差,它是通过控制图中的平均范围R 来估计的。
    在控制图中,R 通常代表一组样本数据的范围,而 d2 是控制图常数,它是用于校正范围以估计标准差的。
    sigma 被计算为:sigma = (平均范围R) / d2

  7. 计算产品规格上下限间的合格率: 使用正态分布表或统计软件,根据CPK值和规格上下限,计算出合格率。

这些步骤需要一些数据处理和图表绘制,最好使用统计软件或工具来执行。确保准确地计算平均值、范围、控制限、CPK,以及合格率。

---------- 

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import scipy.stats as stats
plt.rcParams['font.sans-serif'] = ['SimHei']  # 防止中文标签乱码
plt.rcParams['axes.unicode_minus'] = False

df = pd.read_excel('GuanZi1011.xlsx') #<class 'pandas.core.frame.DataFrame'>
# print(data)

# print(df.columns)
# print(df.info)

# 计算每组的平均值(X-Bar)
x_bar = df.mean(axis=0)  # pandas Series 

# 计算每组的样本标准差(S)
s = df.std(axis=0, ddof=1)

# # [10 rows x 10 columns] 10组,10个数据/组
# 固定的A2、B3、B4值
A3 = 0.975
B3 = 0.284
B4 = 1.716

# 计算X-Bar控制图的控制限
X_Double_Bar = x_bar.mean()
S_Bar = s.mean()


UCL_X_Bar = X_Double_Bar + A3 * S_Bar
LCL_X_Bar = X_Double_Bar - A3 * S_Bar

print(f"UCL_X_Bar: {UCL_X_Bar}",f"LCL_X_Bar: {LCL_X_Bar}")

# 计算S控制图的控制限
UCL_S = B4 * S_Bar
LCL_S = B3 * S_Bar

# 创建X-Bar 控制图,添加上下控制限
plt.figure(figsize=(5.3, 6))
plt.subplot(2, 1, 1)
plt.plot(x_bar, marker='o')
plt.axhline(X_Double_Bar, color='r', linestyle='--', label='Overall Mean')
plt.axhline(UCL_X_Bar, color='g', linestyle='--', label='UCL')
plt.axhline(LCL_X_Bar, color='b', linestyle='--', label='LCL')
plt.title('X-Bar Control Chart')
# plt.xlabel('Sample Group')
plt.ylabel('X-Bar')
plt.legend()

# 创建S 控制图,添加上下控制限
plt.subplot(2, 1, 2)
plt.plot(s, marker='o')
plt.axhline(S_Bar, color='r', linestyle='--', label='Overall Mean')
plt.axhline(UCL_S, color='g', linestyle='--', label='UCL')
plt.axhline(LCL_S, color='b', linestyle='--', label='LCL')
plt.title('S Control Chart')
# plt.xlabel('Sample Group')
plt.ylabel('S')
plt.legend()

plt.tight_layout()
plt.show()


# X-Bar-S图 控制限计算公式:
# UCL(X-Bar) = X-Double Bar + A3 * S-Bar
# LCL(X-Bar) = X-Double Bar - A3 * S-Bar
# UCL(S) = B4 * S-Bar
# LCL(S) = B3 * S-Bar

# X-Bar-R图的控制限计算公式:
# UCL(X-Bar) = X-Double Bar + A2 * R-Bar
# LCL(X-Bar) = X-Double Bar - A2 * R-Bar 
# UCL(R) = D4 * R-Bar
# LCL(R) = D3 * R-Bar

import numpy as np
import matplotlib.pyplot as plt

# 生成10组每组10个数据的示例数据(总共100个数据)
np.random.seed(0)
data = np.random.randn(10, 10)

# 计算每组的平均值(X-Bar)
x_bar = np.mean(data, axis=1)

# 计算每组的极差(R)
r = np.ptp(data, axis=1)

# 固定的A2、D4、D3值
A2 = 0.308
D4 = 1.777
D3 = 0.223

# 计算X-Bar控制图的控制限
X_Double_Bar = np.mean(x_bar)
R_Bar = np.mean(r)
UCL_X_Bar = X_Double_Bar + A2 * R_Bar
LCL_X_Bar = X_Double_Bar - A2 * R_Bar

# 计算R控制图的控制限
UCL_R = D4 * R_Bar
LCL_R = D3 * R_Bar

# 创建X-Bar 控制图,添加上下控制限
plt.figure(figsize=(12, 6))
plt.subplot(2, 1, 1)
plt.plot(x_bar, marker='o')
plt.axhline(X_Double_Bar, color='r', linestyle='--', label='Overall Mean')
plt.axhline(UCL_X_Bar, color='g', linestyle='--', label='UCL')
plt.axhline(LCL_X_Bar, color='b', linestyle='--', label='LCL')
plt.title('X-Bar Control Chart')
plt.xlabel('Sample Group')
plt.ylabel('X-Bar')
plt.legend()

# 创建R 控制图,添加上下控制限
plt.subplot(2, 1, 2)
plt.plot(r, marker='o')
plt.axhline(R_Bar, color='r', linestyle='--', label='Overall Mean')
plt.axhline(UCL_R, color='g', linestyle='--', label='UCL')
plt.axhline(LCL_R, color='b', linestyle='--', label='LCL')
plt.title('R Control Chart')
plt.xlabel('Sample Group')
plt.ylabel('R')
plt.legend()

plt.tight_layout()
plt.show()

 绘制X-Bar-R图,监测过程,计算CPK过程能力指数

import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
import pandas as pd

plt.rcParams['font.sans-serif'] = ['SimHei']  # 防止中文标签乱码
plt.rcParams['axes.unicode_minus'] = False

# 替换下面的数据为你的实际数据
data = pd.read_excel('GuanZi1011.xlsx')

# 计算每组样本的平均值
x_bar = data.mean(axis=0)  # Series

# 计算每组样本的范围R
r = data.max(axis=0) - data.min(axis=0)


x_bar_avg = np.mean(x_bar)
r_avg = np.mean(r)

print(f'x_bar_avg: {x_bar_avg}')
print(f'r_avg: {r_avg}')

# X-Bar-R图的控制系数   # [10 rows x 10 columns] 
d2 = 3.078  # R控制图的常数,可以根据样本大小查表获取
A2 = 0.308  # X-Bar控制图的常数,可以根据样本大小查表获取
D4 = 1.777  # R控制图的常数,可以根据样本大小查表获取
D3 = 0.223  # R控制图的常数,可以根据样本大小查表获取


USL = 5.1  # 规格上限
LSL = 4.9  # 规格下限

# sigma 表示过程的标准差,它是通过控制图中的平均范围R 来估计的。
# 在控制图中,R 通常代表一组样本数据的范围,而 d2 是控制图常数,它是用于校正范围以估计标准差的。
# sigma 被计算为:sigma = (平均范围R) / d2
sigma = r_avg / d2

# Z 分数(即标准分数,Z = (x - μ) / σ)根据数据点与一组点的平均值和标准偏差之间的关系来描述数据点
Zscore = min((USL - x_bar_avg) / sigma, (x_bar_avg - LSL) / sigma)

# 计算CPK(过程能力指数):
# CPK = min[(USL - X-双点中心线) / (3 * 标准差), (X-双点中心线 - LSL) / (3 * 标准差)]
# 其中,USL是产品规格上限,LSL是产品规格下限。
cpk = min((USL - x_bar_avg) / (3 * sigma), (x_bar_avg - LSL) / (3 * sigma))
# 计算合格率
z_upper = (USL - x_bar_avg) / (sigma)
z_lower = (LSL - x_bar_avg) / (sigma)
cpk_area = norm.cdf(z_upper,0,1) - norm.cdf(z_lower,0,1)
cp= (USL-LSL) / (6* sigma) # 规格范围相对于过程的变异性有多宽
ppm = (1 - cpk_area) * 1000000  ## 换算成每百万机会的不合格品数

print(f'sigma: {sigma}')
print(f'Zscore: {Zscore}')
print(f'CPK: {cpk}')
print(f"cpk_area:{cpk_area}")
print("CP:", cp)
print(f'PPM: {ppm}')

# X-Bar-R图的控制限计算公式:
# UCL(X-Bar) = X-Double Bar + A2 * R-Bar
# LCL(X-Bar) = X-Double Bar - A2 * R-Bar 
# UCL(R) = D4 * R-Bar
# LCL(R) = D3 * R-Bar

x_bar_UCL = x_bar_avg + A2 * r_avg
x_bar_LCL = x_bar_avg - A2 * r_avg

r_UCL = D4 * r_avg
r_LCL = D3 * r_avg

# 绘制X-Bar控制图
plt.figure(figsize=(7, 6))
plt.subplot(2, 1, 1)
plt.plot(x_bar, marker='o')
plt.axhline(x_bar_avg, color='r', linestyle='--', label='X-Bar Center Line')
plt.axhline(x_bar_UCL, color='g', linestyle='--', label='X-Bar UCL')
plt.axhline(x_bar_LCL, color='g', linestyle='--', label='X-Bar LCL')
plt.title('X-Bar Control Chart')
plt.legend()
plt.grid()

# 绘制R控制图
plt.subplot(2, 1, 2)
plt.plot(r, marker='o')
plt.axhline(r_avg, color='r', linestyle='--', label='R Center Line')
plt.axhline(r_UCL, color='g', linestyle='--', label='R UCL')
plt.axhline(r_LCL, color='g', linestyle='--', label='R LCL')
plt.title('R Control Chart')
plt.legend()
plt.grid()
plt.show()

# X-Bar-S图 控制限计算公式:
# UCL(X-Bar) = X-Double Bar + A3 * S-Bar
# LCL(X-Bar) = X-Double Bar - A3 * S-Bar
# UCL(S) = B4 * S-Bar
# LCL(S) = B3 * S-Bar

# X-Bar-R图的控制限计算公式:
# UCL(X-Bar) = X-Double Bar + A2 * R-Bar
# LCL(X-Bar) = X-Double Bar - A2 * R-Bar 
# UCL(R) = D4 * R-Bar
# LCL(R) = D3 * R-Bar

 

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

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

相关文章

制造业中CRM系统的作用有哪些

CRM系统是企业信息化建设的一部分&#xff0c;制造企业要想在疫情残酷的市场环境中生存下去离不开客户资源&#xff0c;因此我们说制造业CRM系统是当下企业数字化、信息化的关键。制造业CRM系统的作用有哪些?一起来看看吧。 让销售过程更规范 制造业需要CRM系统规范化销售流…

2023年中国饲料酸化剂产量、需求量及市场规模分析[图]

饲料酸化剂又称酸度调节剂&#xff0c;作为新型的饲料添加剂&#xff0c;其作用是保持动物体内的电解质平衡&#xff0c;促进动物健康生长。饲料酸化剂的众多作用机理都源于其酸化效应&#xff0c;即通过降低消化道中pH值使影响动物生长、生产所需的一些相关因素得以很好地发挥…

leetcodeT912-快排优化-三路划分

leetcodeT912-快排优化-三路划分 1.前言2.为什么需要三路划分的优化?3.三路划分的思想及举例画图4.三路划分的代码实现5.三数取中修改 1.前言 因为快排的名声太大 并且快排在某些场景下比较慢,所以leetcode"修理"了一下快排 特意设计了一些专门针对快排的测试用例 所…

Windows 程序注册服务运行

文章目录 创建服务窗口功能AppilicationDetailsLog OnDependencies 编辑服务删除服务服务管理进程信息运行状态 可以使用 nssm、 easy-service 来管理&#xff0c;本文使用 NSSM 来操作 创建服务 使用 nssm install [<servicename>] 调出 UI 窗口&#xff0c;第三个参…

VS 断点调试技巧:直接看到成员变量,隐藏属性,跳过方法

问题描述 直接断点不能直接显示成员变量 可以改下ToString方法&#xff0c;但这个方法可能还有其他用途&#xff0c;不推荐 解决方法 类加标签&#xff1a;DebuggerDisplay 可以直接显示属性了&#xff0c;但是有密码私密属性或者不重要的属性&#xff0c;怎么隐藏呢 隐藏属性…

快手商品详情数据接口,快手商品详情API接口,快手API接口

在网页抓取方面&#xff0c;可以使用 Python、Java 等编程语言编写程序&#xff0c;通过模拟 HTTP 请求&#xff0c;获取快手网站上的商品页面。在数据提取方面&#xff0c;可以使用正则表达式、XPath 等方式从 HTML 代码中提取出有用的信息。值得注意的是&#xff0c;快手网站…

【k8s 开发排错】k8s组件开发排错之pprof

参考 Kubernetes组件问题排查的一些方法 - 知乎 go 程序性能调优 pprof 的使用 &#xff08;一&#xff09; - 润新知 Go进阶系列 之 性能分析神器pprof__好吗_好的的博客-CSDN博客 k8s各组件端口_k8s10259端口-CSDN博客 Go调试神器pprof使用教程【实战分享】_NPE~的博客-C…

Datawhale发布,首个AI Prompt 工程师计划!

Datawhale发布 联合&#xff1a;讯飞星火、开源学习高校联盟 无论你是新手还是有 AI 基础 只要你对 AI 方向感兴趣、有热情 Datawhale AI Prompt 工程师计划 联合科大讯飞星火大模型 面向在校学生、社会在职人士 提供 AI Prompt 的免费学习机会 通过考试可获官方颁发的 Promp…

《面试求职系列》(三):如何写简历及求职技巧

&#x1f499;个人主页: GoAI |&#x1f49a; 公众号: GoAI的学习小屋 | &#x1f49b;交流群: 704932595 |&#x1f49c;个人简介 &#xff1a; 掘金签约作者、百度飞桨PPDE、领航团团长、开源特训营导师、CSDN、阿里云社区人工智能领域博客专家、新星计划计算机视觉方向导师…

周四见|物流人的一周资讯

顺丰铁联多式联运平台示范工程被命名为“国家多式联运示范工程” 10月10日消息&#xff0c;交通运输部、国家发展改革委近日联合印发通知&#xff0c;决定命名中欧班列集装箱多式联运信息集成应用示范工程等19个项目为“国家多式联运示范工程”。其中&#xff0c;顺丰铁联多式…

如何测量GNSS信号和高斯噪声功率及载波比?

引言 本文将介绍如何测量德思特Safran GSG-7或GSG-8 GNSS模拟器的输出信号功率。此外&#xff0c;还展示了如何为此类测量正确配置德思特Safran Skydel仿真引擎以及如何设置射频设备&#xff0c;从而使用频谱分析仪准确测量信号的射频功率。 什么是载波噪声密度C/N0 GNSS接收…

OpenSM-QoS管理

目录 一、概述 二、完整QoS策略文件 三、简化QoS策略定义 四、策略文件语法规则 五、完整策略文件示例 六、简化的QoS策略 6.1 IPoIB 6.2 SDP 6.3 RDS 6.4 iSER 6.5 SRP 6.6 MPI 七、SL2VL映射和VL仲裁 缩写全拼中文SMSubnet Manager子网管理器&#xff08;实体&a…

精品Python的美食餐饮服务系统点餐订餐-可视化大屏

《[含文档PPT源码等]精品Python的美食餐饮服务系统的设计与实现-爬虫》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等&#xff01; 软件开发环境及开发工具&#xff1a; 开发语言&#xff1a;python 使用框架&#xff1a;Django 前端技术&#x…

学习开发一个RISC-V上的操作系统(汪辰老师) — 一次RV32I加法指令的反汇编

前言 &#xff08;1&#xff09;此系列文章是跟着汪辰老师的RISC-V课程所记录的学习笔记。 &#xff08;2&#xff09;该课程相关代码gitee链接&#xff1b; &#xff08;3&#xff09;PLCT实验室实习生长期招聘&#xff1a;招聘信息链接 前置知识 RISC-V 汇编指令编码格式 &a…

智慧机场数字孪生大屏升级智慧出行全方位服务

在宁波栎社国际机场的信息中心大楼内&#xff0c;一块大屏幕上展示了一座“数字孪生”机场。通过点击屏幕上的各个板块&#xff0c;可以实时查看现场情况&#xff0c;一旦出现突发状况&#xff0c;还可以立即启动闭环处置流程…… &#xff08;图源自宁波机场&#xff09; 在数…

7-zip压缩包密码忘记了,怎么破解?

7z压缩包设置了密码&#xff0c;解压的时候就需要输入正确对密码才能顺利解压出文件&#xff0c;正常当我们解压文件或者删除密码的时候&#xff0c;虽然方法多&#xff0c;但是都需要输入正确的密码才能完成。忘记密码就无法进行操作。 那么&#xff0c;忘记了7z压缩包的密码…

LLM应用架构 LLM application architectures

在本课程的最后一部分&#xff0c;您将探讨构建基于LLM的应用程序的一些额外考虑因素。首先&#xff0c;让我们把迄今为止在本课程中所见的一切汇总起来&#xff0c;看看创建LLM驱动应用程序的基本组成部分。您需要几个关键组件来创建端到端的应用程序解决方案&#xff0c;从基…

个人财务预算系统BudgetBee

什么是 BudgetBee &#xff1f; BudgetBee 是一个个人财务预算系统。通过 BudgetBee&#xff0c;您可以轻松管理您的个人财务。它可以帮助您跟踪您的支出和收入&#xff0c;以便您可以减少支出并增加储蓄。 镜像下载 官方没有在 docker hub 上发布镜像&#xff0c;而是采用了自…

idea中导入eclipse的javaweb项目——tomact服务(保姆级别)

idea中导入eclipse的javaweb项目——tomact服务&#xff08;保姆级别&#xff09; 1. 导入项目2. Project Settings下的各种配置步骤2.1 检查/修改 jdk 的引入2.2 配置Modules-Dependencies2.2.1 删掉eclipse相关的多余配置2.2.2 删掉jar包2.2.3 添加tomcat的依赖 2.3 配置Libr…

Semi D2C 设计稿转代码框架

TL;DR Semi Design 是抖音前端团队开发的设计系统,包括 Semi UI 组件库,DSM 设计系统定制,D2C 设计稿转代码等方向。本文主要介绍 Semi D2C的能力边界,与其他方案的差异,探索历程,底层实现原理 / 难点。阅读时间 30-45min。可以做什么,不可以做什么? D2C 为 Design to…