Before revision:  We introduce a method for estimating integrated information performing a programmability test rooted in algorithmic information dynamics quantifying the change in program size of a system subject to perturbations. Our method is based on the idea that simple rules of causal dynamical systems can shorten the calculation needed to estimate integrated information whereas program-size descriptions of non-integrated systems subject to perturbations, whose parts are causally disconnected (cannot be explained from each other or do not follow from each other) behave differently. On the basis of the perturbation test , we demonstrate how a system can be regarded as providing its own explanations for its own behavioursomething today highly sought in machine learning, helping us infer causal properties of a system while, if integrated, reducing the number of calculations required.
After revision:  We introduce a method for estimating integrated information performing a programmability test rooted in algorithmic information dynamics quantifying the change in program size of a system when subjected to a perturbation. The intuition behind is that if an object is random then random perturbations have little to no effect to what happens when a shorter program but when an object has the ability to move in both directions (towards or away from randomness) it will be shown to be better integrated as a measure of sophistication telling apart randomness and simplicity from structure. We show that an object with a high integrated information value is also more compressible, and is, therefore, more sensitive to perturbations. We find that such a perturbation test quantifying compression sensitivity provides a system with a means to extract explanations--causal accounts--of its own behaviour. Our technique can reduce the number of calculations required.