R:有限群体校正的簇 - 鲁棒标准误差

时间:2016-05-13 07:22:06

标签: r cluster-analysis regression variance

我们如何计算R中的有限群体校正(FPC)群集鲁棒标准误差?

在R中没有计算FPC群集稳健标准错误的功能。

以下函数在没有FPC的情况下计算集群稳健的标准错误。

clx <-
 function(fm, dfcw, cluster){
          library(sandwich)
          library(lmtest)
          M <- length(unique(cluster))
          N <- length(cluster)
          dfc <- (M/(M-1))*((N-1)/(N-fm$rank))
          u  <- apply(estfun(fm),2,
                          function(x) tapply(x, cluster, sum))
          vcovCL <- dfc*sandwich(fm, meat=crossprod(u)/N)*(fm$df / (fm$df - (M -1)))
          coeftest(fm, vcovCL) }

我非常接近编写自定义函数来计算R中的FPC集群稳健标准错误,但最后一行存在数学错误。

clx_FPC <-
 function(fm, dfcw, cluster){
          library(sandwich)
          library(lmtest)
          M <- length(unique(cluster))
          N <- length(cluster)
          dfc <- (M/(M-1))*((N-1)/(N-fm$rank))
          u  <- apply(estfun(fm),2,
                          function(x) tapply(x, cluster, sum))
          vcovCL <- dfc*sandwich(fm, meat=crossprod(u)/N)*(fm$df / (fm$df - (M -1)))
          vcovCL_FPC <- (sqrt( (N_full - n_sample) / (N_full - 1) ))*(vcovCL)
          coeftest(fm, vcovCL_FPC) 
          }

代码运行时没有错误,但对象vcovCL_FPC中的数学运算错误。我们不能简单地将协方差矩阵乘以FPC作为标量,因为当我们计算标准误差时,FPC将被错误地影响,除以 n 并取对角线的平方根。在这种情况下,FPC太小,SE太大了。

0 个答案:

没有答案