turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- JMP User Community
- :
- Discussions
- :
- How to get nonlinear prediction with two variables...

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Apr 6, 2016 12:40 PM
(1926 views)

1 ACCEPTED SOLUTION

Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Apr 7, 2016 6:05 AM
(2345 views)

Solution

Hello Hemi,

My suggestions below are based on a best guess as to what you want to accomplish.

One option you can try is to transform either your response data or your inputs of interest or both. Try using either a log, Ln, or square root transformation to try and to make the data more linear.

You can do all of this directly in the Fit Model platform. By doing this in Fit Model you can use as many variables as you want to build the model.

You can right click on any variable you want to transform in the column pick list and create a temporary transformation column to be used in the analysis. If this transformation works you can then save the column to the data table by right clicking on the temporary column and choosing to save the column. If you choose to transform your response data make sure to select the column as a response in the Fit Model platform, highlight the "Y" column and then go to the Transform drop down in the lower middle of the dialogue box. By setting the transformation this way your predicted response will be reported out in the original (not transformed) values.

Another option is to build a formula in a new column that incorporates the variables of interest. You can then use that formula for the "X" in the nonlinear platform to develop your model. This is especially useful and important if you are using a first principles equation that has additional parameters associated with it.

Whatever you choose to do make sure to save your prediction formula back to your data table. Go to Graph > Profiler and select your prediction formula column for Y,Prediction Formula. Be sure to select Expand Intermediate Formulas in the lower left and select OK. This will allow you see how multiple variables influence the overall prediction.

Bill

3 REPLIES

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Apr 7, 2016 6:05 AM
(2346 views)

Hello Hemi,

My suggestions below are based on a best guess as to what you want to accomplish.

One option you can try is to transform either your response data or your inputs of interest or both. Try using either a log, Ln, or square root transformation to try and to make the data more linear.

You can do all of this directly in the Fit Model platform. By doing this in Fit Model you can use as many variables as you want to build the model.

You can right click on any variable you want to transform in the column pick list and create a temporary transformation column to be used in the analysis. If this transformation works you can then save the column to the data table by right clicking on the temporary column and choosing to save the column. If you choose to transform your response data make sure to select the column as a response in the Fit Model platform, highlight the "Y" column and then go to the Transform drop down in the lower middle of the dialogue box. By setting the transformation this way your predicted response will be reported out in the original (not transformed) values.

Another option is to build a formula in a new column that incorporates the variables of interest. You can then use that formula for the "X" in the nonlinear platform to develop your model. This is especially useful and important if you are using a first principles equation that has additional parameters associated with it.

Whatever you choose to do make sure to save your prediction formula back to your data table. Go to Graph > Profiler and select your prediction formula column for Y,Prediction Formula. Be sure to select Expand Intermediate Formulas in the lower left and select OK. This will allow you see how multiple variables influence the overall prediction.

Bill

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Apr 7, 2016 6:25 AM
(1721 views)

Hi Hemi,

I often use a non-linear model to fit data. I'll attach a snippet of code with the hope that it will point you in a direction. I create a formula column and then run a Non_linear Fit.

Fade=Current Data Table();

Fade<<New Column("Stretched Exponential", Numeric, Continuous, Formula(Parameter( {a=1, b=-0.01, c=0.2}, a*exp(b*:Hours^c))));

f=Fade<<Nonlinear(

Y( :Name("Std Light Output1") ), //This is our measure of light output for an OLED panel

X( :Name( "Stretched Exponential" ) ),

Iteration Limit( 100000 ),

Unthreaded( 1 ),

Newton,

Finish,

By( :Dev ID ),

Custom Inverse Prediction( Response( 0.9, 0.95 ),

Term Value( Hours( . ) ) )

);

f_rep = f <<report;

rep=Report( f[1] )[Outline Box (3)][Table Box(1)] << Make Combined Data Table;

rep=current data table()<<Set Name("MSE Report");

rep=current data table();

rep<<Save(::results || " MSE Report.jmp");

life=Report( f[1] )[Outline Box (6)][Table Box(1)] << Make Combined Data Table;

life<<Current Data Table<<Set Name("Combined Life Predictions");

life=Current Data Table();

life<<New Column("Exp No", character, formula(Substr( :Dev ID , 1, 10 )));

life<<Save(::results || " Combined T90 Predictions.jmp");

Let me know if you have any questions.

Dave

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Get Direct Link
- Email to a Friend
- Report Inappropriate Content

Apr 7, 2016 6:32 AM
(1721 views)

I also found an example of fitting data to a Weibull Distribution via the Non-Linear platform.