JMP 中的回归函数对于通过“以 X 拟合 Y”或“拟合曲线”平台执行的某些回归,JMP 中是否存在任何预先存在的函数?
对于我的大多数代码,当我想要 3P 或 2 阶多项式等的参数时,我会使用 BY 变量在 JMP 中调用平台,然后“制作组合数据表”。但是,一个缺点是 JMP“需要”渲染图形才能获取数据表...
好吧,对于更大的数据,BY 变量太大了,并且 JMP 在尝试执行此操作时会死机、耗尽 RAM 或出现其他问题(我的一个较大的集合有一个 BY 变量,其中有大约 40k 个唯一值)。
一个“修复”方法是删除 by,然后针对每个数据集分别在 FOR 循环中调用平台。我不确定这样做是否更快... 理想情况下,我可以创建一个矩阵或一系列矩阵并快速获取每组数据的参数。这可以编码为 JSL 层函数,但如果 JMP 中存在函数,则开销会得到更好的控制...
总结一下:
1)JMP 是否有任何现有函数可以计算除基本线性回归之外的任何参数系数
2) 如果没有,在当前的 JMP 平台内是否有更好的方法来实现我的目标?
3)人们是否制作了可以进行各种回归并返回系数的 JSL 函数
谢谢!
消费者和市场研究数据探索与可视化回复:JMP 中的回归函数我没有@Dan_Obermiller这也是个好主意!
回复:JMP 中的回归函数您是否考虑过以最小报告为重点使用拟合模型? 那里没有要渲染的图形。
回复:JMP 中的回归函数@txnelson是的,我过去玩过这个,让表格不可见似乎并没有使报告不可见或私有...... 我认为将报告私有化也可以避免渲染图形的开销。
回复:JMP 中的回归函数我应该明确说明,我不知道创建所需多项式或 3P 参数的直接函数。我建议直接从“不可见”输出中获取结果,这是一个减少创建输出数据表的内存需求的建议。
回复:JMP 中的回归函数感谢大家到目前为止的评论。 让我试着澄清一些。 基本上,我有一个包含 ~40k 子集的数据集。 通常,为了获得回归参数,我会选择拟合曲线或通过 X 拟合 Y,并在平台中使用 BY 变量将图形分解为子集,然后拟合我的线(在本例中为二阶多项式,但其他时候为3P)。 据我所知,Fit Curve 和 Fit Y by X 需要渲染所有图形来创建线条并保存参数,开销很大。
我不确定是否有一种方法可以在不渲染图形的情况下做这种事情——就像一个独立的函数,它只从所需的拟合中产生参数。
回复:JMP 中的回归函数非线性平台可以拟合可自由定义公式的参数。
请查看相应的文档。
回复:JMP 中的回归函数与其强制 JMP 根据显示输出创建数据表,我发现很多时候直接转到感兴趣的表并提取各个值更容易。该技术可用于通过 By 子句生成所有输出,然后通过显示,或者通过一次生成一个显示,提取您想要的内容,将其保存到表格、列表或矩阵,以及然后关闭输出并继续下一个回归。

Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/semiconductor capability.jmp" );
biv = dt << Bivariate(
invisible,
Y( :NPN1 ),
X( :PNP1 ),
Fit Special( Degree( 2 ), Centered Polynomial( 0 ), {Line Color( "Medium Dark Red" )} ),
by( :site ) // Where( :SITE == 1 )
);
dtOut = New Table( "The Ouput",
New Column( "Name", character ),
New Column( "Intercept" ),
New Column( "Beta" ),
New Column( "Beta^2" )
);
dtOut << add rows( N Items( biv ) );
For( i = 1, i <= N Items( biv ), i++,
dtOut:Name[i] = Word( -1, Report( biv[i] )[Outline Box( 1 )] << get title, " " );
values = (Report( biv[i] )["Parameter Estimates"][Number Col Box( 1 )]) << get;
dtOut:Intercept[i] = values[1];
dtOut:Beta[i] = values[2];
dtOut:Name( "Beta^2" )[i] = values[1];
);
biv << close window;
回复:JMP 中的回归函数呼应@P_Bartell对数据建模有很多选择。 关于#2,不明白你的目的是什么? 听起来您想创建 >1 阶多项式。 这是来自观察数据还是来自实验? 我不明白你说“我将使用 BY 变量调用 JMP 中的平台 " ? 什么平台?
不是好战,但你确实知道线性回归被称为的原因线性的是因为系数是线性的,而不是模型中的项。
回复:JMP 中的回归函数您的原始帖子中有许多令人困惑或不清楚的地方。 因此,我不会解析它们,而是将我的评论集中在问题 #1 上。 答:是的。 您看过 JMP 文档了吗? JMP 中确实有许多回归和非回归方法……从老式的普通最小二乘法到更优雅/灵活的一般线性模型,再到完全基于非线性/非回归的方法,例如分区和神经网络平台.