Improving the accuracy of virtual flow metering and back-allocation through machine learning