全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2955 8
2011-04-04
现在有两个非线性方程y=f(x)和y=g(x),
假若f(x)和g(x)具有相同的非线性形式,只是参数不同。f(x)和g(x)都是logistic方程。
分别用f(x)拟合一组数据(包含自变量和因变量),使用g(x)拟合另外一组数据。

现在想比较两个非线性回归方程是否之具有显著性差异,使用什么方法呢?

有人说用G^2,我都没听过;还有人说"There are Wald tests, Chi-sq tests for nonlinear regression models",他说的是什么?

用R如何实现呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2011-4-5 11:52:32
G^2和 chi-sq等都是用来做对比模型显著行的。R函数中默认的这一类检验似乎只能对nested的模型进行对比。但是,对于不同的模型,lz可以根据其summary中的deviance与df.residual计算相应的统计量。然后用相同的方式对比。但是有一点需要注意一下,这时候这样的统计量的power略低于对于nested的模型,不过通常来说是可以使用的。具体的原理lz自己查一下。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-4-5 11:57:18
2# ltx5151

听起来自己好糊涂。如果我要对比两个非线性方程的参数,如何进行呢?在R中怎么实现呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-4-5 11:58:32
有个人告诉我用wald tests就可以对比模型参数是否有差异,真的可以吗?如何实现?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-4-5 12:15:03
2# ltx5151

我现在什么检验也不用了。现在我使用一个模型去拟合两个数据集,分别resample这两个数据集,就可以得到两组需要对比的参数。比如

假设根据两个数据集使用y=a*exp(b*exp(c*x)-d)去拟合,其中a,b,c,d均为参数,可以得到:
y=a1*exp(b1*exp(c1*x)-d1)
y=a2*exp(b2*exp(c2*x)-d2)

现在目标是对比b1是否等于b2,即两者是否有显著性差异。

我使用bootstrap可以得到b1,b2,每次就就按b1-b2,如果resample了1000次,则会有1000个b1-b2的差值,记作为{q1, q2, q3, ..., q1000},我只要把这个序列从小到大重排一下,然后找出95%的范围,看看0在不在这个范围不就可以了吗?这样也不需要考虑分布问题啦。

对不对呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-4-5 12:31:44
5# peijianshi
是的,可以这样。bootstrap很多时候就是这样用的,有的时候也不要给出什么95%的界,你把分布画出来一目了然
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群