스크립트로 단순화된 예측 공식 검색안녕하세요. 저는 JMP 스크립트를 처음 접했지만 적합 모델에서 예측 공식의 계수를 얻으려고 합니다.
스크립트에서 예측 공식을 구하는 방법을 설명하는 게시물이 이미 많이 있지만 제가 원하는 것은 JMP 인터페이스에서 "Simplify"를 적용한 후의 공식입니다.
열 저장==>예측 공식==>데이터 테이블에서 공식 열기==>방정식 편집기의 빨간색 삼각형 팝업 메뉴에서 단순화를 선택합니다.

내 이상적인 그림은 "매개변수 추정" ==> "(결합된) 데이터 테이블로 만들기"에서 마우스 오른쪽 버튼을 클릭하는 것과 유사하게 새 데이터 테이블에서 단순화된 수식 계수를 얻는 것입니다.

적합 모델을 구성하기 위한 코드가 있지만 단순화된 함수를 포함하고 새 테이블에 다시 저장하는 방법을 모르겠습니다.
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = dt << Fit Model(
Y( :ABRASION ),
Effects(
:SILICA & RS, :SILANE & RS, :SILICA * :SILICA, :SILICA * :SILANE,
:SILANE * :SILANE
),
Personality( "Standard Least Squares" ),
Emphasis( "Effect Screening" ),
Run(
Profiler(
1,
Confidence Intervals( 1 ),
Desirability Functions( 1 ),
ABRASION << Response Limits(
{Lower( 100, 0.066 ), Middle( 150, 0.5 ),
Upper( 200, 0.9819 ), Goal( "Maximize" ), Importance( 0.25 )}
),
Term Value(
SILICA( 1.2, Lock( 0 ), Show( 1 ) ),
SILANE( 50, Lock( 0 ), Show( 1 ) )
)
),
:ABRASION << {Summary of Fit( 0 ), Analysis of Variance( 0 ),
Parameter Estimates( 1 ), Effect Details( 0 ), Sorted Estimates( 0 ),
Plot Actual by Predicted( 1 ), Plot Regression( 0 ),
Plot Residual by Predicted( 1 ), Plot Studentized Residuals( 1 ),
Plot Effect Leverage( 0 ), Plot Residual by Normal Quantiles( 0 ),
Box Cox Y Transformation( 1 )}
),
SendToReport(
Dispatch(
{"Response ABRASION"},
"Parameter Estimates",
OutlineBox,
{Close( 0 )}
)
)
);
경험 있으신 분 도움 주시면 감사하겠습니다!
데이터 접근Re: 스크립트로 단순화된 예측 공식 검색표현식을 직접 구문 분석할 수도 있습니다. Head(), N Args() 및 Arg() 함수에 대해 알아보려면 JMP 도움말 또는 스크립팅 색인을 참조하십시오. 표현식을 트리 또는 연결된 목록으로 탐색합니다.
Re: 스크립트로 단순화된 예측 공식 검색제가 제시한 예에서는 Expression으로 남겨두었습니다. 먼저 다음을 사용하여 문자열로 변환해야 한다고 생각합니다.
simplified_formula_str = Char(simplified_formula);
그리고 거기에서 목록으로 구문 분석을 시작합니다. 구문 분석을 위해 다음 함수를 시작할 수 있습니다: Words(), Substitute()(및 사용 방법을 알고 있는 경우 Regex). 스크립팅 인덱스에서 더 많은 기능을 찾을 수 있습니다.

값 목록이 있으면 값 설정을 사용하여 데이터 테이블에 값을 추가할 수 있습니다.
Names Default To Here(1);
intercept_list = {"Intercept", "SILICA"};
estimate_list = [123, 1];
New Table("Untitled",
Add Rows(2),
Compress File When Saved(1),
New Column("Term", Character, "Nominal", Set Values(intercept_list)),
New Column("Estimate",
Numeric,
"Continuous",
Format("Best", 12),
Set Values(estimate_list)
)
);
Re: 스크립트로 단순화된 예측 공식 검색@jthi
감사해요!
첫 번째는 내가 원하는 것입니다.
하지만 "데이터 테이블로 만들기"와 같은 단순화된 공식의 계수와 변수를 표시하는 새 테이블을 만들고 싶습니다.
원래 Make Into Data Table(데이터 테이블로 만들기) 함수를 사용하는 경우 "단순화되지 않은" 항목의 계수가 포함된 테이블이 생성됩니다.
이제 단순화된 공식이 저장되었으니 이를 테이블로 변환할 수 있는 방법이 있습니까(예측값이 아닌 계수와 변수만)?
구문 분석하거나 행렬이나 테이블로 변경하려고 시도했지만 지금까지는 아무 것도 작동하지 않습니다.
(수식 개체의 유형이 무엇인지 잘 모르겠습니다...텍스트?)
Re: 스크립트로 단순화된 예측 공식 검색다음과 같이 단순화된 공식을 얻을 수 있습니다.
col_formula = Expr(Column(dt, "Pred Formula ABRASION") << Get Formula);<BR />simplified_formula = Expr(Simplify Expr(col_formula));
Fit 모델에서 Make Into 데이터 테이블을 스크립팅할 수 있습니다.
dt_new = ((obj << report)["Parameter Estimates"])[TableBox(1)]<< Make Into Data Table;
훌륭한 JSL 스크립팅 소스를 보려면 스크립팅 인덱스를 확인하세요.