我们在 SQL Server 中只有很少的内置函数可以进行复杂的统计分析,但我需要在 TSQL 中计算多元线性回归。
根据这篇文章(SQL Server 中的多重线性回归函数) ,我可以获得Coefficients
forIntercept (Y)
和.X1
X2
我需要的p-value
是X1
并且X2
还有R Square
测试数据:
DECLARE @TestData TABLE (i INT IDENTITY(1, 1), X1 FLOAT, X2 FLOAT, y FLOAT)
INSERT @TestData
SELECT 0, 17, 210872.3034 UNION ALL
SELECT 0, 23, 191988.2299 UNION ALL
SELECT 0, 18, 204564.9455 UNION ALL
SELECT 0, 4, 189528.9212 UNION ALL
SELECT 0, 0, 200203.6364 UNION ALL
SELECT 11, 0, 218814.1701 UNION ALL
SELECT 5, 0, 220109.2129 UNION ALL
SELECT 2, 0, 214377.8534 UNION ALL
SELECT 1, 0, 204926.9208 UNION ALL
SELECT 0, 0, 202499.4065 UNION ALL
SELECT 0, 3, 196917.8182 UNION ALL
SELECT 0, 9, 202286.0012
期望的输出:
R Square 0.4991599183412360
p-value X1 0.0264247876580807
p-value X2 0.7817597643898020
我已经能够从上面的测试数据中得到以下数据。
b Coefficients
----------------------------------
Intercept (Y) 202119.231151577
X1 C(H) 1992.8421941724
X2 C(C) -83.8561622730127
我知道 TSQL 不是获得这个的好平台,但我需要它完全在 TSQL 中完成。