写在前面
人口仿真的结果既可以作为传统四阶段模型的基本输入,又是基于出行链的模型、基于活动的模型和混合模型的必备数据条件。总结人口仿真的发展历程,详述了迭代比例拟合(IPF)算法、迭代比例更新(IPU)算法、增强迭代比例更新算法等人口仿真算法的技术原理和应用局限性。以第七次全国人口普查数据为边界约束、以居民出行调查数据为种子,利用增强IPU算法在交通小区层面对上海市全市域开展人口仿真实践。基于单一和多属性交叉等维度的边界约束数据对仿真结果进行校核,结果显示增强IPU算法拟合效果相对IPF算法更为理想。同时,讨论了交通大区划分以及不同地理空间分层约束对仿真结果的影响。研究表明,使用增强IPU算法能为高级出行需求模型提供较好的仿真人口。
张天然
上海市城市规划设计研究院综合交通规划分院院长 正高级工程师
研究背景
人口仿真(Population Synthesis, PS)又称人口合成,是一种人口个体数据重构的方法。它以家庭和人员样本为种子、以总体特征分布为边界约束条件,推断包含家庭属性和人员属性的城市全体人口数据。例如家庭属性包含户人口结构、车辆拥有、就业人口数、儿童数等指标,人员属性包含年龄、性别、职业等信息。家庭属性和人员属性的统计分布对应为求解的边界约束条件。人口仿真是基于出行链的模型(Tour-Based Model, TBM)、基于活动的模型(Activity-Based Model, ABM)以及混合模型等高级出行需求模型的必备数据条件。自20世纪80年代以来,中国交通规划实践工作中采用的主要模型理论为基于出行的“四阶段”模型(Four-Step Model, FSM)。FSM的引入促进了交通规划从定性到定量的转变,但是,近年来面对日趋复杂的交通体系和多元化交通需求特征,FSM的理论缺陷和集计偏差导致的局限性逐渐显现,难以适应日益精细化的决策需求。
ABM是一种非集计模型,它以人员个体为分析单位研究出行决策及出行行为,预测出行方式、出发时间、目的地等信息。国外实践经验表明,通过模拟整个城市中每个人一天的出行活动,ABM能够精准评估宏观交通政策,支撑精细化的交通需求管理。随着基础数据条件的改善和技术水平的提升,中国已有一些城市开始探索TBM,ABM等高级出行需求模型。本文结合上海市新一代ABM模型研发,在分析人口仿真技术发展的基础上,基于人口普查数据和居民出行调查中家庭和人员样本特征数据进行人口仿真研究,分析仿真结果并总结应用经验。
人口仿真发展综述
人口仿真最早源于美国洛斯阿拉莫斯国家实验室(Los Alamos National Laboratory, LANL)开发的TRANSIMS。它基于人口普查数据,使用迭代比例拟合(Iterative Proportional Fitting, IPF)算法产生人口仿真数据,作为非集计模型的基础输入。人口仿真数据也被该实验室应用于传染病仿真系统进行传染病传播仿真研究。如今,越来越多的研究人员开始关注人口仿真,人口仿真被广泛应用于交通规划、战场模拟、卫生健康、低碳出行和能源使用等领域[1]。经过20多年的实践,人口仿真已经被证明是一种行之有效的人口重构方法,也产生了PopGen和PopSyn等软件包。国际上常用的商业交通规划软件如TransCAD,VISUM和EMME等也都推出了人口仿真模块并不断改进。
1
迭代比例拟合(IPF)算法
用于人口仿真的IPF算法最早由W. E. Deming等[2]于1940年提出。F. Mosteller[3]后来证明了IPF算法在迭代过程中可保持样本数据不同属性间的相关结构。R. J. Beckman等[4]于1996年开发了TRANSIMS模型的人口仿真模块,首次将IPF算法应用于人口仿真,成为第一代人口仿真模型。IPF算法是在已知一定量的样本联合分布和全样本边界分布的基础上进行反复迭代计算,得到总体联合分布的估计值。该方法可以保证联合分布估计值满足边界约束条件,而且保证其与样本联合分布之间最大限度地相似性(该相似性需用两者之间的相对熵来度量)。IPF算法执行迭代时首先缩放种子矩阵的行,然后缩放列,以分别匹配行和列总数(约束边界)。对行(列)的每次更正都需要重新评估对列(行)的拟合,如此迭代计算,直到获得满足行和列两个边界约束条件的结果。种子通常是通过家庭调查的记录来构建,相关属性与人口普查统计指标相对应,并以统计数据作为边界约束条件。常见的人口仿真流程如图1所示[5]。

