开发公交车站预测模型

机器算法验证 预测模型 预测
2022-04-01 04:35:04

我需要预测公共汽车是否会停在特定的预定路线站点。我有 GPS 坐标,我可以检查门信号,车站有半径,而且我还有关于公共汽车是否跳过车站的历史数据。我想使用这些信息来训练一个模型来预测公共汽车是否会在特定站点停靠。

我正在研究贝叶斯规则,我认为可以使用似然比来预测公共汽车到达站点。但我不确定这是否是看待这个问题的正确方法。我不是统计学家,所以选择正确方法来模拟这个问题的所有行话让我感到紧张。我想听听您对此的建议。我愿意花时间学习,但我不想花几天时间去发现这可能不是一开始就看它的方式。

我认为我的问题是对各种基于概率的建模技术的理解有限。如果我对我的问题的陈述需要任何澄清,或者任何部分需要更多细节,我很乐意添加它。任何帮助将非常感激。干杯!

更新:对不起伙计们——这些是载员工上下班的公共汽车。因此,如果没有乘客,这些公共汽车可以自由地避免停车;公共汽车甚至可以避开最后两站,例如,当乘客下班回家时,他们通常会回到不同的地方接人。我有 GPS 数据,可以从中检查公共汽车是否到站,还有用于路线配置的数据。在每条路线中,都有关于是否必须停车的数据。有了这些数据,我想预测一辆公共汽车是否会到达某个站点。如果您需要更多信息,请告诉我。谢谢!

4个回答

看起来简单的逻辑回归会很好用。希望这与您拥有的数据非常匹配。我试图尽可能地减少行话。

为简单起见,让我们将分析限制在一条公交路线上(您可以简单地对其他路线重复此过程)。您尝试测量的因/预测变量是二元变量y; 那是,y=0如果公共汽车错过了车站,并且y=1如果公共汽车停下来。

从您的 GPS 数据中,您可以提取y一堆以前的公共汽车运行。假设你有N在这个数据中的观察。最好将其概念化为向量/列表,y={y1,y2,...,yN}. 例如,y={0,1,0,0,1}将对应于五次观察的错过、停止、错过、错过、停止。

现在您想开发一系列可用于预测的预测变量/自变量y以备将来观察。AccidentalStatistician 提到了一些可能性。这里有几个简单的:

  • 公交车是停了还是错过了上一个公交车站(调用这个变量x1)。这也是一个二进制变量。例如,这可能会提供非常丰富的信息 x1={0,1,0,0,1}, 会证明y=x1. 当然,没有理由只检查前一个巴士站。为了完整起见,您可以尝试使用该线路上所有以前的公交车站作为预测变量。每个都将是一个二进制向量,例如x1以上。

  • 公共汽车和它前面的公共汽车之间的距离(称之为x2)。相比之下x1,这个变量是连续的,可能看起来像x2={0.53,0.9,0.72,0.81,0.62}其中每个条目对应于停车时两辆公共汽车之间的距离(例如,以英里为单位)(或在停车前的某个时间段内取平均值)。以分钟为单位测量此距离可能比以英里为单位提供更多信息。

  • 一天中的时间。x3={8.5,9.2,10.1,11.2,14.9}在几小时内。

  • 一年中的一天……希望你现在得到食谱。随意提出更多想法。

重要的一步是找出您认为在您的数据中可能重要的内容,并将其提炼成一些简单的形式(例如零和一)。

一旦你有了这种形式的数据,你就可以运行逻辑回归来预测概率y=1对于任何观察值x1,x2,...,xp(在哪里p是自变量的数量)。如果你只有一个自变量,x,结果看起来像这样(图片来源

在这里,黑点是您的观察值y根据您的观察值绘制x. 红线是预测的概率y=1对于任意值x(这里x是一个连续变量)。

以下来源解释了如何在 R 中拟合逻辑模型:LINK我推荐以下教科书作为逻辑回归和多元线性回归(具有非常相似的动机)的介绍LINK以及以下书籍,用于深入了解逻辑回归和其他分类方法:LINK最后的参考资料将涵盖许多非常重要的变量选择方法——很容易提出过多的自变量并过度拟合您的数据:LINK不要这样做!

为了预测任何结果(在您的情况下是公共汽车站),您需要一些信息而不是您想要预测的结果。这些变量通常称为预测变量/协变量/自变量

所以你的问题的答案取决于你有什么信息。

1 . 如果公交车 GPS 信号和开门信号是您仅有的信号,您的预测器可以包括

  • 路线上的历史数据
  • 早上的公交车站数据(从家到工作)预测下班后
  • 上一站的数据(如果是实时的)

在这种情况下,您可能会发现上车站点和下车站点之间存在相关性,即来自相同上车地点的人很可能在相同下车站点下车。因此,如果没有停止特定的上车地点,则可以避开相应的下车地点。为此,您可以使用逻辑回归。在这种情况下,您可能无法对上车停靠点进行建模。

如果是实时的,您还可以使用同一路线上的先前停靠信息。实时建模的方法是马尔可夫链蒙特卡罗,但如果超出您的知识范围,您可以使用回归。

2 .如果您有其他信息,例如

  • 一周中的天
  • 一天中的时间
  • # 下客巴士上的人数

它们也可以在回归中用作预测变量。

简而言之,如果您知道足够的统计数据和逻辑回归,则需要马尔可夫链蒙特卡罗。您的预测指标将是您认为相关的任何内容。

根据您对数据的描述,我假设您有效地完美记录了公共汽车的开门位置。因此,为了预测公共汽车在特定站点的行为,您的数据是公共汽车在之前的班次(整条路线)上做了什么,以及公共汽车在当前班次的前一站做了什么。

对于非强制停靠站,最简单的模型是假设公交车在停靠站开门的概率与其他停靠站发生的情况无关。在这种情况下,每个停止点都有一个简单的似然比,因为它相当于抛硬币时看到正面的可能性。

下一步将是一个模型,其中在站点开门的概率取决于公交车在沿途较早站点所做的事情。为此,您需要查看一些历史数据,以便查找止损之间的相关性。

为了使模型更完整,这取决于您的问题的具体情况。

例如,我在上面假设公共汽车在不同班次的工作是独立的,但如果它在一天中的不同时间进行多个班次,情况可能并非如此。然后,如果您对此进行了测量,则必须考虑到它是一天中的什么时间。

我还假设只有一辆公共汽车,但如果两辆公共汽车碰巧在同一站相继出现,那将降低第二辆公共汽车在那里开门的可能性。因此,您必须考虑其他公共汽车在做什么。

在您的问题中,您需要描述您拥有的完整、参差不齐和缺失的数据。

  1. 首先,单条总线有多少数据?

  2. 公共汽车是否总是使用相同的路线(对于您拥有的数据)?还是路线会随着时间而改变?

  3. 如果您可以组装没有锯齿状的数据,您也许可以开发一个模型。

  4. 但是,如果您有多个实现,例如,单个公交路线的几个月的停靠数据, 其中所有行程都在同一条路线相同的站点上,那么您将处于更好的位置。

  5. 似乎缺少的是您倾向于描述同一实验的多次测量数据(一辆公共汽车,同一条路线,同一条路线的 100 天数据,带有停靠站数据和公共汽车条件的特征 - > #passengers 等,当每次停下来。)

总体而言,您应该考虑组装数据以确定缺失的内容、独特的内容、重复的内容、不对称和锯齿状(不同)的内容。然后使用“分而治之”的方法将你的大问题简化为许多小问题——然后解决每个小问题。