メインコンテンツ

controlchart

説明

controlchart(X) は、行列 X の測定値の X バー管理図を作成します。X バー管理図では、各サブグループの算術平均がプロットされ、X の平均から上下に 3 標準偏差を超えて離れている管理外の点が示されます。

controlchart(X,group) は、group で指定されたサブグループを使用して X の測定値の X バー管理図を作成します。

controlchart(___,Name=Value) では、前の構文におけるいずれかの入力引数の組み合わせに加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、管理限界、仕様限界、管理図タイプを指定できます。

stats = controlchart(___) は、サブグループ統計量とパラメーター推定が格納されている構造体を返します。

[stats,plotdata] = controlchart(___) は、プロット値の 1 行 k 列の構造体配列を追加で返します。ここで、kChartType で指定された管理図の数です。

[stats,plotdata,ax] = controlchart(___) は、個々のプロットのグラフィックス ハンドルを ax で追加で返します。 (R2025a 以降)

すべて折りたたむ

parts データ セットを読み込み、そのサイズを表示します。

load parts
size(runout)
ans = 1×2

    36     4

行列 runout には 36 個のサブグループが含まれています。各サブグループには、同じ数量の測定値の複製が 4 つ含まれています。

データの X バー管理図と R (範囲) 管理図を作成し、サブグループ統計量を返します。

stats = controlchart(runout,ChartType=["xbar","r"]);

Figure contains 2 axes objects. Axes object 1 with title Control Charts, ylabel X-Bar contains 4 objects of type line. One or more of the lines displays its values using only markers These objects represent Data, Violation, Center, LCL/UCL. Axes object 2 with ylabel R contains 4 objects of type line. One or more of the lines displays its values using only markers

工程平均値と標準偏差を表示します。

stats.mu
ans = 
-0.0864
stats.sigma
ans = 
0.1302

X バー管理図では、各サブグループの算術平均がプロットされます。緑色の中央線は runout のすべての要素の平均を示し、赤色の線は上下限の管理限界を示します。

R 管理図では、各サブグループの範囲がプロットされます。緑色の中央線は、サブグループで平均化した平均範囲を示します。

どちらの管理図でも、円で囲まれた点は、管理限界に違反するサブグループを示します。

parts データ セットを読み込み、各サブグループの最初の測定値のみを保持します。

load parts
X = runout(:,1);

I (個別) 管理図と MR (移動範囲) 管理図を作成します。2 つの測定値のウィンドウ幅を使用して移動範囲を計算します。

controlchart(X,ChartType=["i","mr"],Width=2)

Figure contains 2 axes objects. Axes object 1 with title Control Charts, ylabel I contains 4 objects of type line. One or more of the lines displays its values using only markers These objects represent Data, Violation, Center, LCL/UCL. Axes object 2 with ylabel MR contains 4 objects of type line. One or more of the lines displays its values using only markers

I 管理図では、個別の測定値がシーケンス順にプロットされます。MR 管理図では、各測定値と前の測定値の差の絶対値がプロットされます。各管理図の緑色の中央線は平均数量を表し、赤色の線は管理限界を表します。

40 日間連続で取得した 10 個のユニットに関する合格または不合格の測定値を含むシミュレーション データ セット X を生成します。各日はサブグループを表し、各ユニットの測定値が不合格を示す確率は 20% です。不合格は logical 1 (true) として表し、合格は logical 0 (false) として表します。

rng(0,"twister")  % For reproducibility
failureProbability = 0.2;
randomMatrix = rand(40,10);
X = logical(randomMatrix < failureProbability);

測定値の P (欠陥があるユニットの比率) 管理図と NP (欠陥があるユニットの数) 管理図を作成します。サブグループ統計量とプロット点の値を返します。ユニット サイズ 1 を指定して、X の各要素が単一ユニットの logical 値であることを示します。

[stats,plotted] = controlchart(X,ChartType=["p","np"],Unit=1);