图1 人口仿真的一般流程
资料来源:根据文献[5]绘制。
IPF算法在一定程度上解决了利用样本种子和边界约束条件构造全体人口的问题,但在实践中存在一些不足:
1)错误的零值单元使迭代不收敛。例如,在实际中某些类型家庭数较少,调查中没有获得样本,这使得种子数据的变量初始值为0但总体分布的约束条件不为0,最终造成迭代算法不收敛。此外,也存在有调查样本但边界约束条件为0的情况,即使将其用很小的值替代,也将造成算法不收敛,一般需要调整分类。错误的零值单元问题已经受到大量研究的关注[6]。
2)IPF算法的控制变量相互独立。早期的IPF算法将家庭调查记录作为种子进行迭代实现家庭相关属性的约束条件对应,而迭代产生的人口数据无法保证人员属性的约束条件对应。改进的IPF算法先计算家庭属性变量约束条件,再计算人员属性变量约束条件,如此反复迭代直至收敛。这也使得它不能同时兼顾拟合家庭和人员属性分布,例如迭代终止于人员约束边界条件时,家庭属性约束条件不能保证完全满足。所以,从出行需求建模的角度来看,IPF算法无法同时拟合家庭和人员变量的分布,可能会对模型的结果产生重大影响。
3)同一分区内子分区的抽样权重相同。IPF算法中,所有子分区都必须从属于其父分区的同一候选调查家庭,样本种子被集中选择,因此蒙特卡洛抽样假设这些家庭类型在所有子分区中的分布相同,这使得区域内所有子分区均使用同样的抽样权重。这与实际情况不符,必须考虑权重在子分区之间的变化。
由于高级出行需求模型是基于大量人口统计变量的非集计模型,因此人员属性中的错误可能会对模型中按出行方式和出行目的预测活动模式以及出行水平的准确性产生重大影响。针对IPF算法在实践中的这些问题,既有研究主要从以下方面开展:1)满足人口和家庭两大类维度约束条件的算法;2)处理零样本条件下的人口仿真;3)多个属性约束条件下的快速仿真;4)多个空间层次约束下的快速仿真。
所提出的改进方法通常分为两大类:一类是基于数学优化框架的解决方案;另一类是将IPF算法理念扩展到家庭变量之外的人员变量。J. Barthelemy 等[1],K. Müller 等[6]详细综述了人口仿真的方法。J. E. Abraham 等[7]提出了熵最大化目标函数,在“列表平衡”框架下调整家庭权重:首先调整家庭权重,以改善家庭和人员约束边界的适合性,同时尽可能接近初始权重;随后,执行程序来系统地对任何分数权重进行四舍五入。B. M. Paul等[8]对上述算法稍加修改。文献[7]和文献[8]的这两种方法都认为,必须向初始(种子)解添加最少的新信息,但是这限制了纠正种子中较大错误的能力。文献[7]中采用了组合优化方法,通过选择家庭进行复制、删除或与另一个家庭/单元交换,处理初始家庭列表(或之前的人口仿真)。如果没有初始列表(很可能是这种情况),则假设所有家庭的可能性相同,随机组合一个初始列表。这种假设以及由此产生的数学表达式的非线性和非凸性质,可能会导致很长的运行时间以及局部最优。事实上,该文献发现5 101个分区的运行时间超过11 h,且此解决方案不适合并行计算。
2
迭代比例更新(IPU)算法
2009年,X. Ye等[9]提出迭代比例更新(Iterative Proportional Updating, IPU) 模型对IPF算法进行了修正,以更好地拟合家庭和人员属性分布。在满足家庭和人员边界分布的基础上,计算每个家庭在整体分布中所占的权重,后续通过蒙特卡洛抽样方法,按照权重进行概率抽样,最终抽取的结果既能满足家庭变量的边界分布,又能满足人员变量的约束条件。IPU模型可以被认为是第二代人口仿真模型,它也是著名的人口仿真软件PopGen所采用的理论模型,后续关于人口仿真的改进工作大多也基于此开展。然而,IPU模型并没有考虑不同地理空间层次的边界约束分布。
IPU算法是一种处理人员约束边界的方法,同时本质上保留了IPF算法模型框架的简洁性。调整每个家庭的初始权重,同时通过关联表考虑初始权重对家庭和人员约束边界的贡献。例如,除了与某区域内的4人户数量相匹配外,同时将调整有4名居民且包括5岁以下儿童的家庭权重,以更好地匹配预计居住在该区域的此类儿童总数;其他家庭(不包括此类儿童)在本次调整中不会受到影响。由于在这个过程中可能会有许多约束边界需要匹配,因此会按顺序调整权重(即一次调整一个约束边界),每次只对相关的家庭子集进行调整。以这种方式处理所有约束边界后,程序返回第一个约束边界继续迭代,直至达到收敛(由建模者定义)。需要注意的是,同一家庭可能会因不同分区而采用不同的权重,这与使用外部提供的先验权重相比提高了精度。
IPU算法试图通过详尽列举不同级别的所有可能组合,匹配相关约束边界的联合分布。例如家庭拥有汽车分为4个类别(0,1,2,≥3)、家庭收入分为3个类别(低、中、高)、年龄分为5个类别(<5,6~18,19~25,26~60,>60)、性别分为2个类别(男性、女性),则会产生4×3×5×2=120列。如果变量中包含更多变量、更多类别,就会迅速增加这个组合的类别,并使关联表更加稀疏。一般的调查数据会导致其在关联表中的分布非常稀疏,从统计学意义上看,可能会过度扩展数据中包含的信息。虽然这种联合分布在理论上提供了更准确、更精细的仿真群体的可能性,但运行时间较长,并可能加剧零值单元问题。
人口仿真的增强迭代比例更新算法
基于前文研究,本文采用增强IPU算法进行上海市的人口仿真。
1
异常零值单元处理和约束边界分类的改进
由于在IPU算法中许多列为0,导致人口仿真失败。经过研究[5, 10],通过仅匹配单个变量水平的约束边界而不是其详尽列举的组合,可在很大程度上缓解这一问题。考虑每个家庭和人员变量及其水平而不是它们的组合,这样1.2中的示例只涉及4+3+5+2=14列(而不是120列),因此求解算法有更好的收敛机会;另一个优势是大大缩短运行时间,改进后IPU算法的运行时间低几个数量级。
表1是进一步简化的案例,包括分有无车的2类家庭、分年龄结构的3类人员约束边界。每列中的“拟合系数”是根据“列权重求和”(每行的权重和贡献值的乘积求和)对应的“约束边界”来计算的。拟合系数计算

