[R] Bootstrapping gnls models

2008-11-07 Thread Christoph Scherber

Dear all,

I am trying to bootstrap predictions from gnls models using the following code:

# a is the dataframe with which I am working; it contains the variables
# response.variable,LD,L,G,P and F

###

model=gnls(response.variable ~ a * LD/(b + LD),
params = list(a + b ~ L), start = c(1,1,1,1), data=a)

df=cbind(a,fit=predict(model,list(LD=1,L=0.5,G=0.5,P=0.46,F=2.2)))
model.bootfunc=function(rs,i){
df$response.variable=df$fit+rs[i]
as.numeric(predict(gnls(response.variable ~ a * LD/(b + LD),
params = list(a + b ~ L), start = coef(model), data=df)))
}

rs=scale(resid(model),scale=F)
(model.boot=boot(rs,model.bootfunc,R=1))
booted=boot.ci(model.boot,index=1,type=c(norm,basic,perc,bca))

###

The problem is that this code yields NA for the s.e. of the bootstrap 
statistics:

Bootstrap Statistics :
  original   biasstd. error
t1*  0.1651658 -0.020663364  NA
t2*  0.1669592 -0.021759335  NA
t3*  0.1676765 -0.001858686  NA
t4*  0.1726982 -0.025321349  NA
t5*  0.1658092  0.024721214  NA


And hence the boot.ci function and others don?t work.

Does anyone have an idea on that?

Many thanks and best wishes
Christoph



--
Dr. rer.nat. Christoph Scherber
University of Goettingen
DNPW, Agroecology
Waldweg 26
D-37073 Goettingen
Germany

phone +49 (0)551 39 8807
fax   +49 (0)551 39 8806

Homepage http://www.gwdg.de/~cscherb1

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Bootstrapping gnls models

2008-11-07 Thread Prof Brian Ripley

On Fri, 7 Nov 2008, Christoph Scherber wrote:


Dear all,

I am trying to bootstrap predictions from gnls models using the following 
code:


# a is the dataframe with which I am working; it contains the variables
# response.variable,LD,L,G,P and F


And without it your code is not reproducible.



###

model=gnls(response.variable ~ a * LD/(b + LD),
   params = list(a + b ~ L), start = c(1,1,1,1), data=a)

df=cbind(a,fit=predict(model,list(LD=1,L=0.5,G=0.5,P=0.46,F=2.2)))
model.bootfunc=function(rs,i){
df$response.variable=df$fit+rs[i]
as.numeric(predict(gnls(response.variable ~ a * LD/(b + LD),
   params = list(a + b ~ L), start = coef(model), data=df)))
}

rs=scale(resid(model),scale=F)
(model.boot=boot(rs,model.bootfunc,R=1))
booted=boot.ci(model.boot,index=1,type=c(norm,basic,perc,bca))


Do please try to make your code readable, using spaces and - for 
assignments.  I would have spotted the problem much sooner with legible, 
reproducible code.



###

The problem is that this code yields NA for the s.e. of the bootstrap 
statistics:


Bootstrap Statistics :
 original   biasstd. error
t1*  0.1651658 -0.020663364  NA
t2*  0.1669592 -0.021759335  NA
t3*  0.1676765 -0.001858686  NA
t4*  0.1726982 -0.025321349  NA
t5*  0.1658092  0.024721214  NA


And hence the boot.ci function and others don?t work.

Does anyone have an idea on that?


Yes: how can you estimate standard errors from a single sample (you set 
R=1)?



Many thanks and best wishes
Christoph



--
Dr. rer.nat. Christoph Scherber
University of Goettingen
DNPW, Agroecology
Waldweg 26
D-37073 Goettingen
Germany

phone +49 (0)551 39 8807
fax   +49 (0)551 39 8806

Homepage http://www.gwdg.de/~cscherb1

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.



--
Brian D. Ripley,  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel:  +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UKFax:  +44 1865 272595

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Bootstrapping gnls models

2008-11-07 Thread Christoph Scherber

Dear all,

Here comes a reproducible example, with the original data added.

