从地铁客流讲开来:客流统计与清分释义

一、常见的客流统计

1. 进站客流
  • 定义:指在某个时间段内,乘客进入地铁站的数量。
  • 示例:如果某天早上8点到9点之间有5000人次进入地铁站,则这段时间内的进站客流为5000人次。
2. 出站客流
  • 定义:指在某个时间段内,乘客离开地铁站的数量。
  • 示例:如果某天晚上6点到7点之间有4000人次离开地铁站,则这段时间内的出站客流为4000人次。
3. 换乘客流
  • 定义:指在某个时间段内,在地铁网络内从一条线路换乘到另一条线路的乘客数量。
  • 示例:如果某天下午5点到6点之间有3000人次在地铁站内进行了线路间的换乘,则这段时间内的换乘客流为3000人次。
4. 客运量
  • 定义:进站客流与换乘客流之和,表示通过地铁站的乘客总量(不包括仅在站内换乘后立即出站的乘客)。
  • 示例:若进站客流为5000人次,换乘客流为3000人次,则客运量为8000人次。
5. 集散量
  • 定义:进站客流与出站客流之和,表示进出地铁站的乘客总数。
  • 示例:若进站客流为5000人次,出站客流为4000人次,则集散量为9000人次。
6. 乘降量
  • 定义:进站客流、出站客流与换乘客流之和,表示所有在地铁站内发生的乘客流动总量。
  • 示例:若进站客流为5000人次,出站客流为4000人次,换乘客流为3000人次,则乘降量为12000人次。
7. 统计周期
  • 定义:对上述各项数据进行记录的时间间隔,通常以一天为单位来统计这些数据。
  • 示例:地铁站通常会记录每天从凌晨0时至午夜24时之间的进站客流、出站客流和换乘客流等数据。

二、日客运量计算

1. 车站的日客运量计算
  • 非换乘站日客运量

    • 定义:指非换乘站点的日进站客流总数。
    • 计算方法:通常采用自动检票机(闸机)的进站数加上边门进站数(如使用纸票进站或使用符合免费乘车条件的证件进站)。在现代地铁系统中,边门进站数较少,因此大多数情况下直接使用SC系统(Station Computer System, 车站计算机系统)内的日进闸机验票次数作为进站客流。
    • 公式:非换乘站日客运量=进站闸机验票次数
  • 换乘站日客运量

    • 定义:除了进站客流外,还包括换乘客流。
    • 计算方法:换乘站的日客运量除了包括进站客流外,还需加上从其他线路换乘过来的客流。
    • 公式:换乘站日客运量=进站闸机验票次数+换乘客流次数
2. 线路的日客运量计算
  • 定义:指一条地铁线路的日客运量。
  • 计算方法:线路的日客运量等于线路所辖车站的总进站客流加上所有邻线换乘到本线的总换乘客流。
  • 公式:线路日客运量=∑(各车站进站客流)+∑(换乘到本线的客流)
3. 线网的日客运量计算
  • 定义:指整个地铁网络的日客运量。
  • 计算方法:线网的日客运量是所有线路的日客运量之和。
  • 公式:线网日客运量=∑(各线路日客运量)

三、示例

假设有一个地铁网络包含两条线路(A线和B线),其中A线有5个非换乘站和2个换乘站,B线有4个非换乘站和1个换乘站。以下是一个简单的例子来说明如何计算这些值:

  • 非换乘站A线某站日客运量:假设该站当天有1000人次进站,则其日客运量为1000人次。
  • 换乘站A线某站日客运量:假设该站当天有1500人次进站,另有500人次从B线换乘过来,则其日客运量为2000人次。
  • A线的日客运量:假设A线的5个非换乘站共有5000人次进站,2个换乘站共有3000人次进站,另有1000人次从B线换乘过来,则A线的日客运量为9000人次。
  • B线的日客运量:假设B线的4个非换乘站共有4000人次进站,1个换乘站共有1000人次进站,另有500人次从A线换乘过来,则B线的日客运量为5500人次。
  • 线网的日客运量:将A线和B线的日客运量相加,则线网的日客运量为14500人次。

四、地铁客流清分

地铁客流清分是指在多条地铁线路组成的网络中,基于乘客的出行路径和票价规则,将乘客支付的票务收入合理地分配给各个线路运营商的过程。清分算法旨在确保公平、合理地分配收益。以下是一些常见的地铁客流清分算法:

1. 最短路径法

  • 定义:假设乘客总是选择花费最少时间(或成本)的路径。
  • 应用:此方法假定某两站之间的乘客全部选择最短路径,并将运费收益分配给最短路径上做出服务贡献的运营商。

2. 多路径选择概率法

  • 定义:考虑到乘客出行路径的多样性,确定几条乘客可能选择的合理性路径,并根据一定的方法确定每条路径的客流分配比例。
  • 应用:结合运营商协商认可的二次清分算法对各线路进行清分得出清分比例。

