Posts Tagged with "PUA"

既に発行済みのブログであっても適宜修正・追加することがあります。
We may make changes and additions to blogs already published.
posted by sakurai on October 17, 2024 #878

RAMS論文委員会の査読に対するレビューが完了し、指摘事項は無く、最終版(名前、所属有り)を10/17までに登録するようにという指示が来たので、早速登録しました。

これにより後は採択通知を待つのみです。

表878.1 RAMS 2025へのマイルストーン
期限 マイルストーン 状態
2024/5/3 アブストラクト投稿締め切り(システム入力) 投稿済
2024/6/10 アブストラクト採択結果 採択済
2024/7/15 論文、プレゼン投稿締め切り(名前、所属無し版) 投稿済
2024/9/1
2024/9/15
第1回論文、プレゼン資料査読コメント受領 投稿済
2024/10/4 学会出席登録締め切り 登録済
2024/10/4
2024/10/17
最終論文、プレゼン投稿締め切り(名前、所属有り版) 登録済


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

posted by sakurai on September 27, 2024 #877

ChatGPTにグラフを3本書いて貰います。区間差分をどのように取るかの違いで3種類考えられます。PIRの原則ではこの区間差分(検査区間内の累積分布)の$K_\text{MPF}$倍が修理度となります。

  • 区間内の累積分布=区間不稼働度の差分: $Q_\text{exact}(t)$においては$Q(i\tau)-Q((i-1)\tau)$
  • 区間内の累積分布=区間不信頼度が一定: $Q_\text{approx1}(t)$においては$-F(\tau)$
  • 区間内の累積分布=区間不信頼度の差分: $Q_\text{approx2}(t)$においては$F(i\tau)-F((i-1)\tau)$

$\dagger Q_\text{approx2}(t)$において区間不信頼度($K_\text{MPF}$倍する前の修理度)は、 $$ \require{cancel} F(i\tau)-F((i-1)\tau)=\bcancel{1}-e^{-i\tau}-\bcancel{1}+e^{-(i-1)\tau}\\ =e^{-i\tau}\left(e^{\tau}-1\right)=-F(\tau)e^{-i\tau}=-F(\tau)R(i\tau) $$ 修理度の絶対値が$R(i\tau)$だけ次第に小さくなりますが、それを無視し$R(i\tau)\approx1$とすれば$Q_\text{approx1}(t)$と同じになります。

import numpy as np
import matplotlib.pyplot as plt
from functools import lru_cache

plt.rcParams['font.family'] = 'serif'
plt.rcParams['mathtext.rm'] = 'Times New Roman'
plt.rcParams['mathtext.fontset'] = 'cm'

# パラメータ設定
lambdaVal = 0.1  # 故障率
tau = 2    # 点検期間
K = 0.5    # 修復率
epsilon = 0.00001  # 不連続点の直前を示すために使用する小さい値

# 関数定義
def R(t):
    """信頼度関数"""
    return np.exp(-lambdaVal * t)

def F(t):
    """故障関数"""
    return 1 - R(t)

@lru_cache(maxsize=None)
def Q_n(t, n):
    """Q_nの再帰関数。結果をキャッシュする。"""
    if n == 0:
        return F(t)
    else:
        tau_n = n * tau
        tau_n_minus_1 = (n - 1) * tau
        return 

def Q_approx1(t):
    """tにおけるQ(t)の近似値を計算する関数"""
    u = t % tau
    return (1 - K) * F(t) + K * F(u)

# 定義された Q_approx2(t) を追加して描画します。

def Q_approx2(t, n):
    """tにおけるQ_approx2の近似値を計算する関数"""
    return F(t) - n * K * (F(t) - F(t - tau))
    
# グラフ描画
fontsize_axes_label = 24 * 1.2
fontsize_ticks = 16 * 1.2
fontsize_legend = 24 * 1.2

# グラフ描画
plt.figure(figsize=(18, 11))
# 軸(spines)の線幅を太くする
ax = plt.gca()  # 現在の軸を取得
spine_width = 2  # 軸の線幅
for spine in ax.spines.values():
    spine.set_linewidth(spine_width)

# 凡例用のダミープロット
plt.plot([], [], '-', label=r'$Q_{\mathrm{exact},n}(t)$ for $\lambda = 0.1$', color='black')
plt.plot([], [], '-', label=r'$Q_{\mathrm{approx1}}(t)$ for $\lambda = 0.1$', color='blue')
plt.plot([], [], '-', label=r'$Q_{\mathrm{approx2}}(t)$ for $\lambda = 0.1$', color='green')

