Posts Issued in March, 2016

故障率 (4)

posted by sakurai on March 31, 2016 #4

和文は英文の後に続きます。

(English text comes here.)


CDFとPDFの関係

故障確率関数(Cumulative Distribution Function, CDF)$F(t)$が$t$で微分可能であるとき、故障密度関数(Probability Density Function, PDF)である$f(t)$は$F(t)$の導関数として(4.1)で定義されます。

故障密度関数の定義式: $$ f(t):=\frac{dF(t)}{dt} \tag{4.1} $$

従って、故障確率関数$F(t)$は故障密度関数$f(t)$を0からtまで積分して(4.2)のように表されます。 \[ \int_0^t f(x)dx=\Pr\{0\lt X_{item}\leq t\}=F(t)-F(0)=F(t) \tag{4.2} \]

故障率$\lambda(t)$と故障密度関数$f(t)$の関係を求めます。(2.5)の両辺を$t$で微分すれば、(4.3)となります。 \[ \frac{dF(t)}{dt}=-\frac{dR(t)}{dt} \tag{4.3} \]

(2.8)に対して、(4.3)及び(4.1)を代入すれば、故障率$\lambda(t)$と故障密度関数$f(t)$の関係が(4.4)のように求められます。 \[ \lambda(t)=\frac{f(t)}{R(t)} \tag{4.4} \]


左矢前のブログ 次のブログ右矢

故障率 (3)

posted by sakurai on March 22, 2016 #3

和文は英文の後に続きます。

(English text comes here.)


故障率と確率

本来、信頼度や不信頼度は確率なので、今回は確率の式を用いて信頼度や不信頼度を導出します。 $X_{item}$をitemの無故障運転時間を表す確率変数とするとき、信頼度$R(t)$は時刻$t$において、アイテムがまだ故障していない確率なので、(3.1)で定義されます。

$$ R(t):=\Pr\lbrace t\lt X_{item}\rbrace \tag{3.1} $$

一方不信頼度$F(t)$は時刻$t$において、アイテムが既に故障している確率なので、(3.2)で定義されます。

$$ F(t):=\Pr\lbrace X_{item}\leq t\rbrace \tag{3.2} $$

区間$(t, t+\Delta t]$における平均故障率$\hat{\lambda}(t)$は、時刻$t$において故障していない条件下での区間$(t, t+\Delta t]$における故障確率を単位時間あたりに直したものですから、(3.3)と表されます。

\[ \hat{\lambda}(t)=\frac{1}{\Delta t} \cdot \Pr\{X_{item} \leq t+\Delta t~|~ t\lt X_{item}\} \tag{3.3} \]

ここで、条件付き確率の公式は(3.4)です。

\[ \Pr\{A~|B\}=\frac{\Pr\{A \cap B\}}{\Pr\{B\}}, \quad \Pr\{B\}\gt 0 \tag{3.4} \]

また確率の和の公式(3.5)を次のように(3.6)と変形します。

\[ \Pr\{A \cup B\} = \Pr\{A\} + \Pr\{B\} - \Pr\{A \cap B\} \tag{3.5} \] \[ \Leftrightarrow \Pr\{A \cap B\} = \Pr\{A\} + \Pr\{B\} - \Pr\{A \cup B\} \tag{3.6} \]

(3.3)に(3.4)と(3.6)を適用すれば、平均故障率の(3.3)は(3.7)となります。

\[ \hat{\lambda}(t)=\frac{1}{\Delta t}\cdot \frac{\Pr\{t\lt X_{item}\cap X_{item}\leq t+\Delta t\}}{\Pr\{t\lt X_{item}\}} \]\[ =\frac{1}{\Delta t}\cdot \frac{\Pr\{t\lt X_{item}\}+\Pr\{X_{item}\leq t+\Delta t\}-\Pr\{t\lt X_{item}\cup X_{item}\leq t+\Delta t\}}{\Pr\{t\lt X_{item}\}} \]\[ =\frac{1}{\Delta t}\cdot \frac{R(t)+F(t+\Delta t)-1}{R(t)}=\frac{1}{\Delta t}\cdot \frac{R(t)-R(t+\Delta t)}{R(t)}\tag{3.7} \]

この平均故障率(3.7)に対して$\Delta t\rightarrow 0$の極限をとれば、平均故障率は瞬間故障率となり、(3.8)が得られます。 \[ -\lambda(t)=\frac{1}{R(t)} \frac{dR(t)}{dt}=\frac{d}{dt}\ln R(t) \tag{3.8} \]

