基于基站定位的商圈分析

一、问题概述

手机用户在使用短信、通话等业务、开关机、位置更新等的时候均产生定位数据,每条定位数据均包含了手机用户所处基站的编号、时间和唯一标识用户的EMASI号等。

将每个基站覆盖区域视为一个商圈,通过归纳基站覆盖区域的人流量和人均停留时间等特征,即可划分出不同类别的商圈。然后挑选出高价值商圈,并结合商圈用户活动特点,有针对性开展促销等活动。

现在共有431名用户的定位信息,存于Excel中,包含用户编号以及如下考查指标:

1.人均流量:反应商圈的大致用户密度

2.工作日上班时段人均停留时间:用以识别上班人群集中的商圈

3.凌晨人均停留时间:用以识别住宅区居民集中的商圈

4.周末人均停留时间:用以识别周末时段人群集中的商圈

分析主要分两步,首先用tableau进行可视化分析,了解各基站(商圈)的大致情况;然后通过机器学习,采用聚类算法,对各商圈进行进一步的标识。

 

二、初步分析

从以下图中,可以看到各商圈的日均人流量和各时段的停留时间情况。其中在人均停留时间的三张图中,均有明显的断层现象,我们可以初步判定,断层处即为商圈的类别划分点,断层左边的商圈表示该时段人均停留时间长,右边表示停留时间短。

 

三、聚类分析

由于各个属性之间的数量级相差较大,在进行聚类前,需要进行离差标准化处理,即将各属性数据按比例缩放到一定范围,得到建模数据。

代码如下:

import pandas as pd
import sklearn.preprocessing as prc
import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif']=['SimHei']  #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False    #用来正常显示负号

data=pd.read_excel("../data/business_circle.xls")                     # 读取数据

pm=prc.MinMaxScaler()
data_rd=pm.fit_transform(data.ix[:,1:])                               # 数据标准化
data_rd= pd.DataFrame(data_rd,columns=data.columns[1:])               # 标准化后的数据重新转为df格式

  

采用层次聚类算法对建模数据进行聚类,画出谱系聚类图 。聚类类别数取3 ,根据聚类结果,绘制不同类别的特征折线图,并输出结果存入excel。

代码如下:

图片:

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/Lengjie/p/9650574.html