gpt4 book ai didi

r - 多项式回归的置信区间

转载 作者:行者123 更新时间:2023-12-04 19:34:21 26 4
gpt4 key购买 nike

我对 R 和统计有一点问题。

我用最大似然法拟合了一个模型,他给了我以下系数及其各自的标准误差(以及其他参数估计值):

    ParamIndex   Estimate     SE        
1 a0 0.2135187 0.02990105
2 a1 1.1343072 0.26123775
3 a2 -1.0000000 0.25552696

从我可以画出我的曲线:
 y= 0.2135187 + 1.1343072 * x - 1 * I(x^2)

但是从那以后,我现在必须计算这条曲线周围的置信区间,但我不清楚如何做到这一点。

显然,我应该使用传播或错误/不确定性,但我发现的方法需要原始数据,或者不仅仅是多项式公式。

当 R 已知估计值的 SE 时,是否有任何方法可以计算我的曲线的 CI?

感谢您的帮助。

编辑:

所以,现在,我有协方差表 (v) 用函数 vcov 获得:
                 a0           a1           a2
a0 0.000894073 -0.003622614 0.002874075
a1 -0.003622614 0.068245163 -0.065114661
a2 0.002874075 -0.065114661 0.065294027

n = 279 .

最佳答案

你现在没有足够的信息。 要计算拟合曲线的置信区间,一个完整的方差-协方差矩阵 因为您的三个系数是必需的,但现在您只有该矩阵的对角线条目。

如果您拟合了正交多项式,则方差-协方差矩阵是对角矩阵,具有相同的对角元素。这当然不是你的情况,因为:

  • 您显示的标准错误彼此不同;
  • 您已明确使用原始多项式表示法:x + I(x ^ 2)

  • but the methods I found require the raw data



    它不是用于拟合模型的“原始数据”。您想要生成置信区间的是“新数据”。但是,您确实需要知道用于拟合模型的数据数量,例如 n ,因为这是导出剩余自由度所必需的。在你有 3 个系数的情况下,这个自由度是 n - 3 .

    一旦你有:
  • 完整的方差-协方差矩阵,比方说 V ;
  • n ,用于模型拟合的数据数量;
  • 点向量 x给出在哪里产生置信带,

  • 您可以首先从以下位置获得预测标准误差:
    X <- cbind(1, x, x ^ 2)    ## prediction matrix
    e <- sqrt( rowSums(X * (X %*% V)) ) ## prediction standard error

    您知道如何从拟合多项式公式中获得预测平均值,对吗?假设平均值是 mu ,现在对于 95%-CI,使用
    ## residual degree of freedom: n - 3
    mu + e * qt(0.025, n - 3) ## lower bound
    mu - e * qt(0.025, n - 3) ## upper bound

    完整的理论在 How does predict.lm() compute confidence interval and prediction interval?

    更新

    根据您提供的协方差矩阵,现在可以生成一些结果和数字。
    V <- structure(c(0.000894073, -0.003622614, 0.002874075, -0.003622614, 
    0.068245163, -0.065114661, 0.002874075, -0.065114661, 0.065294027
    ), .Dim = c(3L, 3L), .Dimnames = list(c("a0", "a1", "a2"), c("a0",
    "a1", "a2")))

    假设我们想在 x = seq(-5, 5, by = 0.2) 处生成 CI :
    beta <- c(0.2135187, 1.1343072, -1.0000000)
    x <- seq(-5, 5, by = 0.2)
    X <- cbind(1, x, x ^ 2)
    mu <- X %*% beta
    e <- sqrt( rowSums(X * (X %*% V)) )
    n <- 279
    lo <- mu + e * qt(0.025, n - 3)
    up <- mu - e * qt(0.025, n - 3)
    matplot(x, cbind(mu, lo, up), type = "l", col = 1, lty = c(1,2,2))

    enter image description here

    关于r - 多项式回归的置信区间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41723319/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com