The error message when running boot() is:
Error in gnls(response.variable ~ a * LD/(b + LD), params - list(a +  :
  Step halving factor reduced below minimum in NLS step

boot() in this case only seems to work for very small values of R (say, within [1..5]), which is of 
course not desirable. Maybe this is due to problems with model convergence.


I would very much appreciate any help.

###
LD=c(4.087462841,2.321928095,4.087462841,1,1,4.087462841,2.321928095,1,1,2.321928095,4.087462841,2.321928095,5.930737338,2.321928095,5.930737338,1,1,2.321928095,2.321928095,4.087462841,1,1,2.321928095,4.087462841,4.087462841,1,2.321928095,1,4.087462841,2.321928095,1,2.321928095,5.930737338,4.087462841,1,4.087462841,2.321928095,4.087462841,5.930737338,4.087462841,1,2.321928095,2.321928095,1,2.321928095,1,1,4.087462841,4.087462841,2.321928095)
L=c(1,1,0,1,0,0,1,0,0,0,1,0,1,1,1,0,0,1,0,0,0,1,1,1,1,0,1,0,0,0,1,0,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,1,1,0)

response.variable=c(0.335737179487179,0.391025641025641,0.391826923076923,0.487980769230769,0.294070512820513,0.507211538461538,0.3958333,0.0825320512820513,0.443108974358974,0.290064102564103,0.59775641025641,0.514423076923077,0.65625,0.193910256410256,0.4479167,0,0.2604167,0.407852564102564,0.44150641025641,0.596153846153846,0.0600961538461538,0.21875,0.256410256410256,0.3645833,0.435096153846154,0.0793269230769231,0.249198717948718,0.0304487179487179,0.230769230769231,0.485576923076923,0.684294871794872,0.0737179487179487,0.490384615384615,0.599358974358974,0.215544871794872,0.219551282051282,0.602564102564103,0.907852564102564,0.391025641025641,0.43349358974359,0.0384615384615385,0.337339743589744,0.502403846153846,0.405448717948718,1,0.362980769230769,0.116185897435897,0.459134615384615,0.661057692307692,0.0769230769230769)

a=data.frame(LD,L,response.variable)

model=gnls(model = response.variable ~ a * LD/(b + LD), data = a,
params = list(a + b ~ L), start = c(1, 1, 1, 1))

df-cbind(a,fit-as.numeric(predict(model,list(LD=1,L=0.5
rs-scale(resid(model),scale=F)

model.bootfunc-function(rs,i){
df$response.variable-df$fit+rs[i]
as.numeric(predict(gnls(response.variable ~ a * LD/(b + LD),
  params - list(a + b ~ L), start = coef(model), data=df)))
}

(model.boot-boot(rs,model.bootfunc,R=100))
booted-boot.ci(model.boot,index=1,type=c(norm))
booted$t0
booted$normal

###

Best wishes,
Christoph.


Prof Brian Ripley schrieb:

On Fri, 7 Nov 2008, Christoph Scherber wrote:


Dear all,

I am trying to bootstrap predictions from gnls models using the 
following code:


# a is the dataframe with which I am working; it contains the variables
# response.variable,LD,L,G,P and F


And without it your code is not reproducible.



###

model=gnls(response.variable ~ a * LD/(b + LD),
   params = list(a + b ~ L), start = c(1,1,1,1), data=a)

df=cbind(a,fit=predict(model,list(LD=1,L=0.5,G=0.5,P=0.46,F=2.2)))
model.bootfunc=function(rs,i){
df$response.variable=df$fit+rs[i]
as.numeric(predict(gnls(response.variable ~ a * LD/(b + LD),
   params = list(a + b ~ L), start = coef(model), data=df)))
}

rs=scale(resid(model),scale=F)
(model.boot=boot(rs,model.bootfunc,R=1))
booted=boot.ci(model.boot,index=1,type=c(norm,basic,perc,bca))


Do please try to make your code readable, using spaces and - for 
assignments.  I would have spotted the problem much sooner with legible, 
reproducible code.



###

The problem is that this code yields NA for the s.e. of the 
bootstrap statistics:


Bootstrap Statistics :
 original   biasstd. error
t1*  0.1651658 -0.020663364  NA
t2*  0.1669592 -0.021759335  NA
t3*  0.1676765 -0.001858686  NA
t4*  0.1726982 -0.025321349  NA
t5*  0.1658092  0.024721214  NA


And hence the boot.ci function and others don?t work.

Does anyone have an idea on that?


Yes: how can you estimate standard errors from a single sample (you set 
R=1)?



Many thanks and best wishes
Christoph



--
Dr. rer.nat. Christoph Scherber
University of Goettingen
DNPW, Agroecology
Waldweg 26
D-37073 Goettingen
Germany

phone +49 (0)551 39 8807
fax   +49 (0)551 39 8806

Homepage http://www.gwdg.de/~cscherb1

__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide 
http://www.R-project.org/posting-guide.html

and provide commented, minimal, self-contained, reproducible code.





__
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.