首页 > 其他分享 >2024年第十四届APMCM亚太地区大学生数C题第一版本超详细解题思路——一文速通C题学建模竞赛

2024年第十四届APMCM亚太地区大学生数C题第一版本超详细解题思路——一文速通C题学建模竞赛

时间:2024-11-21 16:47:10浏览次数:3  
标签:plt 速通 数据 题学 years 2024 宠物食品 data 预测

亚太近三年题目类型较为固定,A题为图像处理类题目;B题为纯优化类问题;C题为数据收集、分析、处理类题目。今年又加入了D题,偏优化类型题目,QUBO(二次无约束二元优化)模型题目。与每年妈杯D题相近。

基于往年C题选题人数占总人数80%+,本次助攻初步暂定为C题提供两个版本,完全不同的解题思路、解题代码,确保能够给大家提供尽可能多的选择方案。

初步赛题难度预估 A:B:C:D=5:4:1.5:6

初步选题人数预估 A:B:C:D=1:1.5:4:0.8

下面我们进行详细的问题分析,一文滤清亚太C题。首先需要根据题目自行收集数据,我根据后续题目需要收集了 中国、德国、法国、美国四个国家近五年31个指标的相关数据,仅供参考。大家也可以根据我收集数据的网站自行补充其他数据

数据分享链接:https://pan.baidu.com/s/1_w8dq7h6st8Q14KY3hc8-A

提取码:qune

图片

收集数据部分来源网站【数据集部分来自统计局,部分来自网站。来自网站数据因来源不同、定义不同可能有真实值有所差异,可根据自己手头数据进行改动。不敢保证100%全部真实可靠】

宠物食品市场规模(亿美元)

兽医服务开支 (亿美元)+宠物食品开支 (亿美元)

美国宠物家庭渗透率

https://www.jiemian.com/article/11967023.html

https://www.euromonitor.com/

https://www.sohu.com/a/700105587_121746450

https://www.thepaper.cn/newsDetail_forward_29179742

https://www.marketresearch.com

https://www.21jingji.com/article/20240117/herald/100e75780066b931e56c2d585b19b3a5.html

https://www.hangyan.co/charts/3488743342085244004

https://www.hangyan.co/charts/3392831999713477730

首先,需要对数据进行必要的处理工作对于初步收集的数据存在大量的缺失值,需要补充。由于部分指标仅只能在网站收集,网站给出数据并非逐年的。我们为了方便后续计算,需要对缺失值数据利用插值方式进行补充。

法国相关数据

年份

兽医服务开支(亿美元)

宠物医疗市场规模(亿欧元)

报告经济体的商品出口,剩余(占商品出口总额的百分比)

总生育率(女性人均生育数)

2019

1.2

0.787204677

1.86

2020

1.9

0.455771952

1.83

2021

2

1.4

0.466127228

1.84

2022

1.794

2023

2.4

1.6

0.296505815

1.844526316

插值方法选择【线性、拉格朗日、三次样条均可】只需要完成缺失值补充即可。结果大致如下所示

图片

对于收集的数据还需要进行必要的数据分析,例如对异常的数据需要进行必要的就结果说明。

图片

在当下,日益发展的时代,宠物的数量应该均为稳步上升,在美国出现了下降的趋势吗,中国2019-2020年也下降,这部分变化可能与疫情相关。需要对该部分进行必要的解释说明。

问题 1: 基于附件1中的数据及您的团队收集的额外数据,请分析过去五年中国宠物行业按宠物类型的发展情况。并分析中国宠物行业发展的影响因素,从而建立一个合适的数学模型,预测未来三年中国宠物行业的发展。

对于问题一,一共三个问题 分析发展情况+分析影响因素+预测未来发展

分析发展情况;使用图表(例如折线图、柱状图)对不同类型宠物(猫、狗等)的市场增长趋势进行可视化。进行必要的文字描述,进行描述性分析即可。

例如,通过饼图或柱状图比较不同宠物类型在总市场中的占比;使用折线图展示不同类型宠物数量及市场规模的变化趋势。

分析影响因素;影响中国宠物行业发展的因素可能有多个,涵盖经济、社会、文化等多方面。首先对收集到的指标进行分类,按类别进行分析。使用皮尔逊相关系数或Spearman相关系数,分析各个潜在因素与宠物数量、宠物市场规模之间的相关性,从中筛选出重要的影响因素。对于部分类别含有较多的指标,可以使用数据降维的方式进行降维处理。

图片

宠物行业核心指标:涵盖直接描述宠物市场的指标,包括宠物类型、宠物数量、市场规模、宠物食品、兽医服务等核心业务数据。

