正态总体均值和方差的极大似然估计-em算法详细例子及推导
13.1 极大似然估计的原理 极大似然的估计原理可以由下面的程序得到说明。我们首先生成 10 个服从 正态分布的总体,每个总体的均值都不同,依次为 0,1,2,3,4,5,6,7,8, 9。方差相同,均为 1。然后我们随机地取出一个总体,从中抽出 10 个样本,因 为事先不知道是从哪一个总体中抽出来的,所以我们分别用已知的 10 个总体参 数值代入似然函数,计算出 10 个似然函数值,取其中 大的似然值,认为该样 本是从相应的总体中取出的(从而联合概率密度也 大化)。然后我们让计算机 告诉我们它是从第几个总体中取样的,并与我们的判断进行对比。 *===========================begin================================== capt prog drop mle prog mle /*生成10个均值不同、方差均为1的正态总体,每个总体取8个样本*/ drawnorm double x0-x9,n(8) m(0,1,2,3,4,5,6,7,8,9) clear global i=int(10*uniform()) //设定一个随机数,用于随机取出一个总体 forv j=0/9 { gen lnf`j' =-0.5*ln(2*_pi)*8-sum(0.5*(x$i-`j')^2) //对取出的总体计算似然值 scalar lnf`j'=lnf`j'[_N] //最终的似然值 } scalar list // 比较10个似然值哪个最大,猜想是从第几个总体取出来的? end mle *根据10个似然值,猜想是从第几个总体取出来的? di "所抽中的样本为" as error "X"$i //显示真正的取样总体是什么 *===========================end==================================== 在现实中,我们并不知道任何一个真正的总体参数,因此,只能借助于找到 样本似然值(实际上是联合概率密度的对数值) 大的总体参数,即认为其是总 体参数。在 STATA 中实现 大似然法的估计必须自己编写程序。下面的例子说 明了如何利用 stata 编写程序来实现对模型的极大似然估计。 13.2 正态总体均值和方差的极大似然估计 *===========================begin================================== capt prog drop bb prog bb //定义程序的名称 args lnf u v //声明参数,u 为均值,v为方差 quietly replace `lnf' = -0.5*ln(2*_pi) - ln(`v') -0.5*($ML_y1-`u')^2/(`v')^2 end drawnorm x,n(100) m(10) sd(3) clear//模拟均值为10,方差为3的100个正态样本 ml model lf bb (x=) (variance:) //利用迭代法则进行极大似然估计
- 粉丝: 31
- 资源: 4197
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ocr模型ch-ppocr-mobile-v2.0-cls-infer
- 计算两个地点之间的最短路线距离.php
- JavaWeb-学习笔记
- 一键安装docker环境:docker、docker-compose
- 使Unity开发的游戏支持热更新的解决方案
- 信息办公简易java开源订销管理系统-javainfo.zip
- 新闻文章NTsky新闻发布(提供JavaBean)v1.0-ntskynewsv1.0javabean.zip
- 搜索链接java(结合lucene)版的公交搜索系统-javaso.zip
- 基于深度循环神经网络DRNN的单通道音乐人声分离python源码(高分大作业).zip
- 实验4.docx