gpt4 book ai didi

r - R中的自动曲线拟合

转载 作者:行者123 更新时间:2023-12-04 10:49:40 25 4
gpt4 key购买 nike

是否有使用许多简单模型自动拟合曲线的软件包?
通过简单的模型,我的意思是:

  • ax + b
  • ax ^ 2 + bx + c
  • a * log(x)+ b
  • a * x ^ n + b
  • 斧头/(1 + bx)
  • ax ^ n/(1 + bx ^ n)
  • ...

  • 最好的办法是具有一个接受两个向量参数X和Y并返回带有其SSE的拟合简单模型列表的函数。

    最佳答案

    尝试这个。 rhs是右侧的字符向量,而xy是数据。它为每个参数构造公式fo,然后提取参数并将每个参数的起始值设置为1。最后,它运行nls并返回已排序的SSE,以便结果是通过右侧命名的SSE的向量。如果是verbose=TRUE(默认设置),则它还会显示每个拟合的输出。

    sse <- function(rhs, x, y) sort(sapply(rhs, function(rhs, x, y, verbose = TRUE) {
    fo <- as.formula(paste("y", rhs, sep = "~"))
    nms <- setdiff(all.vars(fo), c("x", "y"))
    start <- as.list(setNames(rep(1, length(nms)), nms))
    fm <- nls(fo, data.frame(x, y), start = start)
    if (verbose) { print(fm); cat("---\n") }
    deviance(fm)
    }, x = x, y = y))

    ## test

    set.seed(123)
    x <- 1:10
    y <- rnorm(10, x)

    # modify to suit
    rhs <- c("a*x+b", "a*x*x+b*x+c")

    sse(rhs, x, y)

    关于r - R中的自动曲线拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11350821/

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