在T-SQL(sql server)

时间:2018-06-03 13:16:19

标签: r tsql linear-regression polynomials

我在R中构建了一个多项式回归,其中一个变量是变量的多项式(3阶)。我在R。

中使用函数poly http://stat.ethz.ch/R-manual/R-devel/library/stats/html/poly.html

现在我想在Sql Server中使用我的模型,我可以将多项式回归的系数复制到Sql Server。在我的模型的先前版本(没有多项式),所以线性回归,我可以在T-SQL中计算结果,但现在我有了计算结果所需的多项式输入变量。

我有Sql Server 2014,所以没有R服务,我只想使用T-SQL来计算解决方案。我的想法是编写类似于R中的poly的函数,但后来在SQL Server中,但我还没有找到它。

简单R var,多项式为3:

polytest<-data.frame(seq(1:20))
colnames(polytest)[1]<-"X"
polytest<-cbind(polytest, poly(polytest$X, degree = 3))
polytest<-polytest[,-c(2,3)]
colnames(polytest)[2]<-"XPOLY3"

变量和3次多项式(来自R),在T-SQL中插入语句:

CREATE TABLE [dbo].[polytest](
    [X] [int] NULL,
    [XPOLY3] [float] NULL
) ON [PRIMARY]

GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (1, -0.43760938779302377)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (2, -0.16122451129216667)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (3, 0.03838678840289679)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (4, 0.17025669679873057)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (5, 0.24341739940189858)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (6, 0.26690108171896487)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (7, 0.24973992925649333)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (8, 0.20096612752104803)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (9, 0.12961186201919273)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (10, 0.044709318257491568)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (11, -0.044709318257491582)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (12, -0.12961186201919278)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (13, -0.20096612752104803)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (14, -0.24973992925649335)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (15, -0.26690108171896487)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (16, -0.24341739940189866)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (17, -0.17025669679873054)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (18, -0.03838678840289686)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (19, 0.16122451129216667)
GO
INSERT [dbo].[polytest] ([X], [XPOLY3]) VALUES (20, 0.43760938779302377)
GO

是否有可能直接在SQL Server中计算此多项式?

0 个答案:

没有答案