【2025年五一数学建模竞赛】C题 解题思路与模型代码

2025年五一数学建模竞赛 C题

社交媒体平台用户分析问题

在这里插入图片描述

一、问题一 预测博主新增关注数

1.1 问题分析

用户对博主的关注行为通常与其历史互动模式(如观看、点赞、评论)密切相关,且可能存在时间序列上的关联性。例如,用户可能在多次观看或互动后触发关注行为。由于附件1提供了2024.7.11-2024.7.20的历史数据,需从中挖掘各博主每日新增关注数的规律性。需考虑以下因素:

1)时间序列特征:博主的新增关注数可能存在周期性(如周末效应)、趋势性(稳定增长或下降)或突发波动(某日数据异常)。

2)用户行为关联性:点赞、评论等高阶互动行为可能作为关注的先导指标。例如,用户对某博主的点赞或评论次数越多,后续关注的概率可能越大。

3)博主吸引力差异:不同博主的内容质量、互动率(点赞/评论与观看的比值)会影响用户的关注决策。

需通过统计方法(如滑动窗口计算趋势)或机器学习模型(如梯度提升树)量化上述因素,预测7月21日各博主的新增关注数。最终需筛选出当日新增关注数最多的前5位博主,确保结果符合平台推荐逻辑(如关注行为不可逆)。

1.2 数学模型

传统的时序预测方法主要是通过统计模型和数学模型来对时间序列进行预测,包括早期的指数平滑法、AR、MA、ARMA 模型用于预测线性的、单变量以及平稳的时间序列。该方法往往没有考虑其稳定性的要求,导致其对数据的适用性较低。下述公式是 ARMA 模型的定义表达式。

x t = ∑ j = 1 p ϕ j x t − j + ϵ t + ∑ j = 1 q θ j ϵ t − j x_t = \sum_{j=1}^{p} \phi_j x_{t-j} + \epsilon_t + \sum_{j=1}^{q} \theta_j \epsilon_{t-j} xt=j=1pϕjxtj+ϵt+j=1qθjϵtj

其中 ϵ \epsilon ϵ 为白噪声序列, p p p q q q 为阶数, ϕ j \phi_j ϕj 指的是 AR 系数, θ j \theta_j θj 指的是 MA 系数。当 q = 0 q = 0 q=0 时,该模型即为 AR 模型,表明 t t t 时刻当前数据受前 p p p 个时刻影响;当 p = 0 p = 0 p=0 时,该模型即为 MA 模型,表明当前 t t t 时刻数据与前 q q q 个时刻随机干扰项 { ϵ t , ϵ t − 1 , ϵ t − 2 , ⋯   } \{\epsilon_t, \epsilon_{t-1}, \epsilon_{t-2}, \cdots\} {ϵt,ϵt1,ϵt2,} 有关,而与前 q q q 个时刻的数据无关。 p p p 阶 AR 模型和 q q q 阶 MA 模型共同构成了预测平稳序列的 ARMA 模型。

ARIMA 模型的实质就是差分运算与 ARMA 模型的组合,记为 ARIMA(p,d,q)。ARIMA 模型可被表述为:

φ ( B ) ( 1 − B ) d y t = θ ( B ) ϵ t \varphi(B)(1 - B)^d y_t = \theta(B) \epsilon_t φ(B)(1B)dyt=θ(B)ϵt

式中, y t y_t yt 是时间序列的待预测值, d d d 为差分阶数, p p p 为自回归项数, q q q 为移动平均项数, ϵ t \epsilon_t ϵt 为零均值白噪声序列, B B B 是延迟算子。 B B B 满足以下表达式:

B n y t = y t − n B^n y_t = y_{t-n} Bnyt=ytn

φ ( B ) = 1 − φ 1 B − ⋯ − φ p B p \varphi(B) = 1 - \varphi_1 B - \cdots - \varphi_p B^p φ(B)=1φ1BφpBp

θ ( B ) = 1 − θ 1 B − ⋯ − θ q B q \theta(B) = 1 - \theta_1 B - \cdots - \theta_q B^q θ(B)=1θ1BθqBq

参数(p,d,q)的选取对于 ARMA 模型的预测性能影响较大。参数 d d d 可以在差分过程中被确定, d d d 在数值上等于差分的阶数。

二、问题二 预测用户新关注行为

2.1 问题分析

附件2提供了2024.7.22当天用户的观看、点赞、评论数据,需结合附件1的历史行为,预测用户当日的新关注对象。核心挑战在于如何从用户短期的实时互动(附件2)和长期的历史行为(附件1)中提取有效特征。关键分析点包括:

1)实时互动强度:用户在7月22日对某博主的点赞、评论频率可能直接反映其兴趣强度。例如,单日内对某博主多次评论可能预示即将关注。

