社会友谊和人群移动:基于位置的社交网络中的用户移动(一)

原文标题:Friendship and Mobility: User Movement In Location-Based Social Networks

作者单位:斯坦福大学    发表日期:2011年

会议:第十七届 ACM SIGKDD 国际会议——知识发现和数据挖掘

引用:Cho E, Myers S A, Leskovec J. Friendship and mobility: user movement in location-based social
networks[C]// Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2011:1082-1090.

摘要:尽管人类移动和迁移有高度自由性和变化性,但由于地理位置和社会关系限制仍然存在一定结构。本文采用电话定位数据、两个基于位置的社交网络,来理解人类基本活动模式。短途移动不影响社会结构,长途旅行受社会关系制约。

社会关系解释10%-30%的人类迁移活动,而周期性行为揭示50%-70%。本文结合短周期活动建立一个人类移动模型,预测未来人类活动的位置和动态。

1.介绍

相关研究。【7,23】将人类有很强周期性的习惯性移动看做往返于家和工作单位之间。【12】人类移动被一天可移动的地理距离限制。【11,26】移动可进一步被社会关系限制,例如拜访请朋友好的住所。

然而由于可靠的人类移动数据很难收集,这些研究和假设都有局限性。借助最近出现的新兴社交网络如Foursquare, Facebook, Gowalla,通过收集登陆地点(checking-in),可获得人类移动数据。而传统方式是借助手机电话、局域网定位来确定移动位置。但是当你从二楼工作室移动到一楼咖啡厅时,很明显位置定位比手机定位更精确。位置定位更零星,手机定位则集中。不论哪种方式,都可收集网络信息。前者适用于友谊网络,后者适用于交流网络。后文提到的数据将可用于调查三方面的主要人类活动:移动到哪里(geographic
movement),移动频率(temporal dynamics)、社会关系对移动影响(social network)。我们将从这三方面展开研究。

广义上,理解人类移动模式有很多应用。例如,帮助改进大规模计算、基于内容的发布网站、城市规划、理解人类迁徙规律、疾病传播。

如今工作:调查了移动位置、频率、社会关系三者的联系;分析人类活动中的地理位置和活动路线的角色,以及社会关系影响,比如去见一位朋友;识别控制人类活动的基础因素:人类为了见老朋友而移动的可能性有多大;人类为了结识新朋友移动的可能性多大;当离家越远,这种可能性是增加还是减少。

结果:经验结论。从两个流行的基于位置的社交网络获取数据:Gowalla and Brightkite,并追踪欧洲国家一个两百万人的电话。观察到人们基本在一个地理位置范围内活动,偶尔长途旅行。当一个地方有朋友时长途旅行可能性增加,而短途旅行很少受这种社会关系影响。总之,为了友谊的移动频率是为了结识新朋友的移动频率的两倍。同时,登陆数据和通话数据显示出很强的一致性和稳健性。

一般上,用友谊预测个体移动位置有优势和不足。比如,一个人可能在他朋友登陆的地方登陆,而随着时间差异增大,这种可能性降低。84%的人在朋友拜访之后相比之前有少于20%的登陆。总而言之,收集数据可解释10%的人类移动,登陆数据可解释30%。

结果概述:建立模型。基于经验发现,我们建立一个预测与社会移动模型来预测个体移动。首先设定第一目的地和第二目的地,比如家和公司。模型将包含三个组成部分:(1)用户经常登陆的空间位置模型。(2)这些位置之间临时移动模型
(3)社会关系影响下的移动模型。每日移动模式是在家和工作场所转换,在此基础上,每周增加了社交移动模型。

模型可预测用户位置移动的概率有40%,手机数据平均距离错误率0.23%。登陆数据记录的错误率有2.7%。且观测了两种数据的一致性和稳定性。

进一步相关工作:将人类移动看做扩散过程【2】,或围绕一个中心点的随机过程【12】,我们的模型将人类活动看做围绕几个固定点的随机过程。这种灵活性会带来更多的灵活性。还有一些研究专注于无线网络的移动检测【18,27】。同理,还有基于GPS的人类位置监测,这种方式受限于具体马路位置【16】。GPS和无线定位可长时间追踪用户位置,这方面研究已经限制于小部分用户和区域。

2. 登陆位置的角色

我们用不同的数据集来捕获人类移动:2009 and Oct.2010 for Gowalla、Apr. 2008 to Oct. 2010 for Brightkite. Gowalla登陆总数是6.4百万,Brightkite有4.5百万。前者友谊关系构成无向图,后者是有向图。为了简便,我们将Brightkite视作无向图,仅仅考虑双向边。 Gowalla共有196,591个节点,950,327条边。Brightkite有58228个节点,214078条边。

