4

1 人あたりのガス使用量に関する 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()ますか?

4

1 に答える 1

8

次のように回帰を変更します。

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]
于 2009-10-11T21:58:45.010 に答える