BookmarkSubscribeRSS Feed
Choose Language Hide Translation Bar
triunk
Community Trekker

Sequential Pattern and Sequential Pattern Mining in JMP PRO?

Hello Jmp Community!

 

I am so happy that JMP made so many great jumps since its first edition. Now it has strong predictive analytics tools.

I was wondering if JMP PRO is offering sequential pattern mining options in JMP (e.g. study cases where we want to examine the sequence of products that a consumer picks during a period of time).

 

Is this possible? If yes how do I conduct this analysis?

Any englightening answers that direct to learning resources would be greatly appreciated.

 

 

Thank you for your insights in advance

 

 

0 Kudos
1 REPLY 1
gzmorgan0
Super User

Re: Sequential Pattern and Sequential Pattern Mining in JMP PRO?

Hi Triunk.

 

I saw your post mid April, hoping that someone would provide some options. I have no turn-key solution, and I am anxiously waiting JMP14.1 updates for text mining.  

If I were tasked with a problem similar to what you described, I would break it down into 3 parts:

  1. Classification of purchases. For example TV, speakers, DVR, DiscPlayer(Blue Ray), Couch/lounger... Create codes for the classifications. So Step 1 is classify and code. 
  2. Create a table/sequences  where each row is a consumer, maybe some columns of demographics if available, then columns for Purchase 1-k and Date 1-k.  Step 2 is to build/organize data for analysis.
  3. Analyze

I'd probably start with something like finding the  Longest Common Sequence and create distributions/summaries and use techniques and create plots similar to those used for MDS, multidimensional scaling. See the link:

JMP provides a function called Shortest Edit Distance() and provides an example of Longest Common Sequence. You can do a web search for Longest Common Sequence, LCS. Linear programming or recursion is used to find n. Here are two links if you like to see the details:

The JMP function Shortest Edit Distance() is very powerful, and allows for multiple methods for displaying the results. We created an example script for our book. I did not attach it since I have a feeling you were looking for something more turn-key.

Below is the script copied from the Scripting Index. Try it out for different strings. 

Names Default To Here( 1 );
editList = Shortest Edit Script(
	"time flies like an arrow",
	"fruit flies like a banana"
);
common = "";
/* assemble a longest common subsequence */
For( i = 1,
	i <= N Items( editList ), i++,
	If( editList[i][1] == "Common", 
/* or Insert or Remove */
             common = common || editList[i][2] /* the snippet */
	)
);
common;

This book looked interesting and there seems to be some packages in Python and R to do this type of analysis

https://www.amazon.com/Marketing-Data-Science-Techniques-Predictive/dp/0133886557.  Note that JMP can run Python and R and return results to JMP.

 

That is all I have to offer for now.

 

If you find, something interesting please post.

Dynamic Programming Tutorial with Longest Common Subsequence Keywords: Dynamic Programming Longest Common Subsequence Dynamic Programming Tutorial with LCS
Given two strings, find longest common subsequence between them. https://github.com/mission-peace/interview/blob/master/src/com/interview/dynamic/LongestCommonSubsequence.java https://github.com/mission-peace/interview/wiki