gpt4 book ai didi

R语言,非线性模型公式预测

转载 作者:行者123 更新时间:2023-12-02 21:24:12 31 4
gpt4 key购买 nike

我用一组数据 (x, y) 拟合指数公式。然后我想根据公式计算 y 值,其中 x 值超出实际数据集。它不起作用,总是打印实际 x 值的 y 值。这是代码。我做错了什么?我的 R 语言任务的解决方案是什么:

data <- data.frame(x=seq(1,69), y=othertable[1:69, 2])
nlsxypw <- nls(data$y ~ a*data$x^b, col2_60, start=list(a=2200000, b=0))
predict(nlsxypw)
#here I want to calculate the y values for x = 70-80
xnew <- seq(70, 80, 1)
predict(nlsxypw, xnew)

#it doesn't print these values, still the actual values for x=1~69.

最佳答案

这是 predict.nls 的一个奇怪功能(可能还有其他 predict 方法?),但是您必须提供具有相同名称的新数据您的模型是根据以下内容定义的:

set.seed(123)
Data <- data.frame(
x = 1:69,
y = ((1:69)**2)+rnorm(69,0,5))
nlsxypw <- nls(y ~ a*(x^b),
data=Data,
start=list(a=2.5, b=1))
##
xnew <- 70:80
## note how newdata is specified
y.pred <- predict(nlsxypw, newdata=list(x=xnew))
> y.pred
[1] 4900.355 5041.359 5184.364 5329.368 5476.373 5625.377 5776.381 5929.386 6084.390 6241.393 6400.397
##
with(
Data,
plot(x,y,pch=20,
xlim=c(0,90),
ylim=c(0,6700)))

lines(fitted(nlsxypw),col="red")
points(
x=xnew,
y=y.pred,
pch=20,
col="blue")
##

enter image description here

关于R语言,非线性模型公式预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25672461/

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