最大似然估计模型及 Stata 具体操作步骤

news2024/12/25 22:42:48

目录

一、引言

二、理论原理

三、准备数据

四、定义似然函数

五、进行最大似然估计

六、代码解释

七、代码运行结果

八、模型评估与诊断


一、引言


最大似然估计(Maximum Likelihood Estimation,MLE)是一种在统计学中广泛应用的参数估计方法。它的基本思想是在给定的观测数据下,寻找使得观测数据出现的概率最大的参数值。在 Stata 中,我们可以方便地实现最大似然估计,并对结果进行分析和解释。

二、理论原理
 

为了找到这个最优参数值,我们可以通过对对数似然函数求导,并令导数为零来求解(在满足一定的正则条件下)。如果函数较为复杂,无法直接通过求导求解,可以使用数值优化算法,如牛顿法、拟牛顿法等。

三、准备数据


我们使用一份数据集“wage.dta”,该数据集包含了员工的工资、工作经验等信息。

use "wage.dta", clear

四、定义似然函数


假设我们要估计工资(wage)与工作经验(exper)之间的线性关系,即假设工资服从正态分布 。

program define my_likelihood
    version 13
    args lnf beta0 beta1 sigma
    quietly {
        tempvar mu
        gen double `mu' = `beta0' + `beta1' * exper
        tempvar z
        gen double `z' = ( ( wage - `mu' ) ^ 2 ) / ( 2 * `sigma' ^ 2 )
        replace `lnf' = - log(`sigma') - 0.5 * log(2 * _pi) - 0.5 * `z'
    }
end

五、进行最大似然估计

ml model lf my_likelihood (beta0) (beta1) (sigma)
ml maximize

六、代码解释

  • 在定义的似然函数中,首先计算了预测的工资值 mu,它是基于输入的参数 beta0 和 beta1 以及观测值 exper 得到的。
  • 然后计算每个观测值的实际工资与预测工资的偏差的平方,并根据正态分布的概率密度函数公式计算对数似然值。
  • ml model lf 语句指定使用自定义的似然函数进行建模,并明确了要估计的参数 beta0beta1 和 sigma
  • ml maximize 语句用于调用 Stata 的优化算法来寻找使得似然函数最大的参数值。

七、代码运行结果


运行上述代码后,Stata 会输出最大似然估计的结果,包括估计的参数值、标准误差、t 值等。

例如,可能得到的输出如下:

Iteration 0:   log likelihood = -2871.871  
Iteration 1:   log likelihood = -2838.2781  
Iteration 2:   log likelihood = -2837.6243  
Iteration 3:   log likelihood = -2837.6242  

Maximum likelihood estimates
------------------------------------------------------------------------------
             |       Obs        Mean    Std. Err.       [95% Conf. Interval]
-------------+---------------------------------------------------------------
      beta0 |   .    5.238215.5238215    4.200578    6.275852
      beta1 |   .    0.815387.0815387    0.652306    0.978468
      sigma |   .    2.158743.2158743    1.726994    2.590492
------------------------------------------------------------------------------

从输出结果中,我们可以得到参数 、 和  的估计值以及相关的统计信息。例如,beta0 的估计值为 5.238215,标准误差为 0.5238215。t 值可以通过估计值除以标准误差计算得到,用于检验参数的显著性。

八、模型评估与诊断

1. 残差分析

残差是观测值与模型预测值之间的差异。通过对残差的分析,我们可以评估模型的拟合效果和是否满足模型的假设。

  • 绘制残差图:将残差与预测值、自变量或其他相关变量进行绘图。如果残差随机分布在零附近,没有明显的趋势或模式,通常表明模型拟合较好。例如,如果残差随预测值增大而增大或减小,可能意味着存在异方差问题。

  • 正态性检验:对残差进行正态性检验,如 Shapiro-Wilk 检验或绘制残差的直方图和正态概率图(Q-Q 图)。如果残差近似服从正态分布,符合模型假设;否则,可能需要考虑对数据进行变换或使用其他更适合的模型。

  • 独立性检验:通过 Durbin-Watson 检验等方法检查残差是否相互独立。如果残差存在自相关,可能需要在模型中加入适当的滞后项或使用其他模型形式。

