Расчет стандартных ошибок авторегрессионных терминов и сигмы в регрессионной модели с цензурой - PullRequest
1 голос
/ 03 июля 2019

Я установил цензуру регрессионной модели в R с использованием пакета carx.Данные, которые я использую, содержат 130 наблюдений

 head(SAdata)
 # A tibble: 6 x 10
  CC   lcl   Dum    ci   CPI    LI      FDI     FPI       OI Inflows
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl>    <dbl>   <dbl>    <dbl>   <dbl>
1  0.617   2.00     0  2.00  4.94  23.3 -0.207   -0.0320 -0.924   -1.16  
2  0.410   2.00     0  2.00  2.92  20.5 -0.246   -0.128   0.0749  -0.299 
3  0.196   2.00     0  2.00  4.26  17.2 -0.177   -0.0763 -0.482   -0.736 
4  0.0518  2.00     0  2.00  5.90  15.5  0.00493 -0.313  -1.59    -1.90  
5 -0.255   2.00     0  2.00  3.29  14.8 -0.0187  -0.200  -1.38    -1.59  
6 -0.392   2.00     0  2.00  4.43  14   -0.00292 -0.0860 -0.00519 -0.0941
> dim(SAdata)
[1] 130  10


library(carx)
SAmodel <- carx(y=SAdata$CC, x=SAdata[,c("CPI","LI","FDI","FPI", "OI")], lcl=1.996866, p=2, CI.compute = FALSE, CI.level = 0.95)

summary(SAmodel)
 Call:
carx.default(y = SAdata$CC, x = SAdata[, c("CPI", "LI", "FDI", "FPI", "OI")], lcl = 1.996866, p = 2, CI.compute = FALSE, CI.level = 0.95)


Coefficients:
  Estimate
CPI     0.0804
LI     -0.0088
FDI    -0.0395
FPI    -0.0166
OI      0.0488
AR1     1.6324
AR2    -0.7097
sigma   0.4286

AIC:
[1] -72.92045

Но в ответ я получил только оценки без доверительных интервалов, доверительные интервалы в этом пакете рассчитываются с помощью начальной загрузки, которая занимает много времени,когда я установил аргумент IC.compute = T с 1000 итерациями (из того, что я прочитал, это наименьшее количество итераций), это заняло целый день и не закончилось.По этой причине я попытался вручную вычислить стандартные ошибки для каждого коэффициента, но не смог найти способ рассчитать стандартную ошибку для авторегрессионных терминов и сигма.

Вот что я пробовал

#Calculating the residuals of the fitted model
SAres = residuals(SAmodel,type="raw")
# Find the sum of the squared residuals
rss <- sum(SAres^2)
# And use that to find the estimate of sigma^2, commonly called S
S <- sqrt(rss / (length(SAres) - length(SAmodel$coefficients)))
# Make the X matrix; a column of 1s for the intercept and one for each variable
X <- cbind(rep( nrow(SAdata)), SAdata$CPI, SAdata$LI,SAdata$FDI, SAdata$FPI, 
SAdata$OI)
# Multiply matrices using %*%, transpose them with t(),
# and invert them with solve(); and directly apply the formula above with:
std.errors <- S * sqrt(diag(solve(t(X) %*% X)))

std.errors
[1] 0.001232184 0.037669933 0.010483153 0.068843648 0.040779940 0.063888636

Я не знаю, как включить авторегрессионные термины (AR1, AR2) и сигма, потому что их вычисления основаны на переменной отклика.Как получить стандартные ошибки этих параметров?

Мне нужно рассчитать стандартные ошибки, чтобы позже я смог вычислить доверительные интервалы для каждого коэффициента.

Любая помощь очень ценится

...