式中:wi为家庭i的权重,包括迭代过程中的权重;dij为家庭i对应列j的贡献值,即样本中每一类别的家庭户数或人员数;为列权重求和;mj为列j的约束边界。目标函数为对所有列的拟合系数求和,当达到最小化时即为最优解。目标函数δ可以表示为:

wi初始值为1,每一次迭代均按照类别列(案例中为2类家庭和3类人员)顺序进行调整。wki为上一列k的权重值,当前列k+1的权重wk+1i调整为:

表1 增强IPU算法的家庭计算表示例

资料来源:根据文献[5]整理。
权重的迭代过程如表1所示。第1列(无车家庭列,以此类推)调整权重后,家庭ID为1~3的是有车家庭,权重调整为11.67(35/3),家庭ID为4~8的贡献值为0,权重不变仍为1。接下来是第2列调整,家庭ID为1~3的贡献值为0,权重不变仍为11.67,家庭ID为4~8的权重调整为13(65/5)。第3列为人口相关的调整,家庭ID为5的贡献值为0,权重不变为13;对于贡献值不为0的家庭ID,用第2列调整后的每行权重分别乘以第3列的人口数(贡献值),得到“列权重求和”为111.67,因此家庭ID为1~3的权重调整为9.51(11.67×91/111.67),其余家庭的权重调整为10.59(13×91/111.67)。第4、第5列的调整方法与第3列相同。经过多次迭代,目标函数逐步减小到理想的状态,即为收敛。
2
地理空间分层的约束边界
在人口仿真中,必须考虑区域的不同发展程度对人口分布的影响,因此需要在不同地理层面上统计数据的约束条件。“分层”(Nested)仿真表示家庭约束边界可能指定在不同的地理空间位置。约束边界通常具备更精细的分辨率,例如交通分析区(Traffic Analysis Zone, TAZ)、普查小区组(Block Group)或普查小区(Block)。车辆拥有约束边界可能在交通分析区级别,而收入约束边界可能在普查小区或普查小区组级别。分层仿真将所有约束边界统一到一个共同的地理位置(通常是所有输入地理空间层次中最小的精度)。以美国为例(见图2),不同填充颜色表示不同的公用微数据区(Public Use Microdata Areas, PUMA),这是公用微数据样本(Public Use Microdata Samples, PUMS)调查的典型地理分辨率,用作人口仿真过程的种子。仿真程序必须确定每种类型的PUMS家庭及其组成居民的数量,以便为下一层次的地理空间(如一个普查小区)抽样,以匹配该普查小区级别上可用的各种特征约束边界。最后,使用外部提供的(初始)权重从被调查家庭中抽取每个分区的预测家庭数量。选定家庭中的所有人都会被自动复制到输出文件中,最终成为仿真人口。