Figure contains 2 axes objects. Axes object 1 with title Control Charts, ylabel P contains 4 objects of type line. One or more of the lines displays its values using only markers These objects represent Data, Violation, Center, LCL/UCL. Axes object 2 with ylabel NP contains 4 objects of type line. One or more of the lines displays its values using only markers

P 管理図では、各サブグループに含まれる不合格の測定値の比率がプロットされます。NP 管理図では、各サブグループに含まれる不合格の測定値の数がプロットされます。

不合格の測定値の平均比率を表示します。

stats.p
ans = 
0.2200

管理外の点のインデックスを表示します。

find(plotted(2).ooc)
ans = 
16

サブグループ 16 は 8 つの不合格を含んでおり、上方管理限界を超えているため、両方の管理図で管理違反としてマークされます。

50 日間連続で取得した 5 個のユニットにおける欠陥数のシミュレーション測定値を生成します。各ユニットのサイズは 110 cm で、1 cm あたりの期待される欠陥数は 0.25 です。

rng(0,"twister")  % For reproducibility
unitSize = [10,3,5,2.5,8];  % Unit sizes
lambda = 0.25;  % Expected number of defects per cm
nDays = 50;
X = [];
units = [];
for i = 1:nDays
    defects = poissrnd(lambda*unitSize);
    X = [X; defects];
    units = [units; unitSize];
end

測定値の U (ユニットあたりの欠陥) 管理図を作成し、サブグループ統計量とプロット データを返します。

[stats,Uplot] = controlchart(X,ChartType="u",Unit=units);

Figure contains an axes object. The axes object with title U Control Chart, ylabel U contains 4 objects of type line. One or more of the lines displays its values using only markers These objects represent Data, Violation, Center, LCL/UCL.

U 管理図では、すべてのユニットで測定した各日の 1 cm あたりの欠陥数がプロットされます。全日で平均化した 1 cm あたりの測定欠陥の平均数である中央線 m の値を表示します。

stats.m
ans = 
0.2407

この値は、期待される欠陥率 0.25 に近くなっています。赤色の線は上下限の管理限界を表し、m±3m/S と等しくなります。ここで、Ssum(unitSize) です。上方管理限界の値を表示します。

Uplot.ucl(1)
ans = 
0.5164

測定値の C (欠陥数) 管理図を作成し、サブグループ統計量とプロット データを返します。

[stats,Cplot] = controlchart(X,ChartType="c",Unit=units);

Figure contains an axes object. The axes object with title C Control Chart, ylabel C contains 4 objects of type line. One or more of the lines displays its values using only markers These objects represent Data, Violation, Center, LCL/UCL.

C 管理図では、各日に測定した欠陥数がプロットされます。全日で平均化した測定欠陥の平均数である中央線 μc の値を表示します。

Cplot.cl(1)
ans = 
6.8600

μc+3μc と等しい上方管理限界の値を表示します。

Cplot.ucl(1)
ans = 
14.7175

49 日目の欠陥の総数と 1 cm あたりの欠陥数を表示します。

Cplot.pts(49)
ans = 
15
Uplot.pts(49)
ans = 
0.5263

49 日目は欠陥の総数と 1 cm あたりの欠陥数が上方管理限界を超えているため、関数は両方の管理図で違反としてマークしています。

入力引数

すべて折りたたむ

測定値。数値行列、数値ベクトル、または timeseries オブジェクトとして指定します。ChartType"p""np""u"、または "c" が含まれる場合、X の要素は非負でなければなりません。

X を行列として指定する場合、次のようになります。

  • X の各行は、同時期にとられた測定値の複製を含む測定値のサブグループです。

  • X の行は時刻順でなければなりません。

  • group を指定した場合、関数は測定値を行でグループ化し、group を使用して最後の管理図の x 軸にラベルを付けます。

X をベクトルとして指定する場合、ChartType"xbar""s"、または "r" が含まれるときは、group も指定しなければなりません。

Xtimeseries オブジェクトとして指定する場合、各時間の標本には測定値の複製が含まれている必要があります。

