我想进行快速测试:
创建一个包含很多点的函数。向数据中添加一些随机噪声。
对于每n个点,计算平均值和sd。
使用错误栏(类似于sd * 1.96 / sqrt(n))显示新(“阻止”)数据
使用nls fit和权重(即(sd / sqrt(n))^(2))拟合“阻塞”数据
然后我会遇到一个错误 .swts * attr(rhs,“ gradient”)中的错误:...。
^XA
^FWR
^CFA,30
^FO235,75^FDCOUNT^FS
^FO175,75^BY3,1,2^BC,50^FD123456^FS
^XZ
答案 0 :(得分:0)
您的体重太大。标准化它们。这等效于不使用这么大的权重。
nls(formula= mean_val ~ a1/((Freq_N-a2)^2 + a3^2)
, data=Y_N, start=list(a1=1,a2=1,a3=1),
weights = c(prop.table(my_weights)) )
给予:
Nonlinear regression model
model: mean_val ~ a1/((Freq_N - a2)^2 + a3^2)
data: Y_N
a1 a2 a3
2.021 2.029 -60.137
weighted residual sum-of-squares: 1.163e-12
Number of iterations to convergence: 7
Achieved convergence tolerance: 1.219e-06