大数据学习笔记·社会计算(1)

背景信息

什么是用户行为数据,用户行为数据是怎么积累的。为什么我们需要研究用户理解以及为什么用户理解这么重要。在第二部分,我会介绍我们最近关于移动规律理解应用的研究工作。例如,怎样处理用户轨迹中的数据缺失问题,怎么样为用户推荐有趣的地点。在最后一部分,我会展示我们近期在用户分析和隐私保护方面的研究项目。

这张图展示了每分钟用户在一些网站上产生的数据量。

  • 用户数据是怎么样收集的


二十多年之前,那时候普适计算的概念才刚刚被提出来。马克.维瑟提出了普适计算的概念。那时候已经有了大型机和个人计算机,人们想知道计算的未来会是什么样的。马克提出,普适计算是计算的未来。
那么什么是普适计算呢?马克提出了四个原则。

  1. 计算的目的为了帮助人们做其他事情。
  2. 最好的计算机是安静的、无形的仆人。
  3. 一个人能够凭直觉做的事情越多,他就越聪明。计算机应该扩展人的潜意识。
  4. 技术应该营造出平静,这一点对普适计算非常重要。

普适计算的概念提出后,研究人员开始构建原型。大体上,他们希望让计算机变得更聪明。
研究人员为这类设备设计了三种规格,分别是tabs、pads和boards。

Tabs是厘米级的设备。如智能手机和智能卡。它们非常容易携带。人们可以把它们带到任何地方。
Pads是像笔记本电脑这样的分米级设备。这些设备可以随身携带,但是不能装在口袋里。
Board是米级的设备。因为它们非常大,所以无法随身携带,也不能移动。但是,它们很适合照片分享或者游戏类的应用。

因为这些设备是可移动的,所以一个直接的想法就是检测它们的位置并使用它们来构建可感知情境的应用。例如,如果知道设备的位置,我们就可以使用它们来推断用户的位置。

在现在的移动设备,如智能手机中,已经有很多传感器。例如,智能手机能够记录设备的时间和地点,地点可能来自GPS、Wi-Fi、移动基站或者蓝牙信号。智能手机中还有很多可以记录设备移动的传感器,如加速度计、陀螺仪和数字罗盘。使用这些移动信号,我们可以推断用户的移动和活动。传感器还可以被用于记录环境信号。例如,我们可以使用麦克风来检测声音信号,使用相机来检测视觉信号。我们还可能有环境光传感器、接近传感器、气压计、湿度传感器和温度计。

  • 用户行为数据例子


Flickr上有大量的带有地理标签的照片。通常,用户会在去其他城市旅行或者开会的时候拍照片。这些照片代表了他们怎么在这些城市中旅行以及他们怎么拍照片的行为。所以,照片中包含了很多关于地点和用户的信息。

北京有很多出租车,据说北京有超过6万辆出租车。大部分出租车都装有GPS。这意味着我们可以记录这些出租车的轨迹。基于出租车的轨迹数据,我们画出这张热点图。从热点图中,我们可以很容易地看到主干道路网和受欢迎的区域。我们在这方面做了很多研究工作。从出租车轨迹中挖掘知识对很多应用都非常有用,如城市规划、位置推荐和拼出租车。

  • 用户理解

这些数据有几个共同点。它们都是直接或者间接由人产生的。它们代表了一些物理世界的活动。例如,带有地理标签的照片表示人们在哪里拍照。位置签到表示人们在哪里停留,如餐馆、电影院。出租车轨迹展示了出租车如何在城市中行驶。这些数据都是结构化的。例如,所有数据都包含至少一个时间戳和一个位置标记。位置标记可以用经度和纬度这样的坐标或者位置名称、公共汽车站表示。
这些数据包含一定的隐私风险。因为这些数据中包含很多与用户有关而用户可能不愿意透露的信息。所以,我们在挖掘这些数据的时候要非常小心。使用人类行为数据,我们要做的就是尽量利用做些数据来产生关于用户的知识。然后利用这些知识来使各种云服务变得更加个性化并为用户提供更好的推荐。
如果我们能够更好地理解用户,我们就能够使用这些知识来帮助不同应用实现个性化并提供个性化的帮助。

用户移动规律的理解——通过智能卡交易数据重建个人移动行为。

