Multi-level PCA and its application in fault diagnosis