2)历史行为惯性:用户过往关注的博主类型(如某领域专家)可作为偏好标签,推测其可能关注相似博主。

3)时间窗口效应:用户近期(如7天内)与某博主的互动频率若显著提升,可能处于“兴趣积累期”,关注概率较高。

需构建用户-博主关系网络,结合协同过滤算法或机器学习模型,捕捉用户的潜在兴趣,最终输出指定用户的新关注博主ID。需注意排除用户已关注的博主,满足假设中“关注关系不可逆”的条件。

2.2 数学模型

假设来自第 i i i 个神经元的输入为 X i X^i Xi,而对于每一个输入信号,其对于该神经元的连接权重不一样,最终实际的输入还要乘以相应的权重比,即 ω i \omega_i ωi,最终全部的输入信号的求和即为全部的输入,即 ∑ i = 1 n ω i x i \sum_{i=1}^{n} \omega_i x_i i=1nωixi。而最终的输入信号在神经元内部还会进行一次处理,即减去该神经元的阈值 θ \theta θ,最终得到的结果便为处理后的最终输入信号,即 ∑ i = 1 n ω i x i − θ \sum_{i=1}^{n} \omega_i x_i - \theta i=1nωixiθ

对于特定的神经元,其有一个特定的函数,该函数将神经元的输入信号作为自变量,输出信号则作为因变量,在此模型中,我们选择 Sigmoid 函数作为该神经元的转化函数,最终处理过后的输入值将作为该函数的自变量,而得到的因变量则为输出信号,上述过程即为神经元接受若干给输入信号并转化为输出信号的过程。故输出信号,即因变量是由输入信号,即自变量所确定的。

而对于此模型,由于转化函数是已经确定好了的,我们需要做的便是确定的是权重比 ω i \omega_i ωi 和阈值 θ \theta θ,只要找到合适的权重比和阈值,那么该模型就能够实现在已知输入信号之后预测出合理的输出信号这一功能,即在预测中已知各类条件之后能够预测出其实际的货量。在此我们引入均方误差:

E k = 1 2 ∑ j = 1 l ( o j k − y j k ) 2 E_k = \frac{1}{2} \sum_{j=1}^{l} (o_j^k - y_j^k)^2 Ek=21j=1l(ojkyjk)2

式中, 1 2 \frac{1}{2} 21 是为了便于后续的求导,并设第 j j j 个输出神经元的输入 β j = ∑ h = 1 n ω h j b h \beta_j = \sum_{h=1}^{n} \omega_{hj} b_h βj=h=1nωhjbh,第 j j j 个输出层神经元的阈值为 θ j \theta_j θj。均方误差最小时所对应的权重比和阈值便为理想的值,也是预测结果与实际结果误差最小时所对应的参数。故接下来要进行的步骤便是求出最小均方误差时所对应的参数。

在此我们基于梯度下降策略,对参数进行调整(以 ω \omega ω 的调整为例)。在完成 K K K 轮迭代后,可以得到 ω k \omega_k ωk,利用泰勒公式,将误差函数 E ( ω ) E(\omega) E(ω) ω k \omega_k ωk 处展开,则有:

E ( ω ) = E ( ω k ) + E ′ ( ω k ) ( ω − ω k ) E(\omega) = E(\omega_k) + E'(\omega_k)(\omega - \omega_k) E(ω)=E(ωk)+E(ωk)(ωωk)

上式忽略了余项 R R R,在进行 k + 1 k+1 k+1 轮的迭代后,我们令:

ω = ω k + 1 \omega = \omega_{k+1} ω=ωk+1

则有:

E ( ω k + 1 ) = E ( ω k ) + E ′ ( ω k ) ( ω k + 1 − ω k ) E(\omega_{k+1}) = E(\omega_k) + E'(\omega_k)(\omega_{k+1} - \omega_k) E(ωk+1)=E(ωk)+E(ωk)(ωk+1ωk)

在本文中,希望新优化后的参数使模型的误差更小,则有:

E ( ω k + 1 ) − E ( ω k ) = E ′ ( ω k ) ( ω k + 1 − ω k ) < 0 E(\omega_{k+1}) - E(\omega_k) = E'(\omega_k)(\omega_{k+1} - \omega_k) < 0 E(ωk+1)E(ωk)=E(ωk)(ωk+1ωk)<0

在此我们可发现可找到特解 ω k + 1 − ω k = − E ′ ( ω k ) \omega_{k+1} - \omega_k = -E'(\omega_k) ωk+1ωk=E(ωk) 使上述成立,其代入上述有:

E ( ω k + 1 ) − E ( ω k ) = − [ E ′ ( ω k ) ] 2 < 0 E(\omega_{k+1}) - E(\omega_k) = -[E'(\omega_k)]^2 < 0 E(ωk+1)E(ωk)=[E(ωk)]2<0

另一方面,前述进行泰勒展开式忽略了余项 R ( ω ) R(\omega) R(ω),忽略的前提是 ω k + 1 \omega_{k+1} ωk+1 ω k \omega_k ωk 的距离很近,此时引入一个很小的参数 η > 0 \eta > 0 η>0 来减小偏离程度, η \eta η 被称为学习率,则有:

ω k + 1 − ω k = − η E ′ ( ω k ) \omega_{k+1} - \omega_k = -\eta E'(\omega_k) ωk+1ωk=ηE(ωk)

故有迭代公式:

Δ ω h j = − η E ′ ( ω h j ) = − η ∂ E k ∂ ω h j \Delta \omega_{hj} = -\eta E'(\omega_{hj}) = -\eta \frac{\partial E_k}{\partial \omega_{hj}} Δωhj=ηE(ωhj)=ηωhjEk

由链式法则:

∂ E k ∂ ω h j = ∂ E k ∂ y j k ⋅ ∂ y j k ∂ β j ⋅ ∂ β j ∂ ω h j \frac{\partial E_k}{\partial \omega_{hj}} = \frac{\partial E_k}{\partial y_j^k} \cdot \frac{\partial y_j^k}{\partial \beta_j} \cdot \frac{\partial \beta_j}{\partial \omega_{hj}} ωhjEk=yjkEkβjyjkωhjβj

记:

g j = − ∂ E k ∂ y j k ⋅ ∂ y j k ∂ β j = − ( y j k − y j k ) ( y j k ) g_j = -\frac{\partial E_k}{\partial y_j^k} \cdot \frac{\partial y_j^k}{\partial \beta_j} = -(y_j^k - y_j^k)(y_j^k) gj=yjkEkβjyjk=(yjkyjk)(yjk)

由于激活函数采用的是 Sigmoid 函数,即:

f ( x ) = 1 1 − e − x f(x) = \frac{1}{1 - e^{-x}} f(x)=1ex1

则有:

( y j k ) ′ = y j k ( 1 − y j k ) (y_j^k)' = y_j^k(1 - y_j^k) (yjk)=yjk(1yjk)

进一步的:

∂ E k ∂ y j k ⋅ ∂ y j k ∂ β j = ( y j k − y j k ) y j k ( 1 − y j k ) = g j \frac{\partial E_k}{\partial y_j^k} \cdot \frac{\partial y_j^k}{\partial \beta_j} = (y_j^k - y_j^k)y_j^k(1 - y_j^k) = g_j yjkEkβjyjk=(yjkyjk)yjk(1yjk)=gj

β j \beta_j βj 的定义:

∂ β j ∂ ω h j = b h \frac{\partial \beta_j}{\partial \omega_{hj}} = b_h ωhjβj=bh

联立上述式子,得:

Δ ω h j = η g j b h \Delta \omega_{hj} = \eta g_j b_h Δωhj=ηgjbh

类似的有:

Δ θ j = − η g j \Delta \theta_j = -\eta g_j Δθj=ηgj

通过该方法可通过不断的训练得出合适的参数并用于实际填补,此即为模型的求解过程。

三、问题三 预测用户在线状态与互动关系

3.1 问题分析

预测用户是否在线需分析其历史活跃规律。例如,若用户过去一周仅在周末活跃,则7月21日(周日)在线的概率较高。若用户在线,需进一步预测其可能互动的博主。分析重点包括:
1)活跃时间模式:用户是否在特定时段(如晚间20:00-22:00)频繁使用平台。
2)互动偏好:用户对不同博主的互动历史(如长期关注某博主,或近期突然增加互动次数)。
3)行为衰减效应:用户最近一次互动的时间越近,当天再次活跃的可能性越大。
互动数的预测需综合点赞、评论、关注行为的权重。例如,用户可能对近期频繁互动的博主产生更高互动意愿。需通过聚类分析(如K-means)将用户划分为不同活跃类型,或使用时序模型(如LSTM)捕捉行为序列的依赖关系,最终推荐互动数最高的3位博主。

3.2 数学模型

K均值(K-means)是聚类中最常用的方法之一,基于点与点之间的距离的相似度来计算最佳类别归属。
K-means算法通过试着将样本分离到数个方差相等的组中来对数据进行聚类,从而最小化目标函数。该算法要求指定集群的数量。它可以很好地扩展到大量的样本,并且已经在许多不同领域的广泛应用领域中使用。
算法思想大致为:先从样本集中随机选取 k k k 个样本作为簇中心,并计算所有样本与这 k k k 个“簇中心”的距离,对于每一个样本,将其划分到与其距离最近的“簇中心”所在的簇中,对于新的簇计算各个簇的新的“簇中心”。

