亚马逊AWS官方博客
在 Amazon SageMaker Service 中使用 R 绘制统计过程控制图(SPC)实现流程稳定性预警
在实际的运营场景中,我们可以通过统计过程控制图(SPC:Statistical Process Control Chart)监控运营过程的稳定性,对过程存在的异常因素进行预警,以实现故障减少,用户体验提升和运营成本降低的目的。本文将介绍如何在Amazon SageMaker Service中,通过R语言来绘制统计过程控制图,从而可视化监控运营过程数据。
什么是统计过程控制图?
统计过程控制图是应用统计技术对过程中的各个阶段进行评估和监控,用来检测过程是否处于可控状态,具有区分正常波动和异常波动的功能图表。如下图所示,在UCL(控制上限Upper Control Limit)和LCL (控制下限Lower Control Limit)范围之外的波动属于异常波动,而范围之内的波动则属于正常波动。
基于不同的数据类型的控制图分类
使用R在AWS SageMaker Service中绘制统计过程控制图
Amazon SageMaker笔记本实例使用预装的R内核支持R。
R内核具有reticulate库,提供R到Amazon SageMaker Python SDK的接口。reticulate程序包在R和Python对象之间转换。
library(reticulate)
py_install('pandas')
py_install('fsspec')
py_install('s3fs')
py_install('xlrd')
pandas <- import('pandas')
data_location <- 's3://sagemaker-xxx/ControlChart/01_I_MR.xlsx'
data<-pandas$read_excel(data_location)
data_location_2 <- 's3://sagemaker-xxx/ControlChart/02_U_P_Chart.xlsx'
data2<-pandas$read_excel(data_location_2)
- 场景一: 运营经理想要了解包装流程的周期时间以及流程的稳定性,从而对包装流程进行效率的提升以及稳定性的优化。
数据源:01_I_MR
数据描述:Cycletime 每件商品的包装周期时间
数据类型:连续型, 数据未分组
图表类型:I-MR,Individual Chart
install.packages('SixSigma',dependencies=TRUE)
library(SixSigma)
require(qcc)
Cycletime = data$Cycletime
Cycletime.xbar.one <- qcc(Cycletime,type='xbar.one')
如图所示,平均包装时间为49.34s,存在两个异常波动,需进行排查采取措施保证流程节拍的稳定性。
- 场景二: 供应商运输的货物偶尔会存在一些问题,例如:未扫码,地址发送错误等等,只要货物存在一种问题,则视为存在缺陷。运营经理希望通过SPC来了解当前供应商提供的货品质量情况,并予以控制,以提高货品质量。
数据源:02_U_P_Chart
数据描述:SampleSize抽样数量; Defects_No 缺陷品数量
数据类型:属性数据,单位缺陷
图表类型:U chart
defectno<-data2$Defects_No
samplesize<-data2$SampleSize
with(data2,
plot(qcc(defectno,type='u',samplesize))
)
如图所示,每批货物缺陷率平均为21.15%,无异常波动。
总结
过程控制图可以帮助我们透明化过程情况以及监控过程稳定性,从而识别异常情况,及时预警实施干预。
通过本文,您已了解在不同的运营场景下,如何使用R语言在SageMaker中绘制不同类型的过程控制图。您也可以结合其他的AWS解决方案,如:AWS Data Lake,AWS IoT等对过程数据进行实时监控和预警以降低故障,提升流程效率,以实现精益化运营。
参考:
[1] Emilio L. Cano • Javier M. Moguerza Andrés Redchuk (2012). SixSigma with R Statistical Engineering for Process Improvement
[2] CRAN – Package SixSigma
https://cran.r-project.org/web/packages/SixSigma/index.html
[3] qcc:Quality Control Charts
https://cran.r-project.org/web/packages/qcc/index.html