Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Расчет коэффициента детерминации в MS SQL Server  [new]
Kpekepp
Member

Откуда:
Сообщений: 4
Добрый вечер,

Возникла необходимость в расчете коэффициента детерминации (R2) по 3 переменным (X1,X2,X3) от искомого значения переменной Y.
Необходимо определить R2.

Просьба подсказать, есть ли готовое решение в MS SQL Server.

К сообщению приложен файл. Размер - 10Kb
18 дек 18, 20:30    [21767682]     Ответить | Цитировать Сообщить модератору
 Re: Расчет коэффициента детерминации в MS SQL Server  [new]
PizzaPizza
Member

Откуда:
Сообщений: 355
Kpekepp,

встроенной функции нет. Люди как то считают - гугл coefficient of determination ms sql
18 дек 18, 20:39    [21767690]     Ответить | Цитировать Сообщить модератору
 Re: Расчет коэффициента детерминации в MS SQL Server  [new]
Kpekepp
Member

Откуда:
Сообщений: 4
PizzaPizza,
Да гуглил - везде однофакторыный анализ, а с несколькими X уже не получается сделать
18 дек 18, 23:09    [21767790]     Ответить | Цитировать Сообщить модератору
 Re: Расчет коэффициента детерминации в MS SQL Server  [new]
vikkiv
Member

Откуда: London
Сообщений: 2700
Kpekepp,
вполне можно набрать встроенными статистическими/математическими функциями, тяжело получится, но реально, так-же можешь задействовать родные встроенные (недавнее приобретение MS - Revolution Analytics) средства если установленно и включено, ну и права доступа на запуск этой продцедуры есть, типа
exec sp_configure 'show advanced options',1;
reconfigure;
exec sp_configure 'external scripts enabled',1;
reconfigure;
--exec sp_configure 'xp_cmdshell',1;
--exec sp_configure 'Ole Automation Procedures',1;
--exec sp_configure 'Ad Hoc Distributed Queries',1;
например при помощи R (начиная с 2016, в 2017 ещё идёт Python, а в 2019 добавили JAVA) на образцовой Adventure Works DW 2014:
declare @r1 as float,@r2 as float
execute sp_execute_external_script
@language=N'R'
,@parallel=1
,@script=N'm<-summary(lm(s~q+c,data=z))
x<-m$r.squared
y<-m$adj.r.squared
u<-data.frame(coefficients(m))
v<-cbind(nm=rownames(u),u)'
,@input_data_1=N'select[OrderDateKey]d
,sum([OrderQuantity])q
,sum([TotalProductCost])c
,sum([SalesAmount])s
from[dbo].[FactResellerSales]
where left([OrderDateKey],4)=2011
group by[OrderDateKey]
order by[OrderDateKey]'
,@input_data_1_name=N'z'
,@output_data_1_name = N'v'
,@params=N'@x float OUTPUT,@y float OUTPUT'
,@x=@r1 OUTPUT
,@y=@r2 OUTPUT
with result sets(("Type" varchar(100),"Estimate" float,"Std.Err" float,"t-Value" float,"P(t)" float))
select @r1 as "R(mult)",@r2 as "Ra(mult)"
TypeEstimateStd.Errt-ValueP(t)
(Intercept)-9730.66680960846191468.995639324-0.0508211095854830.960578125253158
q9.1958009647406855.72093197557780.1650331507156260.872565233962751
c0.9935830077103510.1707453700697245.819091945536330.000253347537932762
R(mult)Ra(mult)
0.9000083447559150.877787976923896
19 дек 18, 04:45    [21767899]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить