R回归时有的虚拟变量回归系数解释系数是NA,是什么原因造成的

单因素logistic回归中有意义的变量在多因素logistic回归分析中被排除是什么原因?后面问了别人,应该是样本量小了,或者被别的因素的作用掩盖了
intleboy202
就是说自变量间相互存在一定的共线性,所以在使用多自变量进行回归时,会自动剔除一些存在共线影响的自变量
我怀疑abc之间有共线性,那如果我要看有没有显著的共线性,是每次只引入一对相互作用的变量,如只引入a*b或者只引入b*c……作为变量,到logistic回归方程里面和其它所有因素一起分析还是一次性的引入a*b,b*c……呢?
logistic回归里面没有检验共线性的方法,你直接使用逐步回归就好了,被剔除的一方面说明该自变量对于预测没有效果,另一方面也会解决自变量间共线性的问题
为您推荐:
其他类似问题
扫描下载二维码对于一些没有理论指导的问题,在建模时如何选择解释变量?选择多少?(我最近构建的一个模型,它的adjusted R square 很高,但是根据p-value,某些变量的系数是无意义的。如果我舍去某些无意义变量,模型的adjusted R square又下降了。如何在adjusted R square 与 系数有无意义之间取舍。)请各位高手赐教!
前面有的同学说到lasso,正好最近有学习lasso,顺便写了个总结,贴到了个人博客,有兴趣的同学可以看链接:。文章比较长,格式不好修改,这里,贴一下实现的代码。lasso的R实现lasso的实现可以采用glmnet包。glmnet包作者是Friedman, Hastie, and Tibshirani这三位统计学习领域的大牛,可信度无可置疑。这个包采用的算法是循环坐标下降法(cyclical coordinate descent),能够处理的模型包括 linear regression,logistic and multinomial regression models, poisson regression 和 the Cox model,用到的正则化方法就是l1范数(lasso)、l2范数(岭回归)和它们的混合 (elastic net)。这里,给出一个实现lasso的示例。数据来源于ISLR包中的Hitters数据集,该数据集描述了美国1986年和1987年的棒球运动员相关数据。我们来探究一下对运动员薪水起主要作用的因素有哪些。```{r, echo=TRUE,message=FALSE,warning=FALSE}
library(ISLR)
str(Hitters)
Hitters&-na.omit(Hitters)
## sampling
x&-model.matrix(Salary~.,Hitters)[,-1]
y&-Hitters$Salary
set.seed(1)
train&-sample(1:nrow(x),nrow(x)/2)
test&-(-train)
y.test&-y[test]
## ridge regression
library(glmnet)
grid&-10^seq(10,-2,length = 100)
ridge.mod&-glmnet(x,y,alpha = 0,lambda = grid)
plot(ridge.mod, main = "The ridge")
## the lasso
lasso.mod&-glmnet(x[train,],y[train],alpha = 1,lambda = grid)
plot(lasso.mod, main = "The lasso")
从上面两幅图对比可知,the lasso相比起ridge regression,在压缩变量方便表现更出色。当然,你还可以使用这个包内部的交叉验证函数对$\lambda$进行参数优化,使得模型更具有稳健性。```{r}
## cross-validation
set.seed(1)
cv.out&-cv.glmnet(x[train,],y[train],alpha = 1)
plot(cv.out)
bestlam&-cv.out$lambda.min
lasso.pred&-predict(lasso.mod,s = bestlam,newx = x[test,])
mean((lasso.pred - y.test)^2)
out&-glmnet(x,y,alpha = 1,lambda = grid)
lasso.coef&-predict(out,type = "coefficients",s = bestlam)[1:20,]
lasso.coef
(Intercept)
18.5394844
NewLeagueN
## -103.4845458
可见,很多变量的系数确实被压缩至零。 lasso的优缺点分析- 相比较于其他变量选择方法,如:best subset,Partial Least Squares(偏最小二乘),Principal components regression(主成分回归),the lasso和ridge regression对参数的调整是连续的,并不是一刀切的。- the lasso相比于ridge regression的优势在于压缩变量表现更出色。- 但是,正如前面所说,lasso还是会有一些潜在的问题,有时候,elastic net等其他的一些lasso的变形会是更好的选择。参考文献- The Elements of Statistical Learning: Data Mining, Inference and Prediction. Second edition- An Introduction to Statistical Learning with R- [线性回归建模–变量选择和正则化(1):R包glmnet]()
要了解线性回归的&b&变量选取(Subset Selection)&/b&,得先明白线性回归的弊端。本文先从模型弊端说起,再提及两种基本的变量选取逻辑。&br&&br&&b&&u&线性回归的弊端:&/u&&/b&&br&线性回归模型(Ordinary Linear Regression)是通过&b&最小化残差平方和&/b&(SSE, Sum of Squared Error)得出来的解。直观上而言,一个好的线性回归模型,其得出来的预测值应该与真实值接近,因此SSE应该会小。然而,如果我们仅仅以小的SSE作为衡量标准,来选取最终的模型,我们的模型永远都会是将所有变量都加入的模型。因为添加任意的变量,都会减小SSE,甚至当变量与真实值毫无关系时。&br&&br&因此,单单利用残差平方和(SSE)的大小来作为选取变量的唯一标准会引起如下的两大问题:一方面,模型可能&b&过拟合(over-fitting)&/b&:加入更多的变量会加大模型的方差,而数据量又不足够让模型完全与真实情况相同;另一方面,&b&失去模型的解释性(interpretation)&/b&:我们不知道那些变量事实上会有影响,或者那些变量对预测最有帮助。&br&&br&由此而言,我们理想中的模型&b&&i&即需要有尽可能低的残差,又需要有尽可能少的变量。&/i&&/b&而实际上的模型并不会如此完美,所以我们需要一种能够兼顾两者的方法。由此我们可以引出两类基础的变量选区逻辑。&br&&br&&b&&u&变量选取逻辑一:结合残差与变量的衡量标准。&/u&&/b&&br&既然我们需要尽可能低的残差,有需要尽可能少的变量。那么我们可以创造一个衡量标准,选取这个衡量标准最大的模型。而这个标准必须满足:&b&当残差小时,标准大,模型好;当变量少时,标准大,模型好。&/b&而一个很简单的衡量标准就是调整R方(adjusted R square):&img src=&///equation?tex=%5Ctext%7Badjusted+%7DR%5E2+%3D+1-%5Cfrac%7BMSE%7D%7BMST%7D+%3D+1-%5Cfrac%7Bn-1%7D%7Bn-p%7D%5Cfrac%7BSSE%7D%7BSST%7D& alt=&\text{adjusted }R^2 = 1-\frac{MSE}{MST} = 1-\frac{n-1}{n-p}\frac{SSE}{SST}& eeimg=&1&&,其中n代表样本的数量(视为常数),p代表选取变量的多少,SST代表因变量的离散程度(视为常数)。不难发现调整R方(adjusted R square)满足我们所需要的衡量标准对于p和SSE的性质,因此可以被用来选取变量。&br&&br&然而满足要求的衡量标准还有许多,因此我们没有办法说哪一种是最好的。还有两种较为常用的衡量标准:&b&AIC和BIC&/b&。他们也满足当残差小时,标准大;当变量少时,标准大。然而他们对于模型多一个变量的惩罚和降低误差的奖励并不相同。因此,在选取不同的衡量标准后,所得到的模型并不一定相同。&br&&br&&b&&u&变量选取逻辑二:看对新数据的预测效果。&/u&&/b&&br&如果说找到一个合适的衡量标准很难,那不如&b&直接看模型的预测性&/b&。如果模型对新数据的预测很接近,那么我们就选定这个模型中有的变量即可。在这个时候,我们的衡量标准依旧是残差平方和(SSE),但是此时的残差并不是已经拿去构建模型的数据的残差,而是没有被用过的新数据的残差。然而这种衡量方式需要大量数据的支撑,如果数据量少,那么拿出一部分数据往往会使得模型由于样本量缺少而无法正确学习。&br&&br&&br&&u&&b&变量选取之后会有更多更深的内容&/b&&/u&,最优变量选取(best subset selection),逐步变量选取(stepwise selection and stagewise selection)以及参数放缩(parameter shrinkage: Lasso, Ridge and General Bayes)都可以作为变量选取的方法。感兴趣的可以继续深入学习哦~
要了解线性回归的变量选取(Subset Selection),得先明白线性回归的弊端。本文先从模型弊端说起,再提及两种基本的变量选取逻辑。 线性回归的弊端: 线性回归模型(Ordinary Linear Regression)是通过最小化残差平方和(SSE, Sum of Squared Error)得出来的解…
对于那些没有理论指导的问题,做线性回归不要放在经济学、计量经济学这个分类里面。同 &a data-hash=&fcaad5c7668e& href=&///people/fcaad5c7668e& class=&member_mention& data-editable=&true& data-title=&@卢晶亮& data-hovercard=&p$b$fcaad5c7668e&&@卢晶亮&/a& 所说,经济学做回归,放什么变量不放什么变量都是有原因的,该放的不放,不该放的乱放,都有问题。另外经济学里面,R方也说明不了什么问题。&br&没有理论,还是问问统计学家吧。&br&============&br&更新一下,有些答案看不过去了。。&br&说主成分分析什么的也就算了,还有说Logistic的。。。&br&多重共线性造成r2高???你发明的理论啊&br&为什么知乎上总是有不懂乱答的人
对于那些没有理论指导的问题,做线性回归不要放在经济学、计量经济学这个分类里面。同
所说,经济学做回归,放什么变量不放什么变量都是有原因的,该放的不放,不该放的乱放,都有问题。另外经济学里面,R方也说明不了什么问题。 没有理论,还是问…
已有帐号?
无法登录?
社交帐号登录
统计硕士生,R User,喜欢历史八卦。为什么spss做多元逐步回归分析时原来的回归系数是正值的,再增加自变量的引入,反倒变为负值了呢?有人说这表明数据存在偏相关、部分相关或伪相关等情况,那接下来应该怎样处理呢?
ree挚爱00579
楼上说错了,其实加入一个变量使得大小和符号发生了变化,这是调节变量的定义,也就是说后来加入的这个变量调节了前面一个变量的作用.通过路径分析可以看到调节变量的效果,并对调节变量进行验证看是否达到了显著水平.能观察到系数的变化是你的幸运,写论文的时候就有很多可以探讨的东西了.
我也考虑过共线性的问题,但现在还没弄懂如何检验自变量之间的共线性,由于系数的正负号相反跟我的专业知识是相悖的,所以我把可能共线性的自变量去掉之后结果就符合了,但是我想问这样去掉之后是不是不合适?还有就是像你所说的,后加入的变量调节了前面一个变量的作用,想问有无推荐的文献让参考一下么,我应该怎样搜文献看呢?
额,各大期刊网站都可以搜索文献呀。直接删除变量不好,将所有自变量做相关,看看相关大小,如果相关大就存在共线性问题,然后再验证共线性是否存在
为您推荐:
其他类似问题
扫描下载二维码

我要回帖

更多关于 标准化回归系数 的文章

 

随机推荐