Проблема извлечения коэффициентов регрессионных моделей прокатной регрессии - PullRequest
1 голос
/ 13 октября 2019

У меня есть два кадра данных. Один фрейм данных имеет 427 зависимых переменных, в то время как другой фрейм данных имеет 3 независимых переменных. Оба набора переменных имеют 204 наблюдения. Я хочу регрессировать эти три независимые переменные по всем зависимым переменным одновременно. Я использую скользящее окно 18 месяцев. Я использую функцию roll_regres.fit. Чтобы получить перехват, я объединил переменную с серией 1 в независимых переменных. Но когда я запускаю эти модели. Я не получаю никаких результатов. Если запустить без добавления 1, я получаю результаты, но не получаю результаты перехвата. Данные в матричной форме по мере необходимости.

x<-cbind(1,bse_fama_mat[,1:3])
ys<-bse_fama_mat[,-1:-3,drop=FALSE]
## Extracting Regression coefficients
model_intercept<-apply(ys,2,function(y) roll_regres.fit(x=x,y=y,width = 18)$coefs[,1])
model_smb<-apply(ys,2,function(y) roll_regres.fit(x=x,y=y,width = 18)$coefs[,2])
model_hml<-apply(ys,2,function(y) roll_regres.fit(x=x,y=y,width = 18)$coefs[,3])
model_rm<-apply(ys,2,function(y) roll_regres.fit(x=x,y=y,width = 18)$coefs[,4])

Ответы [ 2 ]

0 голосов
/ 13 октября 2019

Просто второстепенная точка. Ваш код запускает один и тот же набор моделей несколько раз. Каждый раз, когда код выбирает набор коэффициентов, он снова запускает весь набор моделей. Я думаю, что вам может понадобиться запустить его только один раз, а потом выбрать коэффициенты из этих моделей.

x<-cbind(1,bse_fama_mat[,1:3])
ys<-bse_fama_mat[,-1:-3,drop=FALSE]
## Extracting Regression coefficients
models<-apply(ys,2,function(y) roll_regres.fit(x=x,y=y, width = 18)) 

Все ваши коэффициенты будут сохранены в списке models. Затем нужно решить, как вывести эти коэффициенты с помощью чего-то вроде: as.matrix(models$yvariable$coefs)[,1], as.matrix(models$yvariable$coefs)[, 2], ...

0 голосов
/ 13 октября 2019

Я думаю, что ваш код правильный. Попробуйте проверить все входные файлы в матричной форме. И для множественной регрессии порядок имеет значение. Вы также можете использовать roll_lm () в библиотеке roll.

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