网站建设图片链接方法,建设营销型网页,做网站赚什么钱,可以做设计兼职的网站0 前言
#x1f525; 优质竞赛项目系列#xff0c;今天要分享的是
#x1f6a9; 基于大数据的基站数据分析与可视化
该项目较为新颖#xff0c;适合作为竞赛课题方向#xff0c;学长非常推荐#xff01;
#x1f947;学长这里给一个题目综合评分(每项满分5分)
难度…0 前言 优质竞赛项目系列今天要分享的是 基于大数据的基站数据分析与可视化
该项目较为新颖适合作为竞赛课题方向学长非常推荐
学长这里给一个题目综合评分(每项满分5分)
难度系数3分工作量3分创新点3分 更多资料, 项目分享
https://gitee.com/dancheng-senior/postgraduate
课题背景
随着当今个人手机终端的普及出行群体中手机拥有率和使用率已达到相当高的比例手机移动网络也基本实现了城乡空间区域的全覆盖。根据手机信号在真实地理空间上的覆盖情况将手机用户时间序列的手机定位数据映射至现实的地理空间位置即可完整、客观地还原出手机用户的现实活动轨迹从而挖掘得到人口空间分布与活动联系特征信息。移动通信网络的信号覆盖从逻辑上被设计成由若干六边形的基站小区相互邻接而构成的蜂窝网络面状服务区手机终端总是与其中某一个基站小区保持联系移动通信网络的控制中心会定期或不定期地主动或被动地记录每个手机终端时间序列的基站小区编号信息。商圈是现代市场中企业市场活动的空间最初是站在商品和服务提供者的产地角度提出后来逐渐扩展到商圈同时也是商品和服务享用者的区域。商圈划分的目的之一是为了研究潜在的顾客的分布以制定适宜的商业对策。
分析方法与过程
初步分析
手机用户在使用短信业务、通话业务、开关机、正常位置更新、周期位置更新和切入呼叫的时候均产生定位数据定位数据记录手机用户所处基站的编号、时间和唯一标识用户的EMASI号等。历史定位数据描绘了用户的活动模式一个基站覆盖的区域可等价于商圈通过归纳经过基站覆盖范围的人口特征识别出不同类别的基站范围即可等同地识别出不同类别的商圈。衡量区域的人口特征可从人流量和人均停留时间的角度进行分析所以在归纳基站特征时可针对这两个特点进行提取。
总体流程 1.数据探索分析
EMASI号为55555的用户在2014年1月1日的定位数据
2.数据预处理
数据规约
网络类型、LOC编号和信令类型这三个属性对于挖掘目标没有用处故剔除这三个冗余的属性。而衡量用户的停留时间并不需要精确到毫秒级故可把毫秒这一属性删除。把年、月和日合并记为日期时、分和秒合并记为时间。 import numpy as np
import pandas as pd datapd.read_excel(‘C://Python//DataAndCode//chapter14//demo//data//business_circle.xls’) # print(data.head()) #删除三个冗余属性
del data[[‘网络类型’,‘LOC编号’,‘信令类型’]]#合并年月日periodspd.PeriodIndex(yeardata[年],monthdata[月],daydata[日],freqD)data[日期]periodstimepd.PeriodIndex(hourdata[时],minutesdata[分],secondsdata[秒],freqD)data[时间]timedata[日期]pd.to_datetime(data[日期],format%Y/%m/%d)data[时间]pd.to_datetime(data[时间],format%H/%M/%S)
数据变换
假设原始数据所有用户在观测窗口期间L 天曾经经过的基站有 N个用户有 M个用户 i在 j天在 num1 基站的工作日上班时间停留时间为 weekday_num1在 num1 基站的凌晨停留时间为night_num1 ,在num1基站的周末停留时间为weekend_num1, 在 num1基站是否停留为 stay_num1 ,设计基站覆盖范围区域的人流特征 由于各个属性的之间的差异较大为了消除数量级数据带来的影响在进行聚类前需要进行离差标准化处理。 #- _\- coding: utf-8 -_ - #数据标准化到[0,1] import pandas as pd #参数初始化
filename ‘…/data/business_circle.xls’ #原始数据文件
standardizedfile ‘…/tmp/standardized.xls’ #标准化后数据保存路径data pd.read_excel(filename, index_col u基站编号) #读取数据data (data - data.min())/(data.max() - data.min()) #离差标准化data data.reset_index()data.to_excel(standardizedfile, index False) #保存结果 3.构建模型
构建商圈聚类模型
采用层次聚类算法对建模数据进行基于基站数据的商圈聚类画出谱系聚类图。从图可见可把聚类类别数取3类。 #- _\- coding: utf-8 -_ - #谱系聚类图
import pandas as pd #参数初始化
standardizedfile ‘…/data/standardized.xls’ #标准化后的数据文件
data pd.read_excel(standardizedfile, index_col u’基站编号’) #读取数据python
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import linkage,dendrogram
#这里使用scipy的层次聚类函数Z linkage(data, method ward, metric euclidean) #谱系聚类图
P dendrogram(Z, 0) #画谱系聚类图
plt.show()模型分析
针对聚类结果按不同类别画出4个特征的折线图。
#- _\- coding: utf-8 -_ -
#层次聚类算法
import pandas as pd #参数初始化
standardizedfile ‘…/data/standardized.xls’ #标准化后的数据文件
k 3 #聚类数
data pd.read_excel(standardizedfile, index_col u’基站编号’) #读取数据from sklearn.cluster import AgglomerativeClustering #导入sklearn的层次聚类函数model AgglomerativeClustering(n_clusters k, linkage ward)model.fit(data) #训练模型#详细输出原始数据及其类别r pd.concat([data, pd.Series(model.labels_, index data.index)], axis 1) #详细输出每个样本对应的类别r.columns list(data.columns) [u聚类类别] #重命名表头import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [SimHei] #用来正常显示中文标签plt.rcParams[axes.unicode_minus] False #用来正常显示负号style [ro-, go-, bo-]xlabels [u工作日人均停留时间, u凌晨人均停留时间, u周末人均停留时间, u日均人流量]pic_output ../tmp/type_ #聚类图文件名前缀for i in range(k): #逐一作图作出不同样式plt.figure()tmp r[r[u聚类类别] i].iloc[:,:4] #提取每一类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 %(i1)) #我们计数习惯从1开始plt.subplots_adjust(bottom0.15) #调整底部plt.savefig(u%s%s.png %(pic_output, i1)) #保存图片 对于商圈类别1日均人流量较大同时工作日上班时间人均停留时间、凌晨人均停留时间和周末人均停留时间相对较短该类别基站覆盖的区域类似于商业区 对于商圈类别2凌晨人均停留时间和周末人均停留时间相对较长而工作日上班时间人均停留时间较短日均人流量较少该类别基站覆盖的区域类似于住宅区。 对于商圈类别3这部分基站覆盖范围的工作日上班时间人均停留时间较长同时凌晨人均停留时间、周末人均停留时间相对较短该类别基站覆盖的区域类似于白领上班族的工作区域。
总结
商圈类别2的人流量较少商圈类别3的人流量一般而且白领上班族的工作区域一般的人员流动集中在上下班时间和午间吃饭时间这两类商圈均不利于运营商的促销活动的开展商圈类别1的人流量大在这样的商业区有利于进行运营商的促销活动。
最后 更多资料, 项目分享
https://gitee.com/dancheng-senior/postgraduate