【问题标题】:how to get best fit line when we have data on vertical line?当我们在垂直线上有数据时如何获得最佳拟合线?
【发布时间】:2019-07-23 14:34:39
【问题描述】:

我开始学习线性回归,我正在解决这个问题。当我在自变量和因变量之间绘制散点图时,我得到垂直线。我有 0.5M 样本数据。 X 轴数据在 0-20 范围内给出。在这种情况下,我得到同一个 x 轴点的多个目标值,因此它绘制垂直线。 我的问题是,有什么方法可以转换数据,使其不执行垂直线并且我可以让我的模型正常工作。有 5-6 个这样的自变量绘制相同的模式。 提前致谢。

【问题讨论】:

  • 线性回归的目标是找到显示最小误差的最佳拟合。如果您的数据集显示一条具有垂直性质的线,则模型显然会拟合一条与数据非常垂直的线。
  • 在垂直线的情况下,即使回归画线,错误也不会是最小的。我说的对吗?
  • 没有兄弟。误差是根据数据点计算的。如果您有具有线性性质的数据集,则线性回归将始终追求最小误差。取决于数据。数据的视觉形状看起来更垂直还是水平并不重要。线性回归将始终适合数据的形状。
  • @IbtihajTahir 线拟合的常见实现,例如 scikits 中的 RANSAC 使用线模型 ax + b = 0。这个模型是有缺陷的。垂直线将有一个 = 无限的,它总是会返回一个错误的结果。所以是的,如果你依赖这些库,一条垂直线会破坏你的代码。

标签: python linear-regression


【解决方案1】:

不是将 y 拟合为 x 的函数,在这种情况下,您应该将 x 拟合为 y 的函数。

【讨论】:

  • 我没听懂。你的意思是说,我应该根据目标变量来预测自变量?
  • 是的,这是正确的——当你有一个 x(y) 的线性模型时,你可以将它反转得到 y(x)。如果 y 散开并且 x 成束,这应该会给你一个更好的模型,然后直接拟合 y(x)。参见示例参考:DOI:10.1086/169390
  • 但在这种情况下,我有多个功能而不是单个功能。那我该怎么做呢?
  • @pygri 请解释如何仅根据基本事实预测特征。这甚至没有意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 1970-01-01
  • 1970-01-01
  • 2014-09-07
  • 2019-04-09
  • 2020-09-08
  • 1970-01-01
相关资源
最近更新 更多