Canonical information analysis