R: тест Дурбина Уотсона с результатом NA
Я пытаюсь измерить корреляцию между исторической ценой акций и индексом, используя критерий Дурбина Уотсона в R.
Это то, что я сделал до сих пор:
data <- read.xlsx("data.xlsx", colNames = TRUE, detectDates = TRUE)
data
head(data)
data$X1 <- as.Date(data$X1)
bbva <- xts(data$BBVA, data$X1)
ibex <- xts(data$IBEX, data$X1)
ldbbva <- diff(log(bbva))
ldibex <- diff(log(ibex))
Здесь я заполняю некоторые значения NA.
mean <- mean(ldbbva, na.rm = TRUE)
ldbbva[is.na(ldbbva)] <- mean
mean <- mean(ldibex, na.rm = TRUE)
ldibex[is.na(ldibex)] <- mean
И я делаю регресс
regression <- lm(ldibex ~ ldbbva)
Если мы посмотрим на ldibex
(например), мы можем увидеть что-то вроде этого:
[,1]
2010-01-04 -0.0001060206
2010-01-05 0.0048708104
2010-01-06 0.0014819410
2010-01-07 -0.0046086970
2010-01-08 -0.0002712618
2010-01-11 -0.0073027658
Но когда я пытаюсь запустить тест dwtest(regression)
это вывод:
Durbin-Watson test
data: regression
DW = NA, p-value = NA
alternative hypothesis: true autocorrelation is greater than 0
Я уже заполнил все значения NA, поэтому я не понимаю, почему это NA
,
1 ответ
Решение
Существует проблема с использованием xts
объект с тестом Дурбина-Ватсона. Попробуйте преобразовать ваши данные в числовой вектор:
ldbbva <- as.numeric(diff(log(bbva)))
ldibex <- as.numeric(diff(log(ibex)))
Я надеюсь, что это помогает!