データ型: single | double

サブグループ。size(X,1) (Xtimeseries オブジェクトの場合は size(X.data,1)) と同じ長さの数値ベクトルとして指定します。X が行列の場合、関数は測定値を X の行に従ってグループ化し、group を使用して最後の管理図の x 軸にラベルを付けます。X がベクトルの場合、サブグループは、1 ≤ nlength(X) について同じ値の group(n) を共有する連続測定値 X(n) で構成されます。サブグループは異なる測定数をもつことができます。

データ型: single | double

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: controlchart(X,ChartType=["xbar","r"]) は、X バー-R 管理図を作成するように指定します。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

管理図のタイプ。次の値の 1 つ以上を含む文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。

説明
"xbar"X バー、すなわち平均
"s"標準偏差
"r"範囲
"ewma"指数的に重み付けされた移動平均
"i"個別測定
"mr"個別測定の移動範囲
"ma"個別測定の移動平均
"p"欠陥があるユニットの比率
"np"欠陥があるユニットの数
"u"ユニットあたりの欠陥
"c"欠陥数

"p" または "np" を指定する場合、Unit も指定しなければなりません。

"xbar""s"、または "r" を指定する場合、X は行列、または group で指定されたサブグループをもつベクトルでなければなりません。

ChartType で複数の要素を指定する場合、それらの要素には互換性がなければなりません。互換性のあるタイプには、以下の 4 セットがあります。

  • "xbar""s""r"、および "ewma"

  • "i""mr" および "ma"

  • "p" および "np"

  • "u" および "c"

X をベクトルとして指定して group を指定しなかった場合、"ewma""i""mr" および "ma" と互換性があります。

例: ChartType={'u','c'}

例: ChartType=["u","c"]

データ型: char | string

管理図を表示するフラグ。"on" または "off" として指定します。たとえば、サブグループ統計量を返し、管理図を表示しない場合は、Display="off"stats 出力引数を指定します。

例: Display="off"

データ型: char | string

管理図データのヒントとなるサブグループ ラベル。size(X,1) (Xtimeseries オブジェクトの場合は size(X.data,1)) と同じ長さの string 配列または文字ベクトルの cell 配列として指定します。

例: Label=["a","b","c","d","e","f","g"]

データ型: char | string

平滑化パラメーター。範囲 (0,1) のスカラーとして指定します。指数加重移動平均管理図 (ChartType="ewma") の場合、Lambda は、各移動平均値に過去の測定値がどの程度影響するかを制御します。Lambda の値が高いほど、移動平均の計算で最近の観測値の重みが増します。

例: Lambda=0.3

データ型: single | double

管理限界。3 行 1 列の数値ベクトルとして指定します。Limits の要素にはそれぞれ、管理図の下方管理限界、中央線、上方管理限界の値が含まれます。点が管理限界外にある場合、関数はその点に管理外としてフラグを設定します (plotdata を参照)。ChartType に複数の管理図タイプが含まれている場合は Limits を指定できません。

例: Limits=[0.5 1 1.5]

データ型: single | double

平均。数値スカラーまたは [] として指定します。Mean[] (既定) の場合、関数は MeanX から推定します。Mean の定義は管理図タイプによって変わります。P 管理図と NP 管理図の場合、Mean は欠陥があるアイテムの平均比率です。U 管理図と C 管理図の場合、Mean はユニット サイズあたりの欠陥の平均数です。それ以外の管理図の場合、Mean は工程平均です。

例: Mean=0.5

データ型: single | double

標準偏差。正のスカラー、または次の標準偏差推定法のいずれかとして指定します。

説明
"std" (既定の設定)サブグループ内の標準偏差の平均
"range"平均サブグループ範囲
"variance"プールされた分散の平方根

I 管理図、MR 管理図、および MA 管理図の場合、データがサブグループ内にないときは、関数は移動範囲を使用して推定値を計算します。

例: Sigma=0.5

データ型: single | double | char | string

