You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASReml二项分布混合模型预测值为负的问题求助

问题原因及解决方法

原因分析

你得到的负值是**链接尺度(logit尺度)**的预测结果,而非实际的寄生虫流行率概率。

在logit二项模型中,ASReml默认输出的是线性预测器的值,也就是log(p/(1-p))(其中p为寄生虫存在的概率)。这个值的范围是负无穷到正无穷:当p接近0时,logit值会是负数;p接近1时则为正数。所以出现负值是模型在链接尺度下的正常输出,并非错误,只是没有转换回符合实际意义的概率尺度。

解决方法

有两种方式可以得到0-1范围内的概率预测值:

方法1:直接在predict中指定响应尺度

修改predict函数,添加type="response"参数,让ASReml直接返回概率尺度的预测结果:

pvp <- predict(nmod11, classify = "Sex + Sample_Period", 
               levels = list(Sex = c("F","M"),
                             Sample_Period = seq(1,12,1)),
               type = "response")

方法2:手动转换链接尺度结果

如果已经得到了链接尺度的预测值,可以用logit逆函数将其转换为概率:

# 假设链接尺度的预测值存储在pvp$pvals$predicted列中
pvp$pvals$probability <- exp(pvp$pvals$predicted) / (1 + exp(pvp$pvals$predicted))

转换后的probability列就是符合实际意义的寄生虫流行率概率,取值范围会严格落在0到1之间。

内容的提问来源于stack exchange,提问作者alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 21:22:35