38.利用matlab解 有约束无约束的参数估计对比(matlab程序)

1.简述

      

1.离散型随机变量的极大似然估计法:
(1) 似然函数
若X为离散型, 似然函数为

(2) 求似然函数L(θ)的最大值点 θ, 则θ就是未知参数的极大似然估计值.
2.连续型随机变量的极大似然估计法:
(1) 似然函数
若 X 为连续型, 似然函数为

(2) 求似然函数L(θ)的最大值点θ, 则θ就是未知参数 的极大似然估计值.

一、矩估计
设总体X的均值、方差均存在,样本(X1,X2,……,X n),则不管总体服从什么分布,总体均值的矩估计均为样本均值,方差的矩估计均为样本二阶中心矩。
matlab中提供了下列函数来实现总体均值的矩估计值与方差的矩估计值的计算,如下:
mu_ju=mean(X) % 返回样本X的均值
sigma2_ju =moment(X,2) % 返回样本X的2阶中心矩
例:来自某总体X的样本值如下:
232.50, 232.48, 232.15, 232.52, 232.53, 232.30, 232.48, 232.05, 232.45, 232.60, 232.47, 232.30,求X的均值与方差的矩估计。

>> x=[232.50,232.48,232.15,232.52,232.53,232.30,232.48,232.05,232.45,232.60,232.47,232.30]
 mu_ju=mean(x)
sigma2_ju= moment(x,2)
x =
  232.5000  232.4800  232.1500  232.5200  232.5300  232.3000  232.4800  232.0500  232.4500  232.6000  232.4700  232.3000
mu_ju =
  232.4025
sigma2_ju =
    0.0255

二、单个总体极大似然估计与区间估计(参数均未知)
命令: [a,b]=namefit (X, ALPHA) % 返回总体参数的极大似然估计a与置信度为100(1- ALPHA)的置信区间 [a,b],若参数为多个,ab也是多个,若省略ALPHA,则置信度为0.95
下表列出了几种常用分布的参数估计函数:

函数名    调 用 形 式    函 数 说 明
binofit    PHAT= binofit(X, N);[PHAT, PCI] = binofit(X,N);[PHAT, PCI]= binofit (X, N, ALPHA)    二项分布的概率的最大似然估计置信度为95%的最大似然估计和置信区间返回水平α的参数估计和置信区间
poissfit    Lambdahat=poissfit(X);[Lambdahat, Lambdaci] = poissfit(X);[Lambdahat, Lambdaci]= poissfit (X, ALPHA)    泊松分布的参数的最大似然估计置信度为95%的最大似然估计和置信区间返回水平α的λ参数和置信区间
normfit    [muhat,sigmahat,muci,sigmaci] = normfit(X);[muhat,sigmahat,muci,sigmaci] = normfit(X, ALPHA)    正态分布的最大似然估计,置信度为95%返回水平α的期望、方差值和置信区间
betafit    PHAT =betafit (X);[PHAT, PCI]= betafit (X, ALPHA)    返回β分布参数a和 b的最大似然估计返回最大似然估计值和水平α的置信区间
unifit    [ahat,bhat] = unifit(X);[ahat,bhat,ACI,BCI] = unifit(X);[ahat,bhat,ACI,BCI]=unifit(X, ALPHA)    均匀分布参数的最大似然估计置信度为95%的参数估计和置信区间返回水平α的参数估计和置信区间
expfit    muhat =expfit(X);[muhat,muci] = expfit(X);[muhat,muci] = expfit(X,alpha)    指数分布参数的最大似然估计置信度为95%的参数估计和置信区间返回水平α的参数估计和置信区间
gamfit    phat =gamfit(X);[phat,pci] = gamfit(X);[phat,pci] = gamfit(X,alpha)    γ分布参数的最大似然估计置信度为95%的参数估计和置信区间返回最大似然估计值和水平α的置信区间
weibfit    phat = weibfit(X);[phat,pci] = weibfit(X);[phat,pci] = weibfit(X,alpha)    韦伯分布参数的最大似然估计置信度为95%的参数估计和置信区间返回水平α的参数估计及其区间估计
Mle    phat = mle(‘dist’,data);[phat,pci] = mle(‘dist’,data);[phat,pci] = mle(‘dist’,data,alpha);[phat,pci] = mle(‘dist’,data,alpha,p1)    分布函数名为dist的最大似然估计置信度为95%的参数估计和置信区间返回水平α的最大似然估计值和置信区间仅用于二项分布,pl为试验总次数
对于上表函数,以均匀分布的参数估计为例说明:
例、产生 100 行1列服从区间(1, 10)上的均匀分布的随机数, 计算区间端点“a”和“b”的极大似然估计值, 求出置信度为0.95的这两个参数的置信区间。

