约束最小二乘(Constrained least squares)

2019-07-22 01:34发布

我在R于人均气体使用安装一个简单的回归。 回归公式是这样的:

gas_b <- lm(log(gasq_pop) ~ log(gasp) + log(pcincome) + log(pn) +
            log(pd) + log(ps) + log(years), 
            data=gas)
summary(gas_b)

我想包括一个线性约束的测试系数log(pn)+log(pd)+log(ps)=1 (总和为1)。 有没有实现这个(可能在一个简单的方法lm中的R功能),而无需使用constrOptim()函数?

Answer 1:

修改你的回归,如下所示:

gas_b <- lm(log(gasq_pop) - log(ps) ~ log(gasp) + log(pcincome) +
  I(log(pn)-log(ps)) + I(log(pd)-log(ps)) + log(years), data=gas) 
summary(gas_b)

如果b=coef(gas_b)那么相关系数是

log(pn): b[4]
log(pd): b[5]
log(ps): 1 - b[4] - b[5]


文章来源: Constrained least squares
标签: r lm