【问题标题】:r gamlss: prediction of z-scores using regression with multiple explanatory variablesr gamlss:使用具有多个解释变量的回归预测 z 分数
【发布时间】:2023-01-31 00:04:04
【问题描述】:

centiles.pred 函数是基于 gamlss 模型提取 z-scores 的一个很好的选择,如下面的代码所示:

library(gamlss)
FIT = gamlss(mpg ~ disp, data = mtcars, family = BCPE)

NEWDATA = data.frame(disp = 300, mpg  = 17)
centiles.pred(FIT, xvalues = NEWDATA$disp, xname = "disp", yval = NEWDATA$mpg, type = "z-scores")

然而,centiles.pred 的帮助页面说“该函数的一个限制是它适用于只有一个解释变量的模型”。然而,在许多情况下,您有不止一个解释变量,如下例所示:

FIT = gamlss(mpg ~ disp + qsec, data = mtcars, family = BCPE)

我的问题是:是否有一种可行的方法可以从具有多个解释变量的 gamlss 模型中计算 z 分数和百分位数(也根据函数 centiled.pred 中的参数 family = "standard-centiles"family = "centiles")?

【问题讨论】:

    标签: r regression predict gam gamlss


    【解决方案1】:

    函数 predictAll(FIT,newdata= ) 给出拟合参数(mu、sigma、nu、tau) 显示和 qsec 的新值。 [见 Stasinopoulos 等人。 (2017) 第 143 页。]

    然后用合适的 (mu, sigma, nu, tau) 使用 BCPE 的 cdf(即 pBCPE)找到低于相应新 mpg 值的概率(比如 p)。

    然后由下式给出 z 分数 qNO(p)

    注意:示例代码

    NEWDATA = data.frame(disp = 300, qsec = 50)

    参数 <- predictAll(FIT,newdata=NEWDATA)

    对于 mpg = 17,则

    p <- pBCPE(17, 参数$mu, 参数$sigma, 参数$nu, 参数$tau)

    然后由下式给出 z 分数

    z <- qNO(p)

    qNo 是标准正态分布的逆 cdf。

    【讨论】:

    • 感谢你的回答。您还可以为最小示例提供一些代码吗?您还可以定义 q 和 NO 吗?
    猜你喜欢
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 2022-08-24
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 2018-07-13
    • 1970-01-01
    相关资源
    最近更新 更多