图2 地理空间层次:公用微数据区、交通分析区、普查小区组和普查小区
资料来源:文献[5]。
需要注意的是,与图1中IPF算法使用初始家庭权重不同,增强IPU算法在每个地理单元对家庭权重进行调整(见图3)。基于家庭约束边界调整的IPF算法仍然用于确定抽样到仿真人口中的家庭数,但这个抽样使用了IPU算法中调整的家庭权重来实现。因此,可以在不同的地理分辨率条件下指定IPU算法和IPF算法的约束边界(这也取决于研究区域各种约束边界可用的分辨率)。例如,如果人员约束边界仅在普查小区组级别可用,则可以在该地理层面执行IPU算法。尽管如此,IPF算法仍然可以在更精细的普查小区分辨率条件下执行家庭约束边界。

图3 基于增强IPU算法的人口仿真
资料来源:根据文献[5]绘制。
上海市人口仿真开发实践
上海市人口仿真以全市域为研究范围,采用TransCAD 9.0的增强IPU算法,使用数据包括第七次全国人口普查(以下简称“七普”)数据、与“七普”相近年份的居民出行调查家庭和人员属性样本数据。
1
数据准备
家庭和人员的边界约束数据来自“七普”,据统计,全市家庭规模为10 466 847户、人口规模为24 870 895人。综合考虑人口普查数据和种子数据情况,设定7个人口仿真的边界约束条件,包含家庭规模(1人户、2人户、3人户和≥4人户)、家庭类别(家庭户和集体户)、家庭拥车情况(有车和无车)、人员户籍(户籍人口、外来人口)、人员性别(男性和女性)、人员年龄(0~4岁、5~19岁、20~29岁、30~39岁、40~49岁、50~59岁、≥60岁)、人员就业情况(有就业、无就业、<15周岁不填)等。
种子数据为居民出行调查家庭和人员属性数据,分为家庭表和人员表。上海市人口仿真中种子家庭分布见图4,种子家庭规模5.1万户、人员规模11.6万人,家庭和人员属性包含上述7个边界约束条件。由于居民出行调查对象不包括5岁以下的人员,因而人员表缺少0~4岁人员的具体信息,但是家庭表的家庭人口规模包括了此类人员。为保证家庭表和人员表在人口规模上一致,在人口仿真前依据家庭表中家庭规模在人员表中添加0~4岁的儿童记录,儿童户籍依据家庭其他成员信息确定,儿童性别和年龄依据人口普查的总体结构随机生成。

图4 上海市人口仿真中种子家庭分布
为了更加精准地模拟人口数据,以交通大区—交通小区—普查小区作为地理空间的统计单元。普查小区是“七普”最小的空间统计单元,全市103 779个;交通小区是上海市综合交通规划模型的统计单元,全市5 762个;交通大区是在交通小区的基础上综合考虑城市发展情况和调查样本分布情况而划定,全市共有8个。各个地理空间统计单元的分布见图5。

