Разрешение оценочного параметра в MLE варьироваться в зависимости от страны - PullRequest
0 голосов
/ 19 октября 2019

Я попытался повторить формулу из статьи:

Лейард Р., Никелл С. и Майраз Г. (2008). Предельная полезность дохода. Журнал общественной экономики, 92 (8–9), 1846–1857. https://doi.org/10.1016/j.jpubeco.2008.01.007

Часть, которую я хочу оценить, перечислена ниже:

enter image description here enter image description here

Iначалось следующим образом:

#################################################################################################
# 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 будет варьироваться в зависимости от страны-года.

Как мне реализовать это вуравнение?

1 Ответ

1 голос
/ 19 октября 2019

Я не могу воспроизвести код, поэтому я не могу дать вам рабочий пример, но, так или иначе, вам придется оценить большое количество других параметров, будь то в дополнение кили вместо него. Country должен быть выделен, каждый манекен (исключая базовую категорию) должен быть включен как термин, и каждый термин нуждается в своем собственном коэффициенте, представляющем либо α в этой стране (если α опущен), либо сумму, на которуюэта страна α отклоняется от основания α, будь то в виде аддитивной разности или в качестве коэффициента на самом основании α. Естественно, для любого данного наблюдения все эти термины страны, кроме 1 (или все они, если это базовая страна), будут умножены на фиктивное значение 0 и, следовательно, выпадут.

Это означаетничего года. На самом деле теория не уточняется. Итак, формулировка такова: «[α] может варьироваться в зависимости от страны или в разные моменты времени». Обратите внимание, что это не «и / или». Это подразумевает , что отклонения страны и года не взаимодействуют друг с другом, и в этом случае нам не нужно умножать макеты страны на год или на некоторые преобразования года. Но даже в этом случае, какие отношения между α и годом мы должны проверить или хотя бы развлечь? Линейно-аддитивная? Или мы должны дурачиться каждый год? И если мы сделаем последнее, и эффекты страны и времени do взаимодействуют, то теперь мы должны включить в качестве отдельных оценочных параметров влияние каждой страны в каждом году. И это будет много манекенов. Так что, по моей интерпретации, здесь очень широкий диапазон оцениваемых моделей, и словоблудия теории недостаточно, чтобы объединить ее только с одной из них. Уравнение 6 там определенно не соответствует приведенному ниже словоблудию.

Если вам когда-нибудь удастся закодировать какую-то версию этой более полной модели, я рекомендую nlsпакет, и, возможно, recipes для того, чтобы сделать все это придумывание и взаимодействие. Очевидно, что ручное кодирование каждого термина нецелесообразно.

Еще одна мысль: вы могли бы избежать всей этой болтовни в этой стране, если и только если, вы могли бы закрепить теорию относительно того, что в данной стране должно объяснятьсядисперсия на уровне страны. Если α зависит от страны, потому что страны различаются, скажем, по солнечности, то измерьте солнечность и параметризируйте ее, что будет гораздо проще сделать, если вы будете рассматривать ее как непрерывную. Но, конечно, в социальной теории существует эпидемия, в которой различия между обществами признаются, но не объясняются, и поэтому мы застряли на моделях, которые в основном говорят: «Францисканство Франции приводит к x -точечному различию в эффекте. на счастье. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...