【发布时间】:2020-08-30 15:52:12
【问题描述】:
我需要估计一个高斯模型的参数。我喜欢使用自启动来选择参数。我已经使用具有不同数据集的逻辑模型做了类似的事情。我想知道SSlogis是否有类似的高斯函数
x <- runif(20)
y <- rexp(20)
a <- data.frame(x,y)
log_model <- nls(y~SSlogis(x, phi1, phi2, phi3), data = a)
我想要的是做类似的方法,但使用高斯模型。对于高斯分布,我没有找到类似于 SSlogis 的函数。 R 文档说有一个SSgauss 函数但我没有找到它https://www.rdocumentation.org/packages/xcms/versions/1.48.0/topics/SSgauss
我在 python3 代码中看到了类似于我想要的东西。
def gaussian_f(x,a,b,c):
y = a * np.exp(-0.5 * ((x-b)/c)**2)
return y
##optimize from scipy
gaussian_m, cov = optimize.curve_fit(gaussian_f, x=np.arrange(len(a["y"])), y=dtf["y"].values, maxfev=10000, p0=[1,np.mean(a["y"]) ,1]
【问题讨论】:
-
您在找到
SSgauss时遇到了什么问题?你需要install.packages("BiocManager"); BiocManager::install("xcms"); library(xcms)