当前位置:   article > 正文

python之Cp、Cpk、Pp、Ppk_python 计算单列数据的cpk,ppk

python 计算单列数据的cpk,ppk

目录

1、Cp、Cpk、Pp、Ppk

2、python计算


1、Cp、Cpk、Pp、Ppk

Cp= Process Capability Ratio 可被译为“过程能力指数”

Cpk= Process Capability K Ratio 可被译为“过程能力K指数”

Pp= Process Performance Ratio 可被译为“过程绩效指数”

Ppk= Process Performance K Ratio  可被译为“过程绩效K指数”

当   Cpk<1说明制程能力差,不可接受。

1≤Cpk≤1.33,说明制程能力可以,但需改善。

​1.33≤Cpk≤1.67,说明制程能力正常。

过程绩效指数(Pp和Ppk)是过程的过去或现实;而过程能力指数(Cp和Cpk)是过程的潜能或将来。过程能力指数的计算必须满足"过程稳定"和"数据正态分布"两个必要条件;而用于Pp和Ppk计算的数据则不必进行这两个测试。过程能力指数及过程绩效指数的数学关系是:Cp≥Pp , Cpk≥Ppk。当过程稳定(stable或under control)且数据呈正态分布时Cp=Pp,Cpk=Ppk(注意这里的"="是统计学意义上的相同);只要有特殊原因存在, Cp>Pp , Cpk>Ppk。理解这一点对它们的应用很关键。

如果想知道目前的过程是否已经是达到了稳定的潜在状态时,可以比较过程能力指数和过程绩效指数的差别,即Cp和Pp, Cpk和Ppk的差别:二者差别越小,说明目前的过程的绩效越接近稳定状态,即过程不存在太多的特殊原因引起的偏离(variation)。如果差异很大,则说明过程不稳定,需要找出那些特别的原因,消除这些原因,过程即可被改进。管理者也可以利用过程能力指数和过程绩效指数的差别,制订不断改进的目标。

2、python计算

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. def Cp(data,USL,LSL):
  4. """
  5. :param data: 数据
  6. :param USL: 数据指标上限
  7. :param LSL: 数据指标下限
  8. :return:
  9. """
  10. # 计算每组的平均值和标准差
  11. sigma = np.std(data, axis=1)
  12. m, n = np.shape(data)
  13. sum=0
  14. for i in range(m):
  15. sum+=(n-1)*sigma[i]**2
  16. s=np.sqrt(sum/(m*n-m))
  17. cp=(USL-LSL)/6/s
  18. return cp
  19. def Cpk(data,USL,LSL):
  20. """
  21. :param data: 数据
  22. :param USL: 数据指标上限
  23. :param LSL: 数据指标下限
  24. :return:
  25. """
  26. u = np.mean(data)
  27. sigma = np.std(data, axis=1)
  28. m, n = np.shape(data)
  29. sum = 0
  30. for i in range(m):
  31. sum += (n - 1) * sigma[i] ** 2
  32. s = np.sqrt(sum / (m * n - m))
  33. cpk=min(USL-u,u-LSL)/3/s
  34. return cpk
  35. def Pp(data,USL,LSL):
  36. """
  37. :param data: 数据
  38. :param USL: 数据指标上限
  39. :param LSL: 数据指标下限
  40. :return:
  41. """
  42. sigma=np.std(data)
  43. pp=(USL-LSL)/6/sigma
  44. return pp
  45. def Ppk(data,USL,LSL):
  46. """
  47. :param data: 数据
  48. :param USL: 数据指标上限
  49. :param LSL: 数据指标下限
  50. :return:
  51. """
  52. u=np.mean(data)
  53. sigma = np.std(data)
  54. ppk=min(USL-u,u-LSL)/3/sigma
  55. return ppk
  56. # 使用matplotlib画图
  57. data=np.random.normal(0, 1, (25, 5))
  58. cp=Cp(data,2,-2)
  59. cpk=Cpk(data,2,-2)
  60. pp=Pp(data,2,-2)
  61. ppk=Ppk(data,2,-2)
  62. print("Cp=",cp,"Cpk=",cpk,"Pp=",pp,"Ppk=",ppk)

Cp= 0.7068034057688628 Cpk= 0.705282201140378 Pp= 0.6345352278919454 Ppk= 0.6331695611199301

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/439014
推荐阅读
相关标签
  

闽ICP备14008679号