论文笔记:Region Representation Learning via Mobility Flow

2023-11-19

2017 CIKM

1 摘要和介绍

  • 使用出租车出行数据学习区域向量表征
    • 同时考虑时间动态和多跳位置转换
    • ——>通过flow graph和spatial graph学习表征
  • 出租车交通流可以作为区域相似度的一种
    • A区域和B区域之间流量大
      • ——>A和B的特征更相关
      • ——>用一个/很相似的vector来表征他们
    • 之前的文献中,使用一个转移矩阵来表示流量数据的mobility
      • 每一个区域使用一个n维向量表征,其中的第j个元素表示从i到j/从j到i的流量
        • ——>使用这样的转移矩阵也会有问题,那就是没有考虑时间动态
          • 比如A区域到B区域是早上流量多,C区域到B区域是晚上流量多;但A和C区域在特征上可能是不同的
        • 可以创建了一个tensor(加入了时间维度),而不是一个matrix来表征mobility
    • 但是这样会存在一定问题
      • 比如左图的两个蓝点之间并没有直接的流量 ,没法建模他们的相似性
      • ——>解决方法是multi-hop的转换矩阵
        • 创建了一个新的flow graph
          • 每一个节点表示一定时间间隔内的一个区域
          • 每一条边表示不同区域在不同时间间隔内的转移
        • 与此同时,论文使用了另一个空间图(捕获区域间的空间邻接关系)

