[0006] 本发明的目的是针对现有技术的不足,为了充分融合LDA与k‑means的优点,提高公共自行车功能聚类的有效性,本发明提出了一种公共自行车系统租赁点功能聚类方法。
[0007] 本发明解决其技术问题所采的技术方案包含以下步骤:
[0008] 步骤1、对于公共自行车系统,首先利用租赁点位置信息,采用泰森多边形算法对城市进行区域划分,每个租赁点覆盖一定的区域,将每个租赁点看做一个“文本”进行挖掘分析。
[0009] 步骤2、将公共自行车系统的使用历史记录转换为该租赁点所包含的“单词”。
[0010] 步骤3、使用LDA模型和K‑means算法对租赁点进行租赁点功能识别。
[0011] 步骤4、对每个聚类结果进行时空特征分析,定义每种聚类包含的那些租赁点所代表的功能。
[0012] 步骤2所述的将公共自行车系统的使用历史记录转换为该租赁点所包含的“单词”,具体操作如下:
[0013] 2‑1.定义每个乘客的一次出行产生的记录为TS,TS=(TS.SO,TS.tO,TS.SD,TS.tD),其中,TS.SO表示借车站点,TS.SD表示还车站点,TS.tO表示借车时刻,TS.tD表示还车时刻。
[0014] 2‑2.由于用户能够在任意租赁点租借/归还自行车,因此设置两种客流模式:租借模式、归还模式;定义MO为租借模式:MO=(TS.SO,TS.SD,TS.tO);定义MD为归还模式:MD=(TS.SO,TS.SD,TS.tD)。
[0015] 2‑3.对每个租赁点设置两种使用模式,分别为租借模式和归还模式,分别定义为XSO、XSD。根据用户的客流模式得出所有租赁点s(1…S)的使用模式向量:
[0016] XSO=(CO1,CO2,…,COs,…,COS);
[0017] XSD=(CD1,CD2,…,CDs,…,CDS)。
[0018] 其中,COs为在编号为s的租赁点发生租借行为的所有记录,COs=||{MO={x,y,z}|x=s,y=i,z=k||,COs它是一个S×T矩阵,表示在时间点(1…k··T)内,从编号为s的租赁点借车,到编号为(1··i··S)的租赁点还车发生的记录统计量;同理,CDs为在编号为s的租赁点发生还车行为的所有记录,CDs=||{MD={x,y,z}|x=i,y=s,z=k||,它是一个S×T矩阵,表示在时间点(1…k··T)内,从编号为(1··i··S)的租赁点借车,到编号为s的租赁点还车发生的记录统计量。
[0019] 2‑4.将每一个租赁点作为一个文档,租赁点对应的区域功能视作文档的主题,租赁点的使用模式相当于组成每篇文档的单词。
[0020] 如同每篇文档的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到,租赁点的用户出行模式也可以推导出租赁点所在区域的功能。
[0021] 公共自行车系统一共有S个租赁点,设研究的文档个数也为S篇。根据租赁点的使用模式向量XSO和XSD,得出任意一个租赁点的组成内容为Cs=(WOs,WDs)。以编号为i的租赁点为例来说明一篇文档的单词是如何计算的,编号为i的租赁点的定义单词为WOi=COi,WDi=CDi。在时刻t时,从编号为i的租赁点借车去到租赁点编号为s(1,2,…,..,S)的租赁点还车的记录有M条,表示租赁点i有M个WOi=(i,s,t)这样的单词;在时刻t时,从编号为s(1,2,…,..,S)的租赁点借车去到租赁点编号为i的租赁点还车的记录有M条,表示租赁点i有M个WDi=(i,s,t)这样的单词。
[0022] 步骤3所述的使用LDA算法和K‑means算法对租赁点进行租赁点功能识别具体如下:
[0023] 3‑1.根据步骤2得出的每篇“文档”的“单词”,对公共自行车系统租赁点使用LDA算法并得到每个租赁点的主题分布,将得到文档在每一主题上的概率分布作为文档的特征值;
[0024] 所述对公共自行车系统租赁点使用LDA算法从而得到每个租赁点的主题分布的过程如下:
[0025] 3‑1‑1.对于所有的主题k∈[1,K]:生成
[0026] 3‑1‑2.对于所有的文档s∈[1,S]:
[0027] 生成文档‑主题分布
[0028] 生成文档的长度Ns,Ns~Poiss(ξ);
[0029] 3‑1‑3.对于任意一篇文档的单词n∈[1,Ns]:
[0030] 生成单词所对应的主题
[0031] 生成该主题对应的单词
[0032] 其中S为公共自行车系统租赁点的总数;K为设置的租赁点功能数(主题);Ns为编号为s的租赁点中单词的总数; 代表第s个租赁点的主题分布;Zs,n生成编号为s的租赁点的第n个单词的租赁点功能; 代表编号为k的主题之上的词分布; 代表每个租赁点的主题分布的先验分布Dirichlet分布的参数; 代表每个主题的词分布的先验分布Dirichlet分布的参数; 为通过租赁点的使用模式转化租赁点所具有的单词。
[0033] 所述的将得到文档在每一主题上的概率分布作为文档的特征值,具体的使用吉布斯采样来估计LDA分布,从而求出以下矩阵作为文档的特征值:每个租赁点的各个词被指定的主题编号:.tassign;每个租赁点的主题概率分布Θ:.theta;每个主题下的词概率分布φ:.phi;每个主题下φ概率排序从高到底top n特征词:.twords。
[0034] 3‑2.采用k‑means聚类算法对不同的文档进行功能聚类,具体实现步骤如下:
[0035] 3‑2‑1.随机选取K个聚类质心点为μ1,μ2,...,μk∈Rn;
[0036] 3‑2‑2.对于每一个文档i,计算该文档应该属于的类:
[0037] C(i)=arg minj||x(i)‑μj||2
[0038] 对于每一个类j,重新计算该类的质心点:
[0039]
[0040] 3‑2‑3.重复步骤3‑2‑2,直到该类的质心点收敛。
[0041] 步骤4所述的结合时空特征分析,定义每种聚类包含的那些租赁点所代表的功能,具体的:每个聚类结果结合其租赁点的地理位置信息和其周围分布的POI(Point of Interest)数据(POI即兴趣点,为具有地理位置的公共设施、店铺、居民楼等地点。POI数据的分布在一定程度上可以反映某类地物的分布),以及城市居民租借自行车的社会活动和社会时间定义该租赁点的功能,每个租赁点的功能包括:工作、娱乐、、居住、旅游等,具体的实现步骤如下:
[0042] 4‑1.根据公共自行车系统的历史用户使用记录分析城市居民租借自行车的社会活动和社会时间,具体的:功能为工作和居住的租赁点注册用户的使用频次要高于非注册用户,两类功能的租赁点在一天使用特征上呈现“双峰”状态,并且这两类的租赁点使用需求呈现相反状态:早高峰较多用户从居住功能的租赁点借车去工作功能的租赁点还车,晚高峰则相反;景区功能的租赁点则呈现“单峰”状态,并且非注册用户的使用频次要高于注册用户;居住功能的租赁点在早高峰时,较易出现“用户无法借车”情况,而晚高峰则出现“用户无法还车”情况,而工作区的租赁点则呈现相反状态。
[0043] 4‑2.分析聚类结果中的租赁点的地理位置信息和其周围POI分布,具体如下:
[0044] 4‑2‑1.租赁点的使用特征受到其空间位置影响,位于城市中心地带的租赁点集群的使用频次明显较多,这几个集群租赁点是将所有租赁点联系起来的核心租赁点。对于一个城市来说,商业区,住宅区,文化区构成了城市的必要组成部分,那么位于中心地带的租赁点则主要完成城市中工作、居住、娱乐功能。
[0045] 4‑2‑2.公共租赁点一共有S个,计算任意一个租赁点(1…i…S)所具有的POI分布统计,例如,对于任意租赁点Si,我们都可以求出POI分布向量POI‑Si(P1,P2,…Pp,…Pn),Pp是租赁点编号为i的第p类POI的TF‑IDF值:
[0046]
[0047] 其中,np为第p类POI在租赁点i的数量,Ni为租赁点i总共拥有的POI数量,S为所有的租赁点总个数,||Si|the p‑thPOI∈Si||为第p类POI出现在不同租赁点的数量。为功能第c类租赁点的覆盖面积,可进一步求出步骤3得出的聚类结果中
不同集群之间的POI分布POI‑Ci(P1,P2,…Pp,…Pn):
[0048]
[0049] 本发明有益效果如下:
[0050] 本发明利用了LDA模型与k‑means这两个经典数据挖掘方法,并且公共自行车系统与LDA模型的适用条件能够很好的契合,因而能够运用LDA来科学地租赁点进行功能聚类。该发明可以实现各种各样的应用:用户可以快速地了解分布在一个城市中不同租赁点的功能,(公共自行车是一种绿色的、有趣的交通工具,在旅游区使用公共自行车可以给人们带来舒适的旅行体验);为公共自行车未来的规划提出依据(建设新的租赁点,扩充/减少租赁点容量等);指导用户使用公共自行车(每个租赁点所代表的功能区域可以指出租赁点的“潮汐”状态);可以指导商业和广告的建立(具有“旅游”功能的租赁点可以增加广告摊位或者在附近建设商店等设施)。