图5 上海市人口仿真的地理空间统计单元:交通大区—交通小区—普查小区
人口普查采用长短表制度,10%的家庭填长表,其余家庭填短表。人口仿真的边界约束条件中家庭拥车情况和人员就业情况来自普查长表,不是全口径统计,仅有10%的统计量,需依据抽样率扩样。因而,家庭拥车情况和人员就业情况的空间统计单元为交通小区,其余5个边界约束条件的地理空间统计单元为普查小区(见表2)。
表2 上海市人口仿真的边界约束条件和地理空间统计单元

2
运行性能
经测试,是否选用IPU算法对运行时间影响较大,分层约束对于运行时间几乎没有影响。人口仿真在交通小区层面执行IPF算法的运行时间为5 min,执行IPU算法的运行时间约为20 min;执行IPU算法时,无论是否选用地理空间分层约束以及选择1个条件或多个条件的分层约束,运行时间几乎不受影响,均约为20 min。
3
结果检验
1)单变量分类校核。
人口仿真产生10 464 978户家庭和24 595 907个总人口,对比“七普”数据,家庭属性的拟合优于人员属性,家庭总规模误差比例为0.018%,人口总规模误差比例为1.106%。家庭属性中集体户分组,人员属性中5~19岁、20~29岁的年龄分组及外来人口分组拟合效果相对较差,与种子数据中集体户样本不足以及居民出行调查涵盖的集体户类型不全(仅为居家集体户,大学、工地等未包含)有一定关系。在交通小区层面看均方根误差及其比例,各个约束边界条件的拟合情况均比较理想(见表3、图6和图7)。为分析IPF算法以及交通大区划分数量(细化为25个)的影响,表3也给出了对应的结果,分析见后续章节。
表3 上海市人口仿真结果

注:误差比例=|仿真人口/“七普”人口-1|×100%;RMSE为均方根误差, ,式中:i为交通小区编号,Mi 为交通小区i的仿真人口/人,Ci为交通小区i的“七普”人口/人,Num为交通小区总数量;%RMSE =RMSE/Ave×100%,式中Ave为交通小区的“七普”人口平均值。








图6 上海市人口仿真的家庭属性边界约束拟合情况














图7 上海市人口仿真的人员属性边界约束拟合情况
2)多变量组合校核。
仿真人口的边界约束条件交叉拟合情况也较为理想。例如表4为人员性别和年龄交叉拟合的误差比例情况,最大值为8.281%。其中,≥60岁的男性人口仿真的误差比例为1.327%,交通小区层面的R2=0.995 1。在人员性别和年龄交叉拟合基础上增加人员就业情况,例如30~49岁有就业的女性,交通小区层面的R2=0.977 2(见图8)。
表4 上海市人口仿真的性别和年龄交叉拟合情况(单位:%)



图8 上海市人口仿真≥60岁男性以及30~49岁有就业女性的交叉拟合情况
注:城市以紧密商务出行联系的覆盖面积由大到小顺序排列;紧密商务出行联系飞地所属县市涉及地市名称时,飞地均位于各地市主城区。
4
影响因素分析
IPU算法和IPF算法结果对比
4.1
对比IPU算法和IPF算法结果,家庭属性的边界约束条件拟合非常相似,拟合效果均比较理想。但是,在人员属性边界约束条件的详细分类上,IPU算法明显优于IPF算法,尤其是0~4岁和5~19岁的年龄分类,误差比例由14.034%和10.960%下降至1.242%和1.738%(见表3)。图9展示了是否使用IPU算法对于年龄拟合效果的差异情况,显然IPU算法明显优于IPF算法。


图9 IPU和IPF算法的人口拟合情况对比
交通大区的划分
4.2
由于居民出行调查无法在地理空间上确保精细化交通模型的交通小区都能选取到种子(样本)数据,因此需要在邻近地区选择种子。在人口仿真模型中,交通大区的作用主要是用于确定种子的选择范围,即仿真某个交通小区人口只能选取该小区所在的交通大区范围的种子。如果种子规模不足或属性结构不合理,会直接影响人口仿真效果。为对比采用不同交通大区方案的人口仿真效果,将上海市域按照空间邻近、发展程度一致、兼顾行政区划的原则,分别划分为8个和25个交通大区两种方案(见图10)。受到居民出行调查抽样率的限制,将交通大区的种子条件(见表5)进行对比,可作为交通大区划分种子数和分析仿真误差关系的参考。

