CN113329398B - 一种基于整数规划的敏感上下车模式的隐藏方法 - Google Patents
一种基于整数规划的敏感上下车模式的隐藏方法 Download PDFInfo
- Publication number
- CN113329398B CN113329398B CN202110591865.XA CN202110591865A CN113329398B CN 113329398 B CN113329398 B CN 113329398B CN 202110591865 A CN202110591865 A CN 202110591865A CN 113329398 B CN113329398 B CN 113329398B
- Authority
- CN
- China
- Prior art keywords
- getting
- numpupo
- mode
- sensitive
- support
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/63—Location-dependent; Proximity-dependent
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Train Traffic Observation, Control, And Security (AREA)
Abstract
本发明提供一种基于整数规划的敏感上下车模式的隐藏方法,步骤为;1.上下车轨迹点对的提取以及其包含时空信息的离散;2.计算上车模式、下车模式、上下车模式的支持度,并基于用户设定的支持度阈值得到频繁的上下车模式集合;3.用户敏感的频繁上下车模式集的获取,支持矩阵的构建,条件表达的处理,整数规划求解和最佳移除项的确定,以及原始上下车轨迹数据的修改。与现有方法相比,本发明具有高精确性和高效率的优势。
Description
技术领域
本发明涉及空间数据隐私保护技术研究领域,具体是涉及一种基于整数规划的敏感上下车模式的隐藏方法。
背景技术
近年来,随着城市建设的快速发展,网约车得到了大量普及。乘客通过网络APP软件可以提前预约车辆安排出行,司机通过后台管理系统可以实现灵活接单和最佳路径导航。在此过程中,网约车运营平台系统积累产生了大量的网约车运行轨迹数据。采用大数据挖掘和人工智能技术,对海量的网约车轨迹数据进行分析,可以从中发现众多网约车轨迹中蕴含的频繁出现的运动模式规律。基于这些运动模式规律,网约车运营平台系统可以实现资源优化的分配方案、个性化的智能推荐等优化管理功能。
但是,对网约车轨迹中蕴含运动模式规律的分析,也可能会带来一定的信息安全问题。当运动模式规律中包含的空间区域如果涉及到敏感空间信息(例如,军事禁区等),运动模式规律就会有敏感特性,会对满足敏感模式前置条件的网约车司机带来信息安全问题。因此,网约车运营平台系统必须加强网约车轨迹数据的安全管理。在其将拥有的网约车轨迹数据进行共享发布,或者与其他行业部门进行信息交换时,必须对网约车轨迹数据进行分析,消除其中包含的敏感模式规律。
目前,国内外学者对隐藏敏感模式的相关研究较为丰富。Verykios等人提出了通过降低对关联规则的置信度、控制数据集中信息相异程度的方法。Oliveira等人提出了4种隐藏频繁项集的算法,以数据库中事务支持的敏感项集的数量为依据,识别需要净化的事务数据。Zaiane等人提出了利用敏感规则分组的方式来处理规则之间相交的问题的IGA算法。
然而,上述方法存在以下问题:(1)敏感项集不能实现完全隐藏,且精确度较低,对于数据敏感安全性要求较高的场景并不适用。(2)隐藏敏感模式的数据处理“副作用”较大,在完成隐藏敏感模式的同时,会删除较多的非敏感数据,降低了数据集的可用性。因此,需要设计实现一种可是实现敏感模式精确隐藏,且尽可能保证数据集可用性的方法。
发明内容
为解决上述技术问题,本发明提供了一种基于整数规划的敏感上下车模式的隐藏方法,该方法不需要处理全部数据,只需对含特定内容的数据进行处理,具有数据修改精确性高、“副作用”小以及计算效率高的优势,具有广阔的市场应用前景。
本发明所述的一种基于整数规划的敏感上下车模式的隐藏方法,所述方法的步骤为:
步骤1、采集网约车上下车轨迹数据,构建上下车轨迹数据集,对所述数据集中的数据进行预处理;
步骤2、对频繁上下车模式进行挖掘;
步骤3、对网约车轨迹数据中敏感上下车模式进行隐藏。
进一步的,对网约车轨迹数据预处理的步骤为:
步骤1-1、计算网约车上下车轨迹数据集中每条轨迹所对应的上下车轨迹点对序列;
步骤2-2、对上下车轨迹点对序列中时空信息进行离散,得到时空离散的上下车轨迹点对序列。
进一步的,频繁上下车模式的挖掘的步骤为:
步骤2-1、构建上下车轨迹点对集合;
步骤2-2、计算上车模式、下车模式、上下车模式的支持度;
步骤2-3、基于用户设定的支持度阈值得到频繁的上下车模式集合。
进一步的,对网约车轨迹数据中敏感上下车模式进行隐藏的步骤为:
步骤3-1、从频繁的上下车模式集合得到敏感的频繁上下车模式集;
步骤3-2、计算敏感的频繁上下车模式集的支持矩阵;
步骤3-3、基于整数规划实现敏感上下车模式的隐藏;
步骤3-4、基于最佳项移除确定需要修改的时空离散的上下车轨迹点对中的时空信息;
步骤3-5、修改原始的上下车轨迹数据。
本发明所述的有益效果为:本发明通过采用整数规划的最优化求解以及最佳项移除,快速排除非频繁、非敏感的模式以及数据,只针对敏感的频繁模式以及相关联的轨迹数据进行处理,大大减少数据处理量,具有高精确性、小“副作用”以及高计算效率的优势。
附图说明
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明;
图1是本发明所述方法的流程图;
图2是网约车的上下车轨迹数据的空间分布;
图3是时空离散的上下车轨迹点对序列的空间分布;
图4是敏感的频繁上下车模式集的空间分布;
图5是修改后的时空离散的上下车轨迹点对;
图6是修改后上下车轨迹。
具体实施方式
首先,给出如下的基本定义:
定义1上下车轨迹:Traj={VID,date,{tp1,tp2,...,tpn}}表示为一辆网约车某天的上下车轨迹,其中,VID表示车辆的编号,date表示轨迹记录的日期,tpi={time,flag,lat,lon},1≤i≤n表示其中的一个轨迹点,time表示轨迹记录的时间,且tpi·time≥tpi+1·time表示轨迹点tpi先于tpi+1生成,flag表示乘客上下车的标识,flag=0表示乘客上车,flag=1表示乘客下车,当i=1时flag=0,当i=n时flag=1,lat表示轨迹点对应的经度值,lon表示轨迹点对应的纬度值。
定义2上下车轨迹点对:给定一条上下车轨迹
Traj={VID,date,{tp1,tp2,...,tpn}},如果其中的两个轨迹点tpi,tpi+1,1≤i≤(n-1)满足条件:(tpi·flag=0)∧(tpi+1·flag=1),也即tpi是上车点,tpi+1是下车点,则tpi、tpi+1可以形成一个上下车轨迹点对:
RecPuPo={VID,Date,Pulat,Pulon,Putime,Polat,Polon,Potime}
其中,RecPuPo·VID=Traj·VID,RecPuPo·date=Traj·date,RecPuPo·Pulat=tpi·lat,RecPuPo·Pulon=tpi·lon,RecPuPo-Putime=tpi-time,RecPuPo·Polat=tpi+1·lat,RecPuPo·Polon=tpi+1·lon,RecPuPo·Potime=tpi+1·time;
Traj中所有轨迹点构成的所有上下车轨迹点对,按顺序组合得到上下车轨迹点对序列RecPuPoSe={RecPuPo1,RecPuPo2,…,RecPuPom},1≤m≤n/2。
定义3时空离散的上下车轨迹点对:给定一个上下车轨迹点对RecPuPo={VID,Date,Pulat,Pulon,Putime,Polat,Polon,Potime},将其包含的时间信息{Putime,Potime}、空间信息Pulat,Pulon,Polat,Polon}分别映射到离散的时间段和空间网格中,可以得到对应的时空离散的上下车轨迹点对NumPuPo={VID,Date,Pusnum,Putnum,Posnum,Potnum},
其中NumPuPo·VID=RecPuPo·VID,NumPuPoDate=RecPuPoDate,表示网格Pusnum的空间范围包含上车点的经度Pulat和纬度Pulon,表示时段Putnum的时间范围包含上车点的时间Putime,
进一步,由Traj的上下车轨迹点对序列RecPuPoSe,可以得到时空离散的上下车轨迹点对序列NumPuPoSe={NumPuPo1,NumPuPo2,…,NumPuPom}。
定义4上下车模式:U={Pusnum,Putnum}表示一个上车模式,O=Posnum,Potnum}表示一个下车模式,L={Pusnum,Putnum,Posnum,Potnum}表示一个上下车模式,其中,Pusnum表示上车点所在的空间网格,Putnum表不上车时间所在的时段,Posnum表示下车点所在的空间网格,Potnum表示下车时间所在的时段。
定义5上下车模式的支持:给定一上车模式U={Pusnum,Putnum},以及一个时空离散的上下车轨迹点对NumPuPo={VID,DataPusnum,Putnum,Posnum,Potnum},如果满足条件:(NumPuPo·Pusnum=U·Pusnum)∧(NumPuPo·Putnum=u·Putnum),则称NumPuPo支持U,记为:
同理,给定一下车模式O={Posnum,Potnum},以及一个时空离散的上下车轨迹点对NumPuPo={VID,Date,Pusnum,Putnum,Posnum,Potnum},如果满足条件:
进一步,给定一上下车模式L={Pusnum,Putnum,Posnum,Potnum},以及一个时空离散的上下车轨迹点对NumPuPo={VID,Date,Pusnum,Putnum,Posnum,Potnum},如果满足条件:
定义6上下车模式的支持度:给定上下车轨迹集合Trajs={Traj1,Traj2,...,Trajn},以及所对应的时空离散的上下车轨迹点对序列集合NumPuPoSes={NumPuPoSe1NumPuPoSe2,…,NumPuPoSen},NumPuPoSes中所有时空离散的上下车轨迹点对序列中的元素组成一个时空离散的上下车轨迹点对集合NumPuPos={NumPuPo1,NumPuPo2,…,NumPuPom},对于一上车模式U,NumPuPos对U的支持度定义为:
如果Support(NumPuPos,U)≥σmin,σmin为用户设定的支持度阈值,则称U为频繁的上车模式,记为FU;
同理,对于一下车模式O,NumPuPos对O的支持度定义为:
如果Support(NumPuPos,O)≥σmin,σmin为用户设定的支持度阈值,则称O为频繁的下车模式,记为FO;
进一步,对于一上下车模式L,NumPuPos对其支持度定义为:
如果Support(NumPuPos,L)≥σmin,σmin为用户设定的支持度阈值,则称L为频繁的上下车模式,记为FL。
定义7敏感的频繁上下车模式集:给定一频繁的上车模式集FUs={FU1,FU2,…,FUn},对于其中上车模式FUi,1≤i≤n,如果其包含的时空信息具有敏感属性,也即FUi与敏感的时空区域SenST的交集不为空(FUi⌒SenST)≠φ,则称FUi为敏感的频繁上车模式,记为FSenUi,对应的敏感的频繁的上车模式集记为FSenUs={FSenU1,FSenU2,…,FSenUm},1≤m≤n;
同理,可定义敏感的频繁的下车模式集记为FSenOs={FSenO1,FSenO2,…,FSenOm},1≤m≤n;
进一步,可定义敏感的频繁的上下车模式集记为FSenLs={FSenL1,FSenL2,…,FSenLm},1≤m≤n。
定义8支持矩阵:给定一个时空离散的上下车轨迹点对集合NumPuPos={NumPuPo1,NumPuPo2,…,NumPuPon},以及从中挖掘分析得到的敏感的频繁的上车、下车、上下车模式集合FSenUs、FSenOs、FSenLs的并集FSenUOLs={FSenUOL1,FSenUOL2,…,FSenUOLm},其中,支持FSenUOLs中元素NumPuPos的子集为NumPuPos′={NumPuPo′1,NumPuPo′2,…,NumPuPo′k},则对应的支持矩阵定义为:
定义9敏感模式隐藏:给定一个时空离散的上下车轨迹点对集合NumPuPos={NumPuPo1,NumPuPo2,…,NumPuPon},从中挖掘分析得到的敏感的频繁的上车、下车、上下车模式集合FSenUs、FSenOs、FSenLs的并集FSenUOLs={FSenUOL1,FSenUOL2,…,FSenUOLm},以及支持FSenUOLs中元素NumPuPos的子集为NumPuPos′={NumPuPo′1,NumPuPo′2,…,NumPuPo′k},如果通过对NumPuPos′中时空离散的上下车轨迹点对NumPuPo′j,1≤j≤k的修改,使得FSenUOLs中敏感的频繁模式FSenUOLi,1≤i≤k不再从NumPuPos中挖掘发现,则称FSenUOLi被隐藏;
为实现FSenUOLs中所有敏感的频繁模式的隐藏,需要对NumPuPos中时空离散的上下车轨迹点对进行修改的代价定义为:
其中,如Modi(NumPuPo′j)表示NumPuPo′j被修改,UModi(NumPuPo′j)表示NumPuPo′j未被修改;采用对NumPuPo′j记录进行删除称为清空式修改,如果只是修改NumPuPo′j支持的敏感模式项NumPuPo′j,1≤j≤k,则称为最佳项移除修改。
定义10整数规划:给定一个无重复的时空离散的上下车轨迹点对集合NumPuPos={NumPuPo1,NumPuPo2,…,NumPuPon},从中挖掘分析得到的敏感的频繁的上车、下车、上下车模式集合FSenUs、FSenOs、FSenLs的并集FSenUOLs={FSenUOL1,FSenUOL2,…,FSenUOLm},以及支持FSenUOLs中元素NumPuPos的子集为NumPuPo′s={NumPuPo′1,NumPuPo′2,…,NumPuPo′k},以及实现其敏感频繁模式隐藏的支持矩阵修改的代价则实现优化隐藏的整数规划定义为:
min MCost
其中,Support(NumPuPos,FSenUOLi)表示NumPuPos对FSenUOLi的支持度,minMCost表示用户设定的支持度阈值。
如图1所示,本发明所述的一种基于整数规划的敏感上下车模式的隐藏方法,包括如下步骤:
步骤1、对网约车上下车轨迹数据预处理,所述预处理步骤如下:
步骤1-1、计算网约车上下车轨迹数据集中每条轨迹所对应的上下车轨迹点对序列,如图2所示;
依据定义2,对每条上下车轨迹数据按照其中的表示乘客上下车的标识flag进行分离得到对应的上下车轨迹点对序列。
本实例中,使用包含4辆网约车的上下车轨迹数据集
Trajs={Traj1,Traj2,Traj3,Traj4},Traj1~Traj4的空间分布如图1所示,其中:
Traj1={1,2016/2/19,{tp1,tp2,tp3,tp4,tp5,tp6,tp7,tp8,tp9,tp10,tp11,tp12}},
Traj2={2,2016/2/19,{tp1,tp2,tp3,tp4,tp5,tp6,tp7,tp8,tp9,tp10}},
Traj3={3,2016/2/19,{tp1,tp2,tp3,tp4,tp5,tp6,tp7,tp8,tp9,tp10,tp11,tp12}},
Traj4={4,2016/2/19,{tp1,tp2,tp3,tp4,tp5tp6}}。
对于Traj1,其包含的轨迹点的信息如下:
tp1={5:00,up,41.952349,87.624672},tp2={5:15,off,41.942378,87.652781},
tp3={5:20,up,41.902781,87.665172},tp4={5:40,off,41.883192,87.681721},
tp5={5:40,up,41.883192,87.681721},tp6={6:00,off,41.862901,87.682901},
tp7={6:10,up,41.872891,87.682718},tp8={6:25,off,41.902812,87.683764},
tp9={6:25,up,41.902812,87.683764},tp10={7:00,off,41.967718,87.686671},
tp11={7:00,up,41.962718,87.682671},tp12={7:10,off,41.967812,87.662187}。
依据定义2,可得到由tp1、tp2形成一个上下车轨迹点对:
RecPuPo1={1,2016/2/19,41.952349,87.624672,5:00,41.942378,87.6527815:15}。
同理可得,
RecPuPo2={1,2016/2/19,41.902781,87.665172,5:20,41.883192,87.6817215:40},
RecPuPo3={1,2016/2/19,41.883192,87.6817215:40,41.862901,87.682901,6:00},
RecPuPo4={1,2016/2/19,41.872891,87.682718,6:10,41.902812,87.683764,6:25},
RecPuPo5={1,2016/2/19,41.902812,87.683764,6∶25,41.967718,87.686671,7:00},
RecPuPo6={1,2016/2/19,41.962718,87.682671,7:00,41.967812,87.662187,7:10};
从而,得到Traj1所对应的上下车轨迹点对序列
RecPuPoSe1={RecPuPo1,RecPuPo2,RecPuPo3,RecPuPo4,RecPuPo5,RecPuPo6};
对于Traj2,其包含的轨迹点的信息如下:
tp1={5:00,up,41.89819287.632178},tp2={5:20,off,41.902812,87.665323},
tp3={5:20,up,41.909812,87.669323},tp4={5:40,off,41.908453,87.687532},
tp5={5:40,up,41.908999,87.689886},tp6={6:05,off,41.872671,87.682718},
tp7={6:10,up,41.862912,87.682839},tp8={7:00,off,41.959234,87.687683},
tp9={7:00,up,41.952617,87.682913},tp10={7:25,off,41.962173,87.652812}。
对应的上下车轨迹点对为:
RecPuPo1={2,2016/2/19,41.898192,87.632178,5:00,41.902812,87.665323,5:20},
RecPuPo2={2,2016/2/19,41.909812,87.669323,5:20,41.908453,87.687532,5:40},
RecPuPo3={2,2016/2/19,41.908999,87.689886,5:40,41.872671,87.682718,6:05},
RecPuPo4={2,2016/2/19,41.862912,87.682839,6:10,41.959234,87.687683,7:00},
RecPuPo5={2,2016/2/19,41.952617,87.682913,7:00,41.962173,87.652812,7:25}。
所对应的上下车轨迹点对序列:
RecPuPoSe2={RecPuPo1,RecPuPo2,RecPuPo3,RecPuPo4,RecPuPo5}
对于Traj3,其包含的轨迹点的信息如下:
tp1={5:20,up,41.886712,87.652671},tp2={5:40,off,41.898371,87.682712},
tp3={5:55,up,41.956721,87.683712},tp4={6:10,off,41.906371,87.662781},
tp5={6:10,up,41.906371,87.662781},tp6={6:30,off,41.917261,87.687263},
tp7={6:35,up,41.867216,87.682718},tp8={6:45,off,41.872671,87.677825},
tp9={6:45,up,41.872671,87.677825},tp10={7:00,off,41.959988,87.680022},
tp11={7:00,up,41.962579,87.687218},tp12={7:10,off,41.96257,87.657832}。
对应的上下车轨迹点对为:
RecPuPo1={3,2016/2/19,41.886712,87.652671,5:20,41.898371,87.682712,5:40},
RecPuPo2={3,2016/2/19,41.956721,87.683712,5:55,41.906371,87.662781,6:10},
RecPuPo3={3,2016/2/19,41.906371,87.662781,6:10,41.917261,87.687263,6:30},
RecPuPo4={3,2016/2/19,41.867216,87.682718,6:35,41.872671,87.677825,6:45},
RecPuPo5={3,2016/2/19,41.872671,87.677825,6:45,41.959988,87.680022,7:00},
RecPuPo6={3,2016/2/19,41.962579,87.687218,7:00,41.96257,87.657832,7:10}。
所对应的上下车轨迹点对序列:
RecPuPoSe3={RecPuPo1,RecPuPo2,RecPuPo3,RecPuPo4,RecPuPo5,RecPuPo6}。
对于Traj4,其包含的轨迹点的信息如下:
tp1={5:20,up,41.847261,87.646282},tp2={6:00,off,41.826736,87.667281},
tp3={6:10,up,41.856273,87.698721}.,tp4={7:00,off,41.962781,87.682738},
tp5={7:10,up,41.962781,87.652613},tp6={7:25,off,41.896736,87.670972};
对应的上下车轨迹点对为:
RecPuPo1={4,2016/2/19,41.847261,87.646282,5:20,41.826382,87.667281,6:00},
RecPuPo2={4,2016/2/19,41.856273,87.698721,6:10,41.962781,87.682738,7:00},
RecPuPo3={4,2016/2/19,41.962781,87.6526137:10,41.896736,87.670972,7:25};
所对应的上下车轨迹点对序列:
RecPuPoSe4={RecPuPo1,RecPuPo2,RecPuPPo3}。
步骤1-2、对上下车轨迹点对序列中时空信息进行离散,得到时空离散的上下车轨迹点对序列,如图3所示;
先采用等间隔的方法对所有轨迹的时空范围进行离散化处理,然后将所有轨迹对应的上下车轨迹点对序列转化为时空离散的上下车轨迹点对序列;
本实例中,Trajs={Traj1,Traj2,Traj3,Traj4}中所有轨迹的时间范围为一天,以5分钟为一个间隔划分288个时间段;所有轨迹的经纬度坐标进行平面投影转化,并将其空间范围划分为3*3格网,编号由左到右、由上到下依次为1-9;
对于Traj1对应的上下车轨迹点对序列
RecPuPoSe1={RecPuPo1,RecPuPo2,RecPuPo3,RecPuPo4,RecPuPo5,RecPuPo6},其中,RecPuPo1上下车轨的上车点(41.952349,87.624672)位于格网1中,下车点(41.942378,87.652781)位于格网2中,上车时间5:00对应的时间段为61,下车时间5:15对应时间段为64,则得到RecPuPo1的时空离散的上下车轨迹点对NumPuPo1={1,2016/2/19,1,61,2,64};
进一步,得到上下车轨迹点对序列RecPuPoSe1中RecPuPo2~RecPuPo6的时空离散的上下车轨迹点对;
NumPuPo2={1,2016/2/19,5,65,6,69},NumPuPo3={1,2016/2/19,6,69,9,73},
NumPuPo4={1,2016/2/19,9,75,6,78},NumPuPo5={1,2016/2/19,6,78,3,85},
NumPuPo6={1,2016/2/19,3,85,2,87};
最终,得到RecPuPoSe1的时空离散的上下车轨迹点对序列
NumPuPoSe1={NumPuPo1,NumPuPo2,NumPuPo3,NumPuPo4,NumPuPo5,NumPuPo6}
同理,可以得到对于Traj2~Traj4对应上下车轨迹点对序列RecPuPoSo2~
RecPuPoSe4的时空离散的上下车轨迹点对序列:
NumPuPoSe2={NumPuPo1,NumPuPo2,NumPuPo3,NumPuPo4,NumPuPo5},其中,
NumPuPo1={2,2016/2/19,4,61,5,65},NumPuPo2={2,2016/2/19,5,65,6,69},
NumPmPo3={2,2016/2/19,6,69,9,74},NumPuPo4={2,2016/2/19,9,75,3,85},
NumPuPo5={2,2016/2/19,3,85,2,90};
NumPuPoSe5={NumPuPo1,NumPuPo2,NumPuPo3,NumPuPo4,NumPuPo5,NumPuPo6}
其中,NumPuPo1={3,2016/2/19,5,65,6,69},NumPuPo2={3,2016/2/19,3,72,5,75},
NumPuPo3={3,2016/2/19,5,75,6,79},NumPuPo4={3,2016/2/19,9,80,9,82},
NumPuPo5={3,2016/2/19,9,823,85},NumPuPo6={3,2016/2/19,3,85,2,87};
NumPuPoSe4={NumPuPo1,NumPuPo2,NumPuPo3},其中,
NumPuPo1={4,2016/2/19,7,65,8,73},NumPuPo2={4,2016/2/19,9,75,3,85},
NumPuPo3={4,2016/2/19,2,87,5,90}.
NumPuPoSe1~NumPuPoSe4时空离散的上下车轨迹点对序列的空间分布如图2所示。步骤2、对频繁上下车模式进行挖掘,其包括如下步骤:
步骤2-1、构建上下车轨迹点对集合;
将所有时空离散的上下车轨迹点对序列中的上下车轨迹点对进行合并得到上下车轨迹点对集合。
本实例中,将NumPuPoSe1~NumPuPoSe4的上下车轨迹点对序列进行合并得到上下车轨迹点对集合NumPuPos={NumPuPo1,NumPuPo2,...,NumPuPo20},其中:
NumPuPo1={1,2016/2/19,1,612,64},NumPuPo2={1,2016/2/19,5,65,6,69},
NumPuPo3={1,2016/2/19,6,69,9,73},NumPuPo4={1,2016/2/19,9,75,6,78},
NumPuPo5={1,2016/2/19,6,78,3,85},NumPuPo6={1,2016/2/19,3,85,2,87},
NumaPuPo7={2,2016/2/19,4,61,5,65},NumPuPo8={2,2016/2/19,5,65,6,69},
NumPuPo9={2,2016/2/19,6,69,9,74},NumPuPo10={2,2016/2/19,9,75,3,85},
NumPuPo11={2,2016/2/19,3,85,2,90},NumPuPo12={3,2016/2/19,5,65,6,69},
NumPuPo13={3,2016/2/19,3,72,5,75},NumPuPo14={3,2016/2/19,5,75,6,79},
NumPuPo15={3,2016/2/19,9,80,9,82},NumPuPo16={3,2016/2/19,9,82,3,85},
NumPuPo17={3,2016/2/19,3,85,2,87},NumPuPo18={4,2016/2/19,7,65,8,73},
NumPuPo19={4,2016/2/19,9,75,3,85},NumPuPo20={4,2016/2/19,2,87,5,90}。
步骤2-2、计算上车模式、下车模式、上下车模式的支持度;
以上下车轨迹点对集合中第一个上下车轨迹点对为起点,顺序、无重复计算集合中包含的所有上车模式、下车模式、上下车模式的支持度。
本实例中,首先,从第一个上下车轨迹点对NumPuPo1={1,2016/2/19,1,61,2,64}得到上车模式U1={1,61}、下车模式o1={2,64}、上下车模式L1={1,61,2,64},并依据定义6分别计算NumPuPos对这些模式的支持度。
由于只有NumPuPo1={1,2016/2/19,1,1,2,64}支持U1={1,61}、o1={2,64}、L1={1,61,2,64},也即是 因此,Support(NumPuPos,U1={1,61})=1、Support(NumPuPos,O1={2,64})=1、Support(NumPuPos,L1={1,61,2,64})=1;
然后,依次从其他上下车轨迹点NumPuPo2~NumPuPo20发现无重复的上车模式、下车模式以及上下车模式,并依据定义6计算NumPuPos对这些模式的支持度;具体信息为:
Support(NumPuPos,U2={2,87})=1、Support(NumPuPos,O2={2,87})=2、
Support(NumPuPos,L2={2,87,5,90})=1,
Support(NumPuPos,U3={3,72})=1、Support(NumPuPos,O3={2,90})=1、
Support(NumPuPos,L3={3,72,5,75})=1,
Support(NumPuPos,U4={3,85})=3.、Support(NumPuPos,O4={3,85})=4、
Support(NumPuPos,L4={3,85,2,87})=2,
Support(NumPuPos,U5={4,61})=1、Support(NumPuPos,O5={5,65})=1、
Suppor(NumPuPos,L5={3,85,2,90})=1,
Support(NumPuPos,U6={5,65})=3.、Support(NumPuPos,O6={5,75})=1
Support(NumPuPos,L6={4,61,5,65})=1,
Support(NumPuPos,U7={5,75})=1、Support({NumPuPos,O7={5,90})=1、
Support(NumPuPos,L7={5,65,6,69})=3,
Support(NumPuPos,U8={6,69})=2、Support(NumPuPos,O8={6,69})=3、
Suppor(NumPuPos,L8={5,75,6,79})=1,
Support(NumPuPos,U9={6,78})=1、Support(NumPuPos,O9={6,78})=1、
Suppor(NumPuPos,L9={6,69,9,73})=1,
Support(NumPuPos,U10={7,65})=1、Support(NumPuPos,O10={6,79})=1、
Support(NumPuPos,L10={6,69,9,74})=1,
Support(NumPuPos,U11={9,75})=3、Support(NumPuPos,O11={8,73})=1、
Support(NumPuPos,L11={6,78,3,85})=1,
Support(NumPuPos,U12={9,80})=1、Support(NumPuPos,O12={9,73})=1、
Support(NumPuPos,L12={7,65,8,73})=1,
Support(NumPuPos,U13={9,82})=1、Support(NumPuPos,O13={9,74})=1、
Support(NumPuPos,L13={9,75,3,85})=2,
Support(NumPuPos,O14={9,82})=1、Support(NumPuPos,L14={9,75,6,78})=1、
Support(NumPuPos,L15={9,80,9,82})=1,
Support(NumPuPos,L16={9,82,3,85})=1.,
步骤2-3、基于用户设定的支持度阈值得到频繁的上下车模式集合;
基于用户设定的支持度阈值,通过与步骤2-2中计算的上车模式、下车模式、上下车模式支持度的比较,得到频繁的上车模式集、下车模式集、上下车模式集;
本实例中,设定最小支持度阈值为2即σmin=2,并通过与步骤2-2中计算的上车模式、下车模式、上下车模式支持度的比较,得到频繁的上车模式集FUs={FU1,FU2,FU3,FU4}、频繁的下车模式集FOs={FO1,FO2,FO3}、频繁的上下车模式集FLs={FL1,FL2,FL3};其中,FU1={3,85},FU2={5,65},FU3={6,69},FO1={2,87},FO2={3,85},FO3={6,69},FL1={3,85,2,87},FL2={5,65,6,69},FL3={9,75,3,85}。
步骤3、基于整数规划的网约车轨迹数据中敏感上下车模式的隐藏,其具体步骤为:
步骤3-1、从频繁的上下车模式集合得到敏感的频繁上下车模式集;
基于用户的设定的敏感时空信息,从频繁的上下车模式集合得到敏感的频繁上下车模式集。
本实例中,依据用户设定的敏感时空信息,得到敏感的频繁的上车模式集FSenUs={FSenU1}、频繁的下车模式集FSenOs={FSenO1}、敏感的频繁的上下车模式集FSenLs={FSenL1},其中,FSenU1={6,69},FSenO1={3,85},FSenL1={5,65,6,69},其空间分布如图3所示;最终,得到敏感的频繁的上车、下车、上下车模式集合FSenUs、FSenOs、FSenLs的并集FSenUOLs={FSenUOL1,FSenUOL2,FSenUOL3},其中,FSenUOL1={6,69},FSenUOL2={3,85},FSenUOL3={5,65,6,69}。
步骤3-2、计算敏感的频繁上下车模式集的支持矩阵;
从时空离散的上下车轨迹点对集合得到支持敏感的频繁上车、下车、上下车模式集合的上下车轨迹点对子集,并依据定义8,计算时空离散的上下车轨迹点对集合对敏感的频繁上车、下车、上下车模式集合的支持矩阵。
本实例中,首先,从时空离散的上下车轨迹点对集合得到
NumPuPos={NumPuPo1,NumPuPo2,…,NumPuPo20}对于
FSenUOLs={FSenUOL1,FSenUOL2,FSenUOL3}支持的上下车轨迹点对子集
NumPuPo′s=[NumPuPo′1,NumPuPo′2,…,NumPuPo′13},其中:
NumPuPO1=NumPuPo2,NumPuPo′2=NumPuPo3,NumPuPo′3=NumPuPo′4,NumPuPo′4=NumPuPo5,NumPuPo′5=NumPuPo6,NumPuPo′6=NumPuPo8,NumPuPo′7=NumPuPo9,NumPuPo′8=NumPuPo10,NumPuPo′9=NumPuPo11,NumPuPo′10=NumPuPo12,NumPuPo′11=NumPuPo16,NumPuPo′12=NumPuPo17,NumPuPo′13=NumPuPo19;
然后,并依据定义8,计算NumPuPos′对FSenUOLs的支持矩阵
同理,计算得到:cm1,3=0,cm1,4=0,cm1,5=0,cm1,6=0,cm1,7=1,cm1,8=0,cm1,9=0,cm1,10=0,cm1,11=0,cm1,12=0,cm1,13=0;
进一步,计算得到:cm2,1=0,cm2,2=0,cm2,3=0,cm2,4=1,cm2,5=0,cm2,6=0,cm2,7=0,cm2,8=1,cm2,9=0,cm2,10=0,cm2,11=1,cm2,12=0,cm2,13=1;
cm3,1=1,cm3,2=0,cm3,3=0,cm3,4=1,cm3,5=0,cm3,6=1,cm3,7=0,cm3,8=0,cm3,9=0,cm3,10=1,cm3,11=0,em3,12=0,cm3,13=0;
最终,得到支持矩阵:
步骤3-3、基于整数规划实现敏感上下车模式的隐藏;
依据定义10,得到实现时空离散上下车轨迹点修改代价最小的整数规划公式,基于最优求解得到需要修改的时空离散的上下车轨迹点对,以及对应的原始轨迹信息。
本实例中,基于步骤3-2计算的支持矩阵CM,用户设定的最小支持度阈值σmin=2,以及为隐藏敏感模式FSenUOLs={FSenUOL1,FSenUOL2,FSenUOL3}需要修改NumPuPo′s={NumPuPo′1,NumPuPo′2,…,NumPuPo′3}的代价
min MCost
也即,
min(y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13)
进一步,依据NumPuPos′对敏感模式FSenUOL1、FSenUOL2、FSenUOL3的支持度,分别为Support(NumPuPos′,FSenUOL1={6,69})=2、Support(NumPuPos′,FSenUOL2={3,85})=4、Support(NumPuPos′,FSenUOL3={5,65,6,69})=3,得到:
main(y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13)
进一步,依据支持矩CM中元素的取值得到:
min(y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13)
s.t y2+y7≥1
y4+y8+y11+y13≥3
y1+y6+y10≥2
最后,通过对整数规划公式的求解,得到y4=y6=y7=y8=y10=y11=1,y1=y2=y3=y5=y9=y12=y13=0。因此,只需要对支持敏感模式的上下车轨迹点对集合NumPuPos′中的NumPuPo′4,NumPuPo′6,NumPuPo′7,NumPuPo′8,NumPuPo′10,NumPuPo′11进行修改,也即只需要对支持敏感模式的上下车轨迹点对集合NumPuPo中的NumPuPo5,NumPuPo8,NumPuPo9,NumPuPo10,NumPuPo12,NumPuPo16进行修改。
步骤3-4、基于最佳项移除确定需要修改的时空离散的上下车轨迹点对中的时空信息;
依据敏感的上下车模式中的时空信息,对整数规划求解的需要修改的时空离散的上下车轨迹点对中包含的敏感项进行修改。
本实例中,依据敏感模式FSenUOLs={FSenUOL1,FSenUOL2,FSenUOL3}中的时空信息,也即是:FSenUOL1={6,69}FSenUOL2={3,85}FSenUOL3={5,65,6,69},确定NumPuPo5,NumPuPo8,NumPuPo9,NumPuPo10,NumPuPo12,NumPuPo16中的移除最佳项。
具体地,对于NumPuPo5只需要对其中敏感项集中的某一项或某几项进行修改,这里将FSenUOL2={3,85}的第1项修改为*,即修改为{*,85},最终得到修改后的时空离散的上下车轨迹点对M_NumPuPo5={1,2016/2/19,6,78,*,85}。
同理,可对其他时空离散的上下车轨迹点对进行修改,具体信息如下:
M_NumPuPo8={2,2016/2/19*,65,6,69},
M_NumPuPo9={2,2016/2/19,*,69,9,74},
M_NumPuPo10={2,2016/2/19,9,75,*,85},
M_NumPuPo12={3,2016/2/19,*,65,*,69},
M_NumPuPo16={3,2016/2/19,9,82,*,85}。
其空间分布如图5所示
步骤3-5、修改原始的上下车轨迹数据;
依据修改的时空离散的上下车轨迹点对信息,对原始的上下车轨迹信息进行修改。
本实例中,依据修改的时空离散的上下车轨迹点对
M_NumPuPo5={1,2016/2/19,6,78,*,85},匹配到RecPuPoSe1中的
RecPuPo5={1,2016/2/19,41.902812,87.683764,6:25,41.967718,87.686671,7:00},对进行对应修改后得到
RecPuPoSe1·M_RecPuPo5={1,2016/2/19,41.902812,87.683764,6:25,*,*,7:00}。
同理,依据M_NumPuPo8,M_NumPuPo9,M_NumPuPo10,M_NumPuPo12,M_NumPuPo16,分别匹配到RecPuPoSe2中的RecPuPo2={2,2016/2/19,41.909812,87.669323,5:20,41.908453,87.687532,5:40},RecPuPo3={2,2016/2/19,41.908453,87.687532,5:40,41.872671,87.682718,6:05},RecPuPo4={2,2016/2/19,41.862912,87.682839,6:10,41.959234,87.687683,7:00}。
RecPuPoSe3中的RecPuPo1={3,2016/2/19,41.886712,87.65267,15:20,41.898371,87.682712,5:40},RecPuPo5={3,2016/2/19,41.872671,87.677825,6:45,41.959988,87.680022,7:00}。
分别对进行对应修改后得到:
RecPuPoSe2·M_RecPuPo2={2,2016/2/19,*,*,5:20,41.908453,87.687532,5:40},
RecPuPoSe2·M_RecPuPo3={2,2016/2/19,*,*,5:40,41.872671,87.682718,6:05},
RecPuPoSe2·M_RecPuPo4={2,2016/2/19,41.862912,87.682839,6:10,*,*,7:00},
RecPuPoSe3·M_RecPuPo1={3,2016/2/19,*,*,5:20,*,*,5:40},
RecPuPoSe3·M_RecPuPo5={3,2016/2/19,41.872671,87.677825,6:45,*,*,7:00}。
进一步进行对应的原始上下车轨迹点修改,也即是分别对于Traj1中的tp10={7:00,off,41.967718,87.686671},Traj2中的tp3={5:20,up,41.909812,87.669323},tp5={5:40,up,41.908999,87.689886},tp8={7:00,off,41.959234,87.687683},Traj3中的tp1={5:20,up,41.886712,87.652671},tp2={5:40,off,41.898371,87.682712},tp10={7:00,off,41.959988,87.680022}进行修改。
对应地得到,
M_Traj1_tp10={7:00,off,*,*},M_Traj2_tp3={5:20,up,*,*},
M_Traj2_tp5={5:40,up,*,*},M_Traj2_tp8={7:00,off,*,*},
M_Traj3_tp1={5:20,up,*,*},M_Traj3_tp2={5:40,off,*,*},
M_Traj3_tp10={7:00,off,*,*};
最终得到修改后的轨迹分别是:
其空间分布如图6所示。
以上所述仅为本发明的优选方案,并非作为对本发明的进一步限定,凡是利用本发明说明书及附图内容所作的各种等效变化均在本发明的保护范围之内。
Claims (1)
1.一种基于整数规划的敏感上下车模式的隐藏方法,其特征在于,所述方法的步骤为:
步骤1、对网约车轨迹数据进行预处理;
步骤1-1、计算网约车上下车轨迹数据集中每条轨迹所对应的上下车轨迹点对序列;
步骤2-2、对上下车轨迹点对序列中时空信息进行离散,得到时空离散的上下车轨迹点对序列;
步骤2、对频繁上下车模式进行挖掘;
步骤2-1、构建上下车轨迹点对集合;
步骤2-2、计算上车模式、下车模式、上下车模式的支持度;
步骤2-3、基于用户设定的支持度阈值得到频繁的上下车模式集合;
步骤3、对网约车轨迹数据中敏感上下车模式进行隐藏;
步骤3-1、从频繁的上下车模式集合得到敏感的频繁上下车模式集;
步骤3-2、计算敏感的频繁上下车模式集的支持矩阵;
步骤3-3、基于整数规划实现敏感上下车模式的隐藏;
所述整数规划定义为:给定一个无重复的时空离散的上下车轨迹点对集合NumPuPos={NumPuPo1,NumPuPo2,…,NumPuPon},从中挖掘分析得到的敏感的频繁的上车、下车、上下车模式集合FSenUs、FSenOs、FSenLs的并集FSenUOLs={FSenUOL1,FSenUOL2,…,FSenUOLm},1≤m≤n,以及支持FSenUOLs中元素NumPuPos的子集为NumPuPos′={NumPuPo′1,NumPuPo′2,…,NumPuPo′k},以及实现其敏感频繁模式隐藏的支持矩阵修改的代价,则实现优化隐藏的整数规划定义为:
min MCost
依据上述整数规划的定义,得到实现时空离散上下车轨迹点修改代价最小的整数规划公式,基于最优求解得到需要修改的时空离散的上下车轨迹点对,以及对应的原始轨迹信息;
步骤3-4、基于最佳项移除确定需要修改的时空离散的上下车轨迹点对中的时空信息;
依据敏感的上下车模式中的时空信息,对整数规划求解的需要修改的时空离散的上下车轨迹点对中包含的敏感项进行修改;
步骤3-5、修改原始的上下车轨迹数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110591865.XA CN113329398B (zh) | 2021-05-28 | 2021-05-28 | 一种基于整数规划的敏感上下车模式的隐藏方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110591865.XA CN113329398B (zh) | 2021-05-28 | 2021-05-28 | 一种基于整数规划的敏感上下车模式的隐藏方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113329398A CN113329398A (zh) | 2021-08-31 |
CN113329398B true CN113329398B (zh) | 2022-08-02 |
Family
ID=77422090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110591865.XA Active CN113329398B (zh) | 2021-05-28 | 2021-05-28 | 一种基于整数规划的敏感上下车模式的隐藏方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113329398B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078754A (zh) * | 2019-12-19 | 2020-04-28 | 南京柏跃软件有限公司 | 基于海量时空数据的频繁轨迹提取方法及其挖掘系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108133611A (zh) * | 2016-12-01 | 2018-06-08 | 中兴通讯股份有限公司 | 车辆行驶轨迹监测方法及系统 |
CN107277855B (zh) * | 2017-04-20 | 2019-12-17 | 西安电子科技大学 | 一种保障安全类业务的车联网媒体接入方法 |
CN111009123A (zh) * | 2019-11-20 | 2020-04-14 | 安徽百诚慧通科技有限公司 | 一种基于prefixspan算法的车辆频繁轨迹挖掘方法及系统 |
-
2021
- 2021-05-28 CN CN202110591865.XA patent/CN113329398B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078754A (zh) * | 2019-12-19 | 2020-04-28 | 南京柏跃软件有限公司 | 基于海量时空数据的频繁轨迹提取方法及其挖掘系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113329398A (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhu et al. | Modeling car-following behavior on urban expressways in Shanghai: A naturalistic driving study | |
Ma et al. | Driving style recognition and comparisons among driving tasks based on driver behavior in the online car-hailing industry | |
Jindal et al. | Optimizing taxi carpool policies via reinforcement learning and spatio-temporal mining | |
Qiu et al. | Clustering passenger trip data for the potential passenger investigation and line design of customized commuter bus | |
US7391341B2 (en) | System and method of optimizing a fixed-route transit network | |
Chien et al. | Optimal feeder bus routes on irregular street networks | |
CN111160622A (zh) | 基于混合神经网络模型的景区客流预测方法和装置 | |
CN115691137B (zh) | 一种基于因果马尔科夫模型的多模态数据预测方法 | |
Kedia et al. | Fuzzy logic approach in mode choice modelling for education trips: A case study of Indian metropolitan city | |
Yang et al. | Truck parking pattern aggregation and availability prediction by deep learning | |
CN108446331A (zh) | 关系网络数据更新的方法和装置、计算机可读存储介质 | |
Tilg et al. | Simulation-based design of urban bi-modal transport systems | |
CN115269758A (zh) | 面向乘客诱导的路网客流状态推演方法及系统 | |
CN113329398B (zh) | 一种基于整数规划的敏感上下车模式的隐藏方法 | |
Xu et al. | A taxi dispatch system based on prediction of demand and destination | |
CN114839984A (zh) | 一种班车路径规划方法、装置、设备及存储介质 | |
Wang et al. | A state dependent mandatory lane-changing model for urban arterials with hidden Markov model method | |
Solé et al. | Towards drivers’ safety with multi-criteria car navigation systems | |
CN117251722A (zh) | 一种基于大数据的智慧交通管理系统 | |
US20230177959A1 (en) | Vehicle accident prediction system, vehicle accident prediction method, vehicle accident prediction program, and learned model creation system | |
Shen et al. | A Baselined Gated Attention Recurrent Network for Request Prediction in Ridesharing | |
CN113792945A (zh) | 一种营运车辆的派遣方法、装置、设备及可读存储介质 | |
CN112988855A (zh) | 一种基于数据挖掘的地铁乘客分析方法及系统 | |
Dzemydienė et al. | Methodology for the multi-objective analysis of data sets in freight delivery | |
CN111524354B (zh) | 基于语言模型的城市交通网络路径选择行为的预测方法、系统、介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |