精华内容
下载资源
问答
  • R语言-极大似然估计

    2015-05-14 15:39:22
    极大似然估计方法(Maximum Likelihood Estimate,MLE)也称为最大概似估计或最大似然估计,是求估计的另一种方法,最大概似1821年首先由德国数学家C. F. Gauss提出,但是这个方法通常被归功于英国的统计学家R. A. ...
  • 在所有双射函数的意义上,最大似然估计是不变的 如果 是的最大似然估计 然后 。让 , 然后 等于 和中的似然函数 是 。由于 是的最大似然估计

    原文链接:http://tecdat.cn/?p=18970

    在普遍的理解中,最大似然估计是使用已知的样本结果信息来反向推断最有可能导致这些样本结果的模型参数值!

    换句话说,最大似然估计提供了一种在给定观测数据的情况下评估模型参数的方法,即“模型已确定且参数未知”。

    在所有双射函数的意义上,极大似然估计是不变的  ,如果   是的极大似然估计     。

    让  ,    等于  中的似然函数。由于   是的最大似然估计  

    因此,   是的最大似然估计  。

    例如,伯努利分布为   ,   

     

    给定样本  ,概率是

     

    则对数似然

     

    与ICI

     

    因此,一阶条件

     

    何时满足  。为了说明,考虑以下数据

    
    > X
    [1] 0 0 1 1 0 1 1 1 1 0 0 0 1 0 1

    (负)对数似然

    > loglik=function(p){
    + -sum(log(dbinom(X,size=1,prob=p)))
    + }

    我们可以在下面看到

    
    > plot(u,v,type="l",xlab="",ylab="")

    根据以上计算,我们知道的极大似然估计  是

    > mean(X)
    [1] 0.53

    数值为

    $par
    [1] 0.53
    
    $value
    [1] 10.36
    
    $counts
    function gradient
    20 NA
    
    $convergence
    [1] 0
    
    $message
    NULL

    我们没有说优化是在区间内 。但是,我们的概率估计值属于 。为了确保最优值在 ,我们可以考虑一些约束优化程序

    ui=matrix(c(1,-1),2,1), ci=c(0,-1)
    $par
    [1] 0.53
    
    $value
    [1] 10.36
    
    $counts
    function gradient
    20 NA
    
    $convergence
    [1] 0
    
    $message
    NULL
    
    $outer.iterations
    [1] 2
    
    $barrier.value
    [1] 6.91e-05

    在上一张图中,我们达到了对数似然的最大值

    > abline(v=opt$par,col="red")

    另一种方法是考虑   (如指数分布)。则对数似然

     

    这里

     

    因此,一阶条件

     

    满足

     

    从数值角度来看,我们有相同的最优值

    (opt=optim(0,loglik))
    $par
    [1] 0.13
    
    $value
    [1] 10.36
    
    $counts
    function gradient
    20 NA
    
    $convergence
    [1] 0
    
    $message
    NULL
    
    > exp(opt$par)/(1+exp(opt$par))
    [1] 0.53

    最受欢迎的见解

    1.Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型

    2.基于R语言的疾病制图中自适应核密度估计的阈值选择方法

    3.WinBUGS对多元随机波动率模型:贝叶斯估计与模型比较

    4.R语言回归中的hosmer-lemeshow拟合优度检验

    5.matlab实现MCMC的马尔可夫切换ARMA – GARCH模型估计

    6.R语言区间数据回归分析

    7.R语言WALD检验 VS 似然比检验

    8.python用线性回归预测股票价格

    9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

    展开全文
  • 使用R语言极大似然估计

    万次阅读 2017-12-20 22:34:36
    Roadmap因为常用语言为python,所以在要做最大似然估计的时候第一直觉先去找python的接口,很遗憾没找到。就花了一天时间“速成“了R语言,写了一些基本函数。向做统计的同学问到了R语言的Maxlik库,直接调用其接口...

    Roadmap

    因为常用语言为python,所以在要做最大似然估计的时候第一直觉先去找python的接口,很遗憾没找到。就花了一天时间“速成“了R语言,写了一些基本函数。向做统计的同学问到了R语言的Maxlik库,直接调用其接口。

    实现步骤

    1st、 先确定要估计的参数,并对其命名
    2nd、将似然函数表示成关于待估计参数的表达式
    3rd、给待估计参数赋初值
    4th、直接调用maxlik接口

    library("maxLik")
    y = read.csv("data.csv", header = F)
    
    logLikFun<-function(param){
        #设置待估计参数
      Lambda<-array(param[1:39], c(13,3))
      Phi<-array(param[40:48], c(3,3))
      H<-array(param[49:217], c(13,13))
      Q<-array(param[218:226], c(3,3))
      mu<-array(param[227:239], c(13,1))
      LnL<-LnL-n/2*log(2*pi)-log(det(Vt))/2-t(vt)%*%solve(Vt)%*%vt/2
      return(LnL)
    }
    #初始化参数
    Lambda<-array(1:39, c(13,3))
    Phi<-array(1:9, c(3,3))
    H<-array(1:169, c(13,13))
    Q<-array(1:9, c(3,3))
    mu<-array(1:13, c(13,1))
    MLE<-maxLik(logLik=logLikFun,start=c(Lambda,Phi,H,Q,mu))
    summary(MLE)
    展开全文
  • R语言: 极大似然估计实例

    万次阅读 2013-05-30 15:56:20
    同济 习题 7.2 某厂晶体管寿命服从 E(lamda) 指数分布, Lamda未知, 且Lamda>0, ...用极大似然估计其平均寿命 指数分布: 构造似然函数 L(lamda)  f  logL = n*log(lamda) - lamda*sum(x)

    同济<概率论与数理统计> 习题 7.2

    某厂晶体管寿命服从 E(lamda) 指数分布, Lamda未知, 且Lamda>0, 随机抽取样本寿命如下(小时)
    518,612,713,388,434
    用极大似然估计其平均寿命


    指数分布:

    f(x;\lambda) = \left\{\begin{matrix}\lambda e^{-\lambda x} &,\; x \ge 0, \\0 &,\; x < 0.\end{matrix}\right.


    构造似然函数

    L(lamda

    f <- function(lamda){
       logL = n*log(lamda) - lamda*sum(x)
       return (logL)
    }

    执行 optimize
    x= c(518,612,713,388,434)
    n = length(x)
    optimize(f,c(0,1),maximum = TRUE)

    > a = optimize(f,c(0,1),maximum = TRUE)
    $maximum
    [1] 0.001878689
    $objective
    [1] -36.39261

    平均寿命 =1/lamda
    > 1/a$maximum
    [1] 532.2862 


    展开全文
  • R语言自定义极大似然函数函数、假设检验函数(超基础、简易)目录一、自定义极大似然函数二、自定义假设检验函数 目录 一、自定义极大似然函数 1、求出似然函数,以正太分布、指数分布为例 正太分布似然函数: 指数...

    R语言自定义极大似然函数函数、假设检验函数

    目录

    一、自定义极大似然函数

    1、求出似然函数,以正太分布、指数分布为例
    正太分布似然函数:
    在这里插入图片描述
    指数分布似然函数(假设x>0):
    在这里插入图片描述
    2、函数代码:
    正太分布求极大似然函数的函数代码

    norm.fun<- function(theta,x) # 创建似然函数
    {	
    	mu<- theta[1]
    	sigma<- theta[2] 	# 注意,这里的xigma是方差,不是标准差
    	n<- length(x)
    	# 似然函数,再求其对数
    	logL<- -0.5*n*log(2*pi)-0.5*n*log(sigma)-(1/(2*sigma))*sum((x-mu)**2) 
    	return(-logL)  # 因为R中只有最小化函数optim(),我们只需要参数的值,最大化 logL 和最小化 -logL 一致的
    
    theta0=c(0,1) #初始化两个参数作为迭代初始值
    X=1:50 #抽出的样本(这里我以1至50作为数据样本)
    
    result=optim(theta0,norm.fun,x=X) 
    # 用R中内置的optim()最小化函数对 似然函数优化,求出最优值的两个参数u、sigma
    # 参数的值保存在result$'par' 中,有两个值,第一个是u 第二个是sigma(方差)
    
    }
    

    在这里插入图片描述
    同样指数函数的函数代码:

    
    lamda.fun<- function(theta,x)
    {
    	n<- length(x)
    	logL<- n*log(theta)-theta*sum(x)
    	return(-logL)
    }
    
    X=1:50 
    lamda0<- 1e-2  # 初始化迭代的参数
    result1<- optim(lamda0,lamda.fun,x=X)
    

    运行会有一些警告,说optim()优化的结果不一定正确,但这里是正确的,不影响
    在这里插入图片描述

    二、自定义假设检验函数

    基本库中未提供的正态总体方差已知时的均值的区间估计及假设检验函数,就拿这个函数来做例子吧
    1、问题分析
    在这里插入图片描述
    **注意,我这里的这里的sigma(那个像6的字母)代表方差,不是标准差(因为之前打公式忘记加一个平方上去,先不管它了);
    单边检验,参数less表示备选假设小于,原假设是大于;参数greater表示备选假设大于,原假设小于;检验区间由枢轴量N推导而出,Inf表示无穷;
    当带入数据样本后得到的检验量N属于接受域(拒绝域之外),那么就接受原假设
    双边检验的接受域:
    在这里插入图片描述
    单边检验less 接受域:
    在这里插入图片描述
    单边检验 greater 接受域:
    在这里插入图片描述
    …………………………………………………………………………
    下面是求置信区间:
    在这里插入图片描述
    ** 再次提醒 ,我这里的这里的sigma(那个像6的字母)代表方差,不是标准差,下面的函数代码中的参sigma也是方差

    2、函数构造

    N.test<- function(x,mu,sigma,a=0.05,alternative='two.side')
    #参数依次:数据样本、检验的均值、方差、执行水平a(默认0.05),备选假设是(双边、单边)
    {  xbar=mean(x)  # 均值
       n=length(x)	 
       
       if(alternative=='two.side') 
    	{
    	   N=qnorm(a/2)  # 分位数
    	   area1=xbar-(sigma/n)**0.5*N
    	   area2=xbar+(sigma/n)**0.5*N
    	   area=c(area1,area2)
    	   # 上面是由公式写出置信区间
    	   
             NT=(xbar-mu)/(sigma/n)**0.5 # 计算N检验值
             
    	   TF='reject' # 先默认TF 为拒绝
    	  
    	   if ( abs(NT)<abs(N))  # 检查 N检验值是否在接受域内
    		{
    		   TF='accept'  # 如果在接受域内,TF 变为接受 
    		}
    	result=list('accept_or_reject'=TF,'interval estimation'=area)
    	# 返回 是否接受原假设 和 区间估计
    
    	}
    # 下面的 less 和greater 思路和two.side 的一样,换公式即可
       if(alternative=='less')
    	{
    	   N=qnorm(a)
    	   area1=xbar+(sigma/n)**0.5*N
    	   area2=Inf  # 无穷
    	   area=c(area1,area2)
    	   
             NT=(xbar-mu)/(sigma/n)**0.5
    	   TF='reject'
    	   if (NT>N)
    		{
    		   TF='accept'
    		}
    	result=list('accept_or_reject'=TF,'interval estimation'=area)
    
    	}
    
       if(alternative=='greater')
    	{
    	   N=-qnorm(a)   #N应该是a的上分位,对下分位求负数是相等的
    	   area1=-Inf
    	   area2=xbar-(sigma/n)**0.5*N
    
    	   area=c(area1,area2)
    	   
             NT=(xbar-mu)/(sigma/n)**0.5
    	   TF='reject'
    	   if (NT<N)
    		{
    		   TF='accept'
    		}
    	result=list('accept_or_reject'=TF,'interval estimation'=area)
    	}
    	
       return(result)
    }
    
    

    3、运行结果,检验函数:
    检验H0: mu=0,用双边
    在这里插入图片描述
    结果是接受的,符合实际

    检验H0: mu>1,此时备选假设是mu<1,用单边检验,参数less
    在这里插入图片描述
    结果是拒绝H0,即不认为mu>1,这也是符合实际的

    检验H0: mu<1,此时备选假设是mu>1,参数greater
    在这里插入图片描述
    结果是接受H0的,认为mu<1,这也是符合实际的

    后面陆续做了多组数据的检验,检验效果都合理。

    展开全文
  • 为了在统计过程中发现更多有趣的结果,我们将解决极大似然估计没有简单分析表达式的情况。举例来说,如果我们混合了各种分布,
  • 极大似然估计 在参数模型的背景下,标准技术是考虑似然的最大值(或对数似然)。考虑到一些技术性假设,如 ,的某个邻域,那么 其中表示费雪信息矩阵。在此考虑一些样本,来自广义帕累托分布,参数为 ,因此 ...
  • R语言-点估计与极大似然估计

    千次阅读 2020-09-22 22:15:59
    这里写自定义目录标题前言一、点估计二、极大似然估计 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、点估计二、极大似然估计 前言 提示:这里可以添加本文要记录的大概内容...
  • 最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--估计实例 同济<概率论与数理统计>...0, 随机抽取样本寿命如下(小时) 518,612,713,388,434 用极大似然估计其平均寿命 指数分布: ...
  • R语言做t分布的极大似然估计

    千次阅读 2020-03-07 10:29:54
    R语言做t分布的极大似然估计 先写出t分布的最大似然函数,再用optim函数求出相应的极大值(或者极小值)即可
  • 老师要求我们对回归方程中的回归系数进行极大似然估计,回归方程如下: 正常的步骤应该是这样的: 步骤一:写出极大似然函数log(β),其中的β为(β0,β1,β2)t(β_0, β_1, β_2)^t(β0​,β1​,β2​)t 步骤二:...
  • ![图片说明](https://img-ask.csdn.net/upload/201910/28/1572251483_705350.jpg) 求求各路大神救救小白
  • 极大似然估计

    2016-11-30 22:37:18
     极大似然估计(Maximum Likelihood Estimate, MLE)是一种统计方法,又称为最大概率估计或者最大似然估计, 它用来求一个样本集的相关概率密度函数的参数,是利用已知采样估计未知参数的方法。  二 解释 ...
  • 1.产生100个随机样本 set.seed(100) ...2.利用不同方法计算参数的极大似然估计 Step1: Set the initial value theta0 <- c(1, 2) data0 <- log(lnormdata1) Step2: Give the likelihood function No...
  • 极大似然估计(MLE)

    千次阅读 2018-12-27 15:31:49
    极大似然估计方法(Maximum Likelihood Estimate,MLE)也称为最大概似估计或最大似然估计,是求估计的一种方法。 给定一堆数据,假如我们知道它是从某一种分布中随机取出来的,可是我们并不知道这个分布具体的参数...
  • 简述 研究了下计算公式,简化了一下,用r语言实现了。 算法解释 牛顿迭代法 xk+1=xk−f(xk)f′(xk)x_{k+1} = x_k - \frac{f(x_k)}{f&...通过极大似然估计,构造对数似然方程,之后再关于α\alphaα和β\betaβ...
  • 原创致GreatChallengeHub 2019-06-17 16:14:53 手机阅读 收录于话题 #机器学习课程 ...极大似然估计的思想是:选取这样的θ̂,使得当它作为未知参数θ的估计时,观察结果出现的可能性(概率)...
  • 极大似然估计法的原理和方法

    千次阅读 2018-05-13 15:58:29
    1、极大似然估计的理解与应用2、深入浅出最大似然估计(Maximum Likelihood Estimation)3、极大似然估计的原理和方法——强烈推荐,PPT其实讲的已经很清楚了4、极大似然估计详解...
  • 极大似然估计引言题目及推导 引言 极大似然估计是数理统计参数估计的重要方法,但是极大似然函数的求解有时很困难,在篇文章以一个极大似然题目为例子。来展示一元极大似然函数的求解问题,并最终附上代码及讲解。 ...
  • 极大似然估计(Maximum Likelihood Estimate)一、背景知识二、从概率模型理解极大似然估计三、极大似然估计的理论原理四、应用场景 一、背景知识 1822年首先由德国数学家高斯(C. F. Gauss)在处理正态分布时首次...
  • R中的极大似然估计

    千次阅读 2014-01-10 21:01:27
    摘要 : 1. 数据与模型 我们要使用的...从上面的例子可以看出,在R中作极大似然估计,主要就是定义似然后函数,然后再用nlminb函数对参数进行估计。 对于r语言也可以直接使用 RLRsim包 做计算
  • 极大似然估计(直接上典例) R代码 library(MASS);attach(geyser);hist(waiting,freq = F) # mnf(pa,data){ x (data,pa[ 2 ], sqrt (pa[ 4 ])) y (data,pa[ 3 ], sqrt (pa[ 5 ])) pdf=pa[ 1...
  • R代码 #l=0 data=rcauchy(n=1000,location = 0,scale = 10) f&lt;-function(pa){ result= -log(pi*pa*(1+((data)/pa)^2)) -sum(result) } ML.op=optimize(f,interval = c(0,100))#不需要参数初值,interval...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,610
精华内容 1,044
关键字:

r语言极大似然估计