QCプラネッツ 品質のプロフェッショナルを育成するサイト

カプランマイヤー法が理解できる(その1)

信頼性工学

「打切りデータがある場合では、何でカプランマイヤー法を使うのかがわからない」と困っていませんか?

こういう疑問に答えます。

本記事のテーマ

カプランマイヤー法が理解できる(その1)
  • ①カプランマイヤー法とは
  • ➁実測データで扱う経験分布関数は「打切りデータ」が扱えない
  • ➂生存関数、ハザード関数、累積ハザード関数を作る
  • ➃「打切りデータ」も考慮できるポイント(その2で解説)
  • ➄Nelson-Aalen推定量を一旦作る(その2で解説)
  • ⑥カプランマイヤー法が導出できる(その2で解説)

QC(品質管理)を勉強して、強く思うのは、

教科書に正しく書いていても、
自分で導出できない式は使うな!
使い方(手段)より、
意味(目的)を理解せよ!

信頼性工学で、いまいち理解できない
「打切りデータ」⇒カプランマイヤー法
を実際に導出してみましょう。

2記事に分けてわかりやすく解説!

①カプランマイヤー法とは

カプランマイヤー法

教科書によっては、若干書き方が異なりますが、カプランマイヤー法とは

信頼度R(t)= \(\displaystyle \prod_{i=1}^n (1-\frac{D_i}{Y_i})\)
●\(D_i\):故障数
●\(R_i\):全体の個数

ポイントは、

\(\displaystyle \prod_{i=1}^n (1-\frac{D_i}{Y_i})\)
故障数/全体数 の累積掛け算の形であること!
シンプルで使いやすい

具体的は
信頼度R(t)= \(\displaystyle \prod_{i=1}^n (1-\frac{D_i}{Y_i})\)
=\(\frac{5}{5}\)×\(\frac{4}{5}\)×\(\frac{2}{3}\)
と分数の掛け算で信頼度が計算できるので、
シンプルで使いやすいです。

\(\displaystyle \prod_{i=1}^n (1-\frac{D_i}{Y_i})\)
故障数/全体数 の累積掛け算の形であること!
どうやって、この式ができるかを解説していきます。

カプランマイヤー法の導出ストーリー

難しい式は、「導出ストーリ」が必要です。そうじゃないと、
何を計算して導き出しているかが読者は理解できないから

ストーリーはこれです!

  1. 実測データを扱う関数は、経験分布関数と別物である
  2. しかし、経験分布関数は「打切りデータ」は扱えない
  3. そこで、「打切りデータ」も扱える「いい感じ」の関数を作る
  4. それが、生存関数、ハザード関数、累積ハザード関数
  5. 条件付き確率の公式を使って「打切りデータ」も扱えるようにする
  6. 生存関数から一旦「Nelson-Aalen推定量」を作る
  7. Nelson-Aalen推定量の式を変形して、カプランマイヤー法を導出

と、結構、道のりが長いです。だから、暗記して公式を使えばよいですが、理解せずに式は使ってはいけません!

では1つずつ解説していきます。

➁実測データで扱う経験分布関数は「打切りデータ」が扱えない

実データは経験分布関数から入る

故障数を測定するときは、
●横軸が時間(t)
●縦軸は故障数で、
縦軸yの値は、階段状のデータになり、連続性がない特徴になります。

この特徴にぴったり合う関数が、
「経験分布関数」です。

経験分布関数とは

経験分布関数については、関連記事にまとめていますので、ご確認ください。

信頼性工学に使う経験分布関数がわかる
経験分布関数は説明できますか?本記事では経験分布関数の基本を解説し、QC(品質管理)の信頼性工学で経験分布関数が必要であることが理解できます。信頼性工学などで何となく公式暗記代入するのではなく、本質を理解しましょう

経験分布関数の式は、以下です。

