Data mining involves using computational techniques from machine learning, statistics, and database systems to discover patterns in large data sets. There are several theoretical foundations of data mining including data reduction, data compression, pattern discovery, probability theory, and inductive databases. Statistical techniques like regression, generalized linear models, analysis of variance, and time series analysis are also used for statistical data mining. Visual data mining integrates data visualization techniques with data mining to discover implicit knowledge. Audio data mining uses audio signals to represent data mining patterns and results. Collaborative filtering is commonly used for product recommendations based on opinions of other customers. Privacy and security of personal data are important social concerns of data mining.