2020年亚太杯APMCM数学建模大赛B题美国总统的经济影响分析求解全过程文档及程序
2020年亚太杯APMCM数学建模大赛
B题 美国总统的经济影响分析
原题再现:
美国总统选举每四年举行一次。 2020年是美国总统大选年,共和党候选人唐纳德·特朗普和民主党对手乔·拜登竞选总统。 甲乙双方候选人在金融贸易,经济金融治理,其他一些不同的重点发展领域(如COVID-19作战措施,基础设施,税收,环境保护,医疗保险,就业,贸易,移民,教育等)有不同的政治立场和行政方案。)。 不同候选人的当选将塑造全球经济和金融发展的不同战略模式,并对美国经济和全球经济(包括中国经济)产生更大的影响)。 不同的政策将如何影响美国经济和中国经济? 中国应该如何回应? 你的团队被要求收集候选人在不同领域的政策主张、政策指南和相关数据,并回答以下问题:
1. 建立数学模型,并利用相关数据定量分析不同候选人对美国的可能影响经济。(你可以选择一个或几个领域分别回答这个问题或给出一个全面的答案)
2. 建立数学模型,利用相关数据定量分析不同候选人对中国经济的可能影响。 (你可以选择一个或几个领域分别回答这个问题或给出一个全面的答案)
3. 假设你是中国经济发展智库的成员,结合问题1和问题2的数学模型,在这两种情况下(哪一方获胜),你会对中国在相关领域的经济对策和政策提出什么建议)? 请具体说明你的观点。
整体求解过程概述(摘要)
为了解决美国大选结果对中美经济的影响问题,本文利用拉格朗日插值和主成分分析对历史数据进行补充和约简,建立了基于BP神经网络的预测模型,并利用VAR模型分析了未来经济发展状况,并建立了基于多元线性回归的层次分析模型,对大选结果进行评价和分析。
问题1需要对不同候选人的当选对美国经济的影响进行定量分析。通过比较两位候选人政策主张的异同,我们提取了相关政策指标来表达其对美国经济的影响,并收集了历史数据。对于缺失的数据,使用拉格朗日插值来完成原始数据。由于政策指标数量庞大,考虑对政策指标进行主成分分析,并建立基于BP神经网络的预测模型,利用主成分指标的历史数据预测未来4年的各种主成分指标。最后,利用VAR模型,利用主成分指标的预测值,计算出经济指标的预测价值,对美国未来经济发展进行分析。
问题2是分析对中国经济的影响。假设只有两位候选人的对华政策会影响中国经济,提取四个对华政策指标,并根据问题1计算中国经济指标的预测值,分析中国未来的经济发展。
问题3要求结合问题1和问题2的数学模型,提出特朗普和拜登当选时中国应该采取的经济对策。通过构建基于多元线性回归的层次分析模型,根据层次排序方法获得指标权重。结果显示,拜登的选举权重为0.51,而特朗普的选举权重则为0.49。二者差别不大,表明两位候选人的政策对中国经济的影响相似。在十大政策指标中,权重排名前三的是股价综合500指数、贸易逆差和进出口总额。这些指标主要与美国的金融和贸易政策相对应。针对这些政策,中国提出了适当的经济政策。
本文的创新之处在于,根据疫情的影响调整BP神经网络的预测结果,使其更符合实际情况,并使用VAR模型来分析和确定未来经济发展状况。在层次分析法中,采用多元线性回归方法构造判断矩阵,避免了专家评分主观化的缺点。
模型假设:
(1) 假设候选人上任后将执行已公布的政策主张。
(2) 根据新冠肺炎疫苗的开发,假设疫情不会持续到下一任期结束。
(3) 忽略非政策因素对中美经济的影响。
(4) 假设BP神经网络的误差不影响经济模型的求解。
问题分析:
问题一分析
问题一需要建立数学模型,通过相关数据定量分析不同候选人的当选对美国经济的影响。
首先,要比较分析两位候选人的政策建议的异同,主要包括新冠肺炎抗击措施、基础设施、税收、环保、医疗保险、就业、贸易、移民、教育等。
其次,不同的候选人采取不同的政策主张会导致不同的经济发展条件。为了描述这种影响,为每项政策选择相应的相关政策指标,包括基础设施投资、税收收入、平均二氧化碳排放量、平均国内一般政府医疗支出、失业率、进出口总额、贸易赤字、股价500指数、国际移民总数和教育支出百分比。另一方面,为了定量判断经济发展状况,选取了国内生产总值、生产者价格指数、平均国民总收入等相关经济指标。收集这些指标的历史数据。
第三,鉴于政策指标数量庞大,而且并非所有信息都是主要信息,因此对这些指标进行了主成分分析,以提取反映政策变化的综合指标,同时减少维度。
第四,为了预测主成分指标,需要建立一个预测模型。鉴于BP神经网络的诸多优点,本文利用BP神经网络建立了预测模型,并利用历史数据对未来4年的各项主成分指标进行了预测。
最后,仅仅根据历史数据预测经济指标并不能反映政策变化的影响。为了通过主成分指标的预测值来计算经济指标的预测价值,需要找到经济指标与主成分之间的关系。本文在VAR模型的基础上分析了两者之间的关系。然后将主成分指标的预测值代入模型,得到经济指标的预测价值,进而分析经济发展状况。
问题二分析
问题二需要建立数学模型,通过相关数据定量分析不同候选人当选对中国经济的影响。
与问题1不同的是,在问题2中,只有两位候选人的对华政策会影响中国经济。因此,在问题2中,选择了与中国政策相关的指标来表征不同候选者对中国经济的影响,包括中国外贸货物吞吐量、美国对中国的进出口、美元兑人民币汇率和美国联邦基金利率。另一方面,为了定量判断中国经济的发展,选择中国进出口总额和关税作为衡量中国经济的指标。由于第一种分析方法与其他主成分分析方法相似,因此不需要提取主成分分析。
问题三分析
问题三要求结合问题1和问题2的数学模型,分别提出特朗普和拜登当选时中国应采取的经济对策。
为了分析两位候选人当选后对中国经济的影响,本文采用基于多元线性回归的层次分析法模型来确定每项政策的影响权重和两位候选人对中国经济影响程度。为了避免层次分析法(AHP)的主观性,基于第一题和第二题的数据,采用多元线性回归方法确定判断矩阵。最后,根据层次排序的结果,分析了影响因素及对策。
模型的建立与求解整体论文缩略图 (多种解法和文档)
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
程序代码:
部分程序如下:
clc;
clear;
%Parameter initialization
inputfile=xlsread('C:\Users\Admin\Desktop\DATA.xls',’raw data’);
for i=1:size(inputfile,2)
index=i;
data = inputfile(:,index);
la_data = ployinterp_column(data,'lagrange'); %Call Lagrange for interpolation
%The results are written to a file
rows = size(data,1);
result = cell(rows+1,2);
result{1,1}='original value';
result{1,2}='Lagrange interpolation';
result(2:end,1)= num2cell(data);
result(2:end,2)= num2cell(la_data);
xlswrite('C:\Users\Admin\Desktop\DATA.xls',’after data’);
end
ployinterp_column.m
function outputdata= ployinterp_column(columndata,type)
nans = isnan(columndata);
notzeroIndexes = find(nans);
%zeroIndexes = find(nans==0);
rows=size(columndata);
%currentValues=zeros(size(zeroIndexes));
for i=1:size(notzeroIndexes)pre5=findPre5(notzeroIndexes(i),columndata);last5=findLast5(notzeroIndexes(i),rows(1),columndata);[~,pre5cols]=size(pre5);[~,last5cols]=size(last5);if strcmp(type,'lagrange')missingValue=lagrange_interp([1:pre5cols,pre5cols+2:last5cols+pre5cols+1],...[pre5,last5],pre5cols+1); endcolumndata(notzeroIndexes(i),1)=missingValue;
end
outputdata=columndata;
end
function pre5=findPre5(index,columndata)
if index<=0disp('error');exit;
end
num=5;
pre5=nan(1,5);
for i=index-1:-1:1if isnan(columndata(i))==0 pre5(num)=columndata(i);num=num-1;endif num==0 break;end
end
pre5=pre5(~isnan(pre5));
end
function last5=findLast5(index,rows,columndata)
if index<=0 || index>rowsdisp('error');exit;
end
num=0;
last5=nan(1,5);
for i=index+1:rowsif isnan(columndata(i))==0 num=num+1;last5(num)=columndata(i); endif num==5 break;end
end
last5=last5(~isnan(last5));
end
lagrange_interp,m
function [ yi ] = lagrange_interp (X,Y,xi)
n=length(X);
m=length(xi);
yi=zeros(size(xi));
for j=1:m for i=1:n
temp=1; for k=1:nif(i~=k) temp=temp*(xi(j)-X(k))/(X(i)-X(k));endendyi(j)=Y(i)*temp+yi(j);end
end
end
function [error,R2,a] = BPTrain(index,num_neurons)
%% Input training set and test set
%Training set 1 (data from Obama's eight years in office)
Train1=xlsread('C:\Users\Admin\Desktop\ExportData.xls',' Training set 1');
%Training set 2 (data from Obama's 8 years + Trump's 4 years)
Train2=xlsread('C:\Users\ Admin \Desktop\ExportData.xls',' Training set 2);
%Test set (data from Trump's four years in power)
Test=xlsread('C:\Users\ Admin \Desktop\ExportData.xls',' Test set ');
% Prediction set
%PY=xlsread('C:\Users\ Admin \Desktop\ExportData.xls','Sheet2');
%P_Y=PY';
%py=mapminmax('apply',P_y,ps_input);
%Training set and Test set selection
P_train=Train2(:,1)';
T_train=Train2(:,index)';
P_test=Test(:,1)';
T_test=Test(:,index)';
%Data normalization
[p_train, ps_input]=mapminmax(P_train,0,1);
[t_train, ps_output] = mapminmax(T_train,0,1);
p_test = mapminmax('apply',P_test,ps_input);
%Neural network creation
net=newff(P_train,T_train,num_neurons); %Number of hidden neurons
%Set training parameters
net.trainParam.epochs=1000; %Number of iterations
net.trainParam.goal=1e-3; %Training objectives
net.trainParam.lr=0.01; %Learning rate
%Training network
[net,tr]=train(net,p_train,t_train);
%Simulation test
t_sim=sim(net,p_test);
% t_sim=sim(net,py);
%Data inverse normalization
T_sim=mapminmax('reverse',t_sim,ps_output);
%%Performance evaluation
%Relative error
error=abs(T_sim-T_test)./T_test;
%Coefficient of determination R2
R2=(size(T_test,2)*sum(T_sim.*T_test)-sum(T_sim)*sum(T_test))^2/((size(T_test,2)*sum((T_sim).^2)-
(sum(T_sim))^2)*(size(T_test,2) * sum((T_test).^2)-(sum(T_test))^2));
%Comparison of results
result=[T_test' T_sim' error'];
%Number of iterations
a=tr.num_epochs;
end
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可
相关文章:

2020年亚太杯APMCM数学建模大赛B题美国总统的经济影响分析求解全过程文档及程序
2020年亚太杯APMCM数学建模大赛 B题 美国总统的经济影响分析 原题再现: 美国总统选举每四年举行一次。 2020年是美国总统大选年,共和党候选人唐纳德特朗普和民主党对手乔拜登竞选总统。 甲乙双方候选人在金融贸易,经济金融治理,…...

保护隐私就是在保护自己!如何在Android上更改应用程序权限
如果你关心隐私,知道如何在Android上更改应用程序权限将成为一项非常重要的技能。即使是最好的安卓应用程序也可以对手机的功能和数据进行广泛的访问,因此准确控制它们的使用范围会有所帮助。 一旦你在手机上加载了应用程序,你可能会注意到它…...

Linux/Ubuntu 安装 Java运行环境
linux下安装Java运行环境 1、下载安装包 .tar.gz 先在官网下载 JDK 点击这里 在这里要选择对应的 JDK 版本,一般我们目前选择JDK8 点击这里 2、在 /usr/local/ 目录下创建Java文件夹 cd /usr/local/ mkdir java3、将下载的文件通过FTP程序上传到刚刚创建的Java文…...
vue2 中activated和deactivated是详细解说
activated 和 deactivated 是 Vue.js 中的生命周期钩子函数,主要用于处理组件在 keep-alive 缓存中进入和离开时的行为。 这些钩子函数通常用于在组件进入缓存时执行特定的操作,以及在组件离开缓存时执行清理操作。 下面是关于这两个钩子函数的用例和示例…...

C# GFPGAN 图像(人脸面部)修复
效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms;namespace 图像修复 {pu…...
ruoyi项目登录验证变更
背景:我用的是ruoyi-vue3.8.6版本,因公司需要使用window的域用户进行登录验证,因此原有的ruoyi登录验证方法就得替换掉 1. 首先登录系统添加一些域账号,以确保登录方式更改后,能在sys_user中找到该账号,因…...
maven依赖冲突以及解决方法
什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突 依赖冲突的原因 依赖冲突很经常是类包之间的间接依赖引起的。每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引…...
K8S常用的一些命令及工具
已json格式输出 [rootk8master1 ~]# yum install epel-release [rootk8master1 ~]# yum -y install jq [rootk8master1 ~]# kubectl get --raw /api/v1/namespaces/dev | jq {"kind": "Namespace","apiVersion": "v1","metadata…...
Atlas 200I DK目标检测与追踪技术记录
数据集 数据集采用MOT系列,MOT是多目标追踪常用数据集,MOT数据集对数据集进行了分帧,如要获得视频,需要先利用opencv里的cv2.VideoWriter模块便利图片文件夹,具体代码如下: import os import cv2img_path…...
php如何在header增加key,sign,timestamp?怎么鉴权?
在PHP中,您可以通过在HTTP请求的Header中增加Key、Sign和Timestamp等信息来进行安全性鉴权。 以下是一种基本的思路和示例,用于说明如何实现这种鉴权机制: 生成Key和Sign: 服务端和客户端之间共享一个密钥(Key&#x…...
从代码入手理解卡尔曼滤波器的原理之使用Eigen实现二维卡尔曼滤波器(七)
当然可以。现在,给定了矩阵和向量的具体定义,我们可以更详细地解释这些变量的意义,并确定卡尔曼滤波器的维度。 F (状态转移矩阵): F 是一个2x2的矩阵,给定为:1 0 0 1这意味着系统的状态从时刻t到t+1没有实质变化,即每个状态都保持不变。 H (观测矩阵): H 也是一个2x2的矩…...

文件的操作
前言:哈喽小伙伴们好久不见,国庆假期已经结束,接下来我们还是要马不停蹄的投入到学习当中,只有尽快调整状态回归学习,才能弯道超车。 今天我们一起来学习C语言——文件操作。 本篇文章讲到的所有函数均需要头文件#inc…...

left join时筛选条件对查询结果的
-- 创建表 CREATE TABLE table1 (id int(11) NOT NULL AUTO_INCREMENT,card_num varchar(60) DEFAULT NULL,customer_id varchar(60) DEFAULT NULL,PRIMARY KEY (id) ) ENGINE InnoDBAUTO_INCREMENT 12DEFAULT CHARSET utf8mb4 COMMENT 测试表1;-- 创建表 CREAT…...

CVE-2020-9483 apache skywalking SQL注入漏洞
漏洞概述 当使用H2 / MySQL / TiDB作为Apache SkyWalking存储时,通过GraphQL协议查询元数据时,存在SQL注入漏洞,该漏洞允许访问未指定的数据。 Apache SkyWalking 6.0.0到6.6.0、7.0.0 H2 / MySQL / TiDB存储实现不使用适当的方法来设置SQL参…...

PaddleX解决分类、检测两大场景问题?实战精讲教程来了!
AI技术加速数字化进程,从制造、交通、能源等基础行业,到医疗、城市、零售、家居等与人们日常生活息息相关的行业,AI技术推动了数字化变革,也不断赋能于千行百业,但产业落地实践中依然面临着数据、算法等诸多困难。为了…...
Hive用户中文使用手册系列(二)
命令和 CLI 语言手册命令 命令是 non-SQL statements,例如设置 property 或添加资源。它们可以在 HiveQL 脚本中使用,也可以直接在CLI或Beeline中使用。 命令描述退出使用 quit 或 exit 退出交互式 shell。重启将 configuration 重置为默认值(从 Hive…...

2023年中国清净剂行业需求现状及前景分析[图]
清净剂用于中和由于燃烧和润滑油氧化产生的酸性物质,并清除颗粒和污物。这类杂质在油中的溶解度有限,因此,清净剂可以最大程度减少沉积物的生成,降低污染,提高环保排放标准。成熟产品有磺酸盐、硫化烷基酚盐、烷基水杨…...

文心一言 VS 讯飞星火 VS chatgpt (115)-- 算法导论10.2 8题
八、用go语言,说明如何在每个元素仅使用一个指针 x.np(而不是通常的两个指针 next和prev)的下实现双向链表。假设所有指针的值都可视为 k 位的整型数,且定义x.npx.next XOR x.prev,即x.nert和x.prev 的 k 位异或。(NIL 的值用0表示。)注意要说…...

Redis的BitMap实现分布式布隆过滤器
布隆过滤器(Bloom Filter)是一种高效的概率型数据结构,用于判断一个元素是否属于一个集合。它通过使用哈希函数和位数组来存储和查询数据,具有较快的插入和查询速度,并且占用空间相对较少。 引入依赖 <!--切面--&…...
【linux API分析】module_init
linux版本:4.19 module_init()与module_exit()用于驱动的加载,分别是驱动的入口与退出函数 module_init():内核启动时或动态插入模块时调用module_exit():驱动移除时调用 本篇文章介绍module_init() module_init() module_init…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...

实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...

深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学
一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件,其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时,价带电子受激发跃迁至导带,形成电子-空穴对,导致材料电导率显著提升。…...

【Java多线程从青铜到王者】单例设计模式(八)
wait和sleep的区别 我们的wait也是提供了一个还有超时时间的版本,sleep也是可以指定时间的,也就是说时间一到就会解除阻塞,继续执行 wait和sleep都能被提前唤醒(虽然时间还没有到也可以提前唤醒),wait能被notify提前唤醒…...
Yii2项目自动向GitLab上报Bug
Yii2 项目自动上报Bug 原理 yii2在程序报错时, 会执行指定action, 通过重写ErrorAction, 实现Bug自动提交至GitLab的issue 步骤 配置SiteController中的actions方法 public function actions(){return [error > [class > app\helpers\web\ErrorAction,],];}重写Error…...
手动给中文分词和 直接用神经网络RNN做有什么区别
手动分词和基于神经网络(如 RNN)的自动分词在原理、实现方式和效果上有显著差异,以下是核心对比: 1. 实现原理对比 对比维度手动分词(规则 / 词典驱动)神经网络 RNN 分词(数据驱动)…...