●経験分布関数
\(F_n(x)\)=\(\frac{x以下となるX_iの個数}{n}\)
=0 (\(x\) < \(X_1\))
=\(\frac{i}{n}\) (\(X_i\) < \(x\) < \(X_{i+1}\),i=1,2,…,n-1)
=1(\(x\) > \(X_n\)

グラフを見て、こんな感じと理解しましょう。

信頼性工学

経験分布関数は「打切りデータ」は扱えない

グラフを見てわかるように、時刻tは故障する時間なので、
故障するまで待つのが前提です。

別に、経験分布関数を使って「打切りデータ」を含めても良いと思いますが、精度を上げたいために、「打切りデータ」もうまく扱える関数が必要としましょう。

➂生存関数、ハザード関数、累積ハザード関数を作る

経験分布関数では「打切りデータ」が扱えないので、どこかの頭のいい数学者が
●生存関数
●ハザード関数
●累積ハザード関数
という聞きなれない関数を持ってきて、うまく式を作ったので、それを解説します。

生存関数とは

ある時刻\(t\)まで、「故障しない」確率をして定義します。信頼度\(R(t)\)と同じ意味ですね。
生存関数を数式で定義します。

●生存関数
\(S(t)\)=Pr(T > \(t\)) =1-Pr(T ≤ \(t\))=1-\(F(t)\)
\(S(0)\)=1 (\(t\) ≤0)
\(S(∞)\)=0

ハザード関数とは

ハザード関数とは、ある時刻\(t\)瞬間の故障確率と定義します。故障率λと同じ意味ですね。
ハザード関数を定義します。

●ハザード関数
\(λ(t)\)= \( \displaystyle \lim_{Δt \to 0} \frac{1}{Δt}\)\((Pr(t \leq T \leq t+Δt|T \geq t)) \)

ポイントは、時刻\(t\)から時刻\(t+Δt\)の間に発生する故障確率
\((Pr(t \leq T \leq t+Δt|T \geq t)) \)
条件付き確率で定義している点がポイントです。

ここが、「打切りデータ」でも扱ってよいとするトリックになるので、注視ください。

条件付き確率
\((Pr(t \leq T \leq t+Δt|T \geq t)) \)
は、生存関数\(S(t)\)で見ると、
\((Pr(○|T \geq t)) \) →時刻t以上の場合のうち、
\((Pr(t \leq T \leq t+Δt|○)) \)→時刻tからt+Δtの間に発生した確率
と見る事ができるので、

\((Pr(t \leq T \leq t+Δt|T \geq t)) \)
=\(\frac{S(t)-S(t+Δt)}{S(t)}\)
と書けます。

まとめると、
\(λ(t)\)= \( \displaystyle \lim_{Δt \to 0} \frac{1}{Δt}\)\((Pr(t \leq T \leq t+Δt|T \geq t)) \)
= \( \displaystyle \lim_{Δt \to 0} \frac{1}{Δt}\)\(\frac{S(t)-S(t+Δt)}{S(t)} \)
となり、
= \( \displaystyle \lim_{Δt \to 0} \frac{ S(t)-S(t+Δt)}{Δt}\)\(\frac{1}{S(t)} \)
=\(-\frac{dS(t)}{dt} \frac{1}{S(t)}\)
(=\(-\frac{(S(t))’}{S(t)}\)とも書けますね)
となります。

生存関数\(S(t)\)≡信頼度\(R(t)\)なので、
\(-\frac{dS(t)}{dt} \)=\(-\frac{dR(t)}{dt} \)
=\(f(t) \) (確率密度関数)
となるので、

まとめると、
\(λ(t)\)= \(-\frac{dS(t)}{dt} \frac{1}{S(t)}\)
=\(f(t) \frac{1}{S(t)}\)
となります。

この関係式もあとで使います。

累積ハザード関数とは

単純にハザード関数を時刻tで積分した関数です。

●累積ハザード関数
\(Λ(t)\)= \( \displaystyle \int_{0}^{t} λ(s)ds \)
(Λはラムダの大文字です)

先ほど計算した、
\(λ(s)\)= \(-\frac{(S(t))’}{S(t)}\)
を代入すると

\(Λ(t)\)= \( \displaystyle \int_{0}^{t} -\frac{(S(t))’}{S(t)}ds \)
となり、置換積分によって、
\(Λ(t)\)=\(-log(S(t)\)
となり、

生存関数\(S(t)\)は
\(S(t)\)=\(exp(-Λ(t))\)
という関係式が作れます。

3つの関数を定義して、カプランマイヤー法の下ごしらえが出来ました。ここから調理開始です!

➃「打切りデータ」も考慮できるポイント

ここから先は、次の関連記事で解説します。

「カプランマイヤー法が理解できる(その2)が理解できる」に向かいましょう。

まとめ

「カプランマイヤー法が理解できる(その1)が理解できる」を解説しました。

  • ①カプランマイヤー法とは
  • ➁実測データで扱う経験分布関数は「打切りデータ」が扱えない
  • ➂生存関数、ハザード関数、累積ハザード関数を作る
  • ➃「打切りデータ」も考慮できるポイント(その2で解説)
  • ➄Nelson-Aalen推定量を一旦作る(その2で解説)
  • ⑥カプランマイヤー法が導出できる(その2で解説)


Warning: count(): Parameter must be an array or an object that implements Countable in /home/qcplanets/qcplanets.com/public_html/wp-content/themes/m_theme/sns.php on line 119

    Warning: Invalid argument supplied for foreach() in /home/qcplanets/qcplanets.com/public_html/wp-content/themes/m_theme/sns.php on line 122
error: Content is protected !!