国际贸易相关指标:主要涉及各个国家的商品出口、进口以及商业服务进出口的数据,反映了宠物食品出口及进口等方面的国际贸易情况。

人口与社会因素:包括人口的基本统计信息、人口结构以及年轻群体的就业情况等,能够帮助分析宠物市场的潜在驱动因素。

经济发展与收入不平等指标:包括经济发展水平(如人均GDP)、居民消费能力,以及衡量收入差距的基尼系数,能反映消费者的购买能力和市场潜力。

生产与消费相关指标:例如食品生产指数,可以用来评估食品生产能力对宠物食品市场供应的影响。

相关性结果如下所示

图片

预测未来发展;对于建立一个预测未来三年中国宠物行业发展的数学模型,我们需要选择适合的模型来捕捉时间趋势及相关性。由于只有五年数据,本题目并不推荐使用机器学习相关的方法。主要推荐使用时间序列预测、灰色模型预测、多元回归预测。下述模型会再后续更新的论文中进行编程实现

时间序列模型(ARIMA、SARIMA)适用情况:如果过去的数据表现出显著的时间趋势和季节性特征。

步骤1使用差分方法来处理非平稳性,确保时间序列平稳。

步骤2使用ACF和PACF图确定合适的模型阶数(p, d, q)。

步骤3通过AIC、BIC选择最优模型,进行拟合和预测。

多元回归模型:预测宠物市场规模并考虑多种影响因素(如经济、社会、人口等)。建立以宠物市场规模或宠物数量为因变量的回归模型,将之前选出的特征作为自变量,分析它们对宠物市场的影响。

灰色预测模型:单指标预测模型,适合于小样本短期预测,1982年邓聚龙老师提出的一种模型。

模型选择注记:第一种、第三种都是单指标预测,无法考虑其他指标的影响。第二种可以加入其他指标的影响,但是精度不会太高。可以进行模型结合

我们这里以灰色模型为例进行展示说明

图片

问题 2: 近年来,欧洲国家和美国等海外宠物行业也在迅速发展。请基于附件2中的数据及您的团队收集的额外数据,分析全球宠物行业按宠物类型的发展情况。并建立一个合适的数学模型,预测未来三年全球对宠物食品的需求。

问题二可以看作为问题一模型的普适性研究,首先根据收集的数据析全球宠物行业按宠物类型的发展情况。方法与问题一相同,利用可视化结果进行必要的描述性分析即可。

预测未来三年全球对宠物食品的需求,依旧可以沿用问题一的时间序列预测、灰色模型预测、多元回归预测。可以交叉使用,例如问题一使用时间序列预测,问题二使用预测预测,其本质不变。

问题 3: 基于附件3中的中国宠物食品生产和出口数据,分析中国宠物食品行业的发展情况,并预测未来三年中国宠物食品的生产和出口(不考虑经济政策的变化),结合全球宠物食品市场的需求趋势以及中国的发展情况进行分析。

对于问题三,题目并没有要求结合自己收集的数据。对于这一题干,可以直接默认不使用自行收集的;也可以使用自行收集的数据,针对方法不同的队伍可以有不同的理解。如果不使用收集的数据,则对于该问题大概率只能使用单指标预测模型。对于分析中国宠物食品行业的发展情况可以计算各年度生产量和出口量的增长率(年化增长率)以衡量行业的增速。根据收集到的全球市场需求数据,分析宠物食品在全球不同区域的增长趋势,例如欧洲、美国等主要市场的宠物食品需求量。

使用收集的数据,则需要从中国的发展情况出发,筛选出能够体现中国的发展情况的指标 GPD等指标,对各指标构建回归模型进行求解。

这里我们先以简单的预测模型 指数平滑为例进行展示说明

图片

问题 4: 中国的宠物食品行业不可避免地会受到欧洲国家和美国新出台的外部经济政策(如关税政策)的影响。为了定量分析这种影响,请建立一个合适的数学模型,并将附件中的数据、您收集的额外数据以及上述问题中的计算结果纳入考虑。基于您的计算结果,请为中国宠物食品行业的可持续发展制定可行的策略。

对于该问题,我们可以分为描述性分析、量化政策影响、建立情景分析模型。

· 描述性分析:了解中国宠物食品出口历史数据与政策变化的影响。

·  量化政策影响:通过数学模型(如多元回归、计量经济学模型等)来定量化政策影响。

·  建立情景分析模型:设计不同政策情景(如关税上调、关税下调、不变)并分析它们的影响。

为了定量分析经济政策(如关税变化)对中国宠物食品行业的影响,合适的模型包括计量经济学模型情景分析模型

多元线性回归是一个简单但非常有效的方式来量化政策因素(如关税)对宠物食品出口的影响。

·因变量:宠物食品出口量(亿美元)。

