首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从plm对象中提取日志似然

从plm对象中提取日志似然
EN

Stack Overflow用户
提问于 2020-10-03 15:19:53
回答 1查看 496关注 0票数 2

我想从plm对象中提取日志可能性。

当使用基类stats包中的stats函数与lfe包中的felmfixest包中的feols一起使用时,它工作得很好,但对于产生错误消息的任何plm对象,都不能这样做:

代码语言:javascript
复制
Error in UseMethod("logLik") : 
  no applicable method for 'logLik' applied to an object of class "c('plm', 'panelmodel')"

我检查了,plm不是在stats包中定义的类(参见stats:::)。

我是否在概念上遗漏了一些东西(意识到这是一种ML估计)?正因为如此,为什么lfe和fixest使它工作,plm却不能呢?有解决办法吗?

谢谢!

代码语言:javascript
复制
library(plm)
library(lfe)
library(fixest)
data("Produc", package = "plm")

# lfe
xx <- felm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp| state + year|0|0,data = Produc)
summary(xx)
logLik(xx)

# fixest
yy <- feols(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp| state + year,data = Produc)
summary(yy)
logLik(yy)

# PLM
zz <- plm(log(gsp) ~ log(pcap) + log(pc) + log(emp) + unemp,data = Produc, index = c("state","year"))
summary(zz)
logLik(zz)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-13 18:04:36

我想我想明白了:

object这里是一个plm对象,就像上面的zz一样。

代码语言:javascript
复制
logLik.plm <- function(object){
  out <- -plm::nobs(object) * log(2 * var(object$residuals) * pi)/2 - deviance(object)/(2 * var(object$residuals))
  
  attr(out,"df") <- nobs(object) - object$df.residual
  attr(out,"nobs") <- plm::nobs(summary(object))
  return(out)
}

然后,这也应该与AIC命令一起工作。

我创建了一个公共要旨这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64186453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档