为了确保数据准确,同时引入手机追踪数据。由欧洲提供,包括近2亿个用户,4.5亿条通话记录。平均追踪455天。最近的电话基站将记录每个电话的位置。这意味着我们有接近9亿个精度3公里的登陆检测数据。只考虑城市范围内的登陆,当每对个体间打电话超过5次(总共10次),为他们建立联系边,包括2亿个节点,4.5亿条边。

Brightkite的数据显示为蓝色,Gowalla是红色,电话数据是绿色。

用户登陆行为。用户可能倾向于离家多远,他们有多大的可能性在旅行地点遇见社交网络的朋友。这是我们兴趣点。用户家庭位置不会明确给出,我们假设是25个登陆地点的平均【29】。人工检查鉴定这种方法具有85%的准确性。

首先,我们测量用户 倾向于离家多远,Figure 1标出了Brightkite, Gowalla 和the cell phones数据显示的离家距离,带有指数特性。当离家超过100km,分布快速衰减。

图1
100公里范围内,B地和G地登陆可能性以及手机联系可能性随距离变化

图2 (a)朋友之间住宅距离分布,(b)所有用户住宅距离分布,(c)200个大城市之间距离,(d)当一个占非均匀人口密度,作为距离函数的友谊概率

3.友谊与移动

(大意)假设B是A的朋友,B的位置会影响A的移动,我们测量这种移动的可能性来调查人类活动的社会性。

:A在B的住处为圆心,半径r的范围内登陆,可能性为P。离家的距离为d。变化r值做多组实验。

图3 (a)说明,离家距离越近,拜访朋友而移动的可能性越大。如果我们离家100km,有30%的可能性拜访朋友。100km以外,拜访朋友可能性保持不变。随着距离变大,一个人可能到达的位置增多,朋友数则减少。而我们观察到的是保持不变,我们猜想可能是随着距离增大,朋友的影响越大。我们将此模型与忽略社会结构的null模型做了比较,后者用虚线画出。3(b)描述了二者比值。

很明显,如果不受社会结构影响,人们出远门不可能遇见朋友。旅行1000km时朋友的影响是40km时候的10倍

个体移动中朋友的影响

因为朋友可能在旅行前和旅行后产生,因此有两种假设。前一种是朋友影响旅行,后一种是移动影响社会关系。

为了区分二者,我们取了Gowalla社会网络距离三个月的两个时间点t1和t2。Ca表示t1后一天内A登陆地点与他所在人际关系网中朋友分布对比,证明他是否由于朋友而旅行。Cb表示t1之前的登陆,与三个月之后的人际关系网络对比,证明是否旅行产生了新朋友。范围限定在半径25km。事实证明有61%的可能拜访已经存在的朋友,24%的可能产生新朋友。前者大约是后者2.5倍。手机数据显示,前者高出后者70%。

移动到朋友之前的登陆地点

旅行超过100km,10%的可能登陆与朋友相似的地点。距离越远可能性越高。

用友谊预测移动的限制

数据显示,Gowalla有9.6%, Brightkite 有4.1%的概率先有朋友登陆后有用户登录。这表明只有一小部分用户与朋友登陆交叠。

我们创建i位置的轨迹矢量:

图4(a)展示了A和朋友轨迹矢量的一致性,当一对用户同时同地登录超过40%,他们友谊可能性0.3。 图4(b)描述大量用户不会登陆之前朋友登陆的地点。Gowalla,80%少于20%,52%为零次。这表明至少50%的用户没有信息来证明他的社会关系对移动影响。

人类活动的临时和地理预测

4.人类活动模型

主要提出两个模型:Periodic Mobility Model (PMM)移动预测模型与 Periodic & Social Mobility Model (PSMM) 社会移动预测模型。

将在社会友谊和人类活动:社会友谊和人群移动:基于位置的社交网络中的用户移动(二)继续翻译。

时间: 2024-10-27 09:13:40

社会友谊和人群移动:基于位置的社交网络中的用户移动(一)的相关文章

一张图让你了解LBS基于位置的服务

LBS--基于位置的服务.LBS作为移动互联网时代的基础服务,已成为人们日常生活中不可或缺的部分.据统计将近80%的应用与LBS有关,LBS已经成为移动互联网应用的标配功能.作为一个LBS应用开发者,你了解大家都在用什么平台吗?哪些功能是同道中人最看重的?又该如何选择LBS开放平台呢? 您可能还会对这些文章感兴趣! 怎样安排时间读书 张图让你知道如何提升网站的第一眼印象 一张图看懂财务报表分析 一图读懂马云余额宝的商业玩法 一组图让你看懂阿里巴巴 一张图看懂微博与Twitter到底有何不同! 一

使用mysqlbinlog工具进行基于位置或时间点的数据恢复

