Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум врачей-аспирантов _ Медицинская статистика _ Смешанная регрессия?

Автор: зоо 6.12.2017 - 17:20

Подскажите, пожалуйста, вопрос из зоологии. Мне нужно посмотреть регрессионную модель вида:
y = YG + MG + YG×MG + L + МС
где y это масса коровы (метрич.пер)
YG ? эффект года рождения кат.пер.;
MG ? эффект месяца рождения кат.пер;
YG×MG ? совместное влияние факторов ?месяц × год рождения?;
L ? эффект линейной принадлежности кат.пер;
MC ? эффект месяца отела; кат. пер
для каждого из этих предикторов мне нужно построить табличку вида, как на картинке, где в ячейках должен быть скорректированный R^2.


Конечно, я бы мог сделать нечто
mymodel<-lm(y~YG,data=data)
Но это нужно делать для каждой из указанных независимой переменной, при том что у меня зависимых переменных много. Такая табличка будет для ряда зависимых переменных
Можно ли сделать в R, чтобы ввести это уравнение и он для каждой независимой переменной рассчитал регрессионные данные(коэф-ты, R^2) по отдельности?

Данные зазиппировал. т.к. на форуме я обратил внимание , что тут нельзя эксель кидать.

 

 data.zip ( 2,53 килобайт ) : 38
 

Автор: p2004r 7.12.2017 - 09:42

Цитата(зоо @ 6.12.2017 - 17:20) *
Подскажите, пожалуйста, вопрос из зоологии. Мне нужно посмотреть регрессионную модель вида:
y = YG + MG + YG×MG + L + МС
где y это масса коровы (метрич.пер)
YG ? эффект года рождения кат.пер.;
MG ? эффект месяца рождения кат.пер;
YG×MG ? совместное влияние факторов ?месяц × год рождения?;
L ? эффект линейной принадлежности кат.пер;
MC ? эффект месяца отела; кат. пер
для каждого из этих предикторов мне нужно построить табличку вида, как на картинке, где в ячейках должен быть скорректированный R^2.


Конечно, я бы мог сделать нечто
mymodel<-lm(y~YG,data=data)
Но это нужно делать для каждой из указанных независимой переменной, при том что у меня зависимых переменных много. Такая табличка будет для ряда зависимых переменных
Можно ли сделать в R, чтобы ввести это уравнение и он для каждой независимой переменной рассчитал регрессионные данные(коэф-ты, R^2) по отдельности?

Данные зазиппировал. т.к. на форуме я обратил внимание , что тут нельзя эксель кидать.



Стандартные репорты о моделях печатает apsrtable, stargazer.

Вот так лепить детерминацию исключая все остальные переменные модели я бы не стал, есть масса методов отбора переменных в модель более вменяемых.


Автор: 100$ 7.12.2017 - 11:51

А почему в регрессии напрочь отсутствует константа? Это что - новая мода на переднем крае науки?

Автор: зоо 7.12.2017 - 21:01

Не совсем мода, просто второпях писал.
Ну ладно, если нельзя так, нельзя

Подскажите, тогда, пожалуйста, теоретический вопрос

Код
Влияние включѐнных в модель факторов на фенотипиче-
скую изменчивость признака рассчитывается путѐм деления ча-
стных (факториальных) сумм квадратов дисперсионного анализа
на общую сумму квадратов.


Где в ANOVA частные суммы квадратов?
Как они обозначаются? Ну или как их найти.
там же есть средний квадрат (ms)
Сумма квадратов(SS)

Автор: 100$ 7.12.2017 - 22:29

Цитата(зоо @ 7.12.2017 - 21:01) *
Где в ANOVA частные суммы квадратов?
Как они обозначаются? Ну или как их найти.
там же есть средний квадрат (ms)
Сумма квадратов(SS)


В протоколах статпакетов они чаще всего фигурируют как Type III SS. Для каждого фактора и ошибок.

Автор: nokh 7.12.2017 - 23:02

