I focus on discussion of association based upon which, if you introduce temporal order of the transaction, you can easily extend /imagine into sequence.
The SASIMSH system used for this post is the same as the one used for my post dated 12/14/2014 "SAS High Performance Analytics and In-Memory Statistics for Hadoop: Two Genuine in-Memory Math Blades Working Together". Here are some info on the data set used.
The data set is simulated transaction data set consisting of 12 monthly transaction, 25 million transaction entries each, totaling 300 millions. The total size of the data set is ~125 GB. Below is monthly distribution.
T_weekday is how many transactions happen Sunday, Monday, Tuesday... Saturday. T_week counts how many transactions happen on week 1... week24....week52 on the year. These segment variables are created in case you want to break down your analysis.
Below is main body of the ARM modeling code
1. The two "Proc LASR" sections create LASR in-memory analytics process and load the analytics data set into it. The creation process took ~10 seconds and the loading process took ~15 seconds (see picture)
2. The Frequency statement simply profiles the variables the distributions of which I reported above.
3. The ARM statement is where the core activities happen
- Item= is where you list the variable of product category. You have full control product hierarchy.
- Tran= is where you specify granular level of transaction data. There are ~9 million unique accounts for this exercise. If you choose to use a level that has, say, 260 unique level values (with proper corresponding product levels) you can easily turn the ARM facility into BI reporting tool, closer to IMSTAT's GROUPBY statement does.
- You can use MAXITEMs= (and/or MINITEMS) to customize item counts for compilation
- Freq = is simply order count of the item. While Freq = is more 'physical, accounting book weight' (therefore less analytical, by definition), Weight= weighting is more analytical /intriguing. I used list price here, essentially compiling support in terms of individual price importance, assuming away any differential price-item elasticity and a lot more. You can easily have a separate model to study this weight input alone, which is beyond the scope of this post.
- The two aggregation options allow you to decide how item aggregation and ID aggregation should happen; if weight = is left blank, both aggregations ignore the aggregation= values you plug in and aggregate by default value of SUM, which is really to ADD UP. Ideally, one aggregation should use one weight variable. For now, if you specify weight=, the weigh variable is used for both. If you are really so 'weight' sensitive, you can run the aggregation one at a time, which does not much more time and resources.
- The ITEMSTBL option asks output of a temporary table to be created in-memory amid the flow for further actions during the in-memory process, the table system-reserved keyword .&_tempARMItems_ refers to in the next step. This is different from what SAVE option generates. SAVE typically outputs table to Hadoop directory "when you are done".
- The list of options commented out in GREEN show that you can customize support output; you don't have to follow the same configurations when the ARM model was being fit above when generating rules or association scores.
- The _T_ table is the temporary table created. You can use PROMOTE statement to make it permanent
- _SetSize_ simply tells number of products in the combinations.
- _Score_ is the result of your (double) aggregations. Since you can select one of 4 aggregation
- options (SUM, MEAN, MIN, MAX) for either aggregation (ITEMAGG and AGG), you need to interpret the score according to your options.
5. This whole, while sounding cliche content wise, takes only ~8 minutes to finish over 300 million rows.
The gap between CPU time and real time is pretty large, but I care less since the overall is only 8 minutes.
Hi, thank you for sharing this pretty useful blog, from the IT industry survey, Big Data/Analytics is the hot trend with the strong demand of talent in the upcoming years; I think you are making a great choice to pursue a Master degree in this area.
ReplyDeleteRegards,
SAS Training in Chennai|SAS Course in Chennai
Well defined. And good article..
ReplyDeleteTo learn SAS business analytics, check here
SAS Training in Chennai| SAS Course in Chennai
Got a creative information. Understand well in this. This gives the easy technique of experiment. New technologies are developed more. so techniques are also improved. Thank you for this information.
ReplyDeleteAndroid Training in Chennai
This comment has been removed by the author.
ReplyDeleteHats off to your presence of mind..I really enjoyed reading your blog. I really appreciate your information which you shared with us.
ReplyDeleteSAS Online Training
Tableau Online Training|
R Programming Online Training|
Top Fun Ideas For Family Reunions
ReplyDeleteThis is a nice post in an interesting line of content.Thanks for sharing this article, great way of bring this topic to discussion.
ReplyDeleteJava training in Bangalore |Java training in Rajaji nagar
Java training in Bangalore | Java training in Kalyan nagar
Java training in Bangalore | Java training in Kalyan nagar
Java training in Bangalore | Java training in Jaya nagar
I always enjoy reading quality articles by an individual who is obviously knowledgeable on their chosen subject. Ill be watching this post with much interest. Keep up the great work, I will be back
ReplyDeleteData Science training in Chennai | Data Science Training Institute in Chennai
Data science training in Bangalore | Data Science Training institute in Bangalore
Data science training in pune | Data Science training institute in Pune
Data science online training | online Data Science certification Training-Gangboard
Data Science Interview questions and answers
Inspiring writings and I greatly admired what you have to say , I hope you continue to provide new ideas for us all and greetings success always for you.
ReplyDeleteKeep update more information..
Selenium training in bangalore
Selenium training in Chennai
Selenium training in Bangalore
Selenium training in Pune
Selenium Online training
Selenium interview questions and answers
You should be a piece of a challenge for probably the best website on the web. I will suggest this site!best interiors
ReplyDeleteNice post. I really enjoyed your blog Thanks for sharing such an informative post.
ReplyDeleteEcommerce Web Development In Chennai
Digital Marketing Company
Digital Marketing agency
en son çıkan perde modelleri
ReplyDeleteNumara onay
turkcell mobil ödeme bozdurma
NFT NASİL ALINIR
ankara evden eve nakliyat
Trafik sigortasi
DEDEKTÖR
web sitesi kurma
AŞK KİTAPLARI
Smm Panel
ReplyDeletesmm panel
iş ilanları
instagram takipçi satın al
Hirdavatci burada
BEYAZESYATEKNİKSERVİSİ.COM.TR
SERVİS
Jeton hilesi
pendik mitsubishi klima servisi
ReplyDeletependik alarko carrier klima servisi
tuzla toshiba klima servisi
çekmeköy lg klima servisi
çekmeköy daikin klima servisi
ataşehir daikin klima servisi
maltepe toshiba klima servisi
kadıköy toshiba klima servisi
pendik toshiba klima servisi
minecraft premium
ReplyDeleteuc satın al
en son çıkan perde modelleri
özel ambulans
nft nasıl alınır
lisans satın al
yurtdışı kargo
en son çıkan perde modelleri