使用mysqlbinlog工具进行基于位置或时间点的恢复 MySQL备份一般采取全备份加日志备份的方式,比如每天执行一次全备份,每小时执行一次二进制日志备份.这样在MySQL Server故障后可以使用全备份和日志备份将数据恢复到最后一个二进制日志备份前的任意位置或时间.用来进行全备和日志备的工具各种各样,各有其特色,在这里不做描述.本文主要讲解一下在回复完全备份后,如何应用备份的二进制日志来将数据恢复到指定的位置或时间点. 这里有个十分重要的工具--mysqlbinlog,专门用来查看二进制日

AngularJS + Node.js + MongoDB开发的基于位置的通讯录(by vczero)

一.闲扯 有一天班长说了,同学们希望我开发一个可以共享位置的通讯录,于是自己简单设计了下功能.包括用户角色.发表微博.共享位置等等.这次也是有点私心的,为了锻炼最近看的angularjs,于是果断选择Node.js + MongoDB + angular.js的方案.当然,开发Node.js的体会越来越深刻.记得,去年leader告诉我说尽量让node的每一个服务只支撑一个业务功能,这样才能更方便的维护.当时特别想把一个Node服务做的特别强大.现在看来leader的做法是对的,我更加倾向于把n

Android学习之基础知识十四 — Android特色开发之基于位置的服务

一.基于位置的服务简介 LBS:基于位置的服务.随着移动互联网的兴起,这个技术在最近的几年里十分火爆.其实它本身并不是什么时髦的技术,主要的工作原理就是利用无线电通讯网络或GPS等定位方式来确定出移动设备所在的位置,而这种技术早在很多年前就已经出现了. 那么为什么LBS技术直到最近几年才开始流行呢?这主要是因为,在过去移动设备的功能及其有限,即使定位到了设备所在的位置,也就仅仅只是定位到了而已,我们并不能在位置的基础上进行一些其他的操作.而现在就大大不同了,有了Android系统作为载体,我们可

FTP服务学习笔记之基于MySQL+PAM的vsftpd虚拟用户

基于mysql+PAM的vsftpd虚拟用户配置 一.实验说明 操作系统:Redhat5.8_X64bit 实验平台:VMware Workstation 所需要的软件包:pam_mysql-0.7RC1.tar.gz 二.安装所需要程序 1.事先安装好开发环境和mysql数据库 # yum -y groupinstall "Development Tools" "Development Libraries" #yum -y install mysql-server

社交网络中基于张量分解的好友推荐

社交网络中基于张量分解的好友推荐 摘要 引言 相关研究 问题描述 所提好友推荐方法 实验验证 结论 摘要 社交网络中快速增长的用户对现有好友推荐系统提出了挑战.本文我们用张量分解模型基于用户的标签行为信息提出了一种新的推荐框架,解决社交网络中的好友推荐问题.该研究有两个主要贡献:(1)提出了一种新的张量模型来刻画社会化标签系统中用户.用户兴趣和朋友之间的潜在关联:(2)基于上述模型提出了一种新的好友推荐方法.在一个真实数据集上的实验表明所提算法由于当前最优算法. 引言 随着互联网上用户和电子媒体

基于PageRank的社交网络用户影响力

1. 绪论 1.1背景和目的 社交网络作为一个全新的互联网交友平台与信息传播平台,每天都有海量数据在这个平台上发布.社交网络是一个虚拟社会网络,它是由许多节点构成,是现实社会在网络上的体现.每个节点都代表了现实生活中的一个人或者一个组织,节点之间的好友关系也是现实社会中的社会关系.在这个虚拟社会中,人们从事着大量的社交活动,如交友.分布消息.关注好友状态与分享视频等.在社交网络的平台上,人们可以分享自己的心情.关注朋友的状态以及了解一些热门话题等.目前社交网络的形式主要有交友网络.博客.视频共享

实现基于mysql验证的vsftpd虚拟用户 (centos6)

实现基于mysql验证的vsftpd虚拟用户 (centos6) 说明:本实验在两台Cento主机上实现,一台作为FTP服务器,一台作为数据库服务器 FTP服务器ip:172.16.250.90 Mysql服务器ip:172.16.252.16 一.安装ftp服务器安装包 yum install vsftpd pam_mysql 二.数据库服务器创建虚拟用户帐号   1.建立虚拟用户数据库      mysql> create database vsftpd;     mysql> show 

基于本博客版本中的循环缓冲的测试(Linux环境)

#include <stdlib.h> #include <stdio.h> #include <pthread.h> #include "ringbuffer.h" static int b_flag = 0; pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; #define TX_LOCK(lock) pthread_mutex_lock(&lock) #define TX_UNLOCK