cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Discussions

Solve problems, and share tips and tricks with other JMP users.
%3CLINGO-SUB%20id%3D%22lingo-sub-671409%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3EJSL%20%E3%83%95%E3%82%A3%E3%83%83%E3%83%88%20%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A7%E3%81%AE%E7%9B%B8%E4%BA%92%E4%BD%9C%E7%94%A8%E5%8A%B9%E6%9E%9C%E3%81%AE%E4%BD%BF%E7%94%A8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-671409%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%81%95%E3%82%93%E3%80%81%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%82%3C%2FP%3E%3CP%3E%E4%B8%BB%E5%8A%B9%E6%9E%9C%E3%81%A8%E7%9B%B8%E4%BA%92%E4%BD%9C%E7%94%A8%E3%82%92%E6%8C%81%E3%81%A4%E3%83%A2%E3%83%87%E3%83%AB%E3%82%92%E5%8B%95%E7%9A%84%E3%81%AB%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E3%81%9F%E3%81%A8%E3%81%88%E3%81%B0%E3%80%81%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E5%AE%9A%E7%BE%A9%E3%81%95%E3%82%8C%E3%81%9F%E5%8A%B9%E6%9E%9C%E5%88%97%E3%81%AE%E3%82%B5%E3%83%96%E3%82%BB%E3%83%83%E3%83%88%E3%81%8C%E3%81%82%E3%82%8B%E3%81%A8%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%20class%3D%22%22%3E%26nbsp%3B%3C%2FP%3E%3CP%20class%3D%22%22%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Eall_cols%20%3D%20Current%20Data%20Table%20()%20%26lt%3B%26lt%3B%20Get%20Column%20Names(String)%3B%0Aeffect_cols%20%3D%20all_cols%5B3%3A%3A8%5D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%20class%3D%22%22%3E%26nbsp%3B%3C%2FP%3E%3CP%20class%3D%22%22%3E%E6%AC%A1%E3%81%AB%E3%80%81effect_cols%20%E3%82%92%E5%89%8A%E6%B8%9B%E3%81%99%E3%82%8B%E4%B8%80%E9%80%A3%E3%81%AE%E3%83%A2%E3%83%87%E3%83%AB%E3%82%92%E6%A7%8B%E7%AF%89%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%20class%3D%22%22%3E%E7%B6%9A%E3%81%84%E3%81%A6%E7%9B%B8%E4%BA%92%E4%BD%9C%E7%94%A8%E9%A0%85%E3%82%92%E8%80%83%E3%81%88%E3%81%BE%E3%81%99%E3%80%82%20%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E7%9B%B8%E4%BA%92%E4%BD%9C%E7%94%A8%E7%94%A8%E8%AA%9E%E3%81%AE%E5%88%97%E5%90%8D%E3%81%BE%E3%81%9F%E3%81%AF%E5%88%97%E5%8F%82%E7%85%A7%E3%81%AE%E3%83%AA%E3%82%B9%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%AE%E3%81%AB%E5%95%8F%E9%A1%8C%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%20class%3D%22%22%3E%E7%A7%81%E3%81%AF%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%81%93%E3%81%A8%E3%82%92%E8%A9%A6%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%EF%BC%9A%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3Eif(length(effect_cols)%20%26gt%3B%201%2C%0A%20interaction_effects%20%3D%20%7B%7D%3B%0A%20for(i%20%3D%201%2C%20i%20%26lt%3B%20length(effect_cols)%2C%20i%2B%2B%2C%0A%20%20for(j%3Di%2B1%2Cj%26lt%3B%3D%20length(effect_cols)%2C%20j%20%2B%2B%2C%0A%20%20%20inter_tmp%20%3D%20effect_cols%5Bi%5D%20%7C%7C%20%22*%22%20%7C%7C%20effect_cols%5Bj%5D%3B%0A%20%20%20interaction_effects%20%3D%20insert(interaction_effects%2Cinter_tmp)%3B%0A%20%20)%0A%20)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%20class%3D%22%22%3E%E3%81%9D%E3%81%97%E3%81%A6%E3%81%93%E3%82%8C%E3%82%92%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AB%E6%A7%8B%E7%AF%89%E3%81%97%E3%81%BE%E3%81%99%3A%3C%2FP%3E%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3EFit%20Model(%0A%20%20Y(%20%3A%22Result%22n%20)%2C%0A%20%20Effects(%0A%20%20%20concat(effect_cols%2Cinteraction_effects)%2C%0A%20%20Personality(%20%22Standard%20Least%20Squares%22%20)%2C%0A%20%20Emphasis(%20%22Effect%20Screening%22%20)%2C%0A%20%20Run(%20)%2C%0A)%3C%2FCODE%3E%3C%2FPRE%3E%3CP%20class%3D%22%22%3E%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E3%81%93%E3%82%8C%E3%81%A7%E3%81%AF%E4%B8%80%E8%B2%AB%E3%81%97%E3%81%A6%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%80%81parse()%20%E3%81%A8%20eval()%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E4%BB%96%E3%81%AE%E8%A9%A6%E3%81%BF%E3%81%AF%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E3%81%94%E5%8D%94%E5%8A%9B%E3%82%92%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-671409%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CLINGO-LABEL%3E%E9%AB%98%E5%BA%A6%E3%81%AA%E7%B5%B1%E8%A8%88%E3%83%A2%E3%83%87%E3%83%AA%E3%83%B3%E3%82%B0%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%A8%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E4%BD%9C%E6%88%90%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E3%83%9E%E3%83%83%E3%82%AFOS%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-671476%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20JSL%20%E3%83%95%E3%82%A3%E3%83%83%E3%83%88%20%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A7%E3%81%AE%E7%9B%B8%E4%BA%92%E4%BD%9C%E7%94%A8%E5%8A%B9%E6%9E%9C%E3%81%AE%E4%BD%BF%E7%94%A8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-671476%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CA%20href%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F41845%22%20target%3D%22_blank%22%3E%40mkiesz%3C%2FA%3E%20%E3%80%81%3C%2FP%3E%0A%3CP%3E%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%83%AF%E3%82%A4%E3%82%BA%20%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AE%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8B%3F%E3%83%A2%E3%83%87%E3%83%AB%E9%81%B8%E6%8A%9E%E5%9F%BA%E6%BA%96%E3%81%AE%E4%B8%80%E9%83%A8%E3%81%8C%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-671534%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3ERe%3A%20JSL%20%E3%83%95%E3%82%A3%E3%83%83%E3%83%88%20%E3%83%A2%E3%83%87%E3%83%AB%E3%81%A7%E3%81%AE%E7%9B%B8%E4%BA%92%E4%BD%9C%E7%94%A8%E5%8A%B9%E6%9E%9C%E3%81%AE%E4%BD%BF%E7%94%A8%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-671534%22%20slang%3D%22en-US%22%20mode%3D%22NONE%22%3E%3CP%3E%E7%A7%81%E3%81%AE%E8%A8%98%E6%86%B6%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%91%E3%82%8C%E3%81%B0%E3%80%81%E3%81%93%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%82%82%E3%81%AE%E3%82%92%E8%A9%A6%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%3E%3CCODE%20class%3D%22%20language-jsl%22%3ENames%20Default%20To%20Here(1)%3B%0A%0Adt%20%3D%20Open(%22%24SAMPLE_DATA%2FTiretread.jmp%22)%3B%0Aeffect_cols%20%3D%20%7B%22SILICA%22%2C%20%22HARDNESS%22%2C%20%22SILANE%22%2C%20%22SULFUR%22%7D%3B%0Aterms%20%3D%20%7B%7D%3B%0A%0AFor%20Each(%7Bfirst_term%2C%20idx%7D%2C%20effect_cols%5B1%3A%3AN%20Items(effect_cols)%20-%201%5D%2C%0A%20For%20Each(%7Bsecond_term%7D%2C%20effect_cols%5Bidx%2B1%3A%3AN%20Items(effect_cols)%5D%2C%0A%20%20cur_interaction%20%3D%20Substitute(Expr(_firstterm_*_secondterm_)%2C%0A%20%20%20Expr(_firstterm_)%2C%20NameExpr(AsColumn(first_term))%2C%0A%20%20%20Expr(_secondterm_)%2C%20NameExpr(AsColumn(second_term))%0A%20%20)%3B%0A%20%20Insert%20Into(terms%2C%20Name%20Expr(cur_interaction))%3B%0A%20)%3B%0A)%3B%0A%0Afitm%20%3D%20dt%20%26lt%3B%26lt%3B%20Fit%20Model(%0A%20Y(%3AABRASION)%2C%0A%20Effects(Eval(terms))%2C%0A%20Personality(%22Standard%20Least%20Squares%22)%2C%0A%20Emphasis(%22Effect%20Screening%22)%0A)%3B%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22jthi_0-1693121570938.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1693121570938.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22jthi_0-1693121570938.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.jmp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F56029iA9C64D45F28BE910%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22jthi_0-1693121570938.png%22%20alt%3D%22jthi_0-1693121570938.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E
Choose Language Hide Translation Bar
mkiesz
Level I

Using interaction effects in JSL fit model

Hi Community,

I'm try to create a script that dynamically creates a model with main effects and interactions.

 

For instance, I might have a subset of effect columns defined by the following:

 

 

all_cols = Current Data Table () << Get Column Names(String);
effect_cols = all_cols[3::8];

 

And then I build a series of models reducing the effect_cols.

Subsequently, I consider interaction terms. However, I'm having trouble building a list of column names or column references for interaction terms.

I've tried something like this:

if(length(effect_cols) > 1,
	interaction_effects = {};
	for(i = 1, i < length(effect_cols), i++,
		for(j=i+1,j<= length(effect_cols), j ++,
			inter_tmp = effect_cols[i] || "*" || effect_cols[j];
			interaction_effects = insert(interaction_effects,inter_tmp);
		)
	)
);

and building it into a model with this:

Fit Model(
		Y( :"Result"n ),
		Effects(
			concat(effect_cols,interaction_effects),
		Personality( "Standard Least Squares" ),
		Emphasis( "Effect Screening" ),
		Run(	),
)

However, this consistently gives an error and my other attempts at using parse() and eval() are not working. 

 

Any help is much appreciated.

 

Thank you

1 ACCEPTED SOLUTION

Accepted Solutions
jthi
Super User

Re: Using interaction effects in JSL fit model

If I remember correctly I have tried with something like this

 

Names Default To Here(1);

dt = Open("$SAMPLE_DATA/Tiretread.jmp");
effect_cols = {"SILICA", "HARDNESS", "SILANE", "SULFUR"};
terms = {};

For Each({first_term, idx}, effect_cols[1::N Items(effect_cols) - 1],
	For Each({second_term}, effect_cols[idx+1::N Items(effect_cols)],
		cur_interaction = Substitute(Expr(_firstterm_*_secondterm_),
			Expr(_firstterm_), NameExpr(AsColumn(first_term)),
			Expr(_secondterm_), NameExpr(AsColumn(second_term))
		);
		Insert Into(terms, Name Expr(cur_interaction));
	);
);

fitm = dt << Fit Model(
	Y(:ABRASION),
	Effects(Eval(terms)),
	Personality("Standard Least Squares"),
	Emphasis("Effect Screening")
);

jthi_0-1693121570938.png

 

 

-Jarmo

View solution in original post

2 REPLIES 2
ron_horne
Super User (Alumni)

Re: Using interaction effects in JSL fit model

Hi @mkiesz ,

did you try  to script the stepwise platform? it may have some of your model selection criteria built in.

 

jthi
Super User

Re: Using interaction effects in JSL fit model

If I remember correctly I have tried with something like this

 

Names Default To Here(1);

dt = Open("$SAMPLE_DATA/Tiretread.jmp");
effect_cols = {"SILICA", "HARDNESS", "SILANE", "SULFUR"};
terms = {};

For Each({first_term, idx}, effect_cols[1::N Items(effect_cols) - 1],
	For Each({second_term}, effect_cols[idx+1::N Items(effect_cols)],
		cur_interaction = Substitute(Expr(_firstterm_*_secondterm_),
			Expr(_firstterm_), NameExpr(AsColumn(first_term)),
			Expr(_secondterm_), NameExpr(AsColumn(second_term))
		);
		Insert Into(terms, Name Expr(cur_interaction));
	);
);

fitm = dt << Fit Model(
	Y(:ABRASION),
	Effects(Eval(terms)),
	Personality("Standard Least Squares"),
	Emphasis("Effect Screening")
);

jthi_0-1693121570938.png

 

 

-Jarmo

Recommended Articles