비선형 모델 피팅 실행 시 다양한 카테고리에 대한 예측 공식을 저장하는 방법비선형 모델의 사용자 정의 공식에 맞는 스크립트가 있습니다. (Nonlib에서는 사용할 수 없음) 모델 매개변수에 대한 추정치를 가져옵니다. 빨간색 삼각형 메뉴 아래에 수식을 저장하고 새 결과에 대한 새 열을 생성하는 예측 수식 저장을 선택할 수 있습니다. 모든 카테고리에 대해 이 작업을 수행할 수 있습니다.
New Column( "Fitted Model By Sample",
Numeric,
"Continuous",
Format( "Best", 12 ),
Set Property( "By ID", 207957763 ),
Formula(
If( :Sample == "Barley 2710",
If( :Days > 0,
0.171070850115799 * Exp( -Exp( ((0.00826868962267886 * Exp()) / 0.171070850115799) * (8.5626914275992 - :Days) ) )
+0.189197655815188 * Exp( -Exp( ((0.0822175769423173 * Exp()) / 0.189197655815188) * (1.00952608535815 - :Days) ) ),
0
),
.
)
),
Set Property( "Predicting", {:Average, Creator( "Nonlinear" )} ),
Set Selected
);
Set Label Columns( :Label );
그러나 수동으로 수행할 필요가 없도록 데이터 테이블의 모든 범주에 대해 실행되도록 노력하고 있습니다. 이 작업을 수행하는 방법에 대한 제안이 있으십니까?
새 수식을 게시하려고 했지만 다음과 같이 수동으로 수행할 때처럼 열이 생성되지 않습니다.
obj = Nonlinear( Y( :Average ), X( :Model ), Loss( :Err ), Iteration Limit( 5000 ), By( :Sample ) );
obj << go;
obj << Publish prediction formula;
obj << Set name( "Fitted Model by sample" );
또한 아래와 같이 JSL 기록 스크립트를 수정해 보았지만 불행하게도 수식이 작동하지 않습니다. 어떤 도움이라도 대단히 감사하겠습니다.
obj = Nonlinear( Y( :Average ), X( :Model ), Loss( :Err ), Iteration Limit( 5000 ), By( :Sample ) );
obj << go;
//returns a list of vectors where each vector, contains the parameters estimates
obj << get estimates;
obj << get prediction formula;
col11 = New Column( "Fitted Model By Sample",
set formula(
If( :Days > 0,
(Y1_Y1_0 * Exp( -Exp( ((K1_K1_0 * Exp()) / Y1_Y1_0) * (P1_P1_0 - :Days) ) ) + Y2_Y2_0 * Exp(
-Exp( ((K2_K2_0 * Exp()) / Y2_Y2_0) * (P2_P2_0 - :Days) )
)),
0
),
By( :Sample ),
Set Property( "Predicting", {:Average, Creator( "Nonlinear" )} ),
Set Selected
),
Set Label Columns( :Label )
);
Re: 비선형 모델 피팅을 실행할 때 다양한 범주에 대한 예측 수식을 저장하는 방법엄청난! 저는 커뮤니티에서 이 솔루션을 놓쳤다고 믿습니다. 나는 모든 종류의 예를 검색했습니다. 필요한 것은 "저장"뿐이었습니다.
정말 고마워요 필!
Re: 비선형 모델 피팅을 실행할 때 다양한 범주에 대한 예측 수식을 저장하는 방법솔루션은 다음에서 제공됩니까? @txnelson ~에 이 게시물 돕다? ("예측 공식을 다시 테이블에 저장 중")
Names Default To Here( 1 );
dt = Open(
"$SAMPLE_DATA/Nonlinear Examples/Bioassay.jmp"
);
obj = Fit Curve(
Y( :Toxicity ),
X( :log Conc ),
Group( :formulation ),
Fit Logistic 4P
);
obj << (Fit[1] << Save Prediction Formula);
이는 예측 수식 게시 대신 예측 수식 저장 명령을 사용합니다. 나는 이것이 당신이하고 싶은 일이라고 생각하며 Pro가 필요하지 않습니다.
각 그룹에 대한 모델을 효과적으로 포함하는 결과 예측 수식 열을 제공합니다.
Match( :Formulation,
"standard",
0.599015186864584 + (1.10686367677145 - 0.599015186864584) / (1
+Exp( -5.84379312234502 * (:log Conc - 0.32019959502239) )),
"test A",
0.590902329849433 + (1.1012080930316 - 0.590902329849433) / (1
+Exp( -5.98069280093278 * (:log Conc - 0.284551221955609) )),
"test B",
0.592984828033858 + (1.0972015134296 - 0.592984828033858) / (1
+Exp( -5.75586785289505 * (:log Conc - 0.084429442746212) )),
"test C",
0.593403681513877 + (1.10597929999838 - 0.593403681513877) / (1
+Exp( -6.00992746207644 * (:log Conc - 0.298749145989595) )),
.
)
Re: 비선형 모델 피팅을 실행할 때 다양한 범주에 대한 예측 수식을 저장하는 방법안녕하세요 필,
피드백을 보내주셔서 다시 한번 감사드립니다.
이 답변에 대해 조금 더 설명하려고 노력하겠습니다.
예, 제 질문은 모델 피팅을 자동화하고 각 그룹에 대한 결과 예측 공식이 포함된 열을 생성하는 방법에 관한 것입니다. 내가 만들고 싶은 것은 단 하나의 열입니다. 모델 공식은 이미 각 그룹에 대해 하나의 열에 있으며 추정된 새 매개변수를 사용하여 이를 복제하고 싶습니다.
이렇게 하는 아이디어는 각 그룹의 결과를 개별적으로 보고할 수 있을 뿐만 아니라 그래프 빌더를 통해 모델 곡선과 실험 데이터를 다르게 그래픽으로 표현할 수 있다는 것입니다.
이것이 더 명확하기를 바랍니다.
그럼에도 불구하고 이를 수행하려면 Jump Pro가 필요할 것 같습니다. 그렇죠?
감사해요
이보
Re: 비선형 모델 피팅을 실행할 때 다양한 범주에 대한 예측 수식을 저장하는 방법피드백을 보내주셔서 감사합니다.
스크립트를 시도해 보았는데 안타깝게도 표준 JMP만 있기 때문에 작동하지 않는 것이 맞습니다.
Re: 비선형 모델 피팅을 실행할 때 다양한 범주에 대한 예측 수식을 저장하는 방법예측 공식 게시는 JMP Pro의 공식 저장소에 게시하는 기능과 관련이 있습니다. 표준 JMP를 사용하는 경우에는 이것이 작동하지 않을 것으로 예상됩니다. 스크립팅 인덱스의 예제 스크립트를 사용하여 확인할 수 있습니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Boston Housing.jmp" );
obj = K Nearest Neighbors(
Y( :mvalue ),
X(
:crim,
:zn,
:indus,
:chas,
:nox,
:rooms,
:age,
:distance,
:radial,
:tax,
:pt,
:b,
:lstat
),
K( 10 )
);
obj << (Response[1] << Publish Prediction Formula);
(그런데 이것이 JSL 삽입 옵션에 대해 내가 말한 내용입니다. 훨씬 더 명확하지 않습니까?)
그게 효과가 있나요? Formula Depot이 나타나야 합니다. 다시 한 번 말씀드리지만, JMP Pro를 사용하는 경우에만 작동할 것으로 예상됩니다.
Re: 비선형 모델 피팅을 실행할 때 다양한 범주에 대한 예측 수식을 저장하는 방법안녕,
사람들이 귀하의 문제를 해결하는 데 도움이 되는 몇 가지 팁입니다.
우선, 스크립팅 질문을 게시할 때 JSL 옵션을 사용할 수 있다면 도움이 될 것입니다. 게시 창 위의 툴바에서 을 클릭하고 거기에 JSL을 추가하기만 하면 됩니다. 사람들이 JSL을 이해하고 도움을 주는 것이 훨씬 더 명확해졌습니다.
둘째, 여기에는 복잡한 비선형 모델 피팅이 있지만 귀하의 질문은 실제로 모델 피팅을 자동화하고 각 그룹에 대한 예측 수식 열을 생성하는 방법에 관한 것입니다. 해결하려는 문제의 특정 부분을 보여주는 간단한 예를 제공하면 사람들이 도움을 주기가 더 쉬울 것입니다. 또한 이를 통해 다른 커뮤니티 구성원이 자신의 문제에 대한 해결책을 얻을 수 있는지 더 쉽게 이해할 수 있습니다. 고전적인 Big Class 샘플 데이터 세트를 사용하는 예는 항상 좋습니다. 귀하의 경우 Big Class의 각 성별 그룹에 대한 간단한 모델을 적용하는 것만으로도 귀하의 과제를 입증하기에 충분할 수 있다고 생각합니다. 아니면 그보다 더 복잡할 수도 있습니다. 제공하신 정보가 약간 불분명해서 잘 모르겠습니다.
마지막으로, 궁극적으로 달성하려는 목표에 대해 조금 설명할 수 있으면 도움이 될 수 있습니다. 그룹별로 공식 열을 생성하려는 이유는 무엇입니까? 목표를 달성하기 위한 다른 더 나은 방법이 있을 수 있습니다.
나는 당신이 이 단계를 따른다면 당신이 게시하는 큐리에 대해 더 많은 도움을 얻을 것이라고 생각합니다.
문안 인사,
필