流程能力平台:有沒有辦法指定最佳擬合的分佈?你好。 我想知道是否有人知道在流程能力平台中執行最佳擬合時指定使用哪些分佈的方法? 例如,假設使用者想要分析他們知道不正常的資料集。 他們希望 JMP 使用最適合的分佈進行分析,但他們知道他們希望它只從 Johnson 或 Gamma 中進行選擇。 理想情況下,其腳本形式如下:
dt = Open("$SAMPLE_DATA/Process Measurements.jmp");
dt <<PROCESS capability=""></PROCESS>在 Process Variables() 中,我放置「...& Dist(Johnson, Gamma)」而不是「Dist(BestFit)」。 當然,我上面的程式碼不起作用,結果僅顯示約翰遜,但這希望能讓您了解我想要的東西。
我正在運行 JMP Pro 17.2.0。
謝謝!
自動化和腳本編寫回覆:流程能力平台:有沒有辦法指定最佳擬合的分佈?手動將 Gamma 添加到此功能並保存腳本為我提供了所需的語法。
dt = Open("$SAMPLE_DATA/Process Measurements.jmp");
dt <<PROCESS capability=""></PROCESS>回覆:流程能力平台:有沒有辦法指定最佳擬合的分佈?如果您想讓 JMP 確定哪個分佈最適合,然後僅在「最適合」分佈上運行流程能力,以下腳本首先運行分佈平台並找到最適合的分佈,然後在「最適合」分佈上運行流程能力最佳擬合分佈。
Names default to here(1);
dt =
// Open Data Table: semiconductor capability.jmp
// → Data Table( "semiconductor capability" )
Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
// Run
dis = Distribution(invisible,
Continuous Distribution(
Column( :PNP3 ),
Fit Normal( Show Fit( 0 ) ),
Fit Cauchy( Show Fit( 0 ) ),
Fit Student's t( Show Fit( 0 ) ),
Fit Lognormal,
Fit Exponential( Show Fit( 0 ) ),
Fit Gamma( Show Fit( 0 ) ),
Fit Johnson( Show Fit( 0 ) ),
Fit SHASH( Show Fit( 0 ) ),
Fit Normal 2 Mixture( Show Fit( 0 ) ),
Fit Normal 3 Mixture( Show Fit( 0 ) ),
Fit Weibull( Show Fit( 0 ) ),
Process Capability( Use Column Property Specs )
)
);
fitList = report(dis)["Compare Distributions", stringcolbox(1)]<<GET></GET>
回覆:流程能力平台:有沒有辦法指定最佳擬合的分佈?謝謝吉姆。
好主意,但不幸的是這對我來說可能不是一個選擇。 我的資料集約為 10k x 10k,我在每列上運行的每次額外擬合都確實增加了運行時間。 因此,我希望將最適合的搜尋限制在幾個發行版中,並排除其他發行版。
回覆:流程能力平台:有沒有辦法指定最佳擬合的分佈?謝謝@mmarchandTSI 。 我不知道我可以多次將同一列放入“Process Variables()”中。 這可能就是答案。 我仍然需要以某種方式評估哪種分佈最適合,但我相信我可以從每個分佈捕獲 AICc 並使用它來確定最佳分佈。 看看這是否比使用所有發行版運行“最佳擬合”更快會很有趣。
回覆:流程能力平台:有沒有辦法指定最佳擬合的分佈?使用分發平台時,您可以輕鬆限制適合哪些分發
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Process Measurements.jmp");
dist = dt << Distribution(
Continuous Distribution(
Column(:Process 1),
Fit Gamma,
Fit Johnson,
Process Capability(0)
),
Invisible /*can use private in JMP17 I think*/
);
dists = Report(dist)[OutlineBox("Compare Distributions"), Table Box(1), String Col Box(1)] << get;
dist_to_use = dists[1];
wait(0);
dist << Close Window;
dist_expr = Parse("Dist("||Word(1, dist_to_use)||")");
Eval(EvalExpr(
pc = dt << Process Capability(
Process Variables(:Process 1 & Expr(Name Expr(dist_expr))),
Moving Range Method(Average of Moving Ranges),
Capability Box Plots(1),
Individual Detail Reports(0),
Capability Index Plot(1)
)
));