1. A node in a computer-implemented hierarchical temporal memory network for generating an output representing causes of input patterns, the node associated with a child node, the node comprising: a spatial pooler adapted to generate and store information about spatial co-occurrences of first input patterns received at the node based on spatial similarity of the first input patterns in a learning stage, the spatial pooler generating an output representing probabilities that second input patterns received in an inference stage subsequent to the learning stage correspond to the spatial co-occurrences based on the spatial co-occurrences information, part of the first input patterns and part of the second input patterns received from the child node; a temporal pooler adapted to generate and store temporal statistics data representing temporal groupings of the spatial co-occurrences based on temporal relationships of the spatial co-occurrences learned in the learning stage; and a top-down message generator adapted to generate a first top-down message representing information about a state of the node in the inference stage based on the spatial co-occurrences information and the temporal statistics data, the top-down message generator adapted to send the first top-down message to the child node.