Рассчитать 95% доверительный интервал на среднем - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть упражнение, которое говорит:

Найти доверительный интервал в 95% от среднего числа игр, выигранных командой, когда x2 = 2300, x7 = 56 и x8 = 2100.

Есть ли в R функция, которая дает такой доверительный интервал?

Я думал об использовании функции confint(f), но эта функция выдает результат, когда речь идет об одном или нескольких параметрах, и насколькоЯ понимаю, что у меня нет параметра, но есть функция, подобная этой beta0 + beta1xi, где параметр beta уже оценен, а точка xi будет x2, x7 и x8.

Другим способом было бы сделать это 'вручную », но это усложняет задачу, потому что мне придется вычислять стандартную ошибку, дисперсию, значение t и т. д.

Не могли бы вы помочь?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 14 декабря 2018

Да.

Существует функция в R, которая дает такой доверительный интервал.

Просто введите

predict.lm(f,newdata=data.frame(x2=2300,x7=56,x8=2100),interval="confidence")

Где f - линейная модель, т.е.f<-lm(y~x2+x7+x8)

, где y,x2,x7,x8 - ваши конкретные векторы.


Обратите внимание, что эта функция также может давать интервал «прогнозирования», просто измените «достоверность»по «предсказанию».

0 голосов
/ 09 декабря 2018

Вам нужно смотреть не на confint, а на predict.lm:

Подробности

predict.lm производит прогноззначения, полученные путем оценки функции регрессии во фрейме newdata (по умолчанию используется модель.frame (объект)).Если логический se.fit равен TRUE, вычисляются стандартные ошибки прогнозов.Если задан масштаб числового аргумента (с необязательным df), он используется в качестве остаточного стандартного отклонения при вычислении стандартных ошибок, в противном случае он извлекается из соответствия модели.Установка интервалов задает вычисление доверительных интервалов или интервалов прогнозирования (допуска) на указанном уровне, иногда называемых узкими или широкими интервалами.

Вам потребуется настроить фрейм данных с таким жеимена столбцов, используемые в подгонке модели, в которой содержатся заданные значения, для которых требуется прогноз для аргумента newdata.

Вот пример, показывающий, как использовать newdata:

x1<-c(1,2,5,6); x2<-c(3,2,4,1); x3<-c(5,4,3,4); y<-c(21,21,27,23)
res<-lm(y~x1+x2+x3)
predict.lm(res,newdata=data.frame(x1=4,x2=4,x3=2),
            interval="confidence")

(т. Е. Вам понадобится что-то типа data.frame(x2= ..., x7=... и т. Д., Но там, где вы вводите нужные значения)

Однако вы также должны указать тип необходимого вам интервала.

(predict является универсальным; если вы вызываете predict для lm объекта, он будет вызывать predict.lm, но для получения правильной помощи вам нужно обратиться непосредственно к конкретной функции)

...