を使用して連立方程式系を推定しようとしてsystemfit
いますが、不等式を制約として指定できないようです。データセットを使用して問題を再現しました。引数airquality
に不等式を追加すると問題が発生します。restrict.matrix
この例を機能させるための回避策はありますか?
require(systemfit)
lagAQ <- rbind(NA, airquality[1:nrow(airquality)-1,])
colnames(lagAQ) <- paste("lag", colnames(lagAQ), sep = "")
data <- data.frame(airquality, lagAQ)
eqOzone <- Ozone ~ lagOzone + lagWind + lagTemp
eqWind <- Wind ~ lagOzone + lagWind + lagTemp
eqTemp <- Temp ~ lagOzone + lagWind + lagTemp
airSystem <- list(ozone = eqOzone, wind = eqWind, temp = eqTemp)
constr <- c("ozone_(Intercept) = 0",
"wind_(Intercept) = 0",
"temp_(Intercept) = 0",
"ozone_lagOzone > 0",
"ozone_lagWind > 0",
"ozone_lagTemp > 0",
"ozone_lagOzone + wind_lagOzone + temp_lagOzone = 1",
"ozone_lagWind + wind_lagWind + temp_lagWind = 1",
"ozone_lagTemp + wind_lagTemp + temp_lagTemp = 1"
)
airModel <- systemfit(airSystem, restrict.matrix = constr, data = data)