Hello Rui,
Thanks for your helpful suggestions. Just for illustration, let's use the
well known Duncan dataset of prestige vs education + income that is
contained in the "car" package. Suppose I wish to use boot function
to
bootstrap a linear regression of prestige ~ education + income and use the
following script:
duncan.function <- function(data, indices) {data = data[indices,]
mod <- lm(prestige ~ education + income, data=data,)
coefficients(mod)}
Results <- boot(Duncan, duncan.function , 1000)
Results
So the 1000 bootstrapped coefficients are contained in Results and I can
use the boot.ci function in the same boot package to obtain the confidence
intervals for the, say, education coefficient with something like:
boot.ci(Results, index=2, conf = 0.95, type=c("basic",
"norm", "perc",
"bca"))
Then, suppose I am interested in getting a confidence interval for the
predicted prestige at, say, education = 50 and income = 75. The question
is how do I get boot to compute 1000 values of the predicted prestige at
education = 50 and income = 75, so that I can subsequently (hopefully) have
boot.ci compute the confidence intervals as it did for the bootstrapped
coefficients? As for prediction intervals, it wouldn't seem conceptually
feasible in this context? Thanks again for all your help.
Janh
On Sat, Oct 14, 2017 at 11:12 AM, Bert Gunter <bgunter.4567 at gmail.com>
wrote:
> R-help is not a free coding service. We expect users to make the effort to
> learn R and *may* provide help when they get stuck. Pay a local R
> programmer if you do not wish to make such an effort.
>
> Cheers,
> Bert
>
>
> On Oct 14, 2017 7:58 AM, "Janh Anni" <annijanh at
gmail.com> wrote:
>
> Greetings!
>
> We are trying to obtain confidence and prediction intervals for a predicted
> Y value from bootstrapped linear regression using the boot function. Does
> anyone know how to code it? Greatly appreciated.
>
> Janh
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posti
> ng-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
>
>
[[alternative HTML version deleted]]
Hello,
Much clearer now, thanks.
It's a matter of changing the function boot calls to return the
predicted values at the point of interess, education = 50, income = 75.
I have changed the way the function uses the indices a bit, the result
is the same, it's just the way I usually do it.
pred.duncan.function <- function(data, indices) {
mod <- lm(prestige ~ education + income, data = data[indices, ])
new <- data.frame(education = 50, income = 75)
predict(mod, newdata = new)
}
set.seed(94) # make the results reproducible
Predicted <- boot(Duncan, pred.duncan.function , 1000)
head(Predicted)
Predicted$t0
boot.ci(Predicted, index = 1, conf = 0.95, type=c("basic",
"norm",
"perc", "bca"))
Hope this helps,
Rui Barradas
Em 15-10-2017 02:22, Janh Anni escreveu:> Hello Rui,
>
> Thanks for your helpful suggestions. Just for illustration, let's use
the
> well known Duncan dataset of prestige vs education + income that is
> contained in the "car" package. Suppose I wish to use boot
function to
> bootstrap a linear regression of prestige ~ education + income and use the
> following script:
>
> duncan.function <- function(data, indices) {data = data[indices,]
>
> mod <- lm(prestige ~ education + income, data=data,)
>
> coefficients(mod)}
>
> Results <- boot(Duncan, duncan.function , 1000)
> Results
>
> So the 1000 bootstrapped coefficients are contained in Results and I can
> use the boot.ci function in the same boot package to obtain the confidence
> intervals for the, say, education coefficient with something like:
>
> boot.ci(Results, index=2, conf = 0.95, type=c("basic",
"norm", "perc",
> "bca"))
>
> Then, suppose I am interested in getting a confidence interval for the
> predicted prestige at, say, education = 50 and income = 75. The question
> is how do I get boot to compute 1000 values of the predicted prestige at
> education = 50 and income = 75, so that I can subsequently (hopefully) have
> boot.ci compute the confidence intervals as it did for the bootstrapped
> coefficients? As for prediction intervals, it wouldn't seem
conceptually
> feasible in this context? Thanks again for all your help.
>
> Janh
>
> On Sat, Oct 14, 2017 at 11:12 AM, Bert Gunter <bgunter.4567 at
gmail.com>
> wrote:
>
>> R-help is not a free coding service. We expect users to make the effort
to
>> learn R and *may* provide help when they get stuck. Pay a local R
>> programmer if you do not wish to make such an effort.
>>
>> Cheers,
>> Bert
>>
>>
>> On Oct 14, 2017 7:58 AM, "Janh Anni" <annijanh at
gmail.com> wrote:
>>
>> Greetings!
>>
>> We are trying to obtain confidence and prediction intervals for a
predicted
>> Y value from bootstrapped linear regression using the boot function.
Does
>> anyone know how to code it? Greatly appreciated.
>>
>> Janh
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posti
>> ng-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>
>>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
>
Hello Rui, It was perfect! Thank you so much for your kindness. It is greatly appreciated. All the best, Janh On Sun, Oct 15, 2017 at 3:25 AM, Rui Barradas <ruipbarradas at sapo.pt> wrote:> Hello, > > Much clearer now, thanks. > It's a matter of changing the function boot calls to return the predicted > values at the point of interess, education = 50, income = 75. > > I have changed the way the function uses the indices a bit, the result is > the same, it's just the way I usually do it. > > pred.duncan.function <- function(data, indices) { > mod <- lm(prestige ~ education + income, data = data[indices, ]) > new <- data.frame(education = 50, income = 75) > predict(mod, newdata = new) > } > > set.seed(94) # make the results reproducible > > Predicted <- boot(Duncan, pred.duncan.function , 1000) > head(Predicted) > Predicted$t0 > boot.ci(Predicted, index = 1, conf = 0.95, type=c("basic", "norm", > "perc", "bca")) > > > Hope this helps, > > Rui Barradas > > Em 15-10-2017 02:22, Janh Anni escreveu: > >> Hello Rui, >> >> Thanks for your helpful suggestions. Just for illustration, let's use the >> well known Duncan dataset of prestige vs education + income that is >> contained in the "car" package. Suppose I wish to use boot function to >> bootstrap a linear regression of prestige ~ education + income and use the >> following script: >> >> duncan.function <- function(data, indices) {data = data[indices,] >> >> mod <- lm(prestige ~ education + income, data=data,) >> >> coefficients(mod)} >> >> Results <- boot(Duncan, duncan.function , 1000) >> Results >> >> So the 1000 bootstrapped coefficients are contained in Results and I can >> use the boot.ci function in the same boot package to obtain the >> confidence >> intervals for the, say, education coefficient with something like: >> >> boot.ci(Results, index=2, conf = 0.95, type=c("basic", "norm", "perc", >> "bca")) >> >> Then, suppose I am interested in getting a confidence interval for the >> predicted prestige at, say, education = 50 and income = 75. The question >> is how do I get boot to compute 1000 values of the predicted prestige at >> education = 50 and income = 75, so that I can subsequently (hopefully) >> have >> boot.ci compute the confidence intervals as it did for the bootstrapped >> coefficients? As for prediction intervals, it wouldn't seem conceptually >> feasible in this context? Thanks again for all your help. >> >> Janh >> >> On Sat, Oct 14, 2017 at 11:12 AM, Bert Gunter <bgunter.4567 at gmail.com> >> wrote: >> >> R-help is not a free coding service. We expect users to make the effort to >>> learn R and *may* provide help when they get stuck. Pay a local R >>> programmer if you do not wish to make such an effort. >>> >>> Cheers, >>> Bert >>> >>> >>> On Oct 14, 2017 7:58 AM, "Janh Anni" <annijanh at gmail.com> wrote: >>> >>> Greetings! >>> >>> We are trying to obtain confidence and prediction intervals for a >>> predicted >>> Y value from bootstrapped linear regression using the boot function. Does >>> anyone know how to code it? Greatly appreciated. >>> >>> Janh >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide http://www.R-project.org/posti >>> ng-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >>> >>> >>> >>> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide http://www.R-project.org/posti >> ng-guide.html >> and provide commented, minimal, self-contained, reproducible code. >> >>[[alternative HTML version deleted]]