·自变量

o关税率(如对美国和欧洲出口的关税变化)。

o宠物食品市场规模(预测结果)。

o外部因素(如食品生产指数、人均GDP、消费支出等)。

o全球需求(全球宠物食品需求量的预测)。

% 数据准备

clc;

clear;

close all;

% 原始数据 (年份和猫狗数量)

years = 2019:2023;

data_cats = [4412, 4862, 5806, 6536, 6980];

data_dogs = [5503, 5222, 5429, 5119, 5175];

% 对猫和狗的数量进行灰色预测

% 1. 对猫数量进行GM(1,1)灰色预测

pred_cats = GM11(data_cats, 3); % 预测未来3年的数据

% 2. 对狗数量进行GM(1,1)灰色预测

pred_dogs = GM11(data_dogs, 3); % 预测未来3年的数据

% 可视化原始数据与预测结果

future_years = 2024:2026;

all_years = [years, future_years];

figure;

% 猫的数据可视化

subplot(2,1,1);

plot(years, data_cats, 'o-b', 'LineWidth', 1.5);

hold on;

plot(all_years, pred_cats, '-r', 'LineWidth', 1.5);

title('猫数量的灰色预测');

xlabel('年份');

ylabel('数量 (万)');

grid on;

legend('实际数据', '预测数据', 'Location', 'NorthWest');

% 狗的数据可视化

subplot(2,1,2);

plot(years, data_dogs, 'o-g', 'LineWidth', 1.5);

hold on;

plot(all_years, pred_dogs, '-r', 'LineWidth', 1.5);

title('狗数量的灰色预测');

xlabel('年份');

ylabel('数量 (万)');

grid on;

legend('实际数据', '预测数据', 'Location', 'NorthWest');

% 关键步骤结果的可视化

fprintf('关键过程结果:\n');

fprintf('猫的预测数据:%s\n', mat2str(pred_cats));

fprintf('狗的预测数据:%s\n', mat2str(pred_dogs));

% GM(1,1) 灰色预测函数定义

function [prediction] = GM11(data, predict_years)

% 计算累计生成序列

n = length(data);

x1 = cumsum(data);

% 构造数据矩阵B和向量Y