# 不連続性を示すために各区間を個別にプロット
for i in range(10):
    start = i * tau
    end = (i + 1) * tau - epsilon
    t_vals = np.linspace(start, end, 200)
    Q_exact_vals = [Q_n(t, i) for t in t_vals[:-1]]  # 区間の最後の点を除外してプロット
    Q_approx1_vals = [Q_approx1(t) for t in t_vals[:-1]]
    Q_approx2_vals = [Q_approx2(t, i) for t in t_vals[:-1]]
    
    plt.plot(t_vals[:-1], Q_exact_vals, 'k-', lw=2.5)
    plt.plot(t_vals[:-1], Q_approx1_vals, 'b-', lw=2.5)
    plt.plot(t_vals[:-1], Q_approx2_vals, 'g-', lw=2.5)

    # 区間の終わりに白丸をプロット
    plt.plot(end, Q_n(end, i), 'o', mfc='white', mec='black', mew=2, markersize=8)
    plt.plot(end, Q_approx1(end), 'o', mfc='white', mec='black', mew=2, markersize=8)
    plt.plot(end, Q_approx2(end, i), 'o', mfc='white', mec='black', mew=2, markersize=8)

plt.xlabel('Time (t)', fontsize=fontsize_axes_label)
plt.ylabel(r'$Q(t)$', fontsize=fontsize_axes_label)
plt.xticks(np.arange(0, 11 * tau, tau), fontsize=fontsize_ticks)
plt.yticks(fontsize=fontsize_ticks)
legend = plt.legend(fontsize=fontsize_legend)
for handle in legend.legendHandles:
    handle.set_linewidth(2.5)  # ここで線の太さを指定    
plt.grid(True, color='gray', linestyle='-', linewidth=1.4)
plt.ylim(bottom=0)
plt.xlim(0, 10 * tau)
plt.subplots_adjust(left=0.14, bottom=0.14)
plt.show()

図%%.1
図877.1 3つのグラフ

このように、$Q_\text{exact}(t)$が最も正確な不稼働度(PUA)であり、上記$\dagger$のように修理度を大と近似すると$Q_\text{approx1}(t)$で下界となり、修理度を小と近似すると$Q_\text{approx2,n}(t)$で上界となることが分かります。


なお、本稿はRAMS 2025に投稿予定のため一部を秘匿しています。


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

posted by sakurai on September 26, 2024 #876

続きです。ChatGPTの出力を見やすく加工(キャンセル等)・修正しています。


次に、シグマの部分の式を解析的に簡約化し整理します。

$$ \require{cancel} \sum_{i=1}^{n} \left[ F(i\tau) - F\left( (i - 1)\tau \right) \right] \cdot R(t - i\tau) =\sum_{i=1}^{n} \left[ \bcancel{1}- R(i\tau) - \bcancel{1} +R\left( (i-1)\tau \right) \right] R(t - i\tau) $$

シグマ内の項を$R(t)$のメモリーレス性及び分配則を用いて展開します。

$$ R\left( (i-1)\tau \right) R(t - i\tau) - R(i\tau) R(t - i\tau)\\ = R\left((\bcancel{i}-1)\tau + t - \bcancel{i\tau} \right) - R\left(\bcancel{i\tau} + (t - \bcancel{i\tau}) \right)= R(t - \tau) - R(t) $$

シグマを展開すると、カッコ内は$i$には依存しないため$n$倍となります。

$$ \sum_{i=1}^{n} \left[ R\left( (i-1)\tau \right) - R(i\tau) \right] R(t - i\tau) = n R(t - \tau) - n R(t) $$

以上より、元のシグマの式は以下のように整理されます。

$$ A(t) = R(t) + K_{\text{MPF}}\sum_{i=1}^{n} \left[ F(i\tau) - F\left( (i - 1)\tau \right) \right] \cdot R(t - i\tau)= R(t) + nK_{\text{MPF}} \left[ R(t - \tau) - R(t) \right] $$

よって、$Q_\text{approx2}(t)$は、 $$ Q_\text{approx2}(t)= F(t) - n K_{\text{MPF}} \left[ F(t) - F(t - \tau) \right] $$

となります。

なお、本稿はRAMS 2025に投稿予定のため一部を秘匿しています。


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

posted by sakurai on September 25, 2024 #875

ChatGPTがバージョンアップして推論が強化されたようなので、早速PUAの導出を試しました。


連続修理の場合:

稼働度 $ A(t) $ は以下の式で表されます:

$$ A(t) = R(t) + \displaystyle \int_{0}^{t} m(x) \cdot R(t - x) \, dx $$

ここで、$ R(t) $ は時刻 $ t $ での信頼度、$ m(x) $ は時刻 $ x $ でのリニューアル密度です。

周期 $ \tau $ の定期修理の場合:

修理が周期的に時刻 $ x = i \tau $($ i = 1, 2, \dots, n$)で行われるため、リニューアル密度 $ m(x) $ はこれらの時刻でのディラックのデルタ関数の和として表されます:

$$ m(x) = \sum_{i=1}^{n} m_i \delta(x - i\tau) $$

ここで、$ m_i $ は各修理時刻での修理量であり、$ \delta(x - i\tau) $ は時刻 $ x = i\tau $ でのディラックのデルタ関数です。

この場合、稼働度 $ A(t) $ は次のように変形されます:

$$ \begin{align} A(t) &= R(t) + \int_{0}^{t} \left( \sum_{i=1}^{n} m_i \delta(x - i\tau) \right) \cdot R(t - x) \, dx \\ &= R(t) + \sum_{i=1}^{n} m_i \cdot R(t - i\tau) \end{align} $$

修理量の計算:

各修理時刻 $ i\tau $ での修理量 $ m_i $ は、検査区間内の故障の累積に比例し、次のように表されます:

$$ m_i = \int_{(i-1)\tau}^{i\tau} m(x) \, dx = K_{\text{MPF}} \left[ F(i\tau) - F\left( (i - 1)\tau \right) \right] $$

ここで、

  • $ K_{\text{MPF}} $ は定数、
  • $ f(x) $ は故障密度関数、
  • $ F(x) = \int_{0}^{x} f(u) \, du $ は累積分布関数です。

したがって、周期 $ \tau $ の定期修理の場合の稼働度は:

$$ A(t) = R(t) + \sum_{i=1}^{n} K_{\text{MPF}} \left[ F(i\tau) - F\left( (i - 1)\tau \right) \right] \cdot R(t - i\tau) $$

これにより、連続修理の場合の方程式が、定期修理の場合には離散的な和を含む形に変化し、$ m(x) $ も適切に考慮されます。


今回ChatGPTは各検査区間内の累積した不稼働度を上記のように不信頼度として差し引いています。以前の新方式の記事ではこのように不稼働度を用いましたが、ChatGPTの提案の不信頼度を用いると、どの程度誤差が出るかを見てみます。

なお、本稿はRAMS 2025に投稿予定のため一部を秘匿しています。


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

posted by sakurai on September 16, 2024 #868

査読はポアソン分布との関係を記載するようにということだったので、指数分布の前にポアソン分布の記述を追加しAJEの査読も済み、RAMSに修正版を投稿しました。合わせて学会参加登録も完了しました。

過去記事のとおり、2項分布の極限を取るとポアソン分布となります。ポアソン分布は故障率一定の条件において、一定の時間間隔に何回故障等のイベントが起こるかの分布ですが、イベント間隔はその無記憶性から指数分布となります。

表868.1 RAMS 2025へのマイルストーン
期限 マイルストーン 状態
2024/5/3 アブストラクト投稿締め切り(システム入力) 投稿済
2024/6/10 アブストラクト採択結果 採択済
2024/7/15 論文、プレゼン投稿締め切り(名前、所属無し版) 投稿済
2024/9/1
2024/9/15
第1回論文、プレゼン資料査読コメント受領 投稿済
2024/10/4 学会出席登録締め切り 登録済
2024/10/4 最終論文、プレゼン投稿締め切り(名前、所属有り版)


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

posted by sakurai on September 10, 2024 #864

査読結果を受領しました。去年の査読は大変で何回も査読を受け、査読者が理解できるまで査読と修正を繰り返したと記憶しています。ところが今年は非常に簡単でした。原文を載せるのは差しさわりがあるので、査読コメントの訳文を掲載します。

  • レビュー#1
    定量的安全規格の説明がわかりやすい。これらのモデルの基礎となる指数故障時間/事象時間分布、または事象のポアソン過程を指摘してほしい。

  • レビュー#2
    著者各位、投稿に感謝する。論文はよく書かれており、PIRにおける不稼働度の考え方を明確に説明している。このよく書かれた論文とプレゼンテーションについて、提案や修正点はない。

特に査読者#2は激賞でした。また査読者#1のご指摘に沿い、ポアソン分布と指数分布の関係を説明した文章を論文の指数分布が出てくる直前に挿入しました。現在AJEという翻訳会社へネイティブチェックを依頼中です。

表864.1 RAMS 2025へのマイルストーン
期限 マイルストーン 状態
2024/5/3 アブストラクト投稿締め切り(システム入力) 投稿済
2024/6/10 アブストラクト採択結果 採択済
2024/7/15 論文、プレゼン投稿締め切り(名前、所属無し版) 投稿済
2024/9/1 第1回論文、プレゼン資料査読コメント受領 AJEに依頼中
2024/10/4 学会出席登録締め切り
2024/10/4 最終論文、プレゼン投稿締め切り(名前、所属有り版)


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