管理限界の標準偏差の数。正のスカラーとして指定します。関数は、上方管理限界については中央線に NSigma を加算して Sigma を乗算した値、下方管理限界については中央線から NSigma を減算して Sigma を乗算した値として設定します。点が管理限界外にある場合、関数はその点に管理外としてフラグを設定します (plotdata を参照)。Limits を指定した場合、関数は NSigma の値を無視します。

例: NSigma=5

データ型: single | double

管理図の Axes ハンドル。axes ハンドルとして指定します。Parent[] (既定) の場合、関数は管理図を新しい Figure で作成します。ChartType に複数の管理図タイプが含まれている場合は Parent を指定できません。

管理ルール。controlrules 関数の rules に指定可能な 1 つ以上の値を含む文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。関数は、これらのルールを管理限界と共に使用して、次の管理図タイプで点が管理外かどうかを決定します。X バー、I、C、U、P、および NP。Rules を指定しない場合、関数は点が管理外かどうかを決定するのに管理限界のみを使用します。

例: Rules=["we1","n1"]

データ型: char | string

仕様限界。数値ベクトルとして指定します。管理図の Specs の各値の位置に、関数は水平方向に赤い点線をプロットします。R 管理図、S 管理図、および MR 管理図では、関数は仕様の線をプロットしません。

例: Specs=[0.5 2]

データ型: single | double

検査アイテムの数または検査ユニットのサイズ。X と同じサイズの正の整数の数値行列または数値ベクトルとして指定するか、正の整数として指定します。Unit を正の整数として指定すると、関数は X のすべての要素に同じ Unit の値を使用します。

  • P 管理図と NP 管理図の場合、Unit を指定する必要があり、その値は検査アイテムの数になります。

  • U 管理図と C 管理図の場合、Unit は検査ユニットのサイズになり、その既定値は 1 です。

P 管理図、NP 管理図、U 管理図、または C 管理図の Unit を指定する場合、X には見つかった欠陥のカウント数または欠陥があるユニットのカウント数が含まれている必要があります。それ以外の管理図タイプの場合、関数は Unit の値を無視します。

例: Unit=1

データ型: single | double

ウィンドウ幅。正の整数として指定します。関数は、指定された幅のウィンドウを使用して、MR 管理図と MA 管理図の移動範囲と移動平均、および I 管理図、MR 管理図、MA 管理図の標準偏差を計算します。Width の値を size(X,1) (Xtimeseries オブジェクトの場合は size(X.data,1)) より大きくすることはできません。

例: Width=10

データ型: single | double

出力引数

すべて折りたたむ

サブグループ統計量とパラメーター推定。1 行 k 列の構造体配列として返されます。ここで、k はプロットされた管理図の数です。stats のフィールドは管理図タイプによって変わります。

フィールド説明
meanサブグループの平均値
stdサブグループの標準偏差
rangeサブグループの範囲
nサブグループ サイズ、または検査サイズもしくは検査面積の合計
i個々のデータ値
ma移動平均
mr移動範囲
count欠陥または欠陥品の数
mu工程平均値の推定値
sigma工程標準偏差の推定値
p欠陥があるユニットの比率の推定値
mユニットあたりの平均欠陥数の推定値

プロット データ。1 行 k 列の構造体配列として返されます。ここで、k はプロットされた管理図の数です。構造体配列は、次のフィールドを含みます。

フィールド説明
ptsプロット点の値
cl中央線
lcl下方管理限界
ucl上方管理限界
seプロット点の標準誤差
nサブグループ サイズ
ooc管理外の点のフラグ (logical の 0 (false) または 1 (true) として指定)

R2025a 以降

個々のプロットの Axes ハンドル。Axes オブジェクトの配列として返されます。ax を返す場合、Display"on" でなければなりません。

詳細

すべて折りたたむ

参照

[1] Montgomery, Douglas C. Statistical Quality Control. 7th ed. Nashville, TN: John Wiley & Sons, 2012.

バージョン履歴

R2006b で導入

すべて展開する