三、单个正态总体参数估计
设X1,X2,……Xn,为来自正态总体N(u,sigma^2)的一个样本,求u,sigma ^2的极大似然估计与区间估计。此处会较多用到数理统计的知识,参见下表。
只需要按照表中所对应的估计函数计算即可。只不过在计算之前,有必要去了解一下matlab中如何去计算某一分布的临界值。

2.代码

function my_ga_fit_nonline()
x=[8.00 8.00 10.00 10.00 10.00 10.00 12.00 12.00 12.00 14.00 14.00 14.00 16.00 16.00 16.00 18.00 18.00 20.00 20.00 20.00 20.00 22.00 22.00 24.00 24.00 24.00 26.00 26.00 26.00 28.00 28.00 30.00 30.00 30.00 32.00 32.00 34.00 36.00 36.00 38.00 38.00 40.00 42.00]';

y=[0.49 0.49 0.48 0.47 0.48 0.47 0.46 0.46 0.45 0.43 0.45 0.43 0.43 0.44 0.43 0.43 0.46 0.42 0.42 0.43 0.41 0.41 0.40 0.42 0.40 0.40 0.41 0.40 0.41 0.41 0.40 0.40 0.40 0.38 0.41 0.40 0.40 0.41 0.38 0.40 0.40 0.39 0.39]';

A=[];
B=[];
AE=[];
BE=[];


 lb =[ ]; 
 ub =[ ];        
 options=optimset('display','iter','MaxFunEvals',1e3,'MaxIter',1e10,'TolFun',1e-8,'TolX',1e-8);
numberOfVariables = 2;%需拟合参数的个数

opt= gaoptimset('PlotFcns',{@gaplotbestf,@gaplotmaxconstr},'Display','iter',...
    'PopulationSize',50, 'Generations',50,'StallGenLimit',50,'StallTimeLimit',50,'CrossoverFraction',0.85,'MutationFcn',@mutationadaptfeasible);
[x_unc, fval_unc, exitflag]=ga(@myfuntest,numberOfVariables,A,B,AE,BE,lb,ub,[]);
[x_ga_fit, fval_error, exitflag]=ga(@myfuntest,numberOfVariables,A,B,AE,BE,lb,ub,@myconfun,opt); 

x_unc
x_ga_fit
y_48=(x_ga_fit(1)+(0.49-x_ga_fit(1)).*exp(-x_ga_fit(2).*(10-8)))


y_unc=x_ga_fit(1)+(0.49-x_ga_fit(1)).*exp(-x_ga_fit(2).*(x-8));
 yy=x_unc(1)+(0.49-x_unc(1)).*exp(-x_unc(2).*(x-8));
 err_unc=sum(abs(y_unc-y))
 err=sum(abs(yy-y))
figure
 plot(x,y,'r*',x,yy,'b-^',x,y_unc,'--gs')
 
function f = myfuntest(z)
  f=zeros(1,1);
for i=1:length(x)
  f=f+((z(1)+(0.49-z(1)).*exp(-z(2).*(x(i)-8))-y(i)).^2);

end

end

function [c, ceq] =myconfun(z)
        c=[];
        ceq=[(z(1)+(0.49-z(1)).*exp(-z(2).*(10-8))-0.48)];
end
end
 

3.运行结果

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/53656.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于ASP.NET MVC开发的、开源的个人博客系统

推荐一个功能丰富、易于使用和扩展的开源博客,可以轻松地创建和管理自己的博客。 项目简介 基于.Net Framework 4.5开发的、开源博客系统,具有丰富的功能,包括文章发布、分类、标签、评论、订阅、统计等功能,同时也可以根据需要…

vue2商城项目-01-总结

1.配置相关 1.1eslint关闭 说明:根目录创建vue.config.js module.exports {// 关闭eslintlintOnSave: false,};1.2src配置别名 说明:根目录创建jsconfig.json文件 {"compilerOptions": {"baseUrl": "./","path…

[Docker实现测试部署CI/CD----相关服务器的安装配置(2)]

目录 6、Jenkins安装配置安装jdk安装maven拉取镜像启动jenkins修改数据卷权限浏览器访问安装插件配置jenkins移动JDK和Maven配置JDK和Maven 6、Jenkins安装配置 Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作&…

java中io流、属性集Properties、缓冲流、转换流、序列化和反序列化、打印流、网络编程(TCP通信程序、文件复制案例、文件上传案例、B/S服务案例)

IO流: io流中i表示input输入,o表示output输出,流表示数据(字符,字节,1个字符2个字节8个位);这里的输入输出是以内存为基础,将数据从内存中输出到硬盘的过程称为输出&…

Docker实战-操作Docker容器实战(一)

导语   在之前的分享中,我们介绍了关于如何去操作Docker镜像,下面我们来看看如何去操作容器。 简单来讲,容器是镜像运行的一个实例,与镜像不同的是镜像只能作为一个静态文件进行读取,而容器是可以在运行时进行写入操…

SpringBoot中Redis报错:NOAUTH Authentication required

1、问题 org.springframework.dao.InvalidDataAccessApiUsageException: NOAUTH Authentication required.; nested exception is redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required. … 2、解决 如果提供了密码还没解决,那可能是…

如何从 Android 设备恢复已删除的文件?

从 Android 设备恢复已删除的文件很简单,但您需要了解内部恢复和SD 卡恢复之间的区别。 目前销售的大多数 Android 设备都配备了 SD 卡插槽(通常为 microSD),可以轻松添加额外的存储空间。该存储空间可用于存储照片、视频、文档&a…

枫叶时代:打造中国特色的传统文化IP

近年来,取材于传统文化的影视作品在文化产业市场受到前所未有的关注。作为一种兼具辨识度、影响力和流量变现能力的文化符号,影视IP既是文化产业的一个重要环节,也是国家文化软实力的直接体现。优秀的影视IP可以超越文字、语言、民族的障碍&a…

Stable Diffusion - SDXL 模型测试 (DreamShaper 和 GuoFeng v4) 与全身图像参数配置

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132085757 图像来源于 GuoFeng v4 XL 模型,艺术风格是赛博朋克、漫画、奇幻。 全身图像是指拍摄对象的整个身体都在画面中的照片&…

Redis 客户端有哪些?

文章目录 JedisLettuceRedisson最佳实践 - 到底用哪个? Redis 最常见的 Java 客户端有两个,Jedis 和 Lettuce,高级客户端有 Redisson,见下图(图源 Clients | Redis) Jedis Github地址:redis/j…

Redis主从复制原理

持久化机制是在一台Redis主机上进行操作,如果这台机器出了问题,如果是持久化数据的硬盘出了问题,那数据就会丢失。主从复制就是为了解决单点故障的。 同时,主从模式下采用的是读写分离来对外提供服务 于是,将主服务器和…

Cocos Creator的 Cannot read property ‘applyForce‘ of undefined报错

序: 1、博主是看了这个教程操作的时候出的bug>游戏开发 | 17节课学会如何用Cocos Creator制作3D跑酷游戏 | P9 代码控制对象移动_哔哩哔哩_bilibili 2、其实问题不是出在代码上,但是发现物体就是不平移 3、node全栈的资料》node全栈框架 正文…