RAMS 2025へのマイルストーン (6)

posted by sakurai on July 17, 2024 #835

締め切りは7/15だったため、初版の論文及びプレゼン資料(名前、所属無し版)を作成し、RAMSサイトに登録しました。初版で査読を受け9/1までに査読結果を受領予定です。

表835.1 RAMS 2025へのマイルストーン
期限 マイルストーン 状態
2024/5/3 アブストラクト投稿締め切り(システム入力) 投稿済
2024/6/10 アブストラクト採択結果 採択済
2024/7/15 論文、プレゼン投稿締め切り(名前、所属無し版) 投稿済
2024/9/1 第1回論文、プレゼン資料査読コメント受領
2024/10/4 学会出席登録締め切り
2024/10/4 最終論文、プレゼン投稿締め切り(名前、所属有り版)


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

RAMS 2025へのマイルストーン (5)

posted by sakurai on July 2, 2024 #829

論文及びプレゼン資料の名前、所属無し版を作成し、RAMSサイトに登録しました。締め切りは7/15であるため、ブラッシュアップしたものを再登録する予定です。

表829.1 RAMS 2025へのマイルストーン
期限 マイルストーン 状態
2024/5/3 アブストラクト投稿締め切り(システム入力) 投稿済
2024/6/10 アブストラクト採択結果 採択済
2024/7/15 論文、プレゼン投稿締め切り(名前、所属無し版) 投稿済
2024/9/1 第1回論文、プレゼン資料査読コメント受領
2024/10/4 学会出席登録締め切り
2024/10/4 最終論文、プレゼン投稿締め切り(名前、所属有り版)


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

posted by sakurai on June 6, 2024 #811

昨日RAMS委員会からアブストラクトの採択の連絡がありました。ほぼ論文は完成してはいるものの、これから論文のブラッシュアップ及びプレゼンテーション原稿の作成を開始します。

表811.1 RAMS 2025へのマイルストーン
期限 マイルストーン 状態
2024/5/3 アブストラクト投稿締め切り(システム入力) 投稿済
2024/6/10 アブストラクト採択結果 採択済
2024/8/1 論文、プレゼン投稿締め切り(名前、所属無し版)
2024/9/1 第1回論文、プレゼン資料査読コメント受領
2024/10/9 改訂版論文、プレゼン投稿締め切り(名前、所属無し版)
2024/10/22 最終査読コメント受領
2024/10/10 学会出席登録締め切り
2024/10/10 最終論文、プレゼン投稿締め切り(名前、所属有り版)


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

RAMS 2025へのマイルストーン (3)

posted by sakurai on May 13, 2024 #795

RAMS 2025の締め切りが先週末5/10まで延長され、最終アブストラクトを投稿しました。

  • 題名:
    Point Unavailability Processes with Periodic Inspections in ISO 26262
    ISO26262における定期検査を伴う点不稼働度過程

  • 抄録概要:
    A study of the derivation and approximation of the exact point availability (PUA) and its derivative, the point unavailability density (PUD) processes, in deriving the probabilistic metric for random hardware failures (PMHF) formula under ISO 26262, aiming to refine automotive system design reliability by simplifying fault-tolerant subsystem development.
    耐故障サブシステム開発の簡素化による自動車システム設計の信頼性向上を目的とする、ISO26262に基づくランダムハードウェア故障の確率的指標(PMHF)式の導出における、厳密な点不稼働度(PUA)とその導関数である点不稼働度密度(PUD)過程の導出と近似に関する研究。

題名は本来「Point Unavailability and its Density Processes with Periodic Inspections in ISO 26262(ISO 26262における定期検査を伴う点不稼働度過程とその点不稼働度密度過程)」ですが、長すぎてシステムに入力できないため短くしました。これは査読により変更の可能性が十分にあります。後は6月初旬の採択通知を待つのみです。

表795.1 RAMS 2025へのマイルストーン
期限 マイルストーン 状態
2024/5/3 アブストラクト投稿締め切り(システム入力) 投稿済
2024/6/10 アブストラクト採択結果
2024/8/1 論文、プレゼン投稿締め切り(名前、所属無し版)
2024/9/1 第1回論文、プレゼン資料査読コメント受領
2024/10/9 改訂版論文、プレゼン投稿締め切り(名前、所属無し版)
2024/10/22 最終査読コメント受領
2024/10/10 学会出席登録締め切り
2024/10/10 最終論文、プレゼン投稿締め切り(名前、所属有り版)

本研究はブログ記事から始まったものですが、2020年の論文から導出し使用してきた不稼働度(PUA)の式が実は近似式であったということ、正確な式の導出及び誤差の評価を行ったものです。


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


ページ: