1

我正在尝试从拟合的对象中提取系数pfr

  • 我拟合以下形式的功能广义线性模型 (FGLM):

    E[Y_i] = X_i' \beta + \int_T f[t, Z_i(t)] dt,

  • 然后我尝试通过 提取系数coef(fit_FGAM, n = c(n_1,n_2)),其中fit_FGAM是拟合模型对象。

  • 从文档中,我读到:n- 整数向量,指示每个参数的等距坐标数。如果长度为 1,则每个参数使用相同的数字。否则,长度必须匹配object$smooth[[select]]$dim

我不清楚:

  1. 例如,2 元素向量的哪个元素n = c(n_1,n_2)对应于 argument t,哪个对应于 argument Z_i

  2. 我假设(猜测)默认情况下,参数(时间)的坐标范围是,假设所有观察的所有坐标都相同 - 是这样吗?t(min(t), min(t))t

  3. 如何定义坐标范围Z_i?它是跨所有时间点和所有观察值的数据集中存在的所有(标量)值的范围吗?Z_i

4

1 回答 1

1

亲爱的上帝,帮助页面太糟糕了......

  1. 的第一个参数n是 for t,第二个参数是Z(见下面的例子)
  2. 是的
  3. 是的。coords有关使用-argument定义您自己的评估网格的示例,请参见下文

```

library(refund)
data(DTI)
DTI1 <- DTI[DTI$visit==1 & complete.cases(DTI),]
par(mfrow=c(1,2))

# Fit FGAM: 
(fit_af <- pfr(pasat ~ sex + case + af(cca, k=c(5, 8), bs="ps"), data=DTI1))
#> 
#> Family: gaussian 
#> Link function: identity 
#> 
#> Formula:
#> pasat ~ sex + case + te(z = cca.tmat, x = cca.omat, by = L.cca, 
#>     k = c(5, 8), bs = "ps")
#> 
#> Estimated degrees of freedom:
#> 2.71  total = 4.71 
#> 
#> REML score: 232.6839     rank: 40/42


all.equal(
  coefficients(fit_af, n = c(100, 10)), 
  coefficients(fit_af, 
               coords = list(cca.argvals = seq(0, 1, l = 100),
                             cca = modelr::seq_range(DTI1$cca, n = 10)))
  )
#> [1] TRUE

```

于 2018-12-19T16:47:28.197 回答