msa op• 資料種類:table → table
• 呼叫: import fullseye as fs; fs.ledger.msa_gauge_rr(table, part='part', operator='operator', value='value', tolerance=None, pool_interaction='auto', pool_alpha=0.25)(要直接呼叫實作,import spc; spc.msa_gauge_rr(table, part='part', operator='operator', value='value', tolerance=None, pool_interaction='auto', pool_alpha=0.25);從台帳取用則 opsspc.get("msa_gauge_rr"))
以變異數分析法求量具重複性與再現性(table)。
重複性 EV(同一人重新量測同一物體時的離散)、再現性 AV(換人時的離散。含交互作用)、兩者合成的 GRR、零件間 PV、總變異 TV、%GRR = 100 GRR/TV、可區分的類別數 ndc = 1.41 PV/GRR。
傳入 *tolerance* 時還回傳相對於公差的比 %tolerance = 100 GRR/tolerance。
★變異數成分由平衡交叉設計的期望均方求得:
var_repeat = MS_err
var_inter = (MS_inter - MS_err) / r
var_oper = (MS_oper - MS_inter) / (p r)
var_part = (MS_part - MS_inter) / (o r)
★★負的變異數成分截為 0,但不隱瞞截斷這件事(clamped 欄)。期望均方之差是估計量,所以真實成分接近 0 時可能為負。默默設為 0 會被讀成「不存在量測者差異」,正確的讀法是「無法估計」。而且這並非罕見的邊界情況 —— 零件 60 x 量測者 4 x 重複 5、量測者差異 嚴格為 0 的合成資料以 40 個種子執行,有 31 個的再現性成分為負(實測 2026-09-23)。不申報截斷的實作會在這 31 個中全部斷言「沒有差異」。
★估計量的波動也不隱瞞。同樣 60x4x5 下,真值 0.4 的重複性在 40 個種子上得到平均 0.39710、標準差 0.00788 —— 與理論的 sigma/sqrt(2 df) (df = 960 時為 0.00913)同一數量級,不能以 1 % 的精度相信 1 個種子。再現性更差,它是從 4 名量測者(自由度 3)估計的,因此相對真值 0.5 標準差為 0.159 —— 數量級對上就算不錯的量。
★★保留交互作用還是併入誤差,答案會變。標準的步驟是「交互作用的 F 檢定不顯著時,去掉交互作用項重新計算」, *pool_interaction* 就是這項選擇:
• "auto"(預設)—— 交互作用的 p 值超過 *pool_alpha*(預設 0.25)時合併。
★★0.25 不是標準明確寫出的數。參考手冊正文所說的只是「為降低漏掉交互作用的風險,應選擇較高的顯著水準」這項定性的指示, 沒有寫數值。0.25 是軟體方面慣例的多數派, 另一種實作以 0.05 為預設。把 α 調大會使 p > alpha 更難成立 = 更容易保留交互作用,所以 0.25 是忠於正文方針的(保守的)一側。另一方面,標準的 worked example 表在註腳中寫著「以 α = 0.05 判定」,所以 宣稱重現該表的檢驗應明確傳入 pool_alpha=0.05 (預設值的問題與重現公開例題的條件是兩回事)。此例題中 F = 0.434 在任一 α 下都不顯著,結果不變,但在邊界附近的資料上預設值的差異會使 EV / AV 變動幾 % —— 實測中模型切換使 EV 變動了 7.3 %。
• False —— 一律保留交互作用。
• True —— 一律合併。
回傳的 interaction_pooled / interaction_p / pool_alpha 中必定記錄用了哪一種。若默默切換,同一工具對同一製程會回傳不同的數字, 而其原因在輸出中無處可尋。
★實測(標準的例題,10 零件 x 3 量測者 x 3 次共 90 點): 保留交互作用時 EV = 0.214435,合併時 EV = 0.199933 —— 相差 7.3 %。選擇由 p 值的閾值決定,所以資料稍有變動模型就會跳變。此例題中 F = 0.4337 / p = 0.9741,交互作用完全沒有作用,因此標準以合併一側作為公開值(本實作以 3e-7 重現該值)。
★可作為門檻的嚴格關係: TV^2 == GRR^2 + PV^2 與 GRR^2 == EV^2 + AV^2 (即定義本身)、貢獻率合計 100 %,以及量測者為 1 人時的 EV 嚴格等於各格子樣本變異數的平均(numpy 成為真值)。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• poc_measurement_system_analysis — py -3.11 examples/poc_measurement_system_analysis.py
table 作為輸入)msa_anova_table · msa_bias_linearity · msa_attribute_agreement · gum_standard_uncertainty · gum_propagate · gum_expanded · gum_monte_carlo · gum_validate
msa)msa_anova_table · msa_bias_linearity · msa_attribute_agreement
*Provenance: spc.py — SPC 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.