JSL - 최상의 변환 저장안녕하세요,
아래 스크립트를 실행 중이며 box-cox 아웃 라인 박스 생성 후 중지됩니다. 내가하는 일은 '상자 콕스 변환'개요 상자에 수동으로 '최상의 변환 저장'을하는 것입니다. 내 질문에, 변환하는 더 많은 항목에 대한 스크립트를 계속하려면 JSL을 통해 '최고의 변환 저장'방법을 자동화 할 수 있습니까? 덕분에 도움
-Rgsd, Joel
로그 지우기();
dtName = "빅 클래스";
dt = Open ( "$ SAMPLE_DATA /"|| dtName || ".jmp");
nwd = 새 창 ( "Box Cox",
dt << 모델에 맞춤
Y (: 중량),
효과,
개성 ( "Standard Least Squares"),
강조 ( "효과 레버리지"),
운영(
: 체중 << (1), 분산 분석 (1), 매개 변수 추정 (1), 적합하지 않음 (0), 예측에 의한 실제 플롯 (1)
플롯 회귀 (0), 예측 잔차 (1), 플롯 효과 레버리지 (1), 박스 콕스 Y 변환 (1),
최상의 변환 저장 (1)}
)
)
);
재 : JSL - 최고의 변환 저장참고로, 여기에 문자열을 만들 필요가없는 대안이 있습니다. 이렇게하면 편집기에서 구문 확인 및 강조 표시가 유지됩니다. 내가하는 것처럼 많은 실수를하면 유용합니다.
NamesDefaultToHere(1);
dtName = "Big Class";
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
numericCols = dt << getColumnNames("String", "Numeric");
// Build a function to do what's needed . . .
getBestBoxCox =
Function({numCol}, {Default Local},
// Open the fit model lauch dialog
fmDialog = dt << Fit Model(
Y( Eval(numCol) ),
Effects,
Personality( "Standard Least Squares" ),
Emphasis( "Effect Leverage" )
);
// Run the desired model ('fmAnalysis' is a reference to the analysis layer of the report window)
fmAnalysis = fmDialog << runModel;
// Close the launch dialog
Report(fmDialog) << closeWindow;
// Ask for the transformations
fmAnalysis << Box Cox Y Transformation;
// Get a reference to the little red triangle for the transformations
lrt = Report(fmAnalysis)["Box-Cox Transformations"] << getScriptableObject;
// Save the best transformation
lrt << saveBestTransformation;
// Close the report window
Report(fmAnalysis) << closeWindow;
);
// Use the function on the required columns . . .
for(c=1, c<=NItems(numericCols), c++, getBestBoxCox(numericCols[c]));
재 : JSL - 최고의 변환 저장안녕하세요 stephen_pearson,
그냥 내가 필요한 'Box Cox Y Transformation (1, 최고의 변환 저장 (1))'. 네, 저는이 옵션과 수동 처리없이 처리 할 수있는 여러 옵션을 통해 실행 중입니다. 감사재 : JSL - 최고의 변환 저장JSL에서 공유 한 코드를 문자열로 작성하고 변환하려는 모든 열 이름을 목록으로 사용하는 경우 ( colListYBoxCox ) 그러면 열 이름을 대체하고 목록의 모든 열을 반복 할 수 있습니다 (아래 예 참조).
나는이 작업을 수행 한 다음 상자 동축 변환이 큰 차이를 만들었는지 확인하고 시간 낭비 인 것을 자동으로 삭제했습니다.
문안 인사,
스티븐
(i = 1, i = N Items (colListYBoxCox), i ++,
boxcoxstring = "boxcoxwindow = 맞는 모델 (
와이(";
boxcoxstring = Concat (boxcoxstring, ": Name (\!" ", colListYBoxCox [i],"\! "),");
boxcoxstring = Concat (boxcoxstring, "),");
boxcoxstring = Concat (
boxcoxstring,
"효과,
개성 (\! "Standard Least Squares \!"),
강조 (\! "효과 레버리지 \!"), "
);
boxcoxstring = Concat (
boxcoxstring,
"실행 (: 이름 (\!" ",
colListYBoxCox [i],
"\!") << {Fit (0)의 부족, 예측 (0)에 의한 실제 플롯,
플롯 회귀 (0), 예측 잔차 (0),
플롯 효과 활용 (0), Box Cox Y 변환 (1, 최상의 변환 저장 (1)), Show VIF (1)
), "
);
boxcoxstring = Concat (boxcoxstring, ");" );
평가 (Parse (boxcoxstring));
대기 (0);
boxcoxwindow << 창 닫기;
);