首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有指定斜率的线性回归

具有指定斜率的线性回归
EN

Stack Overflow用户
提问于 2015-10-23 00:25:08
回答 2查看 6K关注 0票数 6

我想用一个指定的斜率来拟合一个线性回归线到一个数据集。我读过this thread关于使用显式拦截进行同样操作的内容。

0+抑制了截距的拟合;坡度的对应技巧是什么?例如,为了使一条直线与斜率1.5相匹配,我尝试了以下方法

代码语言:javascript
复制
set.seed(6)
x <- runif(100, -3, 3) 
y <- 2 + x + rnorm(100) 

model1<-lm(y ~ x) 
plot(x,y)
abline(model1,col="red")
abline(coef(model1),1.5,col="dark green")

但是第二个and函数只是从model1和斜率1.5处截取。而我希望回归线有斜率1.5,找到最适合的数据点,然后计算截取从该回归线。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-23 00:34:35

我认为一种方法是从1.5*x中减去y,然后只使用一个截取项来拟合y

代码语言:javascript
复制
mod2 <- lm(I(y-1.5*x)~1)
plot(x, y)
abline(mod2$coefficients, 1.5)

这是与固定斜率1.5的最佳线性拟合。当然,这种拟合在视觉上不是很吸引人,因为模拟的斜率是1,而固定的斜率是1.5。

票数 9
EN

Stack Overflow用户

发布于 2015-10-23 01:13:00

要找到截取的值,实际上不需要回归。既然是Y = a + b * X + ϵ,那么是E[Y - b * X] = E[a] + E[ϵ],假设是E[a] = aE[ϵ] = 0,其中E[]是期望运算符。因此,a = E[Y - b * X].

转化为R,这意味着拦截a是:

代码语言:javascript
复制
b1 <- 1.5
a <- mean(y - b1 * x)

这是受this question评论的启发。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33292969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档