【问题标题】:Constrained least squares约束最小二乘
【发布时间】:2010-12-05 19:28:53
【问题描述】:

我在 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 的 beta 系数(总和为一)。有没有一种简单的方法可以在 R 中实现这一点(可能在 lm 函数中)而不必使用 constrOptim() 函数?

【问题讨论】:

  • 什么是pn、pd和ps?它们是虚拟变量吗?
  • 不,它们是 #PD = 总消费中耐用品部分的价格指数 #PN = 总消费中非耐用品部分的价格指数 #PS = 总消费中服务部分的价格指数 微观经济学理论可能预测非耐用品价格 logPN、耐用品价格 logPD 和服务价格 logPS 的三个弹性应总和为 1。

标签: r lm


【解决方案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]

【讨论】:

  • 谢谢 Rob,运行它,它就像一个魅力。但是,我在 R 手册中找不到 I(log(pn)-log(ps)) 和 I(log(pd)-log(ps)) 前面的“I”代表什么?谢谢,托马斯
  • 我代表身份。见帮助(I)。
猜你喜欢
  • 2013-08-06
  • 2015-08-01
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-19
  • 2019-02-04
  • 2014-12-23
相关资源
最近更新 更多