【发布时间】:2018-08-01 23:45:33
【问题描述】:
我正在尝试使用固定斜率(到 1)和截距(到 0)进行线性回归,最后想使用统计数据删除远离此拟合的点。
# set slope =1
my_slope <-1
mylm <- lm(as.numeric(y) ~ 1 + offset(x*my_slope), data = mydata)
# set intercept=0
my_intercept<-0
mylim<-lim(I(x-intercept)~0+y)
首先我不确定这两个代码是否正确。如果是,有什么方法可以更简单地组合这两个代码?
【问题讨论】:
-
似乎你想自己定义完整的线性方程。然后,您可以使用
subset(data, abs(y - 1 + x) < threshold)或任何其他公式(如平方距离)简单地删除异常值。不需要线性回归。 -
线性回归的目的是求斜率和截距!在某些情况下,出于合理的原因,您可能会强制截取(例如,如果您知道自己正在处理线性现象)。但是如果你同时修复斜率和截距,你的回归有什么用?你们都准备好了直线方程,并且您可以从数据集中轻松计算错误,假设这些数据遵循您的方程给出的方案..
-
谢谢大家。 @ziggystar,您能否为我提供一个应用平方距离或统计上可接受的阈值的示例?我尝试了 Mahalanobis Outliers、置信椭圆等。但它们并不是我真正想要的。我只想提取接近 1:1 拟合的点。
-
对于您想做的事情没有统计可接受性的概念。也许如果你描述你的动机,我们可以得到一些东西。否则,只做你需要的。实际上,使用平方距离作为阈值是没有意义的。如果您想独立考虑每个点,我在第一条评论中的公式就是您所需要的。
-
@Ziggystar,你是对的。您建议的公式或者是我想要的。谢谢。 :)
标签: r regression linear-regression