当前位置: 首页 > news >正文

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题 美国总统的经济影响分析 原题再现&#xff1a; 美国总统选举每四年举行一次。 2020年是美国总统大选年&#xff0c;共和党候选人唐纳德特朗普和民主党对手乔拜登竞选总统。 甲乙双方候选人在金融贸易&#xff0c;经济金融治理&#xff0c;…...

保护隐私就是在保护自己!如何在Android上更改应用程序权限

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

Linux/Ubuntu 安装 Java运行环境

linux下安装Java运行环境 1、下载安装包 .tar.gz 先在官网下载 JDK 点击这里 在这里要选择对应的 JDK 版本&#xff0c;一般我们目前选择JDK8 点击这里 2、在 /usr/local/ 目录下创建Java文件夹 cd /usr/local/ mkdir java3、将下载的文件通过FTP程序上传到刚刚创建的Java文…...

vue2 中activated和deactivated是详细解说

activated 和 deactivated 是 Vue.js 中的生命周期钩子函数&#xff0c;主要用于处理组件在 keep-alive 缓存中进入和离开时的行为。 这些钩子函数通常用于在组件进入缓存时执行特定的操作&#xff0c;以及在组件离开缓存时执行清理操作。 下面是关于这两个钩子函数的用例和示例…...

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项目登录验证变更

背景&#xff1a;我用的是ruoyi-vue3.8.6版本&#xff0c;因公司需要使用window的域用户进行登录验证&#xff0c;因此原有的ruoyi登录验证方法就得替换掉 1. 首先登录系统添加一些域账号&#xff0c;以确保登录方式更改后&#xff0c;能在sys_user中找到该账号&#xff0c;因…...

maven依赖冲突以及解决方法

什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包&#xff0c;有多个不同的版本&#xff0c;因而造成类包版本冲突 依赖冲突的原因 依赖冲突很经常是类包之间的间接依赖引起的。每个显式声明的类包都会依赖于一些其它的隐式类包&#xff0c;这些隐式的类包会被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系列&#xff0c;MOT是多目标追踪常用数据集&#xff0c;MOT数据集对数据集进行了分帧&#xff0c;如要获得视频&#xff0c;需要先利用opencv里的cv2.VideoWriter模块便利图片文件夹&#xff0c;具体代码如下&#xff1a; import os import cv2img_path…...

php如何在header增加key,sign,timestamp?怎么鉴权?

在PHP中&#xff0c;您可以通过在HTTP请求的Header中增加Key、Sign和Timestamp等信息来进行安全性鉴权。 以下是一种基本的思路和示例&#xff0c;用于说明如何实现这种鉴权机制&#xff1a; 生成Key和Sign&#xff1a; 服务端和客户端之间共享一个密钥&#xff08;Key&#x…...

从代码入手理解卡尔曼滤波器的原理之使用Eigen实现二维卡尔曼滤波器(七)

当然可以。现在,给定了矩阵和向量的具体定义,我们可以更详细地解释这些变量的意义,并确定卡尔曼滤波器的维度。 F (状态转移矩阵): F 是一个2x2的矩阵,给定为:1 0 0 1这意味着系统的状态从时刻t到t+1没有实质变化,即每个状态都保持不变。 H (观测矩阵): H 也是一个2x2的矩…...

文件的操作

前言&#xff1a;哈喽小伙伴们好久不见&#xff0c;国庆假期已经结束&#xff0c;接下来我们还是要马不停蹄的投入到学习当中&#xff0c;只有尽快调整状态回归学习&#xff0c;才能弯道超车。 今天我们一起来学习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存储时&#xff0c;通过GraphQL协议查询元数据时&#xff0c;存在SQL注入漏洞&#xff0c;该漏洞允许访问未指定的数据。 Apache SkyWalking 6.0.0到6.6.0、7.0.0 H2 / MySQL / TiDB存储实现不使用适当的方法来设置SQL参…...

PaddleX解决分类、检测两大场景问题?实战精讲教程来了!

AI技术加速数字化进程&#xff0c;从制造、交通、能源等基础行业&#xff0c;到医疗、城市、零售、家居等与人们日常生活息息相关的行业&#xff0c;AI技术推动了数字化变革&#xff0c;也不断赋能于千行百业&#xff0c;但产业落地实践中依然面临着数据、算法等诸多困难。为了…...

Hive用户中文使用手册系列(二)

命令和 CLI 语言手册命令 命令是 non-SQL statements&#xff0c;例如设置 property 或添加资源。它们可以在 HiveQL 脚本中使用&#xff0c;也可以直接在CLI或Beeline中使用。 命令描述退出使用 quit 或 exit 退出交互式 shell。重启将 configuration 重置为默认值(从 Hive…...

2023年中国清净剂行业需求现状及前景分析[图]

清净剂用于中和由于燃烧和润滑油氧化产生的酸性物质&#xff0c;并清除颗粒和污物。这类杂质在油中的溶解度有限&#xff0c;因此&#xff0c;清净剂可以最大程度减少沉积物的生成&#xff0c;降低污染&#xff0c;提高环保排放标准。成熟产品有磺酸盐、硫化烷基酚盐、烷基水杨…...

文心一言 VS 讯飞星火 VS chatgpt (115)-- 算法导论10.2 8题

八、用go语言&#xff0c;说明如何在每个元素仅使用一个指针 x.np(而不是通常的两个指针 next和prev)的下实现双向链表。假设所有指针的值都可视为 k 位的整型数&#xff0c;且定义x.npx.next XOR x.prev&#xff0c;即x.nert和x.prev 的 k 位异或。(NIL 的值用0表示。)注意要说…...

Redis的BitMap实现分布式布隆过滤器

布隆过滤器&#xff08;Bloom Filter&#xff09;是一种高效的概率型数据结构&#xff0c;用于判断一个元素是否属于一个集合。它通过使用哈希函数和位数组来存储和查询数据&#xff0c;具有较快的插入和查询速度&#xff0c;并且占用空间相对较少。 引入依赖 <!--切面--&…...

【linux API分析】module_init

linux版本&#xff1a;4.19 module_init()与module_exit()用于驱动的加载&#xff0c;分别是驱动的入口与退出函数 module_init()&#xff1a;内核启动时或动态插入模块时调用module_exit()&#xff1a;驱动移除时调用 本篇文章介绍module_init() module_init() module_init…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...