首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算nls软件包中的R平方(非线性模型)?

如何计算nls软件包中的R平方(非线性模型)?
EN

Stack Overflow用户
提问于 2020-10-12 11:14:31
回答 1查看 1.5K关注 0票数 0

我用nls软件包分析了非线性回归。

代码语言:javascript
运行
复制
power<- nls(formula= agw~a*area^b, data=calibration_6, start=list(a=1, b=1))
summary(power)

我听说在非线性模型中,R-平方是无效的,而不是R-平方,我们通常表现出R提供的残差标准误差。

不过,我只想知道R平方是什么。这能检查nls软件包中的R-平方吗?

非常感谢!

  • OutPut

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-14 12:11:24

我找到了解决办法。这种方法在统计方面可能不正确(因为R^2在非线性模型中无效),但我只想看到我的非线性模型的总体拟合优度。

步骤1>将数据转换为日志(公共对数)

当我使用非线性模型时,我无法检查R^2

代码语言:javascript
运行
复制
nls(formula= agw~a*area^b, data=calibration, start=list(a=1, b=1))

因此,我将数据转换为日志。

代码语言:javascript
运行
复制
x1<- log10(calibration$area)
y1<- log10(calibration$agw)  

cal<- data.frame (x1,y1)

步骤2>分析线性回归

代码语言:javascript
运行
复制
logdata<- lm (formula= y1~ x1, data=cal)
summary(logdata)

Call:
lm(formula = y1 ~ x1)

此模型提供,y= -0.122 + 1.42x

但是,我想要强制拦截到零,所以,

步骤3>强制截取为零

代码语言:javascript
运行
复制
logdata2<- lm (formula= y1~ 0 + x1)
summary(logdata2)

现在方程是y= 1.322x,这意味着log (y) = 1.322 log (x),

所以它是y= x^1.322。

在功率曲线模型中,我强制截距为零。R^2为0.9994

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64316765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档