А какова всё-таки цель работы? От этого зависят ответы.
1) Если цель - прогноз, то регрессия типа вашей уместна. Другое дело, что данных для неё маловато (есть редкие сочетания предикторов). И не совсем ясна практическая польза: её можно использовать только для тех лет, которые есть в наборе, т.к. фактор "Год" - случайный, т.е. его нельзя воспроизвести в других исследованиях (в отличие от месяца или породы).
2) Если цель - разобраться с влиянием на признак всяких факторов и их взаимодействий, то просится ANOVA. Но процитированный вами отрывок - грубый подход. По хорошему здесь нужно раскладывать изменчивость (дисперсию) на компоненты. Это делается исходя из формул математических ожидаемых средних квадратов: оттуда берутся дисперсии (для случайных эффектов) или квадратичные формы (для фиксированных эффектов), всё суммируется и пересчитывается в %. По-русски можно прочитать в Дуглас Монтгомери "Планирование эксперимента и анализ данных" (есть в сети). Пакеты могут с этим справляться плохо, т.к. работают с моделями случайных эффектов, а не смешанных. Но может какие-то и справятся. Найдёте - поделитесь, надоело вручную считать...

Автор: 100$ 7.12.2017 - 23:55

Цитата(nokh @ 7.12.2017 - 23:02) *
Но может какие-то и справятся. Найдёте - поделитесь, надоело вручную считать...


А вот это - не оно? Сам, правда, не пробовал. Так, на периферии сознания завалялось...
https://cran.r-project.org/web/packages/lme4/lme4.pdf

Автор: зоо 8.12.2017 - 14:32

Спасибо, я нашел простое решение для расчета TYPE III SS,
library("car")
Anova(lm1 <- lm(DV ~ IV, data=sample.data,
contrasts=list(IV=contr.poly)), type="III")

Автор: nokh 18.12.2017 - 21:45

Цитата(100$ @ 8.12.2017 - 01:55) *
А вот это - не оно? Сам, правда, не пробовал. Так, на периферии сознания завалялось...
https://cran.r-project.org/web/packages/lme4/lme4.pdf

Благодарю, по описанию должно подойти, хотя тоже пока не пробовал). Ещё ракет VCA (https://cran.r-project.org/web/packages/VCA/VCA.pdf) должен считать. Потихоньку в R двигаюсь, в следующий раз как данные будут - поробую. Только автор топика меня не услышал - ищет там где светлее... Не иначе по книгам Плохинского дисперсионный анализ осваивает. Зоологи и ветеринары - они такие! smile.gif

Байка. Лет 10 назад у меня директор в наш головной ветеринарный НИИ приехал с годовым отчётом. А там средние с 95% ДИ в таблицах были бутстрепом (ВСа) посчитаны: специально boot под R ставил и робко её пользовал. Короче, в целом, похвалили уральцев, только говорят нужно было данные статистически обработать и +/- стандартную ошибку привести.

Автор: 100$ 19.12.2017 - 20:59

Цитата(nokh @ 18.12.2017 - 21:45) *
Благодарю, по описанию должно подойти, хотя тоже пока не пробовал). Ещё ракет VCA (https://cran.r-project.org/web/packages/VCA/VCA.pdf) должен считать. Потихоньку в R двигаюсь, в следующий раз как данные будут - поробую.


Чесслово, не стоит благодарности.

Цитата
Байка. Лет 10 назад у меня директор в наш головной ветеринарный НИИ приехал с годовым отчётом. А там средние с 95% ДИ в таблицах были бутстрепом (ВСа) посчитаны: специально boot под R ставил и робко её пользовал. Короче, в целом, похвалили уральцев, только говорят нужно было данные статистически обработать и +/- стандартную ошибку привести.


Оно и неудивительно. Для большинства исследователей стат. обработка - это набор шаманских ритуалов, которые невозможно понять, надо просто запомнить. Вот они и запомнили. По принципу "В русском языке слова "сол" и "фасол" пишутся с мягким знаком, слова "вильк" и "тарельк" - без мягкого знака".

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)