I confess I struggled at length trying to decide how to implement categories and tags in WordPress. While there is a lot of buzz on the subject on the web, the most common explanation uses the book metaphor in that if a blog is a book, then categories and sub-categories represent the table of contents and tags the index. I think that's overly simplified as it doesn't really capture the person behind the blog whose life may consist of volumes of disparate and unrelated knowledge.
In my case, for example, I decided to create a site/blog that showcases my professional interests and accomplishments within those areas of interest. From my point of view, each interest can be represented by a category and all are related in that they have at least one thing in common - me. Further, while each category overlaps or may even be subordinate to another category, I view them as discrete topics I teach, do research in, and/or simply want to learn more about.
The point I'm making is you can drive yourself crazy trying to figure out logical or even conceptual relationships. Big data analytics is certainly directly related to business intelligence, for example, and data mining to both. But, how many parents, children, grandchildren, and siblings should you have in your taxonomy before it becomes superfluous and circuitous? To answer that question I considered how the search engine would interpret finding the same post in a category and in a subcategory. Certainly there is a possibility if not a probability that using taxonomy in such a way that it duplicates results could hurt rather than help rankings.
At this point I'm open to suggestions but decided to err to the side of simplicity and clarity by limiting myself to only top-level categories. Besides, it makes categorizing so much easier. If a particular article fits in more than one, I choose the best fit unless there is a very compelling reason to include it in more than one. As for tags, my thinking is the fewer the better and that context rules.