2. 拟合优度检验

拟合优度检验用于评估模型对数据的整体拟合程度。

  • 似然比检验(Likelihood Ratio Test):比较当前模型与一个更简单的嵌套模型的似然值。如果两个模型的似然值差异显著,说明当前模型相对于简单模型有显著改进。

  • 信息准则:如 Akaike Information Criterion (AIC) 和 Bayesian Information Criterion (BIC)。这些准则在考虑模型拟合度的同时,也对模型的复杂度进行惩罚。较小的 AIC 或 BIC 值通常表示模型更优。

一文了解最大似然估计(Maximum Likelihood Estimation) (qq.com)icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzI1MjQ2OTQ3Ng==&mid=2247604343&idx=1&sn=8659045f8c4279710a205da9303af5e8&chksm=e9e051fcde97d8ea1dc8cc716325c4e7c8ce7da52af653e8462039f51caa7ad7703805d18626#rd 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux下磁盘分区工具GParted

最近发现安装的redhat机器部分磁盘大小分配不合理 使用gpated对磁盘重新分区 1、使用U盘制作一个启动盘 下载启动盘制作工具Index of /downloads 使用非常简单,选择gparted-live-1.1.0-3-i686.iso包即可 2、制作完成后,重启机器,选择U盘…

黑马点评-Postman卡住sending Requst原因解决

不知道为什么,用这个c1e1d5的token就会一直卡死,但是换了一个token就解决了,目前不知道为什么 解决了,原来是这个请求下面的函数发生了死循环!!太瓜皮了我超! 把num写成了count,导…

Docker启动PostgreSql并设置时间与主机同步

在 Docker 中启动 PostgreSql 时,需要配置容器的时间与主机同步。可以通过在 Dockerfile 或者 Docker Compose 文件中设置容器的时区,或者使用宿主机的时间来同步容器的时间。这样可以确保容器中的 PostgreSql 与主机的时间保持一致,避免在使…

【iOS】Tagged Pointer

目录 前言什么是Tagged Pointer?引入Tagged Pointer技术之前引入Tagged Pointer之后总结 Tagged Pointer原理(TagData分析)关闭数据混淆MacOS分析NSNumberNSString iOS分析 判断Tagged PointerTagged Pointer应用Tagged Pointer 注意点 Tagge…

[MySQL][深入理解隔离性][上][MVCC]详细讲解

目录 0.铺垫1.初识MVCC2.三个记录隐藏列字段1.是什么?2.示例 3.undo日志4.模拟MVCC5.思考 0.铺垫 在RR级别的时候,多个事务的update,多个事务的insert,多个事务的delete,是否会有加锁现象? 现象结果是&…

【C++】deque以及优先级队列

容器适配器 deque的介绍deque的原理介绍 priority_queue的介绍与使用priority_queue的介绍priority_queue的使用constructor(构造函数)emptypushpoptopsize priority_queue的模拟实现 仿函数何为适配器容器适配器deque的缺陷选择deque作为适配器的理由ST…

保姆级教程:十分钟快速上手Coze自定义插件

🐼 关注我, 了解更多 AI 前沿资讯和玩法,AI 学习之旅上,我与您一同成长! 我已经不止一次听到这样的话:未来的 AI 应用属于各行各业的智能体 (Agent) ~ 无论是国内的 扣子Coze、Dify,还是国外的…

网易易盾图标点选验证码识别代码

简介 网易图标点选一直都是一个大难题,如上图所示。难点之一是图标变幻莫测,很难刷出有重复的图标,所以使用传统等等方式去标注、识别具有较大的难度。 经过我们大量的数据标注,终于完成了这款验证码的识别。 目前我们提供两种识…

FPGA:频闪灯设计

