TD数据应用——基于地理信息和时间序列的人群画像探索

引言
自己理解的TD标签体系有三类:设备自身属性,在设备上使用的应用标签,以及设备相关的地理标签。其中关于地理标签主要集中在职、住、娱和POI明细。
 
我对地理标签很感兴趣,感觉还可以挖掘出更多信息。因为地理信息如果放到地图上,天然是有上下文意义的。比如一对浮点数-经纬度值,放在公园附件和放在居住小区附近,再结合出现的时间,明显有上下文含义。所以使用了公司的北京市5月某一周工作日5天(不含周末)的数据。数据量700万行,可分辨的设备2175564个做了一次机器学习探索。
 
先说结论,ML模型将设备分成了8类,其中6类是可以解释的。我自己定位为:有夜生活的上班族;交通运输/全天繁忙型;,一早一晚/设备放家型;非移动设备型;活动范围很小/老人型;疑似爬虫或异常设备型。
 
介绍分析过程
一、原始数据样例,有设备ID,小时,经纬度。即只有时间序列和地理信息。
 

QQ截图20180704105052.png


二、经过一些常规分析后,决定转化成交叉表。即每一行就是一个设备的地理信息记录,列是0到23小时。如果在同一个小时里有多个点就使用聚类算法,找到多个点的核心(这里有失误只留了一个核心)。用这个核心代表这个设备,在工作日的5天里,最大概率出现在哪里。样例数据长这样(下图)

QQ截图20180704105556.png


转化完的交叉表,大家可以看到是一个稀疏矩阵,非常稀疏,每一列平均只有1/7行有数值,其他的都是空。但是我觉得这是符合现实世界实际情况的。反而每个小时都有经纬度的是不正常的,这里有一个伏笔,文后再介绍。

稀疏矩阵.png


 
三、由于矩阵太稀疏,使用ML的k-means效果可能会不太好了。接下来的变换就是本文的干货了。
1. 对时间序列定义了白天和夜晚两个时间段。基于在北京生活的经验和数据展现的规律。我定义晚上休息是从22:00到06:00.定义白天活动是从07:00到21:00。

时间分段.png


2. 分了时间段后,每个设备基本上在其中某一个时间段里都有地理信息。然后采用Canopy聚类算法,将每个设备一个时间段里的经纬度再次聚类。如果能聚成三个核心我就保留三个,聚成一个我就保留一个。Canopy算法的好处是不像k-mean需要事先指定聚类的个数。这里的核心我是这样定义的:500米内的所有经纬度认定肯定属于一个核心。500到1500米的经纬度按照距离的概率函数推断属于同一个核心。超过1500米一定属于其他核心。
3. 最后基于简单的经纬度+时间序列数据,我创建了一个新的数据集,用于机器学习。这个数据集的特征列有,每个设备白天活动有多少个坐标点,白天活动坐标可以聚成几个核心,晚上休息时间段有多少个坐标点,晚上休息时间段坐标可以聚成几个核心。表格结构如下。

机器学习数据集.png


4. 然后是采用传统的K-means 对这个数据集进行聚类分析。基于机器学习结果,我分成了8类。
 
解释分类
在解释之前,要先阐明一个假设:

clipboard.png


通过上图大家可以看到左侧第一个是k-means算法效果,只能实现局部最优解。用人话说就是,这种算法只能保证一个类里的主体数据是一个类的。大概率是存在小部分数据不应该属于这个类。所以在ML模型认定的类型里面我也只分析主体数据的特征。然后用一个主体数据特征代表这个类型。
 
好!干货结论开始:
分类1
数据特征:只有白天有坐标信息,数据点比较少,一般是2到4个轨迹点,并且这些点相互距离比较大,可以明显分辨出来。由于数据点太少,没法推断用户特征。

特征1.png



特征1地图.png


通过谛听DMap展示
 
分类2
数据特征:只有白天有坐标信息,数据点更少,一般是1个轨迹点,可以明显分成1个簇。217W设备中,占比却是最多的。

特征2.png


 
分类3 有夜生活的上班族
数据特征:夜里白天都有坐标信息,夜里点数普遍比白天少。但是夜间活动地方大概率是2个。属于夜间有活动,不在家宅着。
 

特征3.png



特征3地图.png


通过谛听DMap展示
 
分类4 交通运输/全天繁忙型
数据特征:夜里白天都有坐标信息,但是白天的很多,白天可分辨出远距离的地点也比较多。晚上坐标信息也比较多,大概率也有2个不同地点。通过地图,并且19时以后的点可以和8时以前的点在一个簇里(比较近)。

分类4.png



分类4地图.png


通过谛听DMap展示
分类5 一早一晚/设备放家型
数据特征:白天没有坐标点或者只有一个坐标信息。晚上有一个到两个坐标信息。但是晚上就在一个地方呆着,不移动。但是通过地图发现,早晚坐标是在一个簇里,即距离很近。并且大多数都是在生活小区里

5.png



5地图.png


通过谛听DMap展示
分类6 非移动设备型
数据特征:夜里坐标点比较多,但是大多宅在一个地方。白天是每个小时都有一个位置点,但是有1到2个固定位置。数据的连续性非常好。通过地图查看,发现,白天的点和夜间的点大概率也是在一个地方。一个簇里。

6.png



6地图.png


通过谛听DMap展示
分类7 活动范围很小/老人型
数据特征:白天坐标信息很多,连续性好,但是大多数只能分辨1到2个地点。聚集程度高。晚上大多数只有1,2个坐标信息,而且只有一个簇,可能宅在一个地方。通过地图发现活动范围很小。

7.png



7地图.png


通过谛听DMap展示
分类8 疑似爬虫或异常设备型
数据特征:夜里或者白天阶段,每个小时都有数据。但是每个小时跨越的距离特别长。数据连续性特别好,一天有24个点,或者白天黑夜阶段内部每个小时都有点。
 

爬虫.png


通过谛听DMap展示
 
最后
以上对分类结果的归纳和分析。是基于两个前提的:
1. 工作日数据,结合个人工作日生活体会。
2. 只做了10次k-means分类(分类数从2到11),没有在分类结果上对每个分类做更细的聚类分析。

猜你喜欢

转载自www.cnblogs.com/pengjia/p/9264783.html
今日推荐