作者Anchorites (隐客士)
看板R_Language
标题[问题] 非线性回归, nlme
时间Sun Mar 17 18:02:48 2019
[问题类型]:
给定方程式形式,
非线性回归。
[软体熟悉度]:
今天第一次用...
但是时间非常紧迫,
查了一个下午没结果,
被逼得只好上来问。
[问题叙述]:
给定方程式形式,要决定系数。
方程式形式如下:
http://i.imgur.com/MiI8cjm.jpg
其中,Mw, Rrup, Vs30, Ztor这4个是已知的参数,要用600笔有以上4个参数的数据,回归出c0, m1, r1...等7个系数。
结果大概会像这样
http://i.imgur.com/42SXTPf.jpg
包含回归出的系数值及其95%信赖区间。
目前已经知道nlme package似乎可以解决我的问题,也有查过youtube影片。
但nlme好像能处理的非线性,
只有类似像,
y = a*x1*x2 + b*x1^2 + c
(每个未定系数都是某项的领导系数)
然後R可以决定a, b, c。
但是我的function form太丑了,
在网上找不到类似的范例可以依样画葫芦。
跪求大神解惑
万分感谢
[程式范例]:
(略)
[环境叙述]:
macOS 10.14.3
[关键字]:
特定方程式形式
非线性回归
nlme
-----
Sent from JPTT on my OPPO CPH1725.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.200.222.25
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1552816970.A.72E.html
1F:→ Anchorites: 补充,Dsr75也是已知数据 03/17 18:04
2F:→ andrew43: nlme主要是用来做mixed model的 03/17 21:27
先谢谢回覆
不过我有寄给paper原着,他说他当初是用nlme package里面的nlme function跑的没错。但是我去翻instruction完全看不懂input的内容 QQ
3F:推 bboybighead2: 看起来用lm跑就好了,只是你要先对变数做处理再丢进 03/20 09:56
4F:→ bboybighead2: 去。Dsr取自然对数log(Dsr)、Mw不处理、log(sqrt( 03/20 09:56
5F:→ bboybighead2: Rrup^2+hi^2))、log(sqrt(Rrup^2+hi^2))*Mw、log( 03/20 09:56
6F:→ bboybighead2: Vs30)、Ztor不处理。这些变数全丢进lm就可以得到你 03/20 09:56
谢谢回覆
可是lm不是用来跑linear model的吗?我的方程式是nonlinear了,这样做是可行的吗?(我自己有用lme跑过,被系统挡下来,上网查原因似乎是因为起始值给的不好)
我的参数其实都已经汇入R准备好了,现在就是只差在如何"使用"nlme这个function (paper原着也有提到另一个叫lme4的新方法也适用)
7F:→ bboybighead2: 想要的回归系数了 03/20 09:56
※ 编辑: Anchorites (180.217.137.188), 03/20/2019 15:55:03
※ 编辑: Anchorites (180.217.137.188), 03/20/2019 15:58:21