使用NLS的奇异梯度

时间:2014-06-02 20:09:30

标签: r statistics rstudio nls

我想估计非线性模型的参数。显然我的初始值有问题。

我的数据集具有以下结构,其中列为:

color Lum ruido Dist RT Resp RT.ms Condicion

有7920行。

有四种不同的颜色= [0,90,180,270];三个亮度= [13,19,25];和两种类型的噪声= [1,2] - > 4x3x2 = 24个条件。

这些是值Dist:

        if( ColorCase == 0 || ColorCase == 180)  
            DistTemp = [0.003; 0.004; 0.005; 0.006; 0.007; 0.008; 0.01; 0.015; 0.02; 0.03; 0.05];
        elseif(ColorCase == 90 || ColorCase == 270)
            DistTemp = [0.007; 0.008; 0.009; 0.01; 0.015; 0.02; 0.03; 0.04; 0.05; 0.06; 0.07];
        end

我为每种可能的组合采取了30项措施。

当我只合并两个变量时,它可以工作:

RT0_K.nls <- nls(RT.ms ~ RT0[Condicion] + K[Condicion]/(Dist^n), 
                 data = ICM,
                 start = list(RT0 = rep(300,24),K = rep(1,24),n=1))

但是当我合并3个变量时,会抛出错误:

> RT0_K.nls <- nls(RT.ms ~ RT0[Condicion] + K[Condicion]/(Dist^n[Condicion]), 
 data = ICM, start = list(RT0 = rep(300,24),K = rep(1,24),n=rep(1,24)))

Error in nls(RT.ms ~ RT0[Condicion] + K[Condicion]/(Dist^n[Condicion]),  : 
 singular gradient

你能帮我找一个解决方案吗?

非常感谢。

0 个答案:

没有答案