Re: 그래프에서 범위 추출직접적인 방법은 모르지만 몇 가지 아이디어가 있습니다.일부는 스크립팅하는 데 약간의 작업이 될 것이며 아마도 작은 문제에 대해 훨씬 더 빠른 것은 없을 것이라고 생각합니다.
- 이변량 보고서의 테이블에서 매개변수와 표준 오차를 가져온 다음 적절한 공식으로 열을 생성하여 각 라인에 대한 공식을 데이터 테이블에 저장합니다.그런 다음 프로파일러에 내장된 옵티마이저를 사용하여 각각을 해결하십시오.
- 무차별 대입 방법을 사용하여 상대적으로 적은 수의 점을 저장한 다음 적합 모델을 사용하여 새 곡선을 적합합니다. 그 다음에 예측 공식을 저장하고 옵티마이저로 해결하십시오.
- 예측 공식을 직접 추출할 수 있어야 하지만 CI가 아닐 수도 있는 경우 적합 모델을 사용하여 적합합니다.
- 무차별 대입 방법을 사용하고 마지막 두 점 사이의 선형 또는 가장 가까운 세 점 사이의 2차로 가장 가까운 몇 점 사이를 보간합니다.
이변량 그래프에서 요인 범위 추출임의의 Y 값으로 이 곡선과 95% CI의 교차점을 어떻게 효율적으로 추출합니까?

dt = Open( "$sample_data/Growth.jmp" );
biv = Bivariate(
Y( :age ),
X( :ratio ),
Fit Line( {Line Color( {204, 121, 41} )}, save studentized residuals ),
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Grid Line Order( 3 ), Reference Line Order( 4 )}
)
)
);
biv << (Curve[1] << Save Studentized Residuals);
biv2 = Bivariate(
Y( :Studentized Residuals age ),
X( :ratio ),
Fit Polynomial( 2, {Confid Shaded Fit( 1 ), Line Color( {212, 73, 88} )} ),
SendToReport(
Dispatch(
{},
"ratio",
ScaleBox,
{Min( 0.2796875 ), Max( 1.2666259765625 ), Inc( 0.2 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"Studentized Residuals age",
ScaleBox,
{Add Ref Line( 1.96, "Solid", "Black", "", 1 ),
Add Ref Line( -1.96, "Solid", "Black", "", 1 )}
)
)
);따라서 곡선과 95%CI가 +/- 1.96을 교차하는 비율 값을 얻고 싶습니다(총 6개의 값). 내가 생각할 수있는 무차별 대입보다 더 나은 솔루션이 있습니까? 예측 및 평균 신뢰 한계 공식을 테이블에 덤프하고 테이블에 값이있는 행을 추가하여 한계를 초과하는 시점을 확인하십시오.
스크립팅Re: 이변량 그래프에서 요인 범위 추출Minimize() 함수와 신뢰 경계에 대한 표현식을 사용할 수 있습니다. 도움말 보기 최적화 방법 .
Re: 이변량 그래프에서 요인 범위 추출@markbailey 감사합니다. 시도해 보았지만 구문이 명확하지 않습니다.
이것은 내가 아는 한, 그러나 이제 올바른 최적화 제약 조건을 어떻게 제공해야 하는지 알아내야 합니다.
Names Default To Here( 1 );
dt = Open( "$sample_data/Growth.jmp" );
biv = Bivariate(
Y( :age ),
X( :ratio ),
Fit Line( {Line Color( {204, 121, 41} )}, save studentized residuals ),
SendToReport(
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Grid Line Order( 3 ), Reference Line Order( 4 )}
)
)
);
biv << (Curve[1] << Save Studentized Residuals);
biv << close window();
biv2 = Bivariate(
Y( :Studentized Residuals age ),
X( :ratio ),
Fit Polynomial( 2, {Confid Shaded Fit( 1 ), Line Color( {212, 73, 88} )} ),
SendToReport(
Dispatch(
{},
"ratio",
ScaleBox,
{Min( 0.2796875 ), Max( 1.2666259765625 ), Inc( 0.2 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"Studentized Residuals age",
ScaleBox,
{Add Ref Line( 1.96, "Solid", "Black", "", 1 ),
Add Ref Line( -1.96, "Solid", "Black", "", 1 )}
)
)
);
biv << (Curve[1] << Mean Confidence Limit Formula);
f =column(dt, n cols(dt)) << Get Formula;
fs = substitute(name expr(f), expr(:ratio), expr(x1));
/*A = [1 5];
b = [-1.96, 1.96];
minFun = Constrained Maximize(
f,
{x1( 0, 5 )},
<<LESSTHANEQ></LESSTHANEQ>
minimize(name expr(f), {})마지막 부분이 작동하지 않습니다. 당신의 도움을 주셔서 감사합니다!
Re: 이변량 그래프에서 요인 범위 추출다른 접근 방식이 궁금합니다. 목표 응답과 함께 예측 프로파일러와 목표 일치 바람직성 기능을 사용하면 어떻게 될까요? 그런 다음 예측된 평균과 평균의 95% 신뢰 구간 추정값을 선택할 수 있습니다.
원래 목표에서 빗나갔을지도...
Re: 이변량 그래프에서 요인 범위 추출코드가 약간 지저분했습니다. 나는 그것을 정리하고 예제를 마쳤지만 여전히 잘못된 목표를 쫓고 있을지도 모릅니다.
Names Default To Here( 1 );
// example data set
dt = Open( "$sample_data/Growth.jmp" );
// fit first-order polynomial model to response
biv = Bivariate(
Y( :age ),
X( :ratio ),
Fit Line
);
// save residuals for next step
biv << (Curve[1] << Save Studentized Residuals);
biv << Close Window();
// fit second-order polynomial model to residuals
biv = Bivariate(
Y( :Studentized Residuals age ),
X( :ratio ),
Fit Polynomial( 2, {Confid Shaded Fit( 1 ), Line Color( {212, 73, 88} )} )
);
// save formulas for lower / upper 95% confidence bound
biv << (Curve[1] << Mean Confidence Limit Formula);
// get upper formula
f = Column( dt, N Cols( dt ) ) << Get Formula;
// replace predictor name with x
fs = Substitute( Name Expr( f ), Expr( :ratio ), Expr( x ) );
// initialize x, could get x that predicts mean residual = 0
x = 0.5;
// minimize expression that is Abs( residual ), or mean = 0
fa = Insert( Expr( Abs() ), Name Expr( fs ) );
Minimize( fa, { x } );
Show( x );Re: 이변량 그래프에서 요인 범위 추출네, 그 문제는 일반적으로 목표 값(왼쪽에 하나, 오른쪽에 하나)과 여러 교차가 있고 바람직함 최대화를 사용하면 둘 중 하나를 무작위로 얻는다는 것입니다.
적합 모델에서 역 예측을 시도했지만 2차 항을 지원하지 않습니다.
Re: 이변량 그래프에서 요인 범위 추출네, 정확히 이것은 지역 최소값을 찾는 데 작동하지만 거기에서 1.96으로 다음 교차점에 도달하는 것은 여전히 어렵습니다. 값이 1.96을 초과할 때까지 곡선을 계속 걸어 올라가야 합니다.
이 문제를 일시적으로 해결하기 위해 값이 제한(또는 최대 단계 수)을 초과할 때까지 약간의 단계만 거치고 양방향으로 나가는 함수를 구축했지만 JMP에 다음을 구현하는 솔버 함수가 있을 것으로 예상했습니다. 더 나은 알고리즘(비선형 플랫폼에 내장된 것과 같은). 지금 당장은 내가 필요한 것이 있다고 생각하지만 더 좋은 방법을 위해 항상 열려 있습니다.
Re: 이변량 그래프에서 요인 범위 추출프로파일러에 내장된 옵티마이저를 사용하여 이 작업을 수행할 수 있습니다.목표와 일치하도록 응답 한계를 설정한 다음 상한 및 하한 값을 찾으려면 재설정 계수 그리드를 사용하여 최소 위 또는 아래에서 검색할 값 범위를 정의하십시오.
Profiler(
Y( :Lower 95% Mean Studentized Residuals age ),
Profiler(
1,
Desirability Functions( 1 ),
Lower 95% Mean Studentized Residuals age <<
Response Limits(
{Lower( -0.04, 0.0183 ), Middle( 1.96, 1 ), Upper( 3.96, 0.0183 ),
Goal( "Match Target" ), Importance( 1 )}
),
Term Value( ratio( 0.8, Min( 0 ), Max( 0.8 ), Lock( 0 ), Show( 1 ) ) )
),
SendToReport(
Dispatch(
{"Prediction Profiler"},
"1",
ScaleBox,
{Min( 0 ), Max( 0.8 ), Inc( 0.2 ), Minor Ticks( 0 )}
)
)
) << Maximize Desirability;
Profiler(
Y( :Lower 95% Mean Studentized Residuals age ),
Profiler(
1,
Desirability Functions( 1 ),
Lower 95% Mean Studentized Residuals age <<
Response Limits(
{Lower( -0.04, 0.0183 ), Middle( 1.96, 1 ), Upper( 3.96, 0.0183 ),
Goal( "Match Target" ), Importance( 1 )}
),
Term Value( ratio( 1.52, Min( 0.8 ), Max( 2 ), Lock( 0 ), Show( 1 ) ) )
),
SendToReport(
Dispatch(
{"Prediction Profiler"},
"1",
ScaleBox,
{Min( 0.8 ), Max( 2 ), Inc( 0.2 ), Minor Ticks( 0 )}
)
)
) << Maximize Desirability;
또한 동일한 결과를 얻기 위해 1.96을 빼고 나머지를 최소화하여 최소화 함수에 보내는 표현식을 수정할 수 있어야 합니다.어떤 이유로 허용 오차를 조정한 후에도 약간 다른 값을 얻습니다(최소화한 프로파일러 v 1.03에서 1.07).
fa = Insert( Expr( Abs() ), parse( "abs( " || char( Name Expr( fs ) ) || " - 1.96 )" ) );
// find lower value
x = 0.2;
Minimize( fa, { x(0.2,0.8) } );
Show( x );
// find upper value
x = 1;
Minimize( fa, { x(0.8,1.5) } );
Show( x );