FDE for non-functionsOne of my colleagues has been learning about FDE (we have a lot of applications for it in plastics/elastomers/rubbers) and showed me some of his data. One test we do is stress-strain: apply force to sample and measure how much it stretches; release force and see how the sample recovers (think about that property and apply it to the seal on your car door or your car's tires). There is a lot of information in the curves. The problem is that they are not functions: each x-value has two y-values (see attached).
Anyone out there have a way to deal with this type of data? One method would be to transform the strain (displacement, x-axis) for the relaxation curve by computing the total displacement and adding it to the final displacement of the stretching curve.

Thanks in advance! Merry Christmas & Happy New Year!
AnalyticsRe: FDE for non-functionsThanks @ih ! Took a couple of formulae to do the reflections. It worked!
Re: FDE for non-functions@Mark_Bailey you are right about not using DTW, I forget you cannot pull the warping functions back to the table for analysis. Instead the X axis could be manually scaled before using the FDE platform, and the scaling factors can be later analyzed later next to FDE results. Without this scaling I think the FDE components would become measures of the total strength and recovery of the material, where that info can be more directly inferred from the table (sorry if those are the wrong terms). The shape of those curves is where FDE would provide a lot of new insight.
As you suggest though it is so easy to try multiple methods I would likely try it with and without scaling!
Re: FDE for non-functionsI like @Kevin_Anderson's suggestion that this problem is similar to handwriting analysis, which gives you a good precedent.
I like @ih's suggestion because you maintain a single function over the course of increasing and then decreasing the strain. I recommend against using the dynamic time warping to register features in this case. I think it would alter or lose information.
The good thing about JMP is that you can easily and quickly try all of these suggestions!
Re: FDE for non-functionsOne idea:
- Reflect the lower the curves to the right side of the top one
- Calculate the duration of each curve and include that as another variable, then use that to scale the duration of batches so they are aligned.
- Use the old X axis scale (maximum travel) as an additional column in the data set separate from the curves in the FDE analysis
If I understand the experiment correctly the x axis would be something like total travel, and would be a measurement of time. The time scale 'correction' could be based on both the point of maximum travel (in the middle of the chart) and the final elongation (right side of the chart). In FDE, curves would look something like this:

Another idea:
Analyze both curves using separate FDE analyses, export summarized values back to the data table, and the continue the analysis there.
Edit to replace dynamic time warping function per further discussion.
Re: FDE for non-functionsHi, Mark!
My friend and colleague Teri Utlaut and I presented on Functional Data Analysis at a JMP Discovery conference in 2011! I attach that presentation to this reply.
I don't have experience with your specific application, but you might want to consider treating this like a multivariate FDA, tracking the movement of points in space. The role of time is lost in plots through space, but can be recovered to some extent by plotting the separate X and Y coordinates at regular time intervals. These plots are treated as a bivariate functional data object. Subjecting that object to Functional Principal Component Analysis (eigenfunctions are given the less-imposing name of harmonics in Multivariate FDA!), those harmonics can be smoothed and rotated for interpretability using VARIMAX rotations. For example, this process is used for handwriting analysis. I've used MATLAB and R to do this before, and JMP interfaces with both packages very well.
Good luck!