Our World Statistics Day conversations have been a great reminder of how much statistics can inform our lives. Do you have an example of how statistics has made a difference in your life? Share your story with the Community!
Choose Language Hide Translation Bar
Highlighted
Level II

## Peak integration features in JMP

Hi

Is there any peak detection features for time series in JMP? With tools like peak integration, baseline optimisation, etc. ?

Thanks

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Staff

## Re: Peak integration features in JMP

Depending on the depth and breadth of your specific requirements, JMP has many of the building blocks that you might need. For example, the following code generates some random data and shows how to fit two Gaussians (using 'Analyse > Distribution'). Do 'File > New > New Script', copy and paste the code into the window that appears, then do 'Edit > Run Script'):

NamesDefaultToHere(1);

// Make some data with two peaks . . .

n1 = 500; mu1 = 0; sig1 = 1;

n2 = 500; mu2 = 2; sig2 = 2;

peak1 = J(n1, 1, RandomNormal(mu1, sig1));

peak2 = J(n2, 1, RandomNormal(mu2, sig2));

peaks = VConcat(peak1, peak2);

dt = NewTable("Peaks", NewColumn("Y", Numeric, Continuous, Values(peaks)));

// Use 'Normal Mixtures' in 'Distribution' to fit

dt << Distribution(Continuous Distribution( Column( :Y ), Fit Distribution( Normal Mixtures( Clusters( 2 ) ) )));

But you probably want to fit a mixture of Lorentzians, in which case you will need 'Analyse > Modeling > Nonlinear' (see, for example: https://www.jmp.com/about/events/summit2013/resources/Paper_Susan_Walsh.pdf to get started with this).

However, remember that JMP is 'all purpose' statistical software: If you want the full range of capabilities that more niche software provides for dealing with spectral data, you would have some work to do, and require some knowledge to do it.

6 REPLIES 6
Highlighted
Staff

## Re: Peak integration features in JMP

Perhaps I have misunderstood, but I associate 'peak integration' and 'baseline optimisation' more with spectral data, than with time series. Can you be a little more specific about what data you have, and what you hope to get from it, please?

Highlighted
Level II

## Re: Peak integration features in JMP

I am looking at traces from thermo analytical methods. By looking at peak integrations, I can infer the reaction progress (alpha). Combining such calculations along the different traces, one can estimate the kinetics parameters of the reactions involved in process.

Highlighted
Staff

## Re: Peak integration features in JMP

Depending on the depth and breadth of your specific requirements, JMP has many of the building blocks that you might need. For example, the following code generates some random data and shows how to fit two Gaussians (using 'Analyse > Distribution'). Do 'File > New > New Script', copy and paste the code into the window that appears, then do 'Edit > Run Script'):

NamesDefaultToHere(1);

// Make some data with two peaks . . .

n1 = 500; mu1 = 0; sig1 = 1;

n2 = 500; mu2 = 2; sig2 = 2;

peak1 = J(n1, 1, RandomNormal(mu1, sig1));

peak2 = J(n2, 1, RandomNormal(mu2, sig2));

peaks = VConcat(peak1, peak2);

dt = NewTable("Peaks", NewColumn("Y", Numeric, Continuous, Values(peaks)));

// Use 'Normal Mixtures' in 'Distribution' to fit

dt << Distribution(Continuous Distribution( Column( :Y ), Fit Distribution( Normal Mixtures( Clusters( 2 ) ) )));

But you probably want to fit a mixture of Lorentzians, in which case you will need 'Analyse > Modeling > Nonlinear' (see, for example: https://www.jmp.com/about/events/summit2013/resources/Paper_Susan_Walsh.pdf to get started with this).

However, remember that JMP is 'all purpose' statistical software: If you want the full range of capabilities that more niche software provides for dealing with spectral data, you would have some work to do, and require some knowledge to do it.

Highlighted
Level II

## Re: Peak integration features in JMP

Hi Ian,

Thank you for the kind suggestions. I would not have thought that numerically integrating a plot (which requires some baseline modelling) or calculating some local optima would be niche but maybe it does not fit the initial intent of JMP. I agree that these functions can be scripted - integration is 'just' a sum of lozenges - but if I could avoid reinventing the wheel...

Highlighted
Staff