Title :
Statistical Model Computation with UDFs
Author_Institution :
Dept. of Comput. Sci. Houston, Univ. of Houston, Houston, TX, USA
Abstract :
Statistical models are generally computed outside a DBMS due to their mathematical complexity. We introduce techniques to efficiently compute fundamental statistical models inside a DBMS exploiting User-Defined Functions (UDFs). Specifically, we study the computation of linear regression, PCA, clustering, and Naive Bayes. Two summary matrices on the data set are mathematically shown to be essential for all models: the linear sum of points and the quadratic sum of cross products of points. We consider two layouts for the input data set: horizontal and vertical. We first introduce efficient SQL queries to compute summary matrices and score the data set. Based on the SQL framework, we introduce UDFs that work in a single table scan: aggregate UDFs to compute summary matrices for all models and a set of primitive scalar UDFs to score data sets. Experiments compare UDFs and SQL queries (running inside the DBMS) with C++ (analyzing exported files). In general, UDFs are faster than SQL queries and not much slower than C++. Considering export times, C++ is slower than UDFs and SQL queries. Statistical models based on precomputed summary matrices are computed in a few seconds. UDFs scale linearly and only require one table scan, highlighting their efficiency.
Keywords :
Bayes methods; SQL; data mining; principal component analysis; regression analysis; relational databases; user interfaces; C++ language; SQL queries; clustering analysis; database management system; linear regression; mathematical complexity; naive Bayes analysis; principal component analysis; statistical model computation; user-defined functions; Aggregates; Algorithm design and analysis; Clustering algorithms; Computational modeling; Data analysis; Data mining; Linear regression; Mathematical model; Multidimensional systems; Principal component analysis; DBMS; SQL; UDF.; statistical model;
Journal_Title :
Knowledge and Data Engineering, IEEE Transactions on
DOI :
10.1109/TKDE.2010.44