B = [-0.5 * (x1(1:end-1) + x1(2:end))', ones(n-1, 1)];

Y = data(2:end)';

% 求解参数向量a和b

U = (B' * B) \ (B' * Y);

a = U(1);

b = U(2);

% 构造灰色预测模型的方程

x1_hat = zeros(1, n + predict_years);

x1_hat(1) = data(1);

for k = 2:n + predict_years

x1_hat(k) = (data(1) - b / a) * exp(-a * (k - 1)) + b / a;

end

% 还原预测值

prediction = [data(1), diff(x1_hat)];

prediction = prediction(1:n + predict_years);

end

# 数据准备
import numpy as np
import matplotlib.pyplot as plt

# 原始数据 (年份和猫狗数量)
years = np.array([2019, 2020, 2021, 2022, 2023])
data_cats = np.array([4412, 4862, 5806, 6536, 6980])
data_dogs = np.array([5503, 5222, 5429, 5119, 5175])

plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用SimHei字体
plt.rcParams['axes.unicode_minus'] = False  # 正确显示负号
# GM(1,1) 灰色预测函数定义
def GM11(data, predict_years):
    # 计算累计生成序列
    n = len(data)
    x1 = np.cumsum(data)

    # 构造数据矩阵B和向量Y
    B = np.vstack((-0.5 * (x1[:-1] + x1[1:]), np.ones(n - 1))).T
    Y = data[1:]

    # 求解参数向量a和b
    U = np.linalg.inv(B.T @ B) @ B.T @ Y
    a, b = U

    # 构造灰色预测模型的方程
    x1_hat = np.zeros(n + predict_years)
    x1_hat[0] = data[0]
    for k in range(1, n + predict_years):
        x1_hat[k] = (data[0] - b / a) * np.exp(-a * k) + b / a

    # 还原预测值
    prediction = np.diff(x1_hat, prepend=data[0])
    return prediction[:n + predict_years]


# 对猫和狗的数量进行灰色预测
# 1. 对猫数量进行GM(1,1)灰色预测
pred_cats = GM11(data_cats, 3)  # 预测未来3年的数据

# 2. 对狗数量进行GM(1,1)灰色预测
pred_dogs = GM11(data_dogs, 3)  # 预测未来3年的数据

# 可视化原始数据与预测结果
future_years = np.array([2024, 2025, 2026])
all_years = np.concatenate((years, future_years))

plt.figure(figsize=(10, 8))

# 猫的数据可视化
plt.subplot(2, 1, 1)
plt.plot(years, data_cats, 'o-b', linewidth=1.5, label='实际数据')
plt.plot(all_years, pred_cats, '-r', linewidth=1.5, label='预测数据')
plt.title('猫数量的灰色预测')
plt.xlabel('年份')
plt.ylabel('数量 (万)')
plt.grid(True)
plt.legend(loc='upper left')

# 狗的数据可视化
plt.subplot(2, 1, 2)
plt.plot(years, data_dogs, 'o-g', linewidth=1.5, label='实际数据')
plt.plot(all_years, pred_dogs, '-r', linewidth=1.5, label='预测数据')
plt.title('狗数量的灰色预测')
plt.xlabel('年份')
plt.ylabel('数量 (万)')
plt.grid(True)
plt.legend(loc='upper left')

plt.tight_layout()
plt.show()

# 关键步骤结果的可视化
print('关键过程结果:')
print(f'猫的预测数据:{pred_cats}')
print(f'狗的预测数据:{pred_dogs}')

标签:plt,速通,数据,题学,years,2024,宠物食品,data,预测
From: https://blog.csdn.net/qq_33690821/article/details/143940281

相关文章

  • Metasploit Pro 4.22.5-2024111901 (Linux, Windows) - 专业渗透测试框架
    MetasploitPro4.22.5-2024111901(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,releasedNov19,2024请访问原文链接:https://sysin.org/blog/metasploit-pro-4/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org世界上最广泛使用的渗透测试框......
  • 2024.11.20组队训练记录
    B.osu!mania题面:\(pp=\max\left(0,\frac{320a+300b+200c+100d+50e+0f}{320(a+b+c+d+e+f)}-80\%\right)\times5\timesppmax\)输入:输入的第一行包含一个正整数$T$,表示数据组数。保证$1\leqT\leq100$。对于每组测试数据:输入......
  • 2024年你一定要知道的20种数组处理方法
    1. 数组创建constarray=[1,2,3,4,5];//使用字面量创建数组constarray2=newArray(10);//创建一个长度为10的空数组2. 添加元素push():向数组末尾添加一个或多个元素,并返回新的长度。array.push(6);//[1,2,3,4,5,6]unshift():向数组开头添加一个......
  • 20222307 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容1.1本周学习内容回顾Metasploit是一个渗透测试框架,它提供了一个平台让安全专家能够开发、测试和执行漏洞利用代码。它包括了一个庞大的漏洞和漏洞利用数据库,以及许多用于辅助渗透测试的工具,如端口扫描器、漏洞扫描器和payload生成器1.2实验要求本实践目标是掌握met......
  • CSP-S 2024 邮寄
    这个人很懒,一个月之后才写游记。考的挺差的,后来想想还是写篇游记吧。10.26初赛初赛前几天都在摆。结果考试当天在车上疯狂复习linux指令。然后就看到了pwd。开考,连蒙带猜,最后发现完善程序9个A??出考场,小图灵测的97分。没什么好说的,只能说rp都叠初赛上了,有点慌。(事实上......
  • 2024网络安全学习路线 非常详细 推荐学习
    关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线首先咱们聊聊,学习网络安全方向通常会有哪些问题1、打基础时间太长学基础花费很长时间,光语言都有几门,有些人会倒在学习linux系统及命令的路上,更多的人会倒在学习语言上;2、知识点掌握程度不清楚对于网......
  • C++最佳情侣身高差 2024年9月c++一级 电子学会中小学生软件编程C++等级考试一级真题答
    目录C++最佳情侣身高差一、题目要求1、编程实现2、输入输出二、算法分析三、程序编写四、程序说明五、运行结果六、考点分析C++最佳情侣身高差2024年9月C++编程等级考试一级编程题一、题目要求1、编程实现专家通过多组情侣研究数据发现,最佳的情侣身高差遵循......
  • Altenergy电力系统控制软件 status_zigbee SQL注入漏洞复现(CVE-2024-11305)
     0x01阅读须知        技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用......
  • 20222415 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容本周学习了metasploit的用法并趁热打铁做了一场痛彻心扉实践课。很好的实践题让我下六个虚拟机:)2.实验过程靶机IP172.16.230.80主机IP172.16.227.205(1)前期渗透Search一下,标白的地方就是等下要use的useauxiliary/scanner/discovery/arp_sweep然后输入show......
  • 【20241121】Git客户端配置使用和各种命令解析
    gitee的使用文档  1、gitee是什么?基于git的代码托管协助平台2、git网站上的注册登录2.1打开gitee官网Gitee-基于Git的代码托管和研发协作平台打开注册登录即可。邮箱注册最好,非邮箱在个人-设置里添加自己的邮箱。新手请公开自己的邮箱,如图:     3、准......