图10 不同规模交通大区的划分情况
表5 交通大区的人口仿真种子条件比较

地理空间分层约束对人口仿真的影响
4.3
TransCAD 9.0人口仿真模块的IPU算法支持家庭属性的分层约束。针对无分层约束、单一属性地理空间分层约束(分别为家庭规模和家庭类别)以及多个属性分层约束(家庭规模和家庭类别同时约束)开展IPU算法的人口仿真。因为交通小区是交通模型需要的基本空间单元,一个交通小区包含多个人口普查小区,分层的空间统计单元为交通小区(全市5 762个)和普查小区(全市约10万个)。如表6所示,从仿真人口误差比例来看,无分层约束的拟合效果较好。其中,无分层约束方案的家庭总规模和人员总规模的误差比例分别为0.018%和1.106%,有分层约束的相应误差比例分别为4%和5%以上。无分层约束的误差比例最大值为1.738%(5~19岁人员年龄),而有分层约束的误差比例最高可达36.335%(家庭规模分层约束中外来人口)。需要注意的是,并非拟合优度越高就表示仿真结果越好,分层约束给出了更高的约束条件,无疑是对种子提出更高的要求。针对不同的仿真人口应用,应根据实际情况选用是否需要分层约束。
表6 不同地理空间分层约束方案的仿真人口误差比例(单位:%)

写在最后
人口仿真的约束条件需要结合人口普查数据和居民出行调查数据的字段匹配。“七普”提供家庭规模、家庭类别、家庭拥车情况,人员户籍、性别、年龄、就业情况等边界约束条件。人口普查中的长表人员数据一般很难获取,并且不包含出行需求模型需要的出行和活动信息,很难作为建模的种子数据。与居民出行调查对应的字段口径能够匹配是开展基于高级出行需求模型的人口仿真的前提。例如本次居民出行调查缺乏人员教育程度信息,今后可按照人口普查的教育程度分类进行调查。另外,由于行业和职业的指标分类不一致,本次就业情况只能按照有就业、无就业、<15周岁不填三类进行对应,今后应进一步细化。高级出行需求模型的其他调查要求(例如考虑家庭成员的相互关系、应该调查同行人员等情况)超出了本文探讨的范围,不再展开。
上海市人口仿真以居民出行调查数据为种子数据,采用增强IPU算法在交通小区层面开展,相比IPF算法具有较大的改进。结果表明,各个边界约束条件的拟合效果都比较理想,人员性别、年龄和就业情况等交叉边界约束条件的拟合效果也比较理想,可以作为活动模型的基础输入数据。由于种子数据中集体户样本总量和类型不足,导致集体户、外来人口、5~19岁、20~29岁等类别的拟合效果相对较差,针对集体户的出行调查和人口仿真需要进一步深入研究。
人口仿真约束条件的地理空间分层以及种子应用的交通大区范围对仿真结果具有较大影响,这主要是由地理空间范围内的种子数(居民出行调查样本数)决定的。研究表明,在居民出行调查抽样率固定的情况下,进行不同规模的地理空间测试对获得理想的人口仿真结果是必要的。后续可以进一步开展交通大区的样本数或抽样率要求的定量分析研究。
仿真人口除了作为高级出行需求模型输入数据之外,还可以有丰富的应用场景。例如利用仿真人口估计个体出行方式选择,进而估算交通碳排放情况[11-12];基于仿真人口和居住模型模拟城市能源系统运行情况[13];基于仿真人口建立模型评估空气中的颗粒物对不同区域内的人口死亡率和医院就诊频率的影响[14]。此类应用中,仿真人口一般作为基础数据之一,提供微观层面家庭和人员的详细信息,叠加其他调查数据或者模型技术可发挥更大的作用。在当前倡导人民城市发展理念、强调精细化治理的背景下,仿真人口的应用模式有待进一步研究和实践。
《城市交通》2023年第5期刊载文章
作者:张天然,朱春节,陈先龙,叶昕,王波

点击“阅读原文”查看
“案例研究”栏目更多内容

关注解锁更多精彩
2024021期
编辑 | 耿雪
审校 | 张宇
排版 | 耿雪
原文始发于微信公众号(城市交通):张天然 | 高级出行需求模型的增强人口仿真研究