【发布时间】:2020-07-09 17:25:57
【问题描述】:
我试图找出持续风速和阵风乘数之间的关系 [阵风乘数 =(阵风值)/(持续风速)]。我最初使用幂模型 (y = ax^b) 和线性回归对它们进行建模,但我想尝试将数据拟合到具有两个项 (y = ax^b + cx^d) 的幂模型中.
在具有一项的幂模型中,我能够获取每个变量的对数,然后我可以保存幂模型的系数(a 和 b 值)。我不确定如何更改我的代码以创建具有两个项的幂模型。
model = lm(log(data$GustMult)~log(data$SusWindSpeed)) # not sure how to change for a power model with two terms
coefs = unname(coef(model))
coefa = exp(coefs[1])
coefb = coefs[2]
coefc = exp(coefs[3]) #added for new model
coefd = coefs[4] #added for new model
rsquared = summary(model)$r.squared
我尝试按照上面的方式运行代码,但它仍然只提供 a 和 b 系数的值。
提前感谢您提出的任何建议!
【问题讨论】:
-
欢迎堆栈溢出。如果您使您的问题可重现,则更容易提供帮助:以对象的形式包含一个最小数据集,例如,如果数据框为 df minimal reproducible example 和 How to Ask
-
我没有证据给你,但我强烈怀疑这没有被识别,这意味着你找不到唯一组参数(a,b, c,d)最适合该模型的数据。典型示例是尝试从 y = c + (a+b)x 中识别 a 和 b。在此示例中,存在无限数量的 a 和 b 组合,例如,可以最小化平方误差之和。我怀疑你提出的模型也有类似的问题。
标签: r linear-regression