我已经尝试从论文中复制一个公式:
Layard,R.,Nickell,S.&Mayraz,G.(2008)。收入的边际效用。公共经济学杂志,92(8-9),1846-1857年。 https://doi.org/10.1016/j.jpubeco.2008.01.007
我要估计的部分在下面列出:
我开始如下:
#################################################################################################
# Data
#################################################################################################
library(data.table)
library(bbmle)
library(dummies)
set.seed(1)
TDT <- data.table(panelID = sample(50,50), # Creates a panel ID
yct = c(rep("Albania",30),rep("Belarus",50), rep("Chilipepper",20)),
some_NA = sample(0:5, 6),
some_NA_factor = sample(0:5, 6),
Group = c(rep(1,20),rep(2,20),rep(3,20),rep(4,20),rep(5,20)),
Time = rep(seq(as.Date("2010-01-03"), length=20, by="1 month") - 1,5),
norm = round(runif(100)/10,2),
Income = round(rnorm(10,-5,5),2),
Happiness = sample(10,10),
Sex = round(rnorm(10,0.75,0.3),2),
Age = sample(100,100),
Educ = round(rnorm(10,0.75,0.3),2))
TDT[, yi:= .I] #
TDT[TDT == 0] <- NA # https://stackoverflow.com/questions/11036989/replace-all-0-values-to-na
TDT $some_NA_factor <- factor(TDT$some_NA_factor)
TDT$yct <- as.factor(TDT$yct)
TDT <- cbind(TDT, dummy(TDT$yct, sep = "_"))
#################################################################################################
# MLE
#################################################################################################
start_rho <- c(1,1.2,1.4,1.6,1.8,2)
mu_Happiness <- mean(TDT$Happiness, na.rm=TRUE)
sd_Happiness <- sd(TDT$Happiness, na.rm=TRUE)
LL4 <- function(p, a, mu, sigma) {
-sum(dnorm(TDT$Happiness - a*((TDT$Income^(1-p)-1)/(1-p)) + TDT$Educ + TDT$TDT_Albania + TDT$TDT_Belarus + TDT$TDT_Chillipepper, mu, sigma, log=TRUE))
}
mle = list()
mle_sum = list()
for (i in 1:length(start_rho)) {
tryCatch({
mle[[i]] <- mle2(LL4, start = list(p = start_rho[[i]], sigma=sd_Happiness, mu=mu_Happiness, a=1) , fixed = NULL, method = "BFGS") # fixed = list(mu = 6.6)
mle_sum[[i]] <- summary(mle[[i]])
print(i)
print(start_rho[[i]])
print (mle_sum[[i]])
if (i==1000) stop("N is to large")
}, error=function(e){})
}
但是,根据该论文,我应该允许估计的参数alpha
因国家/地区而异。
我应该如何在方程式中实现?
我无法复制代码,因此无法给您提供一个有效的示例,但是无论如何,您都必须估算大量其他参数,无论它是α还是除或代替它。 Country
需要删除,每个假人(基本类别除外)都需要作为一个术语包括在内,并且每个术语都需要自己的系数,代表该国家/地区的α(如果省略了α)或数量该国家的α偏离基础α,无论是相加差异还是基础α本身的系数。自然地,对于任何给定的观察,所有这些国家/地区条款(除了1(或所有国家/地区,如果是基础国家)都将与一个虚拟值0相乘,从而退出)。
这是一年不说话了。实际上,该理论还没有得到充分说明。因此,措辞为:“ [α]在不同国家或不同时间点可能有所不同。”请注意,它不是“和/或”。这[/暗示]国家和年份的方差不会相互影响,在这种情况下,我们不需要将国家的虚拟变量乘以年份或年份的某种形式。但是,即使这样,我们应该测试或至少应满足α和年之间的什么关系?线性添加剂?还是我们必须每年花点时间?而且,如果我们做后者,并且国家和时间的影响相互作用,那么现在,我们必须包括每个国家每年的影响作为单独的估计参数。那将是很多假人。因此,根据我的解释,这里有很多可估计的模型,而该理论的语言不足以仅与其中之一结合使用。那里的方程式6 [[definitely与后面的动词不符。但是,如果确实要编码出该更完整模型的某个版本,我建议您使用nls
软件包,也许还建议使用recipes
进行所有虚设和交互。显然,对每个术语进行手工编码是不切实际的。[最后一个想法:当且仅当您可以将有关某个特定国家应该解释该国家/地区差异的理论固定下来时,您才可以避免对所有国家/地区的模仿。如果α因国家/地区而异,因为国家/地区的日照度不同,则应测量日照度并将其参数化,如果将其视为连续的,则将更容易做到。但是,当然,在社会理论中,有一种流行病是承认但没有解释社会间的差异,因此我们坚持使用的模型基本上说:“法国的法国性导致效果的x
点差异。在幸福上。”