Detecting and analyzing anomalies across historical data changes: A data-driven approach