R语言加限制条件的线性回归如何做? 举报 理由 举报 取消 想用R做一个线性回归方程,有三个自变量,但是希望三个自变量的和为1,发现没发用lm处理,求问我应该如何解决? 2017年9月23日 2 条回复 1208 次浏览 数据挖掘,经济学,编程语言,计量
回复 ( 2 )
R的一个功能强大的回归伴侣包car里面提供了函数linearHypothesis,应该可以解决题主的问题。
首先linearHypothesis的函数就这道问题而言有以下几个需要写入的变量:
linearHypothesis(model,hypothesis.matrix,rhs)
我注意解释一下这三个变量,当然更加具体的全面的解释参看R帮助当中linearHypothesis这一条:
1. model就是你之前一个无限制模型(Unrestricted Model)的那个对象(object),比如题主这里举例说可以是: lm.test<-lm(y~X1+X2+X3,data=D).这个model就是lm.test这个线性回归对象。
2. hypothesis matrix和rhs其实是你的线性限制条件的系数矩阵和限制数向量,简单来说题主的假设是三个非常数变量的系数之和为1,写成向量的形式就应该是:
hypothesis matrix在这里就是向量c(0,1,1,1),rhs就是c(1)。由此多个线性限制条件的联合检验问题就可以通过说明hypothesis.matrix和rhs来表示了。
然后得到的结果一般用的是同方差F检验的方式,有一些其他的检验(Wald检验)的相关用法还请参看linearHypothesis的说明。
最后友情提醒:不要忘记加载car包哦。
貌似将代入回归方程就可以了吧。