news 2026/4/22 11:45:47

社交媒体用户行为特征与发布时间的关联性

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
社交媒体用户行为特征与发布时间的关联性

一、研究猜想提出 基于社交媒体用户行为特征与发布时间的关联性,提出以下两个核心猜想: 1. **猜想1**:社交媒体用户活跃度在晚间时段(18:00-23:00)显著高于日间时段(08:00-17:00),晚间时段的平均发布量/互动量是日间的1.5倍以上; 2. 猜想2:工作日与周末的用户活跃度峰值时段存在差异——工作日峰值集中在20:00-22:00,周末峰值提前至15:00-19:00。 二、数据集来源与说明 选用公开可获取的社交媒体用户行为数据集(Kaggle平台): - 数据集链接:https://www.kaggle.com/datasets/gauravduttakiit/social-media-user-activity - 核心字段:`post_time`(发布时间,格式:YYYY-MM-DD HH:MM:SS)、`user_id`(用户ID)、`interactions`(互动量,含点赞/评论/转发)。 三、Python代码实现分析与验证 步骤1:环境配置与数据加载 ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt from datetime import datetime # 设置中文字体(避免图表中文乱码) plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 加载数据集(需先下载至本地,替换为实际文件路径) df = pd.read_csv('social_media_activity.csv') # 数据预处理:转换时间格式,提取关键时间特征 df['post_time'] = pd.to_datetime(df['post_time']) df['hour'] = df['post_time'].dt.hour # 提取小时 df['day_of_week'] = df['post_time'].dt.dayofweek # 提取星期(0=周一,6=周日) # 标记工作日/周末:0-4为工作日,5-6为周末 df['is_weekend'] = df['day_of_week'].apply(lambda x: 1 if x >= 5 else 0) # 标记日间/晚间:08:00-17:00为日间,18:00-23:00为晚间,其余时段剔除 df['time_period'] = df['hour'].apply( lambda x: '日间' if 8 <= x <= 17 else ('晚间' if 18 <= x <= 23 else '其他') ) # 剔除非核心时段数据 df = df[df['time_period'].isin(['日间', '晚间'])] # 查看数据基本信息 print("数据预处理后基本信息:") print(df.info()) print("\n数据前5行:") print(df.head()) ``` #### 步骤2:验证猜想1(晚间vs日间活跃度对比) ```python # 计算日间/晚间的核心活跃度指标:平均发布量(按小时)、平均互动量 # 1. 按时段分组统计发布量(每条记录为1条发布) period_post_count = df.groupby('time_period')['user_id'].count() # 按时段分组统计平均互动量 period_interaction_mean = df.groupby('time_period')['interactions'].mean() # 计算晚间/日间发布量倍数、互动量倍数 post_multiple = period_post_count['晚间'] / period_post_count['日间'] interaction_multiple = period_interaction_mean['晚间'] / period_interaction_mean['日间'] # 输出统计结果 print("\n=== 猜想1验证结果 ===") print(f"日间发布量:{period_post_count['日间']},晚间发布量:{period_post_count['晚间']}") print(f"晚间发布量是日间的 {post_multiple:.2f} 倍") print(f"\n日间平均互动量:{period_interaction_mean['日间']:.2f},晚间平均互动量:{period_interaction_mean['晚间']:.2f}") print(f"晚间平均互动量是日间的 {interaction_multiple:.2f} 倍") # 可视化:日间vs晚间活跃度对比 fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5)) # 发布量对比 period_post_count.plot(kind='bar', ax=ax1, color=['#4287f5', '#f5a642']) ax1.set_title('日间vs晚间发布量对比') ax1.set_xlabel('时段') ax1.set_ylabel('发布总量') ax1.grid(axis='y', alpha=0.3) # 平均互动量对比 period_interaction_mean.plot(kind='bar', ax=ax2, color=['#4287f5', '#f5a642']) ax2.set_title('日间vs晚间平均互动量对比') ax2.set_xlabel('时段') ax2.set_ylabel('平均互动量') ax2.grid(axis='y', alpha=0.3) plt.tight_layout() plt.savefig('猜想1验证.png', dpi=300) plt.show() # 猜想1结论判断 if post_multiple >= 1.5 and interaction_multiple >= 1.5: print("\n猜想1验证结论:成立(晚间活跃度显著高于日间,倍数≥1.5)") else: print(f"\n猜想1验证结论:不成立(晚间发布量倍数为{post_multiple:.2f},互动量倍数为{interaction_multiple:.2f})") ``` #### 步骤3:验证猜想2(工作日vs周末峰值时段对比) ```python # 按「是否周末+小时」分组,统计发布量(核心活跃度指标) weekend_hour_post = df.groupby(['is_weekend', 'hour'])['user_id'].count().reset_index() # 拆分工作日/周末数据 workday_data = weekend_hour_post[weekend_hour_post['is_weekend'] == 0] weekend_data = weekend_hour_post[weekend_hour_post['is_weekend'] == 1] # 找到工作日/周末发布量峰值小时 workday_peak_hour = workday_data.loc[workday_data['user_id'].idxmax(), 'hour'] weekend_peak_hour = weekend_data.loc[weekend_data['user_id'].idxmax(), 'hour'] # 输出峰值时段结果 print("\n=== 猜想2验证结果 ===") print(f"工作日发布量峰值小时:{workday_peak_hour}点") print(f"周末发布量峰值小时:{weekend_peak_hour}点") # 可视化:工作日vs周末各小时发布量趋势 plt.figure(figsize=(10, 6)) # 绘制工作日趋势 plt.plot(workday_data['hour'], workday_data['user_id'], marker='o', label='工作日', color='#4287f5', linewidth=2) # 绘制周末趋势 plt.plot(weekend_data['hour'], weekend_data['user_id'], marker='s', label='周末', color='#f54287', linewidth=2) # 标注峰值点 plt.scatter(workday_peak_hour, workday_data[workday_data['hour']==workday_peak_hour]['user_id'].values[0], color='#4287f5', s=100, label=f'工作日峰值:{workday_peak_hour}点') plt.scatter(weekend_peak_hour, weekend_data[weekend_data['hour']==weekend_peak_hour]['user_id'].values[0], color='#f54287', s=100, label=f'周末峰值:{weekend_peak_hour}点') # 图表样式设置 plt.title('工作日vs周末各小时发布量趋势') plt.xlabel('小时') plt.ylabel('发布量') plt.xticks(range(8, 24)) # 仅显示核心时段(8-23点) plt.grid(alpha=0.3) plt.legend() plt.tight_layout() plt.savefig('猜想2验证.png', dpi=300) plt.show() # 猜想2结论判断 workday_peak_range = 20 <= workday_peak_hour <= 22 # 工作日峰值是否在20-22点 weekend_peak_range = 15 <= weekend_peak_hour <= 19 # 周末峰值是否在15-19点 if workday_peak_range and weekend_peak_range: print("\n猜想2验证结论:成立(工作日峰值在20-22点,周末峰值在15-19点)") else: print(f"\n猜想2验证结论:不成立(工作日峰值为{workday_peak_hour}点,周末峰值为{weekend_peak_hour}点)") ``` ### 四、结果解读与拓展说明 1. **数据适配性**:若下载的数据集字段名称/格式不同,需调整代码中`post_time`/`interactions`等字段名;若数据量过小(<1000条),可补充Kaggle其他社交媒体行为数据集(如https://www.kaggle.com/datasets/mashlyn/instagram-reach-data)。 2. **统计优化**:可增加「显著性检验」(如t检验)验证时段差异是否具有统计学意义,代码可补充: ```python from scipy import stats # 验证日间/晚间互动量差异是否显著 day_interaction = df[df['time_period']=='日间']['interactions'] night_interaction = df[df['time_period']=='晚间']['interactions'] t_stat, p_value = stats.ttest_ind(night_interaction, day_interaction) print(f"\n日间/晚间互动量t检验结果:t={t_stat:.2f},p值={p_value:.4f}") print("差异显著" if p_value < 0.05 else "差异不显著") ``` 3. **业务价值**:验证结果可指导社交媒体内容运营——如工作日20-22点、周末15-19点发布核心内容,提升曝光与互动效率。 五、预期输出 1. 文本输出:两个猜想的「成立/不成立」结论、关键倍数/峰值时段数值; 2. 可视化输出:2张图表(日间vs晚间对比、工作日vs周末小时趋势); 3. 统计补充:可选t检验结果,验证差异的显著性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 8:09:05

