地铁站点人群复杂度分析,并应用于广告投放

南昌地铁一号线人群复杂度分析

(从本人的ppt搬运来的,排版不好看请谅解)

一、分析目标

人群组成复杂程度,是精准营销体系中最重要的指标之一,其可以进一步反映人群的年龄组成、消费水平、文化程度等;对地铁站点进行人群复杂程度分析,可以辅助地铁广告投放,公共设施建设,安全监管等业务进行决策;
广告投放
快餐广告选择“上班族”多的站点进行投放
在这里插入图片描述
公共设施建设
杭州市民中心站“地铁书房”书籍根据人群组成上架不同类型书籍
在这里插入图片描述
安全监管力度分配
针对人群组成复杂的区域适当加大监管力度
在这里插入图片描述

本文探讨人群复杂程度对地铁广告类型投放的决策分析

二、分析过程设计

人群复杂度K确定

在这里插入图片描述

数据显示,在节假日大多数站点流量上升的情况下,师大南路站流量却基本稳定,珠江路流量反而下降;根据站点附近区域特性可知,由于珠江路附近办公楼居多,节假日通勤大幅减少,导致流量降低;师大南路站附近包含商圈、学校、住宅区,人群组成较复杂,故因节假日通勤减少的影响不大。

故可以从节假日的前一天与节假日第一天的流量差距反映该站点人群复杂程度,差距越大人群组成越单一,差距越小人群组成越复杂。
考虑到数据的波动与各站点流量基数不同,确定复杂度指标K计算方式如下图
在这里插入图片描述

算法实现

在这里插入图片描述

在这里插入图片描述

三、分析及结论

数据集给出了2019.9至2020.9的一号线各站点日流量;因广告投放无需考虑不可预知因素,故为保证数据的可参考性,去除疫情期间的数据
在这里插入图片描述

数据分析及结论

分析结果显示,庐山南大道站八一广场站等大多数人群组成最复杂,珠江路最单一;
且站点的人群复杂度与流量无明显关系
在这里插入图片描述

在广告投放上的应用
在这里插入图片描述
完整代码如下:

import pandas as pd
import os
import numpy as np
import requests
import json
import re
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['KaiTi']
mpl.rcParams['font.serif'] = ['KaiTi']
%matplotlib inline
font2 = {
'weight' : 'normal',
'size'   : 10,
        }
        
filename = r'D:\chormedownloads\地铁1号线运营情况1.xlsx' #该数据已加‘是否为工作日’字段
df = pd.read_excel(filename)
df.head()

#df = df.drop(range(91,243))#去除2019.11至2020.5的受疫情影响数据 

#人群复杂度与流量比例计算
result_df = pd.DataFrame()
for station in list(df.columns.values)[2:]:
    datalist = []
    for i in range(1, len(df)):
        if (not df.iloc[i]['是否工作日']) and (df.iloc[i-1]['是否工作日']):
            hb = abs((df.iloc[i][station]-df.iloc[i-1][station])/df.iloc[i-1][station]) #(节假日第一天流量-前一天流量)/前一天流量
            datalist.append(hb)
    result_df = result_df.append(pd.Series([station, 1/np.mean(datalist), df[station].sum()*(10**-6)]),ignore_index=True)
#result_df = result_df.sort_values([1], ascending=False)
#0,1,2列分别为站点名,人群复杂度,流量比例
result_df

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
利用数据结构实现地铁网络最短路径的常见数据结构设计是使用图的表示和算法,其中最常用的是使用邻接表或邻接矩阵表示图,并结合Dijkstra算法或者A*算法来求解最短路径。 1. 邻接表表示图: - 空间复杂分析:假设地铁网络有n个站点和m条边,邻接表的空间复杂度为O(n + m),其中n为站点数,m为边数。每个站点需要一个链表来存储与其相邻的站点,链表的长度为该站点的度数(即与其相邻的边数),因此总空间复杂度为O(n + m)。 2. 邻接矩阵表示图: - 空间复杂分析:邻接矩阵的空间复杂度为O(n^2),其中n为站点数。邻接矩是一个二维数组,大小为n×n,用于表示站点之间的连接关系。每个元素表示两个站点之间是否有边,因此总空间复杂度为O(n^2)。 3. Dijkstra算法: - 空间复杂分析:Dijkstra算法使用了一个优先队列(通常使用最小堆实现)来存储待处理的节点和其对应的最短路径长度。在最坏情况下,优先队列的大小可能达到n,因此空间复杂度为O(n)。 4. A*算法: - 空间复杂分析:A*算法使用了一个优先队列来存储待处理的节点和其对应的估计最短路径长度。在最坏情况下,优先队列的大小可能达到n,因此空间复杂度为O(n)。 综上所述,利用数据结构实现地铁网络最短路径的空间复杂度主要取决于图的表示方式和算法的实现。邻接表和邻接矩阵表示图的空间复杂度分别为O(n + m)和O(n^2),而Dijkstra算法和A*算法的空间复杂度均为O(n)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值