如何將多項式 2 次模型與分組進行擬合,然後擷取參數估計值我想透過每個(SERIAL、P1、P2、P3)建立多項式 2 次,並取得係數和常數,然後使用 JSL 將其放入每列中。
範例資料已附在本文中,但實際上我將使用大約 100 萬行的資料。

Re: 如何建立2次多項式並得到係數和常數?嗨,數學統計化學,
你的解決方案有效。
Re: 如何建立2次多項式並得到係數和常數?嗨ian_jmp,我的目標是得到「y = ax^2+bx+c」的係數和常數,但擬合多項式是「y = a(xd)^2+bx+c」。 不過,我從用戶# MathStatChem by fitspecial那裡得到了解決方案。Re: 如何建立2次多項式並得到係數和常數?謝謝MathStatChem,讓我試試你的建議。Re: 如何建立2次多項式並得到係數和常數?謝謝ian_jmp,讓我試試。Re: 如何建立2次多項式並得到係數和常數?試試這個腳本:
_biv=Bivariate(
Y( :y ),
X( :x ),
Fit Special(
Degree( 2 ),
Centered Polynomial( 0 ),
{Line Color( {213, 72, 87} )}
),
By( :SERIAL, :P1, :P2, :P3 )
);
_rbiv=Report(_biv[1]);
_dtParameterEst = _rbiv[Table Box(3)]<< Make Combined Data Table;
_dtParameterEst << Split(
Split By( :Term ),
Split( :Estimate ),
Group( :P3, :P2, :P1, :SERIAL ),
Remaining Columns( Drop All ),
Sort by Column Property
)Re: 如何建立2次多項式並得到係數和常數?另外,如果您使用“Fit Y by X”平台/雙變量平台來產生多項式擬合,請確保執行“特殊擬合”並使用非中心多項式。 否則,擬合的二次方程式將具有以下形式
f(x) = a + b*x + c*(x-xbar)
其中 xbar 是迴歸中使用的 x 值的平均值。
使用「按變數」進行擬合,然後右鍵單擊參數估計表以建立組合資料表是一種非常有效的方法。
Re: 如何建立2次多項式並得到係數和常數?可以開發以下腳本來獲得您需要的內容:
NamesDefaultToHere(1);
ClearLog();
dt = DataTable("Example data.jmp");
col = Column(dt, "Predicted y By SERIAL By P1 By P2 By P3");
// Get the formula generated by the platform
f = col << getFormula;
// Start to parse this formula expression
for(g = 1, g <= Narg(f) - 1, g = g + 2,
f1 = Arg(f, g);
f2 = Arg(f, g+1);
Print(f1, f2, "\!n");
);
但我懷疑如果可能的話,將“MakeCombinedDataTable”訊息發送到報告視窗中的相應表可能會更簡單。 查看「說明 > 腳本指南」。