3. 基于乘客出行路径的清分方法

  • 定义:通过分析乘客的出行行为,考虑影响乘客路径选择的因素,并建立出行广义费用函数,在此基础上确定乘客O-D站点之间的一条或多条可能路径。
  • 应用:根据这些路径中各相关运营商所承担的运营里程来确定其运费清分比例。

4. 综合清分模型

  • 定义:如广州地铁采用的方法,通过对OD站点间多条有效路径分配比例(第一个比例)和每条路径中各线路的分配比例(第二个比例)综合得出各线路的清分权重。
  • 应用:计算换乘客流,以这种方式计算清分权重来计算换乘客流。

文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。

<< ### LightGBM用于客流短时预测 #### 一、LightGBM简介及优势 **LightGBM(Light Gradient Boosting Machine)** 是由微软开发的一种基于决策树算法的梯度提升框架。它具有以下特点: 1. **高效快速**: 相比其他模型如XGBoost,在处理大规模数据集上效率更高。 2. **内存优化良好**: 使用直方图算法减少计算,并且支持并行学习。 3. **高准确性**: 在很多公开比赛中表现出色。 这些特性使得LightGBM非常适合于时间序列分析任务中的应用,比如零售商店或公共交通系统的短期客流预估等场景。 #### 二、构建流程步骤说明 要使用`lightgbm`库进行客流短时预测, 主要有以下几个关键环节: 1. **导入必要的包** ```python import pandas as pd from lightgbm import LGBMRegressor ``` 2. **加载和准备训练测试数据** 确保您的输入特征包含有助于捕捉模式的信息(例如日期时间戳转换成星期几/小时数等形式),同时也要考虑目标变是否平稳等因素. - 如果存在明显的周期性成分,则可能还需要对原始系列做一些差分操作; - 对缺失值做适当填充或删除. 假设我们已经有一个DataFrame `df`, 其中包含了历史顾客到访记录以及相关的协变信息 (`time_stamp`, `temperture`, ...) 和响应变 (即真实的访问次数). 为了简化演示过程这里直接模拟生成一些假定好的样本点: ```python # 创建示例数据框 df data = {'date':pd.date_range(start='1/1/2021', periods=7*24,freq='H'), # 每个小时作为一个观测单位取一周的数据长度 'temperature':[round(random.uniform(-5., 38.), 1) for _ in range(7 * 24)], # 随机温度值作为额外的影响因素之一 'num_visitors': [random.randint(50, 960) if i % 2 else random.randint(100, 300)for i in range(len(range(7 * 24)))]} df = pd.DataFrame(data) print(df.head()) ``` > 注意这里的随机生成器仅用来提供一个简单例子的实际项目应当从CSV文件读入真实的历史资料! 接着我们需要将时间戳解析开来成为新的列方便后续建模时候引入更多维度辅助解释结果: ```python def parse_time_features(df): """ 解析出更多的有关时刻的信息添加至表格里便于挖掘潜在联系 Args: DataFrame containing timestamp column named "date" Returns: Pandas dataframe with additional time-based features added """ df['hour'] = df['date'].dt.hour df['day_of_week'] = df['date'].dt.dayofweek + 1 # 星期天为第一天而非默认设置零开始编号更符合日常习惯用语 return df parsed_df = parse_time_features(df) x_cols=['hour','day_of_week','temperature'] y_col="num_visitors" ``` 3. **划分训练验证集合** 通常我们会采取最近的一段时间作为检验区间而较早些时段则分配给训练组保证泛化能力不过过拟合特定规律之外还能较好适应未来趋势变化。 ```python from sklearn.model_selection import train_test_split train_x,test_x,train_y,test_y=train_test_split(parsed_df[x_cols], parsed_df[y_col]) ``` 4. **建立回归模型实例 & 训练调参** 根据业务需求选择适当的评估指标评价性能好坏在此基础上调整参数配置直至满意为止。考虑到实际应用场景可能会涉及到冷启动阶段因此初期不必追求极致精度而是关注鲁棒性和实用性即可。 ```python model=LGBMRegressor(objective='regression') model.fit(train_x,train_y) ``` 此外还可以利用网格搜索等方式自动化寻找最优超参数组合提高最终得分但是这往往伴随着较长耗时所以在资源有限的情况下建议先尝试默认设定再逐步精细化调试。 5. **效果评测** 通过对比已知答案查看模型输出误差范围内的波动情况从而判断其可靠性程度高低进而决定是否部署上线投入生产环境当中去服务大众用户群体。 ```python predictions=model.predict(test_x) mse=((test_y-predictions)**2).mean() rmse=np.sqrt(mse) print("RMSE:", rmse) ``` 以上就是一个完整的轻化版实现方案供您参考希望能帮助理解如何运用此类工具完成类似的任务类型!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图说交通

买猫粮,楼下的流浪猫在等我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值