I am new to machine learning so I am trying to find some literature but I'm not even sure what to Google for. My data is of the following form:
User A performs Action P
User B performs Action Q
User C performs Action R
...
User C performs Action X
User A performs Action Y
User B performs Action Z
...
Where each Action has certain characteristics (date, time, client, etc). There are about 300 users and we have about 20,000 actions.
Question:
I want to find out if there is any causality/correlation between user actions. For example, "every time User E performs Action T, 2 days later User G performs Action V". But in between, there could be many other users performing many other actions, and it is possible that there is no correlation to be found. It is also possible that some users are correlated, but others are completely independent. Is this something that machine learning would be able to find for me? Is there a specific algorithm or set of algorithms that could help me?
I have been reading about Association Analysis and the Apriori algorithm but I don't think this will give me what I need, as it seems to require known, well-delimited datasets as input, whereas I just have a long stream of seemingly random user actions. Any suggestions on what to look at would be most appreciated!
P
. There is an edge $(i,j)$ iff some user did action $i$ before $j$. it can be easily weighted with the number of user that had done such a sequence. You can also do graph per user. $\endgroup$