SQL 中的线性回归置信区间

Posted

技术标签:

【中文标题】SQL 中的线性回归置信区间【英文标题】:Linear regression confidence intervals in SQL 【发布时间】:2010-11-13 09:06:05 【问题描述】:

我正在使用一些相当简单的 SQL 代码来计算一些 (x,y) 数据点的回归系数(截距和斜率),使用最小二乘法。这为我提供了一条通过数据的最佳拟合线。但是,我们希望能够看到最佳拟合线的 95% 和 5% 置信区间(如下曲线)。

(来源:curvefit.com)

这些意味着真实的线有 95% 的概率低于上曲线,而有 95% 的概率高于下曲线。如何计算这些曲线?我已经阅读了***等并进行了一些谷歌搜索,但我还没有找到可以理解的数学方程式来计算这个。

编辑:这是我现在所拥有的精髓。

--sample data
create table #lr (x real not null, y real not null)
insert into #lr values (0,1)
insert into #lr values (4,9)
insert into #lr values (2,5)
insert into #lr values (3,7)

declare @slope real
declare @intercept real

--calculate slope and intercept
select 
@slope = ((count(*) * sum(x*y)) - (sum(x)*sum(y)))/
((count(*) * sum(Power(x,2)))-Power(Sum(x),2)),
@intercept = avg(y) - ((count(*) * sum(x*y)) - (sum(x)*sum(y)))/
((count(*) * sum(Power(x,2)))-Power(Sum(x),2)) * avg(x)
from #lr

提前谢谢你。

【问题讨论】:

【参考方案1】:

试试这个网站并向下滚动到中间。对于最佳拟合线的每个点,您都知道 Z、样本大小和标准偏差。

http://www.stat.yale.edu/Courses/1997-98/101/confint.htm

【讨论】:

原来如此!不过我不记得了。对不起。【参考方案2】:

@PowerUser:他需要将方程用于二变量设置,而不是一变量设置。

马特:如果我有我的旧统计学教科书,我就能告诉你你想要什么;不幸的是,我没有它,也没有我高中统计课程的笔记。另一方面,据我所知,它可能只有回归线斜率的置信区间的东西......

无论如何,这个页面希望能有所帮助:http://www.stat.yale.edu/Courses/1997-98/101/linregin.htm。

【讨论】:

【参考方案3】:

置信区间宽度公式 f(x) 在“拟合值的置信区间”下给出

http://www.weibull.com/DOEWeb/confidence_intervals_in_simple_linear_regression.htm

该页面还将引导您完成示例计算。

【讨论】:

以上是关于SQL 中的线性回归置信区间的主要内容,如果未能解决你的问题,请参考以下文章

R中线性回归模型后的置信区间[关闭]

如何计算 R 中线性回归模型中斜率的 95% 置信区间

Python 绘制线性回归散点图和置信区间线

Python 绘制线性回归散点图和置信区间线

Python 绘制线性回归散点图和置信区间线

Python 绘制线性回归散点图和置信区间线2