我有一个相当简单的问题。我已经将一些统计分析代码从R转换为Python。到目前为止,我一直做得很好,但我被困在这一行:
nlsfit <- nls(N~pnorm(m, mean=mean, sd=sd),data=data4fit,start=list(mean=mu, sd=sig), control=list(maxiter=100,warnOnly = TRUE))
从本质上说,该程序是计算非线性最小二乘拟合的一组数据,即“nls”命令。在原文中,“tilde”看起来像“enye”,我不确定这是否有意义。你知道吗
据我所知,Python中pnorm的等价物是标准.cdf从scipy.统计. 我想知道的是,“tilde/enye”在pnorm函数被调用之前做了什么“m”是一个预定义的变量,而“mean”和“sd”则不是。你知道吗
我还发现了一些代码,基本上是用Python复制nls:nls Python code,但是,由于发布日期(2013年),我想知道是否有更新的等价物,最好是用pyton3编写的。你知道吗
任何建议都会收到,谢谢!你知道吗
从
?nls
可以看出:nsl
中的第一个参数是formula
:现在,如果你做
?formula
,我们可以读到:因此,在你的例子中
~
nls
将左边的响应/相依/回归变量与非线性最小二乘法右边的回归/解释变量连接起来。你知道吗最好的!你知道吗
这将最小化
使用在
start
中指定的mean
和sd
的起始值。它将执行最多100次迭代,在收敛前终止的情况下,它将返回而不是发出错误信号。你知道吗nls
的第一个参数是一个Rformula
,它指定了回归,其中波浪号的左侧(N
)是因变量,右侧是用于预测它的参数(mean
,sd
)和数据(m
)的函数。你知道吗注意,
formula
对象在R中没有固定的含义,但是每个函数都可以用它喜欢的任何方式来解释它们。例如,nls
使用的formula
对象的解释与lm
使用的formula
对象不同。在nls
中,公式y ~ a + b * x
将用于指定线性回归,但在lm
中,相同的回归将表示为y ~ x
。你知道吗见
?pnorm
、?nls
、?nls.control
和?formula
。你知道吗相关问题 更多 >
编程相关推荐