2 preliminary——generalized inference model

  • 输入K个不重叠的区域R=\{r_1,r_2,\cdots,r_K\}、部分区域的目标属性的观测值(第i个区域的是yi)、所有区域的辅助feature (第i个区域的是 X_i \in R^d
  • 目标是估计每个区域的目标属性(第i个区域的是yi)
  • 为了预测各个区域的yi,使用如下的回归模型
    • 其中α、β和γ是回归模型的参数
    • sim(i,j)表示区域i和区域j之间的相似度
    • Ni是邻居节点集合

3 问题定义

3.1 输入数据

  • 输入数据:
    • mobility data
      • 包括了n段旅途 \Gamma =\{\gamma^i\}
      • 每段旅途的格式是<l_s,l_e,t_s,t_e>,分别表示起始和结束位置的坐标和时间
    • 空间信息
      • 城市中K个不重叠的位置组成,R=\{r_1,r_2,\cdots,r_K\}

3.2 时间增强节点

  • 在论文中涉及的一张异构图中,使用时间增强节点来区分区域
    • 每个节点被记为v_i^t,表示t时刻的区域i
    • ——>一共有KT个时间增强节点
  • 给定了这些时间增强节点后,可以捕获两种关系
    • 从不同区域之间的mobility flow中得到的关系——>图Gf
    • 空间邻接关系——>图Gs
  • 论文中提出的方法从两种图中同时学习空间表征

3.3 问题定义

  • 给定flow graph Gf和spatial graph Gs,目标是学到每个时间增强节点v_i^t的表征u_i^t \in R^d
  • 两个区域embedding之间的相似度用sim(i,j)=u_i^Tu_j定义

4 方法

4.1 flow graph

  • 每一条边表示的时T时刻在位置A,T+1时刻在位置B
    • 边权重就是流量大小
  • 个人理解,图中t=1时刻的r2能够连接t=2时刻的r2,是因为这辆出租车载客从r2出发,兜了一圈又回来了(可能是乘客下了,又回到了扬招点) 

 但这个图会存在三个问题

  • 无法描述“停留在某个点"这类情况
    • ——>r2(t=1)到让r2(t=2)有连边,是环线的结果,并不是停留在原地的结果
  • 数据很稀疏
    • 有些区域在某些时刻可能没有交通流数据
  • flow graph将所有时间加强点都视为独立的点。但是,不同时刻相同/相近点之间的关系无法刻画

4.2 spatial graph

  • 节点集和flow graph的一样
  • 不同时刻相同点之间有连边,数值为1
  • 只有相邻时刻之间的点会有连边(t=1这一列的点和t=2这一列的点之间有边;t=1这一列的点和t=3这一列的点之间就没有边)
    • 这种连边的边权重大小是g_{ij}=exp(-C d_{ij}),其中C是参数,dij表示i和j区域的距离

 

4.3 异构图

将上面的两个图拼起来

  • 这样可以表示”停留在某地“这种情况了
  • 同时由于节点是时间增强节点,所以时序关系以及多跳时序关系都是保留的

4.4 embedding的目标

4.4.1 单图上

  • 几个定义
    • 路径(path)P_i=v_{i_1}v_{i_2}\cdots v_{i_m}
    • 一条路径包含点v_i^t——>v_i^t \in P
    • 包含v_i^t的路径集合P(v_i^t) =\{P_i|v_i^t \in P_i\}
    • 一个点v_i^t的上下文(context)——所有包含v_i^t的路径上的点(除了v_i^t之外)
  • 使用skip-gram模型学习embedding
    • 理论值
      • 在t时刻从点i出发,目标是点c的概率
    • 实际值

        • P表示每一条从v_i^t出发到vc的路径
        • 由于马尔可夫性质,7可以写成
      • f是单图上对应边的权重
    • 目标是理想值和理论值越近越好

      •  

      • D是衡量两个分布距离的(常见的有KL散度)

4.4.2 异构图

spatial 图类似

所以总的目标是

 4.5 embedding学习的优化

4.4 存在的问题有:

  • (5)式要计算所有对的话,需要O(K^2T^2)次操作(KT个点,两两成对)
  • (9)式需要计算所有的路径(路径数量式节点数量的指数倍)

解决方法:负采样/随机游走

5 实验部分

5.1 实验配置

  • 这篇paper提出的方法记作HDGE(heterogeneous dynamic graph embedding);如果是单个图的,就是DGE_{flow}DGE_{spatial}
  • metric是MRE和MAE
  • 数据集有5个 :Demographics data + POI data + Taxi data + Crime data + House price data
    • 作者首先使用KDD 2016的Crime Rate Inference with Big Data 模型作为RAW模型,进行特征选取(用哪些特征来预测另外一个效果更好)

 

5.2 实验效果

  • 根据上面的特征选取,crime rate prediction使用的是D+P+T的组合;Income prediction使用的是D+P+G+T;House Price prediction使用的是D+P+T
  •  的similarity使用embedding之间的内积来计算

  •  这里DGE_{flow}效果最好
    • ——>DGE使用多跳信息
    • ——>DGE捕捉了时间转移信息
  • LINE和MF只考虑了独立的一个一个embedding,空间转换信息并没有考虑,所以效果更差

 

 5.3 可视化结果

  • 可以看到相邻区域的embedding很接近
  • 不同时间同一区域的embedding差别也是有的

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

论文笔记:Region Representation Learning via Mobility Flow 的相关文章

随机推荐

  • k8s、docker关联目录占用空间太大

    今天突然磁盘满了 查看了一下 都是k8s docker关联的目录占用太大 var lib docker overlay2和 data registry docker registry v2 blobs sha256 使用第一种方式删除了悬空
  • appimage文件怎么安装_Linux应用安装有福啦!和苹果Mac一样方便的单文件安装

    自从用了苹果macbook 和windows基本上就再见了 苹果系统的稳定性太出色了 使用完合上盖子放十天半个月的没一点问题 一叫就醒 一醒就能接着工作 windows系统不行 要么睡了叫不醒 要么叫醒后电脑突然弹出个错误提示 甚至还可能蓝
  • 按where条件用expdp导出表

    按where条件用expdp导出表 情况1 情况2 其他说明 情况1 emp main表需要根据sendtime字段导出2018年的数据 参数文件emp main par的内容如下 tables emp main dumpfile emp
  • CentOs7.4 搭建 svn HTTP服务器

    一 通过yum安装svn yum y install mod dav svn yum y install subversion 通过如下命令查看svn 的安装位置 rpm ql subversion 二 创建版本目录库 此仅为目录 为后面创
  • 简单LSTM代码讲解

    仅供本人参考 错了概不负责 part1 图源 https www zhihu com question 41949741 answer 309529532 我们在使用tf nn rnn cell BasicLSTMCell时 有一个要自己设
  • STM32定时器系列 - STM32定时器输出比较

    STM32 定时器除了基本计数定时功能外 还对外扩展了输入 输出通道 从而可以实现输入捕获 比较输出功能 比较输出 Compare Output 功能 定时器通过对预设的比较值与定时器的值做匹配比较之后 并依据相应的输出模式从而实现各类输出
  • 大数据面试题及答案

    Hadoop 相关试题 Hive 相关试题 1 hive表关联查询 如何解决数据倾斜的问题 倾斜原因 map输出数据按key Hash的分配到reduce中 由于key分布不均匀 业务数据本身的特点 建表时考虑不周 等原因造成的reduce
  • 如何快速检测代理IP质量?方法与工具全干货

    一直以来 IP代理都是出海跨境业务的刚需 质量好的IP代理 除了在跨境业务产生巨大作用 在SEO监控 爬虫抓取 市场研究等领域也发挥着很大的作用 但是 对于IP代理的质量检测是我们选择高标准IP代理的一句 我们一般都会建议在使用IP代理前
  • 5G技术优势

    1G实现了移动通话 2G实现了短信 数字语音和手机上网 3G带来了基于图片的移动互联网 而4G则推动了移动视频的发展 5G网络则视为未来物联网 车联网等万物互联的基础 同时 5G普及将使得包括虚拟现实和增强现实这些技术成为主流 4G网络是专
  • 修改网页logo

    在用浏览器打开网站的时候 浏览器标签页上面有网站的图标 类似于logo小图标 如下图 步骤1 打开你的tomcat的安装目录 我的目录实在G盘 G apache tomcat 7 0 53 windows x64 apache tomcat
  • java进制转换方法

    一 十进制向二 八 十六进制的转换 方法一 Integer toBinaryString i 表示十进制转为二进制 Integer toOctalString i 表示十进制转为八进制 Integer toHexString i 表示十进制
  • 周庄不买门票攻略_周庄古镇旅游攻略

    周庄古镇旅游攻略 周庄古镇是世界文化遗产预选地 首批国家5A级旅游景区 位于苏州城东南 位于昆山 吴江 上海三地交界处 周庄古镇四面环水 因河成镇 依水成街 以街为市 井字型河道上完好保存着14座建于元 明 清各代的古石桥 800多户原住民
  • org/springframework/boot/maven/RepackageMojo has been compiled by a more recent version of the Java

    项目场景 项目中执行clean 再执行install时报错 错误如下 org springframework boot maven RepackageMojo has been compiled by a more recent versi
  • Python库之自然语言处理和文本挖掘

    来源地址 http www python88 com topic 37015 https mp weixin qq com s sPAomFg 5JZigFUG CtnaQ 自然语言处理和文本挖掘库主要用于以自然语言文本为对象的数据处理和建
  • linux基本命令练习

    1 列出 etc目录下的所有文件名称 2 创建文件file1 和file2 并复制到 home目录下 3 显示以ma开头的所有命令 ma 双击两次 TAB键 4显示所有文件名中有 bash的文件 用tab命令补全 5 显示当前所在的目录路径
  • android图像识别(百度普通物体识别)

    android图像识别 采用百度sdk 识别准确率基本上能用 主要缺陷是百度sdk免费额度有限 demo链接如下 仅供参考https download csdn net download android xc 12274161
  • Python进阶之CrawlSpider的应用及Scrapy配置项的引用

    1 CrawlSpider的应用 CrawlSpider可以根据规则自动分析链接的数据并按照正则的要求取出需要的数据 scrajpy startproject yg cd yg 注意 t crawl参数 scrapy genspider t
  • 解决SqlServer批量插入最多2100条数据的方法

    SqlServer批量插入数据时最多不能超过2100条 记录一下解决办法 Java代码 public void batchInsert List
  • 基于vue实现移动端点击上方导航,内容滑动切换,滑动内容导航自动切换。

    这是在日常开发过程中常见的选项卡 带滑动切换效果 小白一枚 不足之处还望体谅 包涵 这也是第一次尝试写博客 以后会继续分享一些工作中的问题与收获 实现效果 点击上方导航 当前导航添加样式 下方内容滑动切换 滑动下方内容上面导航切换 第一步
  • 论文笔记:Region Representation Learning via Mobility Flow

    2017 CIKM 1 摘要和介绍 使用出租车出行数据学习区域向量表征 同时考虑时间动态和多跳位置转换 gt 通过flow graph和spatial graph学习表征 出租车交通流可以作为区域相似度的一种 A区域和B区域之间流量大 gt