【MATLAB第105期】基于MATLAB的Monte Carlo蒙特卡洛抽样的全局敏感性分析方法研究,与sobol抽样对比(无目标函数--代理模型rf、svm、rbf、bp)

【MATLAB第105期】基于MATLAB的Monte Carlo蒙特卡洛抽样的全局敏感性分析方法研究,与sobol抽样对比(无目标函数–代理模型rf、svm、rbf、bp)

全局敏感性分析方法参照64期sobol抽样分析方法,均基于方差法实现。

%%  清空环境变量
warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行
rng(30)
%%  导入数据
res = xlsread('数据集.xlsx');
%%  划分训练集和测试集
%temp = randperm(103);
temp = randperm(size(res,1));
trainnum=80;%训练数量
P_train = res(temp(1: trainnum), 1: end-1)';
T_train = res(temp(1: trainnum), end)';
M = size(P_train, 2);
P_test = res(temp(trainnum+1: end), 1: end-1)';
T_test = res(temp(trainnum+1: end), end)';
N = size(P_test, 2);
%%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);

一、BP神经网络

1、训练模型

在这里插入图片描述

2、MC敏感性分析

在这里插入图片描述
在这里插入图片描述

3、sobol敏感性分析

在这里插入图片描述
在这里插入图片描述

二、rbf神经网络

1、训练模型

在这里插入图片描述

2、MC敏感性分析

在这里插入图片描述
在这里插入图片描述

3、sobol敏感性分析

在这里插入图片描述
在这里插入图片描述

三、随机森林rf

1、训练模型

在这里插入图片描述

2、MC敏感性分析

在这里插入图片描述
在这里插入图片描述

3、sobol敏感性分析

在这里插入图片描述
在这里插入图片描述

四、libsvm模型

1、训练模型

在这里插入图片描述

2、MC敏感性分析

在这里插入图片描述
在这里插入图片描述

3、sobol敏感性分析

在这里插入图片描述

在这里插入图片描述

五、代码获取

1.阅读首页置顶文章
2.关注CSDN
3.根据自动回复消息,回复“105期”以及相应指令,即可获取对应下载方式。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
蒙特卡洛抽样是一种基于随机数的统计方法,用于估计数学模型中的未知参数或计算复杂的数学积分。在MATLAB中,可以使用蒙特卡洛方法来生成随机样本,并通过这些样本来估计分布函数MATLAB提供了一些内置函数来进行蒙特卡洛抽样和分布函数估计。其中,最常用的是`rand`函数,用于生成服从均匀分布的随机数。通过生成大量的随机数样本,并根据这些样本计算累积分布函数(CDF),可以得到分布函数的估计。 以下是使用MATLAB进行蒙特卡洛抽样分布函数的一般步骤: 1. 生成随机数样本:使用`rand`函数生成一组服从均匀分布的随机数样本。 2. 计算累积分布函数(CDF):根据生成的随机数样本,计算每个值在样本中出现的频率,并累积得到CDF。 3. 绘制分布函数图像:使用`plot`函数将CDF绘制成图像,以可视化分布函数的估计结果。 下面是一个简单的示例代码,演示如何使用MATLAB进行蒙特卡洛抽样分布函数的估计: ```matlab % 生成随机数样本 sampleSize = 10000; randomSample = rand(sampleSize, 1); % 计算累积分布函数(CDF) x = sort(randomSample); y = (1:sampleSize) / sampleSize; % 绘制分布函数图像 plot(x, y); xlabel('x'); ylabel('CDF'); title('Monte Carlo Sampling Distribution Function'); ``` 这段代码将生成10000个服从均匀分布的随机数样本,并根据样本计算CDF。最后,使用`plot`函数将CDF绘制成图像。 希望以上内容对您有帮助!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随风飘摇的土木狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值