根据以上描述,K-means 算法的流程如下:

  1. 簇个数 k k k 的选择以及每个聚类初始聚类中心的选择

  2. 各个样本点到“簇中心”的距离

  3. 将样本按照最小距离原则分配到最近的邻近聚类,并根据新划分的簇,更新“簇中心”,

  4. 重复上一个步骤,直到聚类中心不再发生变化;

  5. 输出最终的聚类中心和 k k k 个簇划分

输入是样本集 D = { x 1 , x 2 , . . . , x m } D = \{x_1, x_2, ..., x_m\} D={x1,x2,...,xm},聚类的簇树 k k k 最大迭代次数 N N N

输出是簇划分 C = { C 1 , C 2 , . . . , C k } C = \{C_1, C_2, ..., C_k\} C={C1,C2,...,Ck}

x = { x 1 , x 2 , . . . , x n } x = \{x_1, x_2, ..., x_n\} x={x1,x2,...,xn} 其中距离的度量方法主要分为以下几种:

  1. 从数据集 D D D 中随机选择 k k k 个样本作为初始的 k k k 个质心向量: { μ 1 , μ 2 , . . . , μ k } \{\mu_1, \mu_2, ..., \mu_k\} {μ1,μ2,...,μk}

  2. 对于 n = 1 , 2 , . . . , N n = 1, 2, ..., N n=1,2,...,N

    a) 将簇划分 C C C 初始化为 C t = 0 , t = 1 , 2 , . . . , k C_t = 0, t = 1, 2, ..., k Ct=0,t=1,2,...,k

    b) 对于 i = 1 , 2 , . . . , m i = 1, 2, ..., m i=1,2,...,m,计算样本 x i x_i xi 和各个质心向量 μ j ( j = 1 , 2 , . . . , k ) \mu_j (j = 1, 2, ..., k) μj(j=1,2,...,k) 的距离: d i j = ∥ x i − μ j ∥ 2 2 d_{ij} = \|x_i - \mu_j\|_2^2 dij=xiμj22 x i x_i xi 标记最小的为 d i j d_{ij} dij 所对应的类别 λ i \lambda_i λi。此时更新 C λ i = C λ i ∪ { x i } C_{\lambda_i} = C_{\lambda_i} \cup \{x_i\} Cλi=Cλi{xi}

    c) 对于 j = 1 , 2 , . . . , k j = 1, 2, ..., k j=1,2,...,k,对 C j C_j Cj 中所有的样本点重新计算新的质心 μ j = 1 ∣ C j ∣ ∑ x ∈ C j x \mu_j = \frac{1}{|C_j|} \sum_{x \in C_j} x μj=Cj1xCjx

    e) 如果所有的 k k k 个质心向量都没有发生变化,则转到步骤 3)

  3. 输出簇划分 C = { C 1 , C 2 , . . . , C k } C = \{C_1, C_2, ..., C_k\} C={C1,C2,...,Ck}

四、问题四 预测用户在线时段与互动数

4.1 问题分析

需细化到小时级别预测用户的在线状态及互动行为。核心在于分析用户的历史时段活跃分布(如通勤时段、午休时段)与博主内容发布时间段的匹配度。具体需考虑:
1)时段活跃概率:统计用户在各小时段的历史活跃频率,构建概率分布模型(如泊松分布)预测7月23日的活跃时段。
2)时段-博主关联性:某些博主在特定时段发布内容(如晚间发布娱乐内容),可能吸引用户在对应时段互动。
3)互动数叠加效应:用户在连续活跃时段内可能对同一博主产生多次互动(如点赞后评论)。
需将24小时划分为独立时段,分别预测各时段的互动数,并通过排序筛选出互动数最高的3个博主及其对应时段。模型机器学习模型,确保结果的准确。

4.2 数学模型

人类大脑的记忆具有持久性,可以通过过往的知识积累去理解学习当前的知识。而传统的神经网络并没有持久性,每一个神经元不能通过前面神经元的学习结果进行重新推断学习,为了解决这一问题科学家提出了RNN递归神经网络(Recurrent Neural Networks,RNN),并改进提出一种特殊的递归神经网络:LSTM长短期记忆网络。
LSTM可解决一般递归神经网络中普遍存在的长期依赖问题,有效的传递和表达长时间序列中的信息并且不会导致长时间前的有用信息被遗忘。同时,LSTM还可以解决RNN中的梯度消失/爆炸问题。

完整建模论文与代码

后续会更新完整论文与求解代码,完整版请看文章下方~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值