РЕДАКТИРОВАТЬ: С момента создания этого поста, я добавил еще один пост здесь .
Краткое содержание текста ниже: я работаю над моделью и пробовал линейную регрессию, преобразования Бокса-Кокса и GAM, но не добился большого прогресса
Используя R
, я в настоящее время работаю над моделью, чтобы предсказать успех игроков бейсбола низшей лиги на уровне высшей лиги (MLB). Зависимая переменная, наступательная карьера выигрывает выше замены (oWAR), является показателем успеха на уровне MLB и измеряется как сумма наступательных вкладов за каждую игру, в которой игрок участвует в течение своей карьеры (подробности здесь - http : //www.fangraphs.com/library/misc/war/). Независимые переменные - это оскорбительные переменные низшей лиги с z-баллом для статистики, которая считается важным предиктором успеха на уровне высшей лиги, включая возраст (игроки с большим успехом в более молодом возрасте, как правило, имеют лучшие перспективы), коэффициент забастовки [SOPct ], скорость ходьбы [BBrate] и скорректированное производство (глобальная мера наступательного производства). Кроме того, поскольку существует несколько уровней младшей лиги, я включил фиктивные переменные для уровня игры в малой лиге (Double A, High A, Low A, Rookie и Short Season с Triple A [самый высокий уровень до высшей лиги] в качестве ссылочной переменной]). Примечание: я изменил масштаб WAR, чтобы он стал переменной с 0 до 1.
Переменная scatterplot выглядит следующим образом:
Для справки, зависимая переменная oWAR имеет следующий график:
Я начал с линейной регрессии oWAR = B1zAge + B2zSOPct + B3zBBPct + B4zAdjProd + B5DoubleA + B6HighA + B7LowA + B8Rookie + B9ShortSeason
и получил следующие диагностические данные:
Есть явные проблемы с отсутствием непредвзятости остатков и отсутствием случайных изменений. Кроме того, остатки не являются нормальными. Результаты регрессии приведены ниже:
Следуя советам в предыдущей теме , я безуспешно пытался преобразовать Бокс-Кокса. Затем я попробовал GAM со ссылкой на журнал и получил эти графики:
оригинал
Новый Диагностический Участок
Похоже, сплайны помогли вписаться в данные, но диагностические графики все еще показывают плохое соответствие. РЕДАКТИРОВАТЬ: Я думал, что я смотрел на остатки против установленных значений первоначально, но я был не прав. Первоначально показанный график помечен как Оригинальный (выше), а загруженный впоследствии график помечен как Новый Диагностический график (также выше).
но результаты, полученные командой gam.check(myregression, k.rep = 1000)
, не столь многообещающие.
Кто-нибудь может предложить следующий шаг для этой модели? Я с радостью предоставлю любую другую информацию, которая, по вашему мнению, будет полезна для понимания прогресса, которого я достиг к настоящему моменту. Спасибо за любую помощь, которую вы можете предоставить.
Ответы:
lrm
rms
rms
orm
источник
require(Hmisc); cut2(y, g=100, levels.mean=TRUE)
rms
скоро будет выпущена новая версия , у вас есть идеи, когда это может произойти?Я думаю, что переработка зависимой переменной и модели может быть здесь полезна. Глядя на ваши остатки от
lm()
, кажется, что основная проблема связана с игроками с высокой карьерной WAR (которую вы определили как сумму всех WAR). Обратите внимание, что ваша самая прогнозируемая (масштабированная) WAR составляет 0,15 от максимум 1! Я думаю, что есть две вещи с этой зависимой переменной, которая усугубляет эту проблему:Однако в контексте прогнозирования, в том числе время, играемое явно как элемент управления (каким-либо образом, будь то вес или знаменатель при расчете средней WAR за карьеру), контрпродуктивно (также я подозреваю, что его эффект также будет нелинейным). Таким образом, я предлагаю моделирование времени несколько менее явно в смешанной модели с использованием
lme4
илиnlme
.С
lme4
, это будет выглядеть примерно такlmer(sWAR ~ <other stuff> + (1|Player), data=mydata)
источник