在这项工作中,我们的研究关注公交系统中生成的智能卡交易数据。它们通常都是为数字化支付和监控用户的数字化支付的目的设计的。这些数据在揭示用户的移动规律方面很有价值,而用户的移动规律对城市规划、基于位置的社交网络、GIS和交通应用等都很有用。

在源应用产生的数据和目标应用需要的数据之间总是存在差距。
出租车轨迹就是一个例子。我们会在各种交通相关的应用中使用出租车轨迹,比如交通流量估计。然而,因为出租车轨迹是为出租车管理的目的收集的,所以数据采样频率通常很低。也就是说,大约每5分钟或者3分钟才会有一条数据。这种情况很常见,因为人们通常在设计源应用的时候并不能预计到应用产生的数据未来会被使用在什么地方。总是会有新的应用能够从这些数据中受益。

智能卡交易总是包含很多不确定性,它们也不是为这个应用设计的。其中存在很多数据缺失。为了解决这个问题,我们尝试利用各种不同类型的资金空间、时间空间和地理空间的限制。我会介绍,如何让数据更完整,以及对这些应用更有用。

数据集


这张幻灯片展示了数据集中的字段。

  • cardID:匿名化处理之后的卡id,
  • Bus: 公交线路号。
  • Boarding: 上车站
  • Alighting: 下车站
    有两类公交车:非阶梯计价公交车和阶梯计价公交车。非阶梯计价公交车是指用户在乘车时支付固定的费用的线路,阶梯计价公交车是指用户根据乘车距离付费的线路。这两类公交车的上车站和下车站是不同的。对于非阶梯计价公交车,数据中没有上车站和下车站。
    对阶梯计价公交车,数据中包含一个表示与终点站之间的距离的代码,代码为0时表示公交线路的起点站。
  • Time: 时间。
    这个字段对这两类公交车也是不同的。对非阶梯计价的公交车,这里的时间表示上车时间,因为交易是在上车时完成的。对于阶梯计价的公交车,时间表示下车时间,因为交易是在乘客下车时完成的。
  • Expense:费用。
    非阶梯计价公交车的乘车费用是固定的,阶梯计价公交车的乘车费用取决于乘客的乘车距离。
  • Balance:余额。

我们总共收集了70万持卡人在2012年8月到2013年5月之间的2200万条乘车记录。在这张表中,大家可以看到存在很多缺失值,尤其是非阶梯计价的公交车的上车站和下车站。所以,如果想研究用户的移动规律,我们就需要填充这些缺失站的实际值。否则,我们就会损失用户的很多移动规律模式。

为了解决这个问题,我们还收集了一些其他数据集。

这些数据及包括乘客的充值记录。我们有大约600万条充值记录。充值记录中包括匿名化处理之后的卡id、充值时间、充值金额和卡余额。
我们还有北京的路网数据,其中包含北京的所有路段信息。路网使用一张图来表示。图中包含约14.8万个节点和20万条边。这些边都是路段。

我们还从一个在线服务中收集了公交线路信息。

信息中包含公交线路的名称和所有公交车站的坐标。信息还包括公交线路的定价信息,包括阶梯计价的公交线路和非阶梯计价的公交线路。

我们的数据中包含收费记录、路网信息、部分标记的乘车记录和公交线路信息。我们需要尽量填充缺失的上车站和下车站及其经度和纬度坐标。然后,我们就可以利用这些数据来研究用户移动规律模式。

空间定位框架

  • Monetary:资金空间展示了用户智能卡余额的变化。
  • Temporal:时间空间展示了交易时间或者付费时间。通常,它代表一次乘车或者一个收费时间。
  • Geospatial: 地理空间展示了用户的乘车位置。

我们需要把这三个空间连接起来,以便从这些数据集中发现和重建用户的移动规律。如果能够把这三个空间连接起来,我们就可以把资金、时间和空间的点连接到一起。例如,我们知道乘客的上车时间、上车地点和下车地点。我们就可以从数据中重建用户的轨迹。然后,我们就能够知道这些用户的家庭住址、工作地点等重要地点,以及他们的乘车模式。

对数据集进行预处理