以上から故障率(1)の(2.8)と同じ、故障率と信頼度の微分方程式(3.8)が求められました。従って故障率(1)の(2.9)から(2.12)と同様の論理展開により、信頼度$R(t)$と不信頼度$F(t)$が求められます。


左矢前のブログ 次のブログ右矢

故障率 (2)

posted by sakurai on March 16, 2016 #2

和文は英文の後に続きます。

(English text comes here.)


信頼度と故障率の関係

前回は簡単にするために平均故障率は定数としましたが、一般的には故障率は時間の関数であるため、(1.1)は(2.1)と表されます。 \[ v(t+1)-v(t)=-\hat{\lambda}(t)\cdot v(t) \tag{2.1} \]

さて、「信頼度」はJISにより、「アイテムが、与えられた条件で規定の期間中, 要求された機能を果たす確率」と定義されています。これにより、時刻$t$において、アイテムとしての機能を果たす確率=信頼度$R(t)$は、良品数$v(t)$を$t=0$のときの部品数$v(0)=N$で割ったもので定義され、(2.2)と表されます。

信頼度の定義式: \[ R(t) \stackrel{def}=\frac{v(t)}{v(0)}=\frac{v(t)}{N} \tag{2.2} \]

(2.1)の両辺を$N$で割ると(2.3)となります。 \[ \frac{v(t+1)}{N}-\frac{v(t)}{N}=-\hat{\lambda}(t)\cdot \frac{v(t)}{N} \tag{2.3} \]

この(2.3)に、信頼度$R(t)$の(2.2)を適用すれば、(2.4)が求められます。 \[ R(t+1)-R(t)=-\hat{\lambda}(t)\cdot R(t) \tag{2.4} \]

さて、ここで1から信頼度$R(t)$を引いた値は不信頼度$F(t)$と呼ばれ、時刻$t$においてアイテムが故障している確率を意味します。

不信頼度の定義式: \[ F(t) \stackrel{def}{=} 1-R(t) \tag{2.5} \]

「信頼性」は一般的に良く知られている言葉ですが、信頼度や不信頼度は耳慣れない用語かもしれません。しかし、不信頼度はアイテムが故障している状態を表す大変重要な用語ですので、ぜひ慣れて頂きたいと思います。不信頼度は累積故障確率、故障関数、累積分布関数(Cumulative Distribution Function, CDF)等、いろいろな名前で呼ばれることがあります。

信頼度と不信頼度の導出

(2.4)から平均故障率と信頼度との関係が見えてきました。ここで、一時間後ではなく、$\Delta t$時間後を考えます。この$\Delta t$は微小時間間隔を意味します。これにより、時間間隔$[t, \Delta t)$において(2.4)左辺は(2.6)となります。 \[ \frac{1}{\Delta t}\cdot[R(t+\Delta t)-R(t)]=-\hat{\lambda}(t)\cdot R(t) \tag{2.6} \]

(2.6)において$\Delta t \rightarrow 0$という極限をとれば、平均故障率$\hat{\lambda}(t)$は瞬間故障率$\lambda(t)$となり、(2.7)となります。 \[ \lim_{\Delta t \to 0} \frac{1}{\Delta t}\cdot[R(t+\Delta t)-R(t)]=\frac{dR(t)}{dt}=-\lambda(t)\cdot R(t) \tag{2.7} \]

(2.7)は$R(t)$に関する微分方程式です。これは信頼度と故障率の関係を示しているため、移項して故障率の式に変形すれば、(2.8)となります。 \[ -\lambda(t)=\frac{1}{R(t)} \frac{dR(t)}{dt}=\frac{d}{dt}\ln R(t) \tag{2.8} \]

よって、(2.8)の両辺を0から$t$まで積分すれば、(2.9)が求められます。 \[ -\int_{0}^{t}\lambda(x)dx=\ln R(t)+C \tag{2.9} \] さらにこれを指数の形に変形すれば、$R(t)$に関する(2.10)となります。 \[ R(t)=e^{-\int_{0}^{t}\lambda(x)dx-C} \tag{2.10} \]

初期状態$t=0$では故障は無いと仮定していることから、$R(0)=1$です。これを(2.10)に適用すると、積分定数$C$は$C=0$と求められます。これを(2.10)に戻せば、(2.11)が得られます。

信頼度の式: \[ R(t)=e^{-\int_{0}^{t}\lambda(x)dx} \tag{2.11} \]

以上から信頼度$R(t)$を求めることができました。これにより、(2.11)を(2.5)に代入すれば不信頼度$F(t)$が(2.12)のように求められます。

不信頼度の式: \[ F(t)=1-R(t)=1-e^{-\int_{0}^{t}\lambda(x)dx} \tag{2.12} \]


左矢前のブログ 次のブログ右矢

故障率

posted by sakurai on March 8, 2016 #1

和文は英文の後に続きます。

(English text comes here.)


ISO26262における故障率

ISO26262は自動車分野向けの電気・電子システム(Electrical and/or Electronic Systems, E/E Systems)に関する機能安全規格です。機能安全とは、本来の機構に加えて安全機構を設け、リスクを低減し安全を確保するという考え方です。ISO26262はこれに従い、車載の電気・電子システムが万一故障した場合に、死傷事故などの危険な事象から人間を守ることを目的とします。

本規格では、安全性を損なう故障(*1)にはシステマティック故障とランダムハードウェア故障の2種類があると考えます。システマティック故障とは、例えばソフトウェアのバグのように特定の状況で必ず発生する故障のことです。ランダムハードウェア故障とは、電子部品の故障に見られるように、部品の様々な劣化メカニズムにより時間的にランダムに発生する故障のことです。FSマイクロ株式会社は、このランダムハードウェア故障を専門としています。

このブログでは、ハードウェア開発にとって重要なランダムハードウェア故障の説明の第一歩として、「故障率とは何か」から始めます。ISO26262においては、故障率の定義を理解することは大変重要です。

故障率の定義

ISO26262では、ECU(Electronic Control Unit=車載コンピュータ)等の安全性の論証の対象となるシステムをアイテム(*2)と呼びます。また、このブログでは故障した部品を不良品と呼び、故障していない部品を良品と呼ぶことにします。故障率の定義式を導出するため、アイテムは複数個の部品から構成されるものとし、初期状態で全ての部品が動作していて、全く故障が無いものと仮定します。この仮定において、故障率とは、単位時間あたりに故障する不良品数の良品数に対する割合であり、(1.1)で表されます。

この(1.1)を説明すると、時刻$t$において良品数が$v(t)$であったとき、1時間後の時刻$t+1$までに新たに故障する個数(=不良品数)の、良品数$v(t)$に対する割合が故障率$\hat{\lambda}$となります。(1.1)の左辺は1時間あたりの良品数の減少分を表し、それが右辺において、時刻$t$における良品数$v(t)$に比例することを意味しています。この比例定数が時刻$t$から$t+1$までの1時間の平均故障率です。

故障率の定義式: \[ v(t+1)-v(t) = - \hat{\lambda} \cdot v(t) \tag{1.1} \]

故障率の実際

故障率を例えば10%とします。図1.1では、時刻$t=0$のときに100個の部品からなるアイテムがどのように故障していくかを1時間毎のグラフで表しています。

最初に100個の部品があり、1時間後には、このうちの10%の10個が故障する(不良品数=10)ので良品数は90個となります。さらに次の1時間後には、90個の部品のうち10%の9個が故障する(不良品数=9)ので良品数は81個となります(図1.1)。

図1
図1.1 故障率のグラフ

定義で述べたとおり、不良品数は時刻$t$における良品数$v(t)$に比例します。もし不良品数が総数に比例するのであれば、以下のような線形のグラフになりますが、これは故障率とは異なります(図1.2)。

図1.2
図1.2 誤った故障率のグラフ

この図1.1及び図1.2の2つのグラフを算出式の違いによって比較してみます。

図1.1のグラフの算出式は、(1.1)の$v(t)$を移項した(1.2)です。 \[ v(t+1) = v(t) - \hat{\lambda} \cdot v(t) \tag{1.2} \]

この(1.2)については、時刻$t$の良品数$v(t)$に一定の率(=故障率)をかけたものが不良品数$\hat{\lambda} \cdot v(t)$です。時刻$t$の良品数$v(t)$から不良品数$\hat{\lambda} \cdot v(t)$を引いた数が、次の1時間後の良品数$v(t+1)$を表します。

図1.2のグラフの算出式は(1.3)です。 \[ v(t+1) = v(t) - \hat{\lambda} \cdot N \tag{1.3} \]

この(1.3)については、時刻$t=0$の良品数$N$に一定の率($\neq$故障率)をかけたものが不良品数$\hat{\lambda} \cdot N$です。時刻$t$の良品数$v(t)$から不良品数$\hat{\lambda} \cdot N$を引いた数が、次の1時間後の良品数$v(t+1)$を表します。

(1.2)と(1.3)を比較してみると、毎回の不良品数を算出する際に、(1.3)は当初の良品数$N$を記憶していなければなりません。一方、(1.2)は算出する際の値しか使っていないため、メモリレス(無記憶性)の性質を持ちます。

*1故障(1.39)
*2アイテム(1.69)


  次のブログ右矢