R非线性回归中的初始参数

问题描述 投票:0回答:1

我想学习如何在R中进行非线性回归。我设法学习了nls函数的基础,但是我们如何知道使用良好的初始参数在非线性回归中至关重要。我试图弄清楚selfStartgetInitial函数是如何工作的,但是失败了。该文档非常稀缺,不是很有用。我想通过简单的模拟数据学习这些功能。我从逻辑模型中模拟了数据:

n<-100 #Number of observations
d<-10000 #our parameters
b<--2 
e<-50 


set.seed(n)
X<-rnorm(n, -e/b, 2) #Thanks to it we'll have many observations near the point where logistic function grows the faster
Y<-d/(1+exp(b*X+e))+rnorm(n, 0, 200) #I simulate data

现在,我想使用函数f(x)= d /(1 + exp(b * x + e))进行回归,但是我不知道如何使用selfStartgetInitial。你可以帮帮我吗?但是请不要告诉我有关SSlogis的信息。我知道这是一个函子,注定要在logistic回归中找到初始参数,但似乎它只能在具有一个解释变量的回归中起作用,我想学习如何使用多个解释变量进行logistic回归,甚至如何使用我定义的mysefl函数进行一般非线性回归。

我将非常感谢您的帮助。

r regression non-linear-regression
1个回答
0
投票

我不知道为什么在R中良好的初始参数演算失败。我的答案是提供一种找到足够好的初始参数的方法。

请注意,存在一种不需要初始参数的非迭代方法。在第37-46页中说明了该原理:https://fr.scribd.com/doc/14674814/Regressions-et-equations-integrales

简化版本如下所示。

如果结果不足,则可以将它们用作常规非线性回归软件(如R中的初始参数)。>

enter image description here

下面显示一个数字示例。通常,分数要高得多。在这里,此值故意较低,以便在进行代码编辑和检查时更容易进行检查。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.