r - glmnet 错误 (nulldev == 0) stop("y 是常数;高斯 glmnet 在标准化步骤失败")
问题描述
我在 R 中使用 glmnet 运行以下(截断的)代码
# do a lot of things to create the design matrix called x.design
> glmnet(x.design, y, thresh=1e-11)
其中x.design是一个nxp设计矩阵,其中n > p和y是使用核密度估计获得的响应的nx 1向量。x.design和y都包含真实条目。运行代码时收到以下错误消息:
Error in if (nulldev == 0) stop("y is constant; gaussian glmnet fails at
standardization step") : missing value where TRUE/FALSE needed
我访问并阅读
在 R 中运行 glmnet 包,得到错误“需要 TRUE/FALSE 的缺失值”,可能是由于缺失值?
但是我无法找到解决问题的方法。
有人可以提出解决方案吗?
解决方案
您的响应向量似乎y
是恒定的。GLMNET 试图对其进行标准化(可能减去均值,然后除以当前标准差),但不能因为标准差为 0。打印 y 及其方差以确保。
您还应该检查您的内核估计程序。
推荐阅读
- r - 如何从 R 中的日期时间获取一年中的小时?
- html - 删除 beforeSend 上的 ajax loader 并在 Start 之后再次添加
- ruby-on-rails-5.2 - link_to 中的连字符类名中断了远程:true
- amazon-web-services - 我应该在 AWS 上使用哪个服务器来部署能够动态添加具有大量共享功能的新子域的动态网站?
- javascript - 使用 Vue.js 原型返回 undefined
- python - SVD:恢复的矩阵与原始矩阵不匹配
- machine-learning - 多边形顶点的 xy 坐标数据集,用于预测内部的 xy 目标
- ios - 在 PROJECTNAME_Tests 内循环;建筑可能会产生不可靠的结果
- mysql - 在大桌子上获取最新价格
- c++ - 如何将 scoped_allocator_adaptor 与自定义分配器(包装在一个类中)一起使用,以便可以为某些类型而不是 STL 容器解包?