Categories
程式開發

在Amazon SageMaker Service 中使用R 繪製統計過程控製圖(SPC)實現流程穩定性預警


在實際的運營場景中,我們可以通過統計過程控製圖(SPC:Statistical Process Control Chart)監控運營過程的穩定性,對過程存在的異常因素進行預警,以實現故障減少,用戶體驗提升和運營成本降低的目的。 本文將介紹如何在Amazon SageMaker Service中,通過R語言來繪製統計過程控製圖,從而可視化監控運營過程數據。

什麼是統計過程控製圖?

統計過程控製圖是應用統計技術對過程中的各個階段進行評估和監控,用來檢測過程是否處於可控狀態,具有區分正常波動和異常波動的功能圖表。 如下圖所示,在UCL(控制上限Upper Control Limit)和LCL (控制下限Lower Control Limit)範圍之外的波動屬於異常波動,而范圍之內的波動則屬於正常波動。

在Amazon SageMaker Service 中使用R 繪製統計過程控製圖(SPC)實現流程穩定性預警 1

基於不同的數據類型的控製圖分類

在Amazon SageMaker Service 中使用R 繪製統計過程控製圖(SPC)實現流程穩定性預警 2

使用R在AWS SageMaker Service中繪製統計過程控製圖

樣例數據及代碼下載

Amazon SageMaker筆記本實例使用預裝的R內核支持R。

Amazon SageMaker的R用戶指南

  • 創建筆記本實例,然後單擊Open Jupyter。

在Amazon SageMaker Service 中使用R 繪製統計過程控製圖(SPC)實現流程穩定性預警 3

  • 從可用的環境列表中創建一個具有R內核的新筆記本。

在Amazon SageMaker Service 中使用R 繪製統計過程控製圖(SPC)實現流程穩定性預警 4

  • 從S3中導入數據

R內核具有reticulate庫,提供R到亞馬遜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)

head(data)

在Amazon SageMaker Service 中使用R 繪製統計過程控製圖(SPC)實現流程穩定性預警 5

data_location_2 <- 's3://sagemaker-xxx/ControlChart/02_U_P_Chart.xlsx'

data2<-pandas$read_excel(data_location_2)

head(data2)

在Amazon SageMaker Service 中使用R 繪製統計過程控製圖(SPC)實現流程穩定性預警 6

  • 場景一: 運營經理想要了解包裝流程的周期時間以及流程的穩定性,從而對包裝流程進行效率的提升以及穩定性的優化。

數據源: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")

在Amazon SageMaker Service 中使用R 繪製統計過程控製圖(SPC)實現流程穩定性預警 7

如圖所示,平均包裝時間為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))

)

在Amazon SageMaker Service 中使用R 繪製統計過程控製圖(SPC)實現流程穩定性預警 8

如圖所示,每批貨物缺陷率平均為21.15%,無異常波動。

  • 當發現異常情況後,結合統計分析方法,如:魚骨圖,流程圖,圖解分析,假設檢驗,實驗設計等逐層過濾出對異常情況造成影響最大的根本原因,對其實施干預並驗證效果,從而實現流程持續優化,提升用戶體驗。

在Amazon SageMaker Service 中使用R 繪製統計過程控製圖(SPC)實現流程穩定性預警 9

總結

過程控製圖可以幫助我們透明化過程情況以及監控過程穩定性,從而識別異常情況,及時預警實施干預。

通過本文,您已了解在不同的運營場景下,如何使用R語言在SageMaker中繪製不同類型的過程控製圖。 您也可以結合其他的AWS解決方案,如:AWS Data Lake,AWS IoT等對過程數據進行實時監控和預警以降低故障,提升流程效率,以實現精益化運營。

參考:

[1] 埃米利奧·L·卡諾(Emilio L. Cano)•哈維爾·M·莫格扎(Javier M. Moguerza Andre)Redchuk(2012)。 SixSigma和R統計工程技術,用於流程改進

[2] CRAN –套餐SixSigma

https://cran.r-project.org/web/packages/SixSigma/index.html

[3] qcc:質量控製圖

https://cran.r-project.org/web/packages/qcc/index.html

作者介紹

崔悅

AWS大數據顧問,負責數據驅動企業,數字化運營等方案的應用和推廣。 曾擔任IBM商務智能顧問,BMW高級數據分析師,京東推薦產品經理,在電商,零售,汽車等領域擁有多年數據挖掘經驗。

本文轉載自亞馬遜AWS官方博客。

原文鏈接

在Amazon SageMaker Service 中使用R 繪製統計過程控製圖(SPC)實現流程穩定性預警