利用基站定位数据进行商圈划分

2023-10-22 04:40

本文主要是介绍利用基站定位数据进行商圈划分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题概述

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

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

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

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

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

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

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

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

 

二、初步分析

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

 

三、聚类分析

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

代码如下:

import pandas as pd
import sklearn.preprocessing as prc
import matplotlib.pyplot as pltplt.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,并绘制各类别的四个特征折线图。

代码如下:

import pandas as pd
import sklearn.preprocessing as prc
import matplotlib.pyplot as pltplt.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格式# print(data_rd)from scipy.cluster.hierarchy import linkage,dendrogram                # 导入scipy的层次聚类函数
Z=linkage(data_rd,method="ward",metric="euclidean")                   # 谱系聚类图
P=dendrogram(Z,0)                                                     # 画谱系聚类图
# plt.show()from sklearn.cluster import AgglomerativeClustering                      # 导入sklearn的层次聚类函数
model = AgglomerativeClustering(n_clusters = 3, linkage = 'ward')        # 设置参数,建立模型
model.fit(data_rd)                                                       # 训练模型r= pd.concat([data_rd,pd.Series(model.labels_,index = data_rd.index)],axis = 1)     # 详细输出每个样本对应的类别
r.columns = list(data_rd.columns) + [u'聚类类别']                                    # 重命名表头style = ['ro-', 'go-', 'bo-']
xlabels = [u'工作日上班时间人均停留时间', u'凌晨人均停留时间', u'周末人均停留时间', u'日均人流量']
pic_output = '../result/picture/type_'                                                                   # 聚类图片文件名前缀for i in range(3):                                          # 逐一作图,作出不同样式plt.figure()tmp = r[r[u'聚类类别'] == i].ix[:, :4]                  # 提取每一类,用于绘制折线图data_rs=r[r[u'聚类类别'] == i].ix[:,:]                  # 提取每一类,包含类别号data_rs=pd.merge(data,data_rs,how="outer", \on=[u'工作日上班时间人均停留时间', u'凌晨人均停留时间', u'周末人均停留时间', u'日均人流量'], \)                                               # 加上基站编号,再用于输出data_rs["聚类类别"] = i + 1data_rs.to_excel("../result/data"+str(i+1)+".xls")       # 每一类保存为一个单独excel文件for j in range(len(tmp)):plt.plot(range(1, 5), tmp.iloc[j], style[i])plt.xticks(range(1, 5), xlabels, rotation=20)               # 坐标标签plt.title(u'商圈类别%s' % (i + 1))                           # 商圈类别名称,从1开始编号plt.subplots_adjust(bottom=0.15)                            # 调整底部plt.savefig(u'%s%s.png' % (pic_output, i))                  # 保存图片

  

谱系聚类图:

 

 

 

 

 

 

从以上三张图来看

类别2凌晨和周末人均停留时间较长,工作日人均停留时间短,日均人流量小,可以认为是住宅区域。

类别3工作日人均停留时间长,凌晨和周末人均停留时间较短,人流量偏小,可以认为是工作区域。

以上两类区域,如果开展促销活动,可以考虑采取一些针对居民和上班族特点的方式。

类别1在3个时段人均停留时间均不长,但人流量最大,我们认为这类人群相对于住宅区居民和上班人士,往往会对促销之类活动更有兴趣,因此,该类商圈是最宜进行促销的。在输出的结果文件中找到该类的基站编号,即能确定具体的活动地点。

 

 

 

转载于:https://www.cnblogs.com/Lengjie/p/9650574.html

这篇关于利用基站定位数据进行商圈划分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/259099

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

烟火目标检测数据集 7800张 烟火检测 带标注 voc yolo

一个包含7800张带标注图像的数据集,专门用于烟火目标检测,是一个非常有价值的资源,尤其对于那些致力于公共安全、事件管理和烟花表演监控等领域的人士而言。下面是对此数据集的一个详细介绍: 数据集名称:烟火目标检测数据集 数据集规模: 图片数量:7800张类别:主要包含烟火类目标,可能还包括其他相关类别,如烟火发射装置、背景等。格式:图像文件通常为JPEG或PNG格式;标注文件可能为X