Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获取BigQuery ML线性回归中的标准误差_Sql_Statistics_Google Bigquery_Regression_Standard Error - Fatal编程技术网

Sql 获取BigQuery ML线性回归中的标准误差

Sql 获取BigQuery ML线性回归中的标准误差,sql,statistics,google-bigquery,regression,standard-error,Sql,Statistics,Google Bigquery,Regression,Standard Error,我试图在BigQueryML中获得线性回归中Beta的标准误差,如果我错过了一些基本的东西,很抱歉,但是我找不到这个问题的答案 #standard sql CREATE OR REPLACE MODEL `DATASET.test_lm` OPTIONS(model_type='LINEAR_REG', input_label_cols= ["y"]) AS select * from unnest(ARRAY<STRUCT<y INT64, x float64>>

我试图在BigQueryML中获得线性回归中Beta的标准误差,如果我错过了一些基本的东西,很抱歉,但是我找不到这个问题的答案

#standard sql
CREATE OR REPLACE MODEL `DATASET.test_lm`   
OPTIONS(model_type='LINEAR_REG', input_label_cols= ["y"]) AS
select * from unnest(ARRAY<STRUCT<y INT64, x float64>> [(1,2.028373), 
(2,2.347660),(3,3.429958),(4,5.250539),(5,5.976455)])
此外,您可以像这样直接计算标准误差

with dat as (
select * from unnest(ARRAY<STRUCT<y INT64, x float64>> [(1,2.028373), (2,2.347660),(3,3.429958),(4,5.250539),(5,5.976455)])),

#get the residual standard error, using simple df-2  
rse_dat as (
select sqrt(sum(e2)/((select count(1) from dat)-2)) as rse from (
select pow(y - predicted_y, 2) as e2 from ml.predict(model  `DATASET.test_lm`,
(select * from dat)))),

#get the variance of x
xvar_dat as (
select  sum(pow(x - (select avg(x) as xbar from dat),2)) as xvar from dat)

#calulate standard error 
select sqrt((select pow(rse,2) from rse_dat)/(select xvar from xvar_dat) as beta_x_se )

但对于许多协变量来说,这将是一个沉重的负担。有没有一种直接的方法可以得到这个置信区间的基本统计数据

AFAIK没有提供标准错误的BigQuery ML函数;尽管如此,and函数是否可以通过使用STDEV和均方误差来帮助您计算标准误差:标准误差=剩余标准误差/输入平方和。AFAIK没有提供标准误差的BigQuery ML函数;尽管如此,and函数是否可以通过使用STDEV和均方误差来帮助您计算标准误差:标准误差=剩余标准误差/输入平方和。
with dat as (
select * from unnest(ARRAY<STRUCT<y INT64, x float64>> [(1,2.028373), (2,2.347660),(3,3.429958),(4,5.250539),(5,5.976455)])),

#get the residual standard error, using simple df-2  
rse_dat as (
select sqrt(sum(e2)/((select count(1) from dat)-2)) as rse from (
select pow(y - predicted_y, 2) as e2 from ml.predict(model  `DATASET.test_lm`,
(select * from dat)))),

#get the variance of x
xvar_dat as (
select  sum(pow(x - (select avg(x) as xbar from dat),2)) as xvar from dat)

#calulate standard error 
select sqrt((select pow(rse,2) from rse_dat)/(select xvar from xvar_dat) as beta_x_se )