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
- :
- Discussions
- :
- Mixture Design with Response in %

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
- Permalink
- Email to a Friend
- Report Inappropriate Content

May 27, 2015 10:21 AM
(3408 views)

I have attached an example mixture design with response data in percentages. When you use standard least squares, it is possible to have predictions outside of 0 and 100%. Isn't there way to constrain responses to 0 and 1 or 0 and 100?. The generalized linear model can't take mixture effects.

Solved! Go to Solution.

1 ACCEPTED SOLUTION

Accepted Solutions

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

May 28, 2015 2:17 PM
(6133 views)

I believe this is because your first response will be undefined in the logit transform, log(y/[1-y]). You will end up with a denominator = 0.

Did you see my note about adjusting for this? (Change the result to something close to 1; e.g. 0.995; something supported by your sense of no practical difference and measurement precision.)

9 REPLIES

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

May 28, 2015 6:40 AM
(3176 views)

The logit transformation of the response may be suitable: y' = ln ( [y - lower limit] / [upper limit - y] ); for results between 0 and 1 y' - ln ( y / [1-y] ). This will not accommodate responses = 0 or 1, but does ensure y' stays within the boundaries.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

May 28, 2015 6:41 AM
(3176 views)

Oops, for results between 0 and 1 y' **=** ln ( y / [1-y] ).

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

May 28, 2015 8:15 AM
(3176 views)

Michael,

Could you send the sample file back with the corrected transformation? I'm having trouble with it.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

May 28, 2015 8:49 AM
(3176 views)

Here you go.

Notice that Y=0 and Y=100 will be undefined (log(0) and denominator=0). I adjust these by ±0.01. You could use a smaller or larger adjustment, possibly relating it to the sensitivity and variability of your measurements. The smaller the adjustment, the more extreme the transformed value.

Also, as was pointed out in another reply, ln (log base e) is log in JMP.

Michael

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

May 28, 2015 9:14 AM
(3176 views)

I deleted that post about ln versus log because, although JMP does not list ln in the list of functions (lnz though is listed), it does recognize ln if you type it into the formula box manually.

An alternate but similar approach is to generate a new column called, say, p, defined by formula y/100. Then the least squares model dialog lets you choose p for the Y box and if you select p in the Y box you can choose the logit transformation. This has the advantage that when you fit the model you don't have to manually unwind the logit to get to p . For example you can directly save the formula for p, and the profiler shows directly how p changes when the mixture changes. You still have to figure out what to do for p=0 or p=1. If you select Automatic Recalc in the model output you can change the value selected to replace 0 or 100 and watch the model change as a result.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

May 28, 2015 12:58 PM
(3176 views)

Originally, I started with a probability column (y/100). Look at the JMP alert I get when I try to run the model after I have chosen the logit transformation.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

May 28, 2015 2:17 PM
(6134 views)

I believe this is because your first response will be undefined in the logit transform, log(y/[1-y]). You will end up with a denominator = 0.

Did you see my note about adjusting for this? (Change the result to something close to 1; e.g. 0.995; something supported by your sense of no practical difference and measurement precision.)

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

May 29, 2015 6:29 AM
(3176 views)

Yes. It all makes sense to me now. Thank you Michael. I now have a more practical analysis.

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

May 28, 2015 9:14 AM
(3176 views)

Also, to convert the predicted transformed responses (Y’) back to native units (Y):

Y = 100*Exp(Y’) / (1 + Exp(Y’))

I notice when I ran your model, the two largest responses (runs 1 & 12) had very large residuals. This is likely due to the logarithmic nature of the transformation. You can reduce this somewhat with the adjustment to the 100% response. If your reporting as integers is indicative of precision, increase the adjustment to 0.5%, suggesting the precision makes the difference between 99.5 and 99.99 of no practical significance.