【问题标题】:fit weibull modified in R 3 parameter适合在 R 3 参数中修改的 weibull
【发布时间】:2019-04-30 20:35:04
【问题描述】:

我想将以下数据拟合到乘以 a 的 Weibull 分布。

数据:enter link description here

                          y=b1*(1-exp(-(x/b2)^b3)

但是,我找不到使用 R 中的 nls 函数的解决方案。 有人可以指导我找到解决方案吗?

使用的代码如下:

ajuste_cg<-nls(y~b1*(-exp(-((x/b2)^b3))),data=d,start=list(b1=1000,b2=140,b3=20), trace=T,control = list(maxiter=10000000))

谢谢!

【问题讨论】:

  • 不清楚您要做什么。您实际上是否在尝试拟合非线性时间序列模型(即 x 是时间,y 是某物的数量)?拟合 Weibull 似乎没有多大意义,而且您的公式并不是真正的 Weibull。此外,您的公式为您建议的起始参数提供了 negative 值。你能提供更多的上下文吗?您是如何选择起始值的?

标签: r nls model-fitting


【解决方案1】:

我建议你使用包survival。它用于实现参数生存回归(当然包括 Weibull 模型)。代码如下:

library(survival)

weibull_model = survreg(Surv(time, event) ~ expalatory_variables, dist="weibull")

您看到的Surv() 对象而不是y 是一个R“生存对象”,它的作用类似于生存回归中的因变量。 timeevent 变量必须分别表示持续时间和事件发生(0 或 1)。 请将explanatory_variables 替换为您的适当变量集。

【讨论】:

    猜你喜欢
    • 2014-06-23
    • 2021-09-29
    • 2012-08-02
    • 1970-01-01
    • 2021-06-02
    • 2021-02-25
    • 1970-01-01
    • 2017-12-25
    • 2023-01-17
    相关资源
    最近更新 更多