2015-05-10 2 views
2

Давайте предположим, что у меня есть две переменные вес и возраст, я должен найти доверительный интервал с уровнем 99% от этого случая:доверительный интервал от пересечения с линейной регрессии в R

  1. По оси ординат (ось Y), если бы мы сделали линейную регрессию a=lm(weight~age)

Я знаю, что на оси ординат есть непосредственно перехватывать, но почему это не будет работать:

predict(a, newdata=data.frame(age=intercept), interval='confidence', 
level=0.99) 

Почему это неправильно? Я хотел бы знать правильные команды для этих случаев.

+1

Вы говорите, что вы хотите, чтобы найти интервалы для некоторых наблюдений, но вы на самом деле заинтересованы в модели параметры (перехват и наклон)? –

+0

Ну, я должен найти доверительный интервал на перехвате, а затем наклон, с тем, что я должен иметь возможность получить этот интервал, но предсказание fucntion не работает для этого случая:/... –

+1

Доверительный интервал просто +/- сообщенные стандартные ошибки. Поэтому, если вы запустите 'summary (a)', вы вернете коэффициенты и связанные с ними s.e.'s. Доверительный интервал - это коэффициент +/- s.e. в зависимости от интересующего вас интервала – Jason

ответ

4

Пакет метлой может возвращать доверительные интервалы для оценки модели регрессии.

require(broom) 
A <- c(12,11,12,15,13,16,13,18,11,14) 
B <- c(50,51,62,45,63,76,53,68,51,74) 

model <- lm(A~B) 

tidy(model, conf.int = TRUE, conf.level = 0.99) 
     term estimate std.error statistic p.value conf.low conf.high 
1 (Intercept) 6.8153948 3.75608761 1.814493 0.1071515 -5.78773401 19.418524 
2   B 0.1127252 0.06240674 1.806299 0.1085031 -0.09667358 0.322124 

EDIT: Я забыл, что можно получить доверительные интервалы для моделей регрессии в базе R.

confint(model, level = .99) 
        0.5 % 99.5 % 
(Intercept) -5.78773401 19.418524 
B   -0.09667358 0.322124 
Смежные вопросы