1. A method for converting the responses of an array of metal oxide sensors into constituents and concentrations of a multi-component gas provided around the sensor array, the method comprising: providing a self-diagnostic module to calculate the quality factors associated with corresponding prediction models and determine if the responses of the sensor array are within a preferred range; providing a self-correction module to compensate for changes in the responses over time so that quality factors can be obtained which are within the preferred limits or to stop the responses and report an error; and providing a concentration calculation module to calculate the gas concentration outputs from each prediction model, corresponding tolerance limits, and gas concentration outputs determined by weighting the outputs from the prediction models by corresponding quality factors and determining the weighted tolerance limits, so that the gas concentration outputs with the lowest tolerance limits can be reported as the actual constituents and concentrations of the multi-component gas.