Markdown预览浏览器扩展的终极配置指南

Markdown预览浏览器扩展的终极配置指南 【免费下载链接】markdown-viewer Markdown Viewer / Browser Extension 项目地址: https://gitcode.com/gh_mirrors/ma/markdown-viewer 想要在浏览器中完美预览Markdown文档吗&#xff1f;无论您是开发者、文档编写者还是普通用…

作者头像 李华
网站建设 2026/4/21 12:40:13

你以为的键盘错位不合理,其实是历史最优解解决方案

你是否曾低头看着自己的键盘&#xff0c;疑惑过这样一个看似简单却令人费解的问题&#xff1a;为什么键盘上的按键不是整齐排列成直线&#xff0c;而是呈阶梯状错开的&#xff1f;如果把所有按键紧密并排、完全对齐&#xff0c;难道不是更紧凑、更直观吗&#xff1f;这个日常计…

作者头像 李华
网站建设 2026/4/20 13:32:26

PingFangSC字体引擎:构建跨平台视觉统一的技术基石

PingFangSC字体引擎&#xff1a;构建跨平台视觉统一的技术基石 【免费下载链接】PingFangSC PingFangSC字体包文件、苹果平方字体文件&#xff0c;包含ttf和woff2格式 项目地址: https://gitcode.com/gh_mirrors/pi/PingFangSC 在数字体验竞争白热化的今天&#xff0c;字…

作者头像 李华
网站建设 2026/4/22 21:21:42

什么牌子的大路灯护眼好用?推荐护眼大路灯风云榜,10款热销机型

护眼大路灯是一款结合台灯和吸顶灯特点的照明工具&#xff0c;提供了更自然、更舒适的视觉用眼体验&#xff0c;而且护眼大路灯也已逐渐成为学生党、用眼人群的首选&#xff0c;而对于护眼大路灯的火爆&#xff0c;各品牌也纷纷进入护眼照明市场的赛道&#xff0c;导致品牌众多…

作者头像 李华
网站建设 2026/4/20 16:37:45

制药企业设备突发故障?CBM技术如何实现设备状态提前预警

在传统设备维护模式下&#xff0c;制药企业常面临“设备突然停机”“维修成本高”“备件库存积压”等难题。一旦关键设备如离心机、蒸汽压缩机突发故障&#xff0c;不仅影响生产进度&#xff0c;还可能带来安全风险与合规隐患。而基于状态的预测性维护&#xff08;CBM&#xff…

作者头像 李华