1、需求 若在FPGA上实现LED灯一秒闪烁一次,先进行计算,1秒闪烁一次,即周期为1秒,开发板XC7A35TFFG-2的基本时钟输入由板载 50MHz 有源晶振提供,即频率为f 50MHz 。 则一个周期为 T 1 f 1 50 M H z 20 n s T\frac{…

C++初阶:模版初阶【范式编程】【函数模板】【类模板】

一.范式编程 我们在写C函数重载的时候,可能会写许多同一类的函数。 比如交换函数: void Swap(int& left, int& right) {int temp left;left right;right temp; }void Swap(double& left, double& right) {double temp left;left …

多线程.下

目录 1.线程等待 2.join()介绍 3.获取当前对象引用 4.线程的状态 5.线程安全 6.synchronized()关键字 7.synchronized关键字底层介绍 1.线程等待 对于操作系统而言,内部多个线程的执行是“随机调度,抢占式执行”的。简而言…

孟浩然,山水田园一山人

孟浩然,字浩然,号孟山人,生于唐睿宗永昌元年(公元689年),卒于唐玄宗开元二十八年(公元740年),享年51岁。他出生于盛唐时期的襄州襄阳(今湖北省襄阳市&#xf…

网络安全常见错误及解决办法(更新中)

# 开启代理,无法连接网络 把代理关掉 # 上一秒还在安装tree,下一秒xshell就连接不上了 —》sshd服务的key这个文件权限过高,跟装tree没有关系,装一个epel 源,epel-release​ 部分命令:chmod 600 /etc/ssh…

QXlsx读写excel

QXlsx读写excel 安装 QXlsx使用 qmake使用 CMake 基本用法1. 写入 Excel 文件2. 读取 Excel 文件 详细用法1. 设置单元格样式2. 合并单元格3. 创建图表4. 设置列宽和行高 完整示例 QXlsx 是一个用于在 Qt 应用中读写 Excel 文件的第三方库。它提供了丰富的 API,可以…

人工智能与社交变革:探索Facebook如何领导智能化社交平台

在过去十年中,人工智能(AI)技术迅猛发展,彻底改变了我们与数字世界互动的方式。Facebook作为全球最大的社交媒体平台之一,充分利用AI技术,不断推动社交平台的智能化,提升用户体验。本文将深入探…

昇思25天学习打卡营第23天|ResNet50图像分类

课程打卡凭证 ResNet网络 ResNet(Residual Networks,残差网络)是一种深度神经网络结构,它的核心思想是引入了“残差学习”来解决深度网络中的退化问题。在深度神经网络中,当网络层数增加到一定程度时,网络…

解读:基于图的大模型提示技术

【引子】大模型的兴起, 使得读论文成为了学习中的一种常态。如果一篇论文没有读懂,不用担心,可以再读一篇该领域内容相近的论文,量变可能会产生质变。就像编程语言一样,你永远无法精通一门编程语言,除非&am…

【Gin】精准应用:Gin框架中工厂模式的现代软件开发策略与实施技巧(上)

【Gin】精准应用:Gin框架中工厂模式的现代软件开发策略与实施技巧(上) 大家好 我是寸铁👊 【Gin】精准应用:Gin框架中工厂模式的现代软件开发策略与实施技巧(上)✨ 喜欢的小伙伴可以点点关注 💝 前言 本次文章分为上下两部分&…

linux进程优先级——优先值、调度算法、进程性质

前言:本篇内容主要讲解linux下进程的优先级。 优先级的内容相对较少, 最重要的内容就是cpu的调度方法。 内容相对容易理解。 ps:本节内容适合了解冯诺依曼和操作系统的管理方式以及进程PCB的友友们进程观看 进程的优先级是什么 进程的优先级…

【制作100个unity游戏之31】用unity制作一个爬坡2d赛车小游戏

最终效果 【制作100个unity游戏之31】用unity制作一个爬坡2d赛车小游戏 前言 今天用unity制作一个简单的爬坡2d赛车小游戏 素材 https://www.spriters-resource.com/mobile/hillclimbracing/ 拼装车素材 车身添加碰撞体,摩檫力0 轮胎添加碰撞体和刚体&#xff0…