我真的不知道如何在R中构建以下可能性。
我有几个人的面板数据。随着时间的推移观察每个人,我对每个人都有几个观察结果。我假设每个人的观察结果是独立的,并且遵循正态分布,具有个体特定的均值和所有个体共同的方差。换句话说,我想使用所有数据来估计方差,同时使用个别特定数据来估计个别均值。
正式地,让$ i =(1,2,...,N)$为$ i-th $个体而$ j =(1,2,...,n_i)$ $ $ j-th $观察个人$ i $。
个人$ i $的似然函数是
$$ L_I(\ mu_i,\西格玛)= \ prod_ {J = 1} ^ {n_i个} \压裂{1} {\西格玛\ SQRT {2 \ PI}} \ EXP( - \压裂{(X_ {IJ} - \ mu_i)^ 2} {2 \西格玛^ 2}) $$
L_i(mu_i, sigma) = PRODUCT_j 1/(sigma*sqrt 2pi) * exp( -(x_ij-mu_i)^2/2sigma^2 )
然后完全可能性
$$ L(\ mu_1,... \ mu_N,\ sigma)= \ prod_ {i = 1} ^ N \ prod_ {j = 1} ^ {n_i} \ frac {1} {\ sigma \ sqrt {2 \ pi} } \ EXP( - \压裂{(X_ {IJ} - \ mu_i)^ 2} {2 \西格玛^ 2}) $$
L_i(mu_i,...,mu_N, sigma) = PRODUCT_i L_i(mu_i, sigma)
为了将R中的完全可能性的日志编码为智能方法以便将其传递给某个优化器,有什么聪明的方法?
示例数据:
set.seed(2)
A <- rep(1,15)
B <- rep(2,11)
ID <- c(A,B)
dA <- rnorm(15,2,3)
dB <- rnorm(11,1,3)
X <- c(dA,dB)
DATA <- data.frame(ID,X)
DATA