首先了解一下什么叫云模型,云模型由中国工程院院士李德毅于1995年提出。云模型由若干云滴组成。其中每个云滴是确定的点,构成一个负责不确定的云。对于一个云的描述饱含三个元素,记作:(Ex,En,He)。

基本概念:Ex,云滴在论域空间的期望。

En,熵。用来表示云团的不确定性程度。

He,超熵。用来表示熵的不确定性程度。一个云模型记作。

正向云发生器:由(Ex,En,He)生成云团。

逆向云发生器:从复杂混乱云团中提取云的核心元素(Ex,En,He)。

主要目的:实现定性概念与定量描述直接的转换。

应用范围:自动驾驶、智能控制、复杂网络建模、语义控制、综合评价等

理论基础:概率论、模糊数学、混沌理论等 。

”或者’云滴‘是云模型的基本单元,所谓云是指在其论域上的一个分布,可以用联合概率的形式(x, u)来表示

云模型用三个数据来表示其特征 
期望:云滴在论域空间分布的期望,一般用符号Εx表示。 
熵:不确定程度,由离散程度和模糊程度共同决定,一般用En表示。 
超熵: 用来度量熵的不确定性,既熵的熵,一般用符号He表示。

云有两种发生器:正向云发生器和逆向云发生器,分别用来生成足够的云滴和计算云数字特征(Ex, En,He)。

正向云发生器: 
1.生成以En为期望,以He^2为方差的正态随机数En’。 
2.生成与Ex为期望,以En‘^2为方差的正态随机数x。 
3.计算隶属度也就是确定是 u=exp(-(x - Ex)^2 / 2*En‘^2),则(x, u)便是相对于论域U的一个云滴。这里选择常用的“钟型”函数u=exp(-(x - a)^2 / 2*b^2)为隶属度函数。 
4. 重复生成123步骤直到生成足够的云滴

逆向云发生器 
1.计算样本均值X和方差S^2 
2.Ex = X 
3.En = S^2 
4. He = sqrt(S^2 - En^2)

单个云图生成

clear;
 clc;
 N=3000;
 Ex=0.9031 ;
 En=0.0946 ;
 He=0.0616 ;
 CloudDrp = zeros(2,N); 
 for i=1:N 
     E_n = normrnd(En,He,1,1); %随机生成一个一行一列的以En为期望,以He为标准差的正态分布的数,这个数就是下一个正态分布的标准差
     CloudDrp(1,i) = normrnd(Ex,E_n,1,1); %生成横坐标,也就是云滴的取值
     CloudDrp(2,i) = exp(-(CloudDrp(1,i)-Ex)^2/(2*E_n^2));%钟形隶属度函数,得到纵坐标,隶属度
 end
 plot(CloudDrp(1,:),CloudDrp(2,:),'.')

结果如下图所示,使用时修改三个特征数值即可。

云模型的代码python 云模型分析_概率论


 

 多个云图在一张图中呈现

clear;

N=3000;
 Ex1=0.9031  ;
 En1=0.0946  ;
 He1=0.0616  ;
 Ex2=0.3961  ;
 En2=0.2515 ;
 He2=0.0328  ;
 Ex3=0.1524  ;
 En3=0.1524  ;
 He3=0.1524  ;
 CloudDrp=zeros(2,N);
 for i=1:N
 E_n1=normrnd(En1,He1,1,1);
 E_n2=normrnd(En2,He2,1,1);
 E_n3=normrnd(En3,He3,1,1);
 CloudDrp(1,i) = normrnd(Ex1,E_n1,1,1);
 CloudDrp(2,i) = exp(-(CloudDrp(1,i)-Ex1)^2/(2*E_n1^2));
 CloudDrp(3,i) = normrnd(Ex2,E_n2,1,1);
 CloudDrp(4,i) = exp(-(CloudDrp(3,i)-Ex2)^2/(2*E_n2^2));
 CloudDrp(5,i) = normrnd(Ex3,E_n3,1,1);
 CloudDrp(6,i) = exp(-(CloudDrp(5,i)-Ex3)^2/(2*E_n3^2));
 end
 plot(CloudDrp(1,:),CloudDrp(2,:),'.')
 hold on
 plot(CloudDrp(3,:),CloudDrp(4,:),'.')
 hold on
 plot(CloudDrp(5,:),CloudDrp(6,:),'.')

这里举三个样本为例

云模型的代码python 云模型分析_概率论_02