Description Usage Arguments Details Value Note Author(s) See Also Examples
Given a nonlinear model expressed as an expression of the form lhs ~ formula_for_rhs and a start vector where parameters used in the model formula are named, attempts to find the minimum of the residual sum of squares using the Nash variant (Nash, 1979) of the Marquardt algorithm, where the linear sub-problem is solved by a qr method.
1 2 |
formula |
This is a modeling formula of the form (as in |
start |
A named parameter vector. For our example, we could use start=c(b1=1, b2=2.345, b3=0.123) |
trace |
Logical TRUE if we want intermediate progress to be reported. Default is FALSE. |
data |
A data frame containing the data of the variables in the formula. This data may, however, be supplied directly in the parent frame. |
lower |
Lower bounds on the parameters. If a single number, this will be applied to all parameters. Default -Inf. |
upper |
Upper bounds on the parameters. If a single number, this will be applied to all parameters. Default Inf. |
control |
A list of controls for the algorithm. These are as for |
... |
Any data needed for computation of the residual vector from the expression rhsexpression - lhsvar. Note that this is the negative of the usual residual, but the sum of squares is the same. |
wrapnls
first attempts to solve the nonlinear sum of squares problem by using
nlsmnq
, then takes the parameters from that method to call nls
.
An object of type nls.
Special notes, if any, will appear here.
John C Nash <nashjc@uottawa.ca>
Function nls()
, packages optim
and optimx
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | cat("See examples in nlmrt-package.Rd\n")
## Not run:
cat("kvanderpoel.R test\n")
# require(nlmrt)
x<-c(1,3,5,7)
y<-c(37.98,11.68,3.65,3.93)
pks28<-data.frame(x=x,y=y)
fit0<-try(nls(y~(a+b*exp(1)^(-c*x)), data=pks28, start=c(a=0,b=1,c=1),
trace=TRUE))
print(fit0)
cat("\n\n")
fit1<-nlxb(y~(a+b*exp(-c*x)), data=pks28, start=c(a=0,b=1,c=1), trace = TRUE)
print(fit1)
cat("\n\nor better\n")
fit2<-wrapnls(y~(a+b*exp(-c*x)), data=pks28, start=c(a=0,b=1,c=1),
lower=-Inf, upper=Inf, trace = TRUE)
## End(Not run)
|
See examples in nlmrt-package.Rd
kvanderpoel.R test
1578.645 : 0 1 1
Error in nls(y ~ (a + b * exp(1)^(-c * x)), data = pks28, start = c(a = 0, :
singular gradient
[1] "Error in nls(y ~ (a + b * exp(1)^(-c * x)), data = pks28, start = c(a = 0, : \n singular gradient\n"
attr(,"class")
[1] "try-error"
attr(,"condition")
<simpleError in nls(y ~ (a + b * exp(1)^(-c * x)), data = pks28, start = c(a = 0, b = 1, c = 1), trace = TRUE): singular gradient>
formula: y ~ (a + b * exp(-c * x))
lower:[1] -Inf -Inf -Inf
upper:[1] Inf Inf Inf
$watch
[1] FALSE
$phi
[1] 1
$lamda
[1] 1e-04
$offset
[1] 100
$laminc
[1] 10
$lamdec
[1] 4
$femax
[1] 10000
$jemax
[1] 5000
$rofftest
[1] TRUE
$smallsstest
[1] TRUE
Data variable y :[1] 37.98 11.68 3.65 3.93
Data variable x :[1] 1 3 5 7
ssminval = 3.837472e-52
Start:lamda: 1e-04 SS= 1578.645 at a = 0 b = 1 c = 1 1 / 0
roff = 0.01798225 converged = FALSE
delta: a b c
2.898802 55.764363 -38.578881
gjty: [,1]
a -56.81468
b -14.44389
c 15.72165
gradient projection = -1576.673 g-delta-angle= 112.5043
Stepsize= 1
lamda: 0.001 SS= 9.825646e+231 at a = 2.898802 b = 56.76436 c = -37.57888 2 / 1
roff = 0.01797215 converged = FALSE
delta: a b c
2.891989 53.826779 -40.083111
gjty: [,1]
a -56.81468
b -14.44389
c 15.72165
gradient projection = -1571.948 g-delta-angle= 112.6787
Stepsize= 1
lamda: 0.01 SS= 1.28262e+241 at a = 2.891989 b = 54.82678 c = -39.08311 3 / 1
roff = 0.01787202 converged = FALSE
delta: a b c
3.329004 47.604273 -41.422536
gjty: [,1]
a -56.81468
b -14.44389
c 15.72165
gradient projection = -1527.958 g-delta-angle= 113.478
Stepsize= 1
lamda: 0.1 SS= 1.403869e+249 at a = 3.329004 b = 48.60427 c = -40.42254 4 / 1
roff = 0.01695489 converged = FALSE
delta: a b c
6.16719 30.61928 -28.77994
gjty: [,1]
a -56.81468
b -14.44389
c 15.72165
gradient projection = -1245.117 g-delta-angle= 118.8829
Stepsize= 1
lamda: 1 SS= 8.041638e+171 at a = 6.16719 b = 31.61928 c = -27.77994 5 / 1
roff = 0.01198892 converged = FALSE
delta: a b c
5.367741 8.553635 -8.732985
gjty: [,1]
a -56.81468
b -14.44389
c 15.72165
gradient projection = -565.8112 g-delta-angle= 134.2884
Stepsize= 1
lamda: 10 SS= 9.502462e+48 at a = 5.367741 b = 9.553635 c = -7.732985 6 / 1
roff = 0.004894455 converged = FALSE
delta: a b c
1.029512 1.200343 -1.274897
gjty: [,1]
a -56.81468
b -14.44389
c 15.72165
gradient projection = -95.87249 g-delta-angle= 141.0457
Stepsize= 1
<<lamda: 4 SS= 1376.483 at a = 1.029512 b = 2.200343 c = -0.2748967 7 / 1
roff = 0.003432671 converged = FALSE
delta: a b c
1.12138993 -0.13017194 0.02158386
gjty: [,1]
a -21.43526
b 49.73320
c -1365.17201
gradient projection = -59.97684 g-delta-angle= 92.22815
Stepsize= 1
<<lamda: 1.6 SS= 1268.393 at a = 2.150902 b = 2.070171 c = -0.2533128 8 / 2
roff = 0.004512416 converged = FALSE
delta: a b c
2.63999160 -0.20066214 0.05139754
gjty: [,1]
a -22.00430
b 28.44767
c -947.33154
gradient projection = -112.4901 g-delta-angle= 92.56822
Stepsize= 1
<<lamda: 0.64 SS= 1079.224 at a = 4.790893 b = 1.869509 c = -0.2019153 9 / 3
roff = 0.005898425 converged = FALSE
delta: a b c
4.9134326 -0.2008255 0.1504071
gjty: [,1]
a -19.548218
b 8.167601
c -514.163985
gradient projection = -175.023 g-delta-angle= 93.96409
Stepsize= 1
<<lamda: 0.256 SS= 837.4101 at a = 9.704326 b = 1.668684 c = -0.05150818 10 / 4
roff = 0.009114429 converged = FALSE
delta: a b c
5.5922846 2.4711714 0.8987755
gjty: [,1]
a -10.166327
b -5.614464
c -178.718897
gradient projection = -231.3555 g-delta-angle= 102.0661
Stepsize= 1
<<lamda: 0.1024 SS= 719.2259 at a = 15.29661 b = 4.139855 c = 0.8472674 11 / 5
roff = 0.0115773 converged = FALSE
delta: a b c
-10.068376 18.449543 -9.473408
gjty: [,1]
a 6.117488
b -8.451447
c 28.864116
gradient projection = -490.96 g-delta-angle= 133.9363
Stepsize= 1
lamda: 1.024 SS= 1.431537e+55 at a = 5.228235 b = 22.5894 c = -8.626141 12 / 6
roff = 0.005934697 converged = FALSE
delta: a b c
-2.074776 4.806960 -3.287280
gjty: [,1]
a 6.117488
b -8.451447
c 28.864116
gradient projection = -148.2026 g-delta-angle= 141.3604
Stepsize= 1
lamda: 10.24 SS= 5.481975e+16 at a = 13.22183 b = 8.946815 c = -2.440012 13 / 6
roff = 0.002398028 converged = FALSE
delta: a b c
-0.1454281 0.6549456 -0.5008065
gjty: [,1]
a 6.117488
b -8.451447
c 28.864116
gradient projection = -20.88023 g-delta-angle= 144.3516
Stepsize= 1
<<lamda: 4.096 SS= 692.6514 at a = 15.15118 b = 4.7948 c = 0.3464608 14 / 6
roff = 0.002146874 converged = FALSE
delta: a b c
-0.3757641 1.3318075 0.1460450
gjty: [,1]
a 9.723566
b -8.704454
c -47.316542
gradient projection = -22.15677 g-delta-angle= 108.9298
Stepsize= 1
<<lamda: 1.6384 SS= 656.4639 at a = 14.77542 b = 6.126608 c = 0.4925059 15 / 7
roff = 0.003896466 converged = FALSE
delta: a b c
-0.98865317 3.67502143 -0.06868624
gjty: [,1]
a 7.720791
b -9.522894
c 8.537827
gradient projection = -43.21645 g-delta-angle= 139.4633
Stepsize= 1
<<lamda: 0.65536 SS= 574.9895 at a = 13.78677 b = 9.801629 c = 0.4238196 16 / 8
roff = 0.005282929 converged = FALSE
delta: a b c
-1.8320566 7.6102480 0.1595926
gjty: [,1]
a 8.753300
b -8.382064
c -29.189998
gradient projection = -84.48463 g-delta-angle= 109.9633
Stepsize= 1
<<lamda: 0.262144 SS= 431.5791 at a = 11.95471 b = 17.41188 c = 0.5834122 17 / 9
roff = 0.007153294 converged = FALSE
delta: a b c
-4.4478256 12.8527844 -0.3424349
gjty: [,1]
a 4.554621
b -7.887093
c 67.894773
gradient projection = -144.8788 g-delta-angle= 98.94307
Stepsize= 1
<<lamda: 0.1048576 SS= 406.7021 at a = 7.506883 b = 30.26466 c = 0.2409773 18 / 10
roff = 0.00771817 converged = FALSE
delta: a b c
-1.3777045 10.0998150 0.2456068
gjty: [,1]
a 25.932764
b 5.420315
c -1250.555827
gradient projection = -288.1285 g-delta-angle= 91.2945
Stepsize= 1
<<lamda: 0.04194304 SS= 112.9539 at a = 6.129179 b = 40.36448 c = 0.4865841 19 / 11
roff = 0.005099782 converged = FALSE
delta: a b c
-3.2222965 17.5720980 0.1223591
gjty: [,1]
a 6.348208
b -2.791665
c -72.833953
gradient projection = -78.42311 g-delta-angle= 93.43968
Stepsize= 1
<<lamda: 0.01677722 SS= 17.07995 at a = 2.906882 b = 57.93657 c = 0.6089431 20 / 12
roff = 0.002151038 converged = FALSE
delta: a b c
-0.56364638 9.23948056 0.04531169
gjty: [,1]
a -1.201547
b -1.754773
c 70.184908
gradient projection = -12.35575 g-delta-angle= 91.08922
Stepsize= 1
<<lamda: 0.006710886 SS= 2.874758 at a = 2.343236 b = 67.17606 c = 0.6542548 21 / 13
roff = 0.000412064 converged = FALSE
delta: a b c
0.26451237 3.51094254 0.04062555
gjty: [,1]
a -0.2718822
b -0.3206090
c 10.6931805
gradient projection = -0.7631395 g-delta-angle= 91.16047
Stepsize= 1
<<lamda: 0.002684355 SS= 2.00806 at a = 2.607748 b = 70.687 c = 0.6948804 22 / 14
roff = 8.729957e-05 converged = FALSE
delta: a b c
0.05972416 0.91068705 0.01101228
gjty: [,1]
a -0.001170592
b -0.050432556
c 1.015417300
gradient projection = -0.03481612 g-delta-angle= 92.15027
Stepsize= 1
<<lamda: 0.001073742 SS= 1.970968 at a = 2.667472 b = 71.59769 c = 0.7058927 23 / 15
roff = 7.24721e-06 converged = FALSE
delta: a b c
0.0046798671 0.0817740881 0.0009587026
gjty: [,1]
a 0.0002227431
b -0.0043130928
c 0.1026428862
gradient projection = -0.0002532528 g-delta-angle= 91.72454
Stepsize= 1
<<lamda: 0.0004294967 SS= 1.970713 at a = 2.672152 b = 71.67946 c = 0.7068514 24 / 16
roff = 1.889931e-07 converged = FALSE
delta: a b c
-1.530179e-04 5.600060e-04 -3.575195e-06
gjty: [,1]
a -2.003162e-05
b -1.202886e-04
c 7.466808e-03
gradient projection = -9.099242e-08 g-delta-angle= 91.20262
Stepsize= 1
<<lamda: 0.0001717987 SS= 1.970712 at a = 2.671999 b = 71.68002 c = 0.7068478 25 / 17
roff = 2.424471e-09 converged = TRUE
delta: a b c
2.695436e-06 2.083874e-05 3.279176e-07
gjty: [,1]
a 3.319170e-07
b -3.019386e-07
c -3.087135e-05
gradient projection = -1.552062e-11 g-delta-angle= 91.37071
Stepsize= 1
<<lamda: 6.871948e-05 SS= 1.970712 at a = 2.672002 b = 71.68004 c = 0.7068481 26 / 18
nlmrt class object: x
residual sumsquares = 1.9707 on 4 observations
after 18 Jacobian and 26 function evaluations
name coeff SE tstat pval gradient JSingval
a 2.672 1.476 1.811 0.3212 -2.312e-09 45.17
b 71.68 7.71 9.297 0.06821 -4.506e-09 1.112
c 0.706848 0.1207 5.856 0.1077 -1.148e-07 0.1812
or better
wrapnls call with lower=[1] -Inf -Inf -Inf
and upper=[1] Inf Inf Inf
formula: y ~ (a + b * exp(-c * x))
lower:[1] -Inf -Inf -Inf
upper:[1] Inf Inf Inf
$watch
[1] FALSE
$phi
[1] 1
$lamda
[1] 1e-04
$offset
[1] 100
$laminc
[1] 10
$lamdec
[1] 4
$femax
[1] 10000
$jemax
[1] 5000
$rofftest
[1] TRUE
$smallsstest
[1] TRUE
Data variable y :[1] 37.98 11.68 3.65 3.93
Data variable x :[1] 1 3 5 7
ssminval = 3.8375e-52
Start:lamda: 1e-04 SS= 1578.6 at a = 0 b = 1 c = 1 1 / 0
roff = 0.017982 converged = FALSE
delta: a b c
2.8988 55.7644 -38.5789
gjty: [,1]
a -56.815
b -14.444
c 15.722
gradient projection = -1576.7 g-delta-angle= 112.5
Stepsize= 1
lamda: 0.001 SS= 9.8256e+231 at a = 2.8988 b = 56.764 c = -37.579 2 / 1
roff = 0.017972 converged = FALSE
delta: a b c
2.892 53.827 -40.083
gjty: [,1]
a -56.815
b -14.444
c 15.722
gradient projection = -1571.9 g-delta-angle= 112.68
Stepsize= 1
lamda: 0.01 SS= 1.2826e+241 at a = 2.892 b = 54.827 c = -39.083 3 / 1
roff = 0.017872 converged = FALSE
delta: a b c
3.329 47.604 -41.423
gjty: [,1]
a -56.815
b -14.444
c 15.722
gradient projection = -1528 g-delta-angle= 113.48
Stepsize= 1
lamda: 0.1 SS= 1.4039e+249 at a = 3.329 b = 48.604 c = -40.423 4 / 1
roff = 0.016955 converged = FALSE
delta: a b c
6.1672 30.6193 -28.7799
gjty: [,1]
a -56.815
b -14.444
c 15.722
gradient projection = -1245.1 g-delta-angle= 118.88
Stepsize= 1
lamda: 1 SS= 8.0416e+171 at a = 6.1672 b = 31.619 c = -27.78 5 / 1
roff = 0.011989 converged = FALSE
delta: a b c
5.3677 8.5536 -8.7330
gjty: [,1]
a -56.815
b -14.444
c 15.722
gradient projection = -565.81 g-delta-angle= 134.29
Stepsize= 1
lamda: 10 SS= 9.5025e+48 at a = 5.3677 b = 9.5536 c = -7.733 6 / 1
roff = 0.0048945 converged = FALSE
delta: a b c
1.0295 1.2003 -1.2749
gjty: [,1]
a -56.815
b -14.444
c 15.722
gradient projection = -95.872 g-delta-angle= 141.05
Stepsize= 1
<<lamda: 4 SS= 1376.5 at a = 1.0295 b = 2.2003 c = -0.2749 7 / 1
roff = 0.0034327 converged = FALSE
delta: a b c
1.121390 -0.130172 0.021584
gjty: [,1]
a -21.435
b 49.733
c -1365.172
gradient projection = -59.977 g-delta-angle= 92.228
Stepsize= 1
<<lamda: 1.6 SS= 1268.4 at a = 2.1509 b = 2.0702 c = -0.25331 8 / 2
roff = 0.0045124 converged = FALSE
delta: a b c
2.639992 -0.200662 0.051398
gjty: [,1]
a -22.004
b 28.448
c -947.332
gradient projection = -112.49 g-delta-angle= 92.568
Stepsize= 1
<<lamda: 0.64 SS= 1079.2 at a = 4.7909 b = 1.8695 c = -0.20192 9 / 3
roff = 0.0058984 converged = FALSE
delta: a b c
4.91343 -0.20083 0.15041
gjty: [,1]
a -19.5482
b 8.1676
c -514.1640
gradient projection = -175.02 g-delta-angle= 93.964
Stepsize= 1
<<lamda: 0.256 SS= 837.41 at a = 9.7043 b = 1.6687 c = -0.051508 10 / 4
roff = 0.0091144 converged = FALSE
delta: a b c
5.59228 2.47117 0.89878
gjty: [,1]
a -10.1663
b -5.6145
c -178.7189
gradient projection = -231.36 g-delta-angle= 102.07
Stepsize= 1
<<lamda: 0.1024 SS= 719.23 at a = 15.297 b = 4.1399 c = 0.84727 11 / 5
roff = 0.011577 converged = FALSE
delta: a b c
-10.0684 18.4495 -9.4734
gjty: [,1]
a 6.1175
b -8.4514
c 28.8641
gradient projection = -490.96 g-delta-angle= 133.94
Stepsize= 1
lamda: 1.024 SS= 1.4315e+55 at a = 5.2282 b = 22.589 c = -8.6261 12 / 6
roff = 0.0059347 converged = FALSE
delta: a b c
-2.0748 4.8070 -3.2873
gjty: [,1]
a 6.1175
b -8.4514
c 28.8641
gradient projection = -148.2 g-delta-angle= 141.36
Stepsize= 1
lamda: 10.24 SS= 5.482e+16 at a = 13.222 b = 8.9468 c = -2.44 13 / 6
roff = 0.002398 converged = FALSE
delta: a b c
-0.14543 0.65495 -0.50081
gjty: [,1]
a 6.1175
b -8.4514
c 28.8641
gradient projection = -20.88 g-delta-angle= 144.35
Stepsize= 1
<<lamda: 4.096 SS= 692.65 at a = 15.151 b = 4.7948 c = 0.34646 14 / 6
roff = 0.0021469 converged = FALSE
delta: a b c
-0.37576 1.33181 0.14605
gjty: [,1]
a 9.7236
b -8.7045
c -47.3165
gradient projection = -22.157 g-delta-angle= 108.93
Stepsize= 1
<<lamda: 1.6384 SS= 656.46 at a = 14.775 b = 6.1266 c = 0.49251 15 / 7
roff = 0.0038965 converged = FALSE
delta: a b c
-0.988653 3.675021 -0.068686
gjty: [,1]
a 7.7208
b -9.5229
c 8.5378
gradient projection = -43.216 g-delta-angle= 139.46
Stepsize= 1
<<lamda: 0.65536 SS= 574.99 at a = 13.787 b = 9.8016 c = 0.42382 16 / 8
roff = 0.0052829 converged = FALSE
delta: a b c
-1.83206 7.61025 0.15959
gjty: [,1]
a 8.7533
b -8.3821
c -29.1900
gradient projection = -84.485 g-delta-angle= 109.96
Stepsize= 1
<<lamda: 0.26214 SS= 431.58 at a = 11.955 b = 17.412 c = 0.58341 17 / 9
roff = 0.0071533 converged = FALSE
delta: a b c
-4.44783 12.85278 -0.34243
gjty: [,1]
a 4.5546
b -7.8871
c 67.8948
gradient projection = -144.88 g-delta-angle= 98.943
Stepsize= 1
<<lamda: 0.10486 SS= 406.7 at a = 7.5069 b = 30.265 c = 0.24098 18 / 10
roff = 0.0077182 converged = FALSE
delta: a b c
-1.37770 10.09982 0.24561
gjty: [,1]
a 25.9328
b 5.4203
c -1250.5558
gradient projection = -288.13 g-delta-angle= 91.295
Stepsize= 1
<<lamda: 0.041943 SS= 112.95 at a = 6.1292 b = 40.364 c = 0.48658 19 / 11
roff = 0.0050998 converged = FALSE
delta: a b c
-3.22230 17.57210 0.12236
gjty: [,1]
a 6.3482
b -2.7917
c -72.8340
gradient projection = -78.423 g-delta-angle= 93.44
Stepsize= 1
<<lamda: 0.016777 SS= 17.08 at a = 2.9069 b = 57.937 c = 0.60894 20 / 12
roff = 0.002151 converged = FALSE
delta: a b c
-0.563646 9.239481 0.045312
gjty: [,1]
a -1.2015
b -1.7548
c 70.1849
gradient projection = -12.356 g-delta-angle= 91.089
Stepsize= 1
<<lamda: 0.0067109 SS= 2.8748 at a = 2.3432 b = 67.176 c = 0.65425 21 / 13
roff = 0.00041206 converged = FALSE
delta: a b c
0.264512 3.510943 0.040626
gjty: [,1]
a -0.27188
b -0.32061
c 10.69318
gradient projection = -0.76314 g-delta-angle= 91.16
Stepsize= 1
<<lamda: 0.0026844 SS= 2.0081 at a = 2.6077 b = 70.687 c = 0.69488 22 / 14
roff = 8.73e-05 converged = FALSE
delta: a b c
0.059724 0.910687 0.011012
gjty: [,1]
a -0.0011706
b -0.0504326
c 1.0154173
gradient projection = -0.034816 g-delta-angle= 92.15
Stepsize= 1
<<lamda: 0.0010737 SS= 1.971 at a = 2.6675 b = 71.598 c = 0.70589 23 / 15
roff = 7.2472e-06 converged = FALSE
delta: a b c
0.0046799 0.0817741 0.0009587
gjty: [,1]
a 0.00022274
b -0.00431309
c 0.10264289
gradient projection = -0.00025325 g-delta-angle= 91.725
Stepsize= 1
<<lamda: 0.0004295 SS= 1.9707 at a = 2.6722 b = 71.679 c = 0.70685 24 / 16
roff = 1.8899e-07 converged = FALSE
delta: a b c
-1.5302e-04 5.6001e-04 -3.5752e-06
gjty: [,1]
a -2.0032e-05
b -1.2029e-04
c 7.4668e-03
gradient projection = -9.0992e-08 g-delta-angle= 91.203
Stepsize= 1
<<lamda: 0.0001718 SS= 1.9707 at a = 2.672 b = 71.68 c = 0.70685 25 / 17
roff = 2.4245e-09 converged = TRUE
delta: a b c
2.6954e-06 2.0839e-05 3.2792e-07
gjty: [,1]
a 3.3192e-07
b -3.0194e-07
c -3.0871e-05
gradient projection = -1.5521e-11 g-delta-angle= 91.371
Stepsize= 1
<<lamda: 6.8719e-05 SS= 1.9707 at a = 2.672 b = 71.68 c = 0.70685 26 / 18
nlmrt class object: x
residual sumsquares = 1.9707 on 4 observations
after 18 Jacobian and 26 function evaluations
name coeff SE tstat pval gradient JSingval
a 2.672 1.476 1.811 0.3212 -2.312e-09 45.17
b 71.68 7.71 9.297 0.06821 -4.506e-09 1.112
c 0.706848 0.1207 5.856 0.1077 -1.148e-07 0.1812
newstart: a b c
2.67200 71.68004 0.70685
nls call with no bounds
1.9707 : 2.67200 71.68004 0.70685
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.