流程能力平台:有没有办法指定用于最佳拟合的分布?你好。 我想知道是否有人知道在流程能力平台中执行最佳拟合时指定使用哪些分布的方法? 例如,假设用户想要分析他们知道不正常的数据集。 他们希望 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)
)
));