高斯估计python和matlab

阅读: 评论:0

高斯估计python和matlab

高斯估计python和matlab

高斯估计 我也忘了具体是啥了

import numpy as np
import math
NDATA=3000
MU=[1,2]
COV=[[0.25,0],[0,0.64]]
SIGMA=[0.5,0.8]
#data=np.random.multivariate_normal(MU,SIGMA,NDATA)
#print(data)
E&#s((NDATA,1,2))
DATA&#s((NDATA,1,2))
COV_R&#s((NDATA,2,2))
MU_R=0
#print(DATA)
for i in range(NDATA):DATA[i] = np.random.multivariate_normal(MU, COV)
for i in range(NDATA):MU_R=MU_R+DATA[i,0]
MU_R=MU_R/NDATA    #抽取值
for i in range(NDATA):#print(DATA[i])E[i]=DATA[i]-MU_R #E[i]为第i个样本的偏差 [X-MU,Y-MU]#print(E[i])
for i in range(NDATA):#print(E[i])COV_R[i]=E[i]*E[i].T#print(COV_R[i])
COV_1=0
COV_2=0
for i in range(NDATA):  #均值用mean() 然我没看明白COV_1=COV_R[i][0][0]+COV_1#print(COV_R[i][0][0])COV_2=COV_R[i][1][1]+COV_2
COV_1=math.sqrt(COV_1/NDATA)
COV_2=math.sqrt(COV_2/NDATA)
print(MU_R)
print(COV_1)
print(COV_2)

下面是老师给的matlab版,我相当于复写吧,拿python写了一遍。

% 本示例用于最大似然估计的教学示例
% 描述:1)生成过程:根据给定参数的正态分布生成二维数据点样本
% ···2)估计过程:根据最大似然估计算法估计参数值
% 作者:王家宝% 设置随机数种子,使程序可重复 10次产生的随机数相同
rng(10);% 生成过程
NDATA = 10; % 数据点数目
MU = [1,2]'; % 分布均值 '代表转置
COV = [0.5,0;0,0.8]; % 协方差:假设各维度相互独立
SIGMA = diag(COV); % 方差:假设各维度相互独立 提取主对角线
DATA = zeros(2,NDATA); %DATA为2*NDATA的零矩阵
for k = 1 : NDATA% 依次生成数据DATA(:,k) = normrnd(MU,SIGMA);%生成服从正态分布的随机数
end
disp('均值:');
disp(MU);
% disp('协方差:');
% disp(COV);
disp('方差:');
disp(SIGMA);scatter(DATA(1,:),DATA(2,:)); % 绘制样本点 第一行为横轴 第二行为纵轴
box on; %右边上边有边框了
axis equal;%坐标轴单位相同% 估计过程
MU_EST = mean(DATA,2); % 计算均值 计算每行均值 MU_EST为估计均值 DATA为数据
DATA_DIF = bsxfun(@minus,DATA,MU_EST); %相减为数据与均值的差值
COV_SQUARE = zeros(2,2,NDATA);%2*2*NDATDA的矩阵
for k = 1 : NDATA% 计算每个样本的协方差COV_SQUARE(:,:,k) = DATA_DIF(:,k)*DATA_DIF(:,k)';
end
COV_SQUARE_EST = mean(COV_SQUARE,3);%对NDATA个样本取均值 c11:E(xi-MUx)^2 c22:E(yi-MUy)^2
SIGMA_SQUARE_EST = diag(COV_SQUARE_EST);%取对角线
disp('估计均值:');
disp(MU_EST);
% disp('估计协方差:');
% disp(sqrt(COV_SQUARE_EST));
disp('估计方差:');
disp(sqrt(SIGMA_SQUARE_EST));% 注:系统自带的参数估计,假设数据各维度相互独立
[mu,s] = normfit(DATA');

本文发布于:2024-01-31 09:44:22,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170666546327615.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:高斯   python   matlab
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23