SUR регрессия: тестирование, если средние значения коэффициентов равны нулю или нет - PullRequest
0 голосов
/ 26 января 2019

Я использую регрессию SUR с доходностью 80 различных банков в качестве зависимых переменных. Независимые переменные всегда одинаковы. Вы должны быть в состоянии воссоздать регрессию, используя приведенный ниже код, если необходимо, чтобы ответить на мои вопросы, а именно:

  1. Как проверить, равно ли среднее значение коэффициента «Событие» для всех 80 банков в выборке нулю или нет?

  2. Как я могу проверить, имеют ли подгруппы в выборке, скажем, первые 20 банков и последние 40 банков, одинаковые средние коэффициенты для "События" или они значительно отличаются друг от друга?

    library("systemfit")
    library("plm")
    cyp3 <- read.table("https://pastebin.com/raw.php?i=/SpuUiaj7", sep=";", header=TRUE)
    cyp3panel<-pdata.frame(cyp3, c("id", "t"))
    cyp3sur<-systemfit(returns ~ Price + Pre + Event + Post + Zpre1 + Zevent1 + Zpost1 + Zpre2 + Zevent2 + Zpost2 + Zpre3 + Zevent3 + Zpost3, method = "SUR",data = cyp3panel)
    

Спасибо за вашу помощь. Дайте мне знать, если чего-то не хватает, пожалуйста!

1 Ответ

0 голосов
/ 26 января 2019

Для этого мы можем напрямую использовать linearHypothesis (см. ?linearHypothesis.systemfit). В первом случае мы имеем

coefs <- coef(cyp3sur)
R1 <- matrix(0, nrow = 1, ncol = length(coefs))
R1[1, grep("Intercept", names(coefs))] <- 1
linearHypothesis(cyp3sur, R1)

, где R1 имеет одну строку, поскольку существует единственное ограничение. Обратите внимание, что я добавляю коэффициенты 1, а не 1/80, поскольку они эквивалентны (X + Y = 0 - это то же самое, что (X + Y) / 2 = 0). Использование grep позволяет мне найти позиции перехвата.

Аналогично, во втором случае мы имеем

R2 <- matrix(0, nrow = 1, ncol = length(coefs))
gr1 <- paste0("X", 1:20, "_Event")
gr2 <- paste0("X", 41:80, "_Event")
R2[1, names(coefs) %in% gr1] <- 1 / 20
R2[1, names(coefs) %in% gr2] <- -1 / 40
linearHypothesis(cyp3sur, R2)

Теперь я создаю интересующие имена переменных с помощью paste0 и использую %in%, чтобы определить их положение в coefs.

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