这里,我们需要将用户的乘车分成一些段,每一段在资金空间应当是连续的。这意味着我们不希望包含其他付款。因为北京的智能卡能够在出租车和地铁上使用,也能用于购物等。我们想只保留公交车的支付记录,这个数据分割可以以线性时间成本完成。我们只检查每次乘车的余额和费用以及二者是否相符。

数据集转换

下面,我们定义两种类型的转换:内部转换和外部转换。它们表示用户是否在公交车上。

假设有一个用户的公交车乘车序列。Li是一次公交车乘车,其中包含上车站Oi和下车站Di。它们分别是起点和终点。当乘客在公交车上时,我们称之为在转换内部,也就是从O到D。当用户不在公交车上时,我们称之为外部转换,也就是从D到O。

如果只知道公交线路号,那么乘客的乘车方案就可能有很多种,乘车方案的组合数量为ni*(ni-1)。所以,我们可以看到,这位乘客的乘车方案有很多种可能。

数据集约束

下面,我们将应用一些约束来减少这些可能。

第一个约束是近似性约束,它是针对外部转换的。
假设人的步行速度和时长是有限的。如果两次乘车相距很远,那就意味着无法找到邻近的公交车站。那么就可以将其分为两段。所以,在我们的算法中定义了距离阈值。使用距离阈值可以减少可能的公交车站的数量。所以,可能的乘车方案数量将大大减少。

第二个约束是费用约束。费用约束是为内部转换设计的。这意味着用户在公交车上。乘坐阶梯计价公交车时,乘客按照乘车距离付费。所以如果我们知道乘客乘车的费用,就可以通过查看阶梯计价表来估计乘客的乘车距离。通过这种方式,可以进一步减少内部转换的可能性。

第三个约束是时间约束。时间约束包括内部转换和外部转换。对非阶梯计价公交车,我们有上车时间;对阶梯计价的公交车,我们有下车时间。所以,我们还有很多关键时间点可以来计算每趟公交车的乘车时间。
例如,在这张图中,称第一条公交线路的乘车时间为delta t1,delta t1应小于第一条公交线路的上车时间和第二条公交线路的上车时间之间的间隔。因为还知道第三条公交线路的下车时间,所以我们可以看到,第二条公交线路和第三条公交线路的乘车时间之和应该小于t3-t2。

标记缺失数据

介绍了三种类型的约束之后,我们将利用条件随机场来标记缺失数据。

在观察序列中,每个节点被定义为两条连续公交线路的组合。对于隐藏序列,每个节点包括第一条公交线路的起点、终点和第二条公交线路的起点。我们利用前人文献中的带约束的半监督训练方法来解决这个问题。
我们同时在整个数据集和由用户标记的数据集上对算法进行了评估。

对于整个数据集,我们只使用了阶梯计价的乘车记录并去掉了这些乘车记录中的标签。我们想看看我们的算法是否能够恢复这些标签。我们把条件随机场算法和带约束的条件随机场算法与之前的两种方法进行比较。这两种方法是TC+MF和TC+MS。从第一张图中,我们可以看到,如果只使用条件随机场模型,算法的性能与之前的工作相似。但是,如果增加了约束,那么算法的性能就会有很大的提升。从MSRA的用户数据中,我们也得到了类似的性能。

理解用户的移动规律

这里我们使用了一个简单的应用来理解用户移动规律,这个应用是家庭地址和工作地点检测。
我们使用了一个常规方法来完成家庭地址和工作地点检测。我们请参加我们的用户研究的102位用户标记他们的家庭地址和工作地点并对比了我们的计算结果和他们的标记。
我们发现,在恢复了缺失数据之后,家庭地址检测的准确度能够提高88%,工作地点检测的准确度能够提高35%。这个结果与当地家庭问卷调查的结果是一致的。

总结

  • 我们提出了一个空间定位框架。这个框架结合资金空间、时间空间和地理空间三个空间。其中,资金空间之前很少被考虑到。
  • 我们的方法中设计了恢复智能卡缺失数据的通用方法。这个方法适用于恢复数据中缺失的下车站、上车站和公交线路方向。
  • 实验表明,我们在恢复用户移动规律方面取得了很高的准确度。我们邀请了102位用户进行了4个月的数据标记。我们使用这些数据来评估我们的算法。我们发现了这项工作在移动规律分析应用中的意义和潜力。

你可能感兴趣的:(大数据与机器学习,大数据)