Complex probit estimation made simple

JMP offers a lot of sophisticated statistical analyses that are easy to use because of its well-designed user interfaces. Nonlinear estimation is not as easy to use because the incredible flexibility of that platform may challenge even a statistically savvy person. However, with JMP Scripting Language (JSL), it is easy to create a simple application that is tailored to the specific needs of an application area and is suitable for fast repeatable usage.

Estimating parameters of nonlinear functions starts with creating of columns within the data table that contain formulae to specify the parameters to be estimated as part of the regression function and a loss function that shall be minimized to find the final regression estimate (if that shouldn’t be done by least squares).

Probit regression is a frequently used analysis for dose response experiments with binary outcomes (response / no response). Its application is thoroughly described in JMP Help and Books, but its usage requires at least a basic mathematical understanding; also, it is tedious to use, especially when needed frequently. The solution here is to write a JSL script. All you need to do is to assign the right variables in your data set to the roles needed for the regression using your typical nomenclature and let JMP do the rest.

The data set needs to contain the columns for dose, total number of items under test and number of items that responded, as you can see in Figure 1: Data.

Figure 1: Data

The JSL script is simple as well. It consists of three parts: the user dialog (Figure 2: Dialog), the insertion of the formula columns and the application of the Nonlinear platform.

Figure 2: Dialog

You don’t need to write the evaluation statements from scratch because you can do the analysis interactively and save the script to your script window. Then all statements are there, and you only need to substitute the variable names from the program. An additional advantage of the scripting solution is that you can cover specific requests , like the calculation of various inverse predictions. They are automatically generated, and the user doesn’t need to call them from the context menu separately.

Figure 3: Result

You can distribute and install the whole script as a one-click operation when it is wrapped as an add-in.

You can download this JSL application from the JMP File Exchange.

tags: Add-Ins, JMP Scripting Language, Statistics

5 Comments

  1. Siamak Roshandel
    Posted May 24, 2012 at 4:51 am | Permalink

    Hi
    I want to know can I use proc probit for calculating LT50? And if it possible in which section I can find it

    • Bernd Heinen Bernd Heinen
      Posted June 1, 2012 at 3:53 am | Permalink

      Hi Siamak,

      your responding to my blog that is about probit analysis in JMP and there is no Proc Probit but rather a nonlinear platform. If you run this, the result report always has the red triangle (hot spot) from which you can select Estimates--> Inverse Prediction. It opens a table in which you can enter several ED values that you want to be calculated.

      If on the other hand you are usong SAS Stat and the Proc Probit there, then you need to enter the INVERSECL option with this syntax: INVERSECL<(PROB=rates)> .

      I hope I could help
      Bernd

  2. Sajeewa Amaradasa
    Posted November 12, 2012 at 4:40 pm | Permalink

    Hi Bernd;

    Can you explain how to use JMP to calculate EC50 (effective concentration for 50% growth inhibition) for a fungicide? I want to find EC50 for different isolates of a fungus. I have different % inhibitions from 4 replicates for different fungicide doses per each isolate.Can I use the same application posted above for my analysis.
    Thanks
    Sajeewa

  3. Karen Clyde
    Posted November 27, 2012 at 5:56 pm | Permalink

    I'd like to use this for >200 separate data groups. Without a "by" option, there doesn't seem to be an easy way to do this (unlike if you launch the analysis using fit model / generalized linear model). Any ideas?

  4. Gail Massari Gail Massari
    Posted January 10, 2014 at 8:44 am | Permalink

    Siamak,
    You can submit SAS code from JMP. If you are looking for an equivalent capability in JMP, consider participating in the JMP Software Community Forum for questions and answers to specific questions. JMP users find that is the quickest way to get help from other users. JMP developers and technical support people also participate. See http://www.jmp.com/forum.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <p> <pre lang="" line="" escaped=""> <q cite=""> <strike> <strong>