1 Введение

1.1 Зачем предсказывать повторные максимумы?

Очень часто при подготовке к соревнованиям по пауэрлифтингу или в процессе любительских тренировок полезно (а иногда и необходимо) оценить свои текущие возможности, не делая “проходку”, так как “проходка” оказывает сильное воздействие на нервную систему, её нежелательно делать часто и к ней нужно сначала подготавливаться, затем от неё отдыхать (чтобы суметь мобилизовать больше ресурсов и уменьшить риск травм), что занимает много времени и сил — и всё ради того, чтобы просто узнать, какой именно вес ты способен пожать, присесть или потянуть конкретно сейчас. Гораздо разумнее было бы оценить эти величины (повторные максимумы, ПМ1), основываясь на результатах, которые ты показывал совсем недавно в процессе обычных тренировок или которые намного проще продемонстрировать2 (многоповторные максимумы, МПМ). Кроме того, если удастся построить такую модель, способную оценить силу человека, исходя из его последних достижений, можно будет сделать более явной связь между тренировками и реальными результатами, предотвращая перетренированность и временные потери на тренировки по программам, не дающим эффекта.

Итак. Зачем нужно предсказывать повторные максимумы? Регрессионные модели, которые требуется построить, помогут:

  1. адекватно оценить свои возможности перед соревнованиями и заказать веса, очень близкие к реальному максимуму; кроме того, знать свой ПМ, не делая проходку, очень важно не только для тех, кто занимается пауэрлифтингом (см. статью);

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

  3. более обоснованно планировать программу тренировок: пытаясь чередовать разные упражнения и разные диапазоны повторений, легко сделать программу, которая на самом деле не будет давать значимого эффекта или потребует неподъёмных усилий;

  4. обосновать действенность разных методик и выразить различия между ними (этому посвящён последний раздел статьи);

  5. более точно замерять силовые качества групп мышц-антагонистов (очень редко для этого вообще возможно измерять 1ПМ у обеих групп, как и МПМ при одном и том же числе повторений);

  6. выявить математические закономерности в силовых показателях человека.

1.2 О калькуляторах

К сожалению, многие люди отнеслись к этому исследованию очень скептически, поскольку уверены, что здесь имеется слишком сложная зависимость, чтобы её можно было описывать3; другие утверждали, что знание такой информации принесёт больше вреда, чем пользы, если спортсмен не имеет большого опыта или не тренируется с тренером. Во многом они правы, но на самом деле, как я считаю, такое мнение обусловлено достаточно большим количеством разных калькуляторов и формул в Интернете, которые дают разные результаты и не ясно на чём основываются (на каких формулах либо откуда полученных).

Примеры:

  • формула из книги Брендона Лилли, с которой началось исследование. За более чем месяц я так и не получил ответа от руководства сайта Juggernaut, откуда взялась эта формула (чуть позже я выяснил, что это округлённая формула Вендлера);

  • калькулятор на (весьма хорошем) сайте Symmetric Strength, аналогичная ситуация;

  • формулы Мориса и Райдина, которые, как позже будет показано, нерабочие и, скорее всего, получены из слишком маленьких выборок;

  • формулы О Коннора, Бжицки (Бржыки), Лэндера и другие;

  • также этот калькулятор, этот, этот и разные клоны одних и тех же калькуляторов.

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

Цель же этой статьи – предоставить формулу, полученную в согласовании с концепциями машинного обучения, которая будет хорошо работать на многих людях, а не на десяти. Здесь написано, как она получена и почему.

1.3 О данных и ресурсах

Для сбора наблюдений был создан опрос в Google Forms на русском языке и его англоязычный аналог.

Русскоязычный опрос распространялся через соц. сеть ВКонтакте преимущественно4 в следующих группах: Пауэрлифтинг | Тяжелая атлетика, Я ♥ ПАУЭРЛИФТИНГ, ПАУЭРЛИФТИНГ И ЖИМ ЛЁЖА 18+, Твой Тренер; аналогично англоязычный опрос распространялся на Facebook преимущественно здесь: Powerlifting Motivation, International Powerlifting League (IPL), Powerlifting Motivation Chat, Powerlifting Memes. Кроме того, несколько наблюдений я собрал лично.

Спустя два месяца от создания опросов данные были выгружены и началась их обработка. Теперь эти данные и всё, связанное с ними (в том числе последняя версия этого документа), хранятся в моём репозитории.

Для обработки данных и создания отчёта использовалась среда RStudio и язык R версии 3.6.3.

1.4 Отправная точка

В книге “Система тренировок КУБ” на странице 23 (34 в оригинальной версии) приводится формула для определения повторного максимума: \[предполагаемый\ повторный\ максимум = вес * (1 + 0.0333 * повторения),\]

где берётся некоторый рабочий вес и максимально возможное число повторений с ним. В оригинальных обозначениях:

\[RM=WEIGHT \cdot (1+0.0333\cdot REPS).\]

К примеру, если вы можете пожать 100 кг на 5 раз, то из этой формулы следует, что вы сможете пожать 115 на раз и 90 на 9 раз (звучит правдоподобно).

К слову, примерно такая модель с некоторыми поправками на диапазон повторений используется на сайте Symmetric Strength. Там максимально возможное количество повторений равно 10.

Лично на мне эта формула хорошо работает и мне захотелось уточнить её для других людей разной комплекции и уровня подготовки. Также интересно то, что здесь имеется, по сути, очень простая линейная модель с двумя предикторами : рабочим весом и взаимодействием рабочего веса с числом повторений, и нет зависимости от самого упражнения, опыта человека и других характеристик, то есть в перспективе возможно с большой точностью описать наши возможности одной простой формулой, и это будет верно почти для всех людей, невзирая на все различия между ними.

1.5 Гипотеза и допущения

Сила человека в одном повторении зависит от пяти составляющих:

  1. Количество миофибрилл в мышечном волокне. Чем их больше, тем большую силу может развить волокно.

  2. Запасы АТФ и креатинфосфата и уровень ферментации, поддерживающий быстрое преобразование креатинфосфата в АТФ. Если эти запасы малы, спортсмен не сможет поддерживать максимальное усилие нужные несколько секунд. Сам по себе уровень ферментации для силовых нагрузок можно не учитывать, поскольку после нескольких минут хорошей разминки он становится достаточно высоким.

  3. Соотношение красных и белых мышечных волокон в работающей мышце: чем больше белых волокон, тем большую силу способна развить мышца на короткий промежуток времени. Это соотношение является разным для разных мышц и разных людей (определяется генетикой) и, как пока считается, плохо поддаётся коррекции5.

  4. Количество вовлечённых в работу волокон. Чем их больше, тем больше сила мышцы. Количество задействованных волокон зависит от импульса ЦНС и порога действия органов Гольджи : чем сильнее импульс, тем больше волокон может вовлечься в работу, однако импульсы выше некоторого порога подавляются органами Гольджи, чтобы человек не мог сознательно применить силу, способную привести к разрыву сухожилий. Тренировки с субмаксимальными и запредельными весами способны воздействовать как на способность генерировать импульс, так и на порог его подавления6.

  5. Естественные рычаги человека и техника выполнения упражнения. У каждого человека есть свои рычаги, дающие ему преимущества в тех или иных типах движений. Кроме того, можно откорректировать технику выполнения упражнения так, что амплитуда движения уменьшится в несколько раз, вдобавок при движении основную работу будут выполнять наиболее сильные пучки мышц. Этот фактор не относится конкретно к силе, но фактически его учёт поможет увеличить демонстрируемые результаты.

Подытожив, можно сказать, что сила спортсмена зависит от генетики (в плане соотношения мышечных волокон, рычагов и т. п.), опыта тренировок (чем больше опыт, тем больше может быть как импульс ЦНС, так и порог его подавления, так и запасы креатинфосфата и т. п.) и конституции (типа телосложения, роста как такового, соотношения роста и функционального веса). Сама техника упражнений учитываться не будет.

Гипотеза исследования состоит в том, что одноповторный максимум можно с небольшими ошибками предсказать через многоповторный при помощи модели вида

\[RM=MRM \cdot (x+y\cdot REPS)+f(MRM,HEIGHT,WEIGHT)+\varepsilon\] с поправками на телосложение, опыт тренировок, диапазон повторений или некоторые другие факторы.

Здесь \(x, y\) – некоторые числа, \(f\) – функция, которую ещё придётся подобрать, \(\varepsilon\) – ошибка, вносимая неучтёнными факторами. При этом предполагается, что искомая зависимость очень близка к линейной, то есть первое слагаемое вносит основной вклад в сумму; это объясняется тем, что интуитивно ясно логическое заключение: из \(50*6 \approx 60\) (вес 50 на 6 раз примерно значит 60 на раз) должно следовать \(100*6 \approx 120\) с, возможно, небольшими поправками (до 10%) на другие факторы (функция \(f\)). С другой стороны, формула должна быть верна независимо от того, указывается вес в килограммах или фунтах.

Поправка на диапазон повторений имеет следующие соображения. Ввиду физиологии в разных диапазонах повторений проявляются разные мышечные способности, не все из которых тесно связаны с целевыми мышечными качествами – абсолютной силой и мощностью. Почти очевидно, что сила человека в одном повторении хорошо коррелирует с силой в двух-пяти повторениях, но то, поднимет ли человек указанный вес на 12 раз или на 20, зависит от его силовой выносливости, которая не вносит большого вклада при работе на одно повторение. Если не вдаваться в подробности, это объясняется тем, что в малом числе повторений основную роль играют запасы креатинфосфата и АТФ, ферментация, напряжение нервного импульса, количество задействованных белых волокон и их сечение, а в большом числе повторений (больше 10-15) существенную роль играет тренированность красных волокон и способность мышц быстро утилизировать продукты метаболических реакций7 (если утилизация быстрая, спортсмен сможет сделать на 3-5 повторений больше, а если медленная, то даже огромная сила воли не поможет сделать 2-3 лишних повторения из-за чувствительности к падению pH).

Согласно Хетфилду, сила развивается исключительно при работе с весами не меньше 80% от ПМ и при этом спортсмены среднего уровня способны выполнить 10-15 повторений с 80% от своего ПМ; то, какой вес человек поднимает на более чем (предположительно) 15 раз, мало говорит о том, какой вес он способен взять на раз.

Кроме того, в статье Вадима Протасенко прослеживается такая идея: разное число повторений требует своего времени на выполнение, а в зависимости от времени работы мышцы включается свой режим энергообмена: примерно через 7 секунд работы запасы креатинфосфата израсходованы больше чем наполовину, алаклатный режим работы (за счёт креатина) завершается через 12 секунд, потом начинается гликолиз (за счёт гликогена), а через 30-60 секунд работы начинается окисление. При этом, если учитывать, что за 30 секунд обычно делается 10 повторений в жиме и 8 в приседе/тяге, можно сделать выводы, что чисто силовые качества проявляют себя (конечно, приблизительно) в первых пяти повторениях, а силовая выносливость заканчивает оказывать влияние на 15-м повторении; всё, что выше 15-20-ти повторений – вообще не имеет отношения к силе8.

1.6 Соображения о возможности построения модели

К сожалению, планируемая модель априори не сможет идеально точно предсказывать результаты конкретных спортсменов. Существует также множество причин, почему модель, возможно, не выявит реальные закономерности в генеральной совокупности:

  • Опрос проводился почти полностью в Интернете, точность и честность ответов остаются на совести испытуемых. Быть может, кто-то грубо округлил свои данные или назвал данные, которые нельзя считать идентичными (например, разница между выявлением ПМ и МПМ составляла большой срок, отчего уже нельзя говорить, что исследуемые возможности принадлежат одному и тому же телу ) либо не совсем понял целей опроса и назвал заниженные результаты (например, тяжёлый разминочный подход на 3 повторения, когда в действительности возможно сделать 5).

  • Через опрос невозможно выявить, предположительно, такие имеющие большое значение факторы как естественные рычаги, процент жира в организме (процент веса, который условно не имеет вклада в результаты, зато может испортить статистику), особенности техники и качества выполнения движений. По этой причине многие люди, которые в рамках опроса имеют идентичные параметры, могут иметь совершенно разные результаты, поскольку при одинаковом росте, весе и возрасте у одного больше функциональной массы, у другого ноги длиннее, один использовал бинты (дающие прибавку 5-15 кг и не считающиеся экипировкой), другой нет, один жал по всем правилам, другой в отбив и т. п.

  • Есть множество факторов, оказывающих большое влияние, трудно измеримых и при этом варьирующихся у одного и того же человека. Например, при одних и тех же мышцах человек может поднять один и тот же вес на 3 или 5 раз в зависимости от уровня креатинфосфата и психологического настроя; при следующей тренировке эти параметры могут быть уже значимо другими, отчего правила, хорошо работавшие недавно, перестанут хорошо работать сейчас.

В то же время имеются доводы в пользу модели:

  • ПМ предсказывается не только на основе роста или веса, но и на основе многоповторного максимума, то есть не многим меньшего веса и числа повторений с ним. Нельзя отрицать, что при каких-то условиях МПМ всё же содержит немалую информацию о ПМ.

  • Существует модель Вендлера (и схожие подели), которая приемлемо работает для многих спортсменов. Сам факт наличия такой модели говорит о том, что ПМ можно описать через МПМ в какой-то степени или хотя бы для какой-то группы людей.

Можно долго рассуждать о том, будет работать модель или нет и почему, но для того и проводится исследование, чтобы найти математически обоснованный ответ.

1.7 План исследования

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

После этого будет построена серия моделей, среди которых будет выбрана лучшая. По правилам машинного обучения лучшей моделью считается та, что даёт наименьшую ошибку при перекрёстной проверке и (согласно принципу бритвы Оккама) наиболее проста в объяснении. Параллельно будем проверять достоверность уже известных моделей.

В конце я сделаю выводы и опишу возможности применения полученной модели.


2 Описание выборки и разведочный анализ данных

2.1 О прошедших опрос

С помощью опроса было получено всего 174 достоверных наблюдения (исключая явные аномалии), принадлежащие предположительно 157 людям9; они содержатся в файле data(rus).tsv.

Все наблюдения содержат информацию о нескольких переменных. После некоторых преобразований над этими переменными получаем следующий набор предикторов:

  • RM – собственно повторный максимум

  • MRM – многоповторный максимум

  • Count – количество повторений для многоповторного максимума

  • Action – движение для которого верны измерения (Жим, Тяга, Присед – самые базовые упражнения)

  • Sex – пол испытуемого

  • Experience – группа опыта (До двух лет, 2-3 года, 4-5 лет, 6-10 лет, больше 10 лет)

  • Age – возраст

  • Weight – собственный вес

  • Height – рост

  • BodyType – тип телосложения (Эктоморф, Мезоморф, Эндоморф). Типы телосложения в целом различаются скоростью обмена веществ и строением скелета, рычагами (хотя различия в строении скелета во многом являются следствием скорости обмена веществ)

  • CountGroup – группа по диапазону повторений (2-3, 4-6, 7-10, 11-20, >20)

  • AgeGroup – возрастная группа (<20, 20-27, 28-35, >35)

  • Indexиндекс массы тела, ИМТ

  • IndexGroup – группа по индексу массы тела (выраженный дефицит, дефицит, норма, избыток, ожирение1, ожирение2, ожирение3 в соответствии с рекомендациями ВОЗ)

Основные статистики по данным переменным:

numcols = sapply(data, is.numeric)

# для числовых переменных
tt = data[, numcols] %>% psych::describe()
tt[, c(3, 4, 5, 7, 8, 9, 10)] %>% kable(digits = 3)
mean sd median mad min max range
RM 154.121 51.089 147.500 48.184 20.000 300.000 280.000
MRM 127.158 42.675 120.000 40.771 15.000 250.000 235.000
Count 8.144 7.071 6.000 4.448 2.000 35.000 33.000
Age 28.017 8.990 27.000 8.896 15.000 62.000 47.000
Weight 89.608 18.883 87.000 17.050 47.000 160.000 113.000
Height 176.931 8.252 177.000 8.896 155.000 198.000 43.000
Index 28.474 5.011 27.767 4.708 18.827 45.269 26.442
# для факторных переменных
data[, !numcols] %>% select(-Mail) %>% summary() %>% xtable(caption = "Количество наблюдений в каждой группе по факторным переменным")

Сама таблица data (используемый датасет), отсортированная по некоторым столбцам:

Сделаем некоторые выводы о выборке. Почти все испытуемые – мужчины, поэтому результаты, которые будут получены, не следует обобщать на женщин. Возможно даже, что позднее придётся удалить принадлежащие женщинам наблюдения из выборки, если окажется, что те сильно выделяются.

Среди испытуемый почти половину составляли эндоморфы:

и тест хи-квадрат говорит, что это отличие статистически значимо, то есть среди пауэрлифтеров эндоморфы встречаются чаще эктоморфов или мезоморфов:

Chi-squared test for given probabilities: data.unique %>% filter(Sex == "Мужчина") %>% select(BodyType) %>% table()
Test statistic df P value
16.28 2 0.0002914 * * *

Больше половины наблюдений относятся к жиму лёжа. Я думаю, это связано с тем, что большинство спортсменов просто предпочитают это упражнение двум другим, вдобавок на жиме лёжа относительно проще замерять МПМ и, скорее всего, многие из ответивших специализировались именно на жиме лёжа (жимовики).

Распределение по другим факторам:

Распределение по индексу массы тела:

выраженный дефицит дефицит норма избыток ожирение1 ожирение2 ожирение3
Эктоморф 0 0 12 18 3 0 0
Мезоморф 0 0 19 23 5 1 0
Эндоморф 0 0 3 26 33 8 6

Видно, что среди ответивших нет людей с дефицитом веса и немалая часть имеет нормальный вес, немалая – “избыток” (предположительно за счёт мышечной массы), но так называемое “ожирение1” (с большой вероятностью связанное с жировыми отложениями) у эндоморфов встречается чаще, чем в других телосложениях. Это подтверждает тест пропорций:

tb = data.unique %>% mutate(Obees = ifelse(IndexGroup == "ожирение1", "да", "нет")) %>% 
    select(Obees, BodyType) %>% table()

tb %>% t() %>% prop.test() %>% pander()  #для всех
3-sample test for equality of proportions without continuity correction: . (continued below)
Test statistic df P value Alternative hypothesis prop 1
22.88 2 1.073e-05 * * * two.sided 0.09091
prop 2 prop 3
0.1042 0.4342
data.unique %>% mutate(Obees = ifelse(IndexGroup == "ожирение1", "да", "нет"), Bd = ifelse(BodyType == 
    "Эндоморф", 1, 0)) %>% select(Obees, Bd) %>% table() %>% t() %>% prop.test() %>% 
    pander()  # eсли разделить на эндоморфов и всех остальных
2-sample test for equality of proportions with continuity correction: .
Test statistic df P value Alternative hypothesis prop 1 prop 2
21.16 1 4.223e-06 * * * two.sided 0.09877 0.4342

Аналогично дисперсионный анализ показывает, что эндоморфы имеют больший ИМТ:

aov(Index ~ BodyType, data) %>% summary() %>% pander()
Analysis of Variance Model
  Df Sum Sq Mean Sq F value Pr(>F)
BodyType 2 1231 615.6 33.82 4.201e-13
Residuals 171 3112 18.2 NA NA
t.test(data %>% filter(BodyType != "Эндоморф") %>% select(Index) %>% t() %>% as.numeric(), 
    data %>% filter(BodyType == "Эндоморф") %>% select(Index) %>% t() %>% as.numeric()) %>% 
    pander()
Welch Two Sample t-test: data %>% filter(BodyType != "Эндоморф") %>% select(Index) %>% and data %>% filter(BodyType == "Эндоморф") %>% select(Index) %>% t() %>% as.numeric() and t() %>% as.numeric() (continued below)
Test statistic df P value Alternative hypothesis mean of x
-8.105 152.2 1.608e-13 * * * two.sided 25.87
mean of y
31.14

2.2 Взаимодествия переменных

Иллюстрация некоторых парных взаимодействий:

Корреляции количественных переменных:

Зависимость повторного максимума от индекса массы тела:

Оценка коэффициента простой регрессионной модели в зависимости от числа повторений:

Из следующего графика может следовать, что начиная с 8-9 повторений зависимость между МПМ и ПМ ослабевает:

Либо здесь имеется проблема с данными, так как на 9-м повторении корреляция резко уменьшается (мало наблюдений):

tibble(`Число повторений` = 2:10, `Корреляция MRM & RM` = sapply(2:10, function(x) data %>% 
    filter(Count == x) %$% cor(RM, MRM)), `Нижняя граница` = sapply(2:10, function(x) data %>% 
    filter(Count == x) %$% cor.test(RM, MRM)$conf.int[1]), `Верхняя граница` = sapply(2:10, 
    function(x) data %>% filter(Count == x) %$% cor.test(RM, MRM)$conf.int[2]), `Всего наблюдений` = sapply(2:10, 
    function(x) data %>% filter(Count == x) %>% nrow())) %>% kable(caption = "Корреляция между MRM & RM для каждого повторения", 
    align = "ccccc")
Корреляция между MRM & RM для каждого повторения
Число повторений Корреляция MRM & RM Нижняя граница Верхняя граница Всего наблюдений
2 0.9980117 0.9949986 0.9992103 21
3 0.9919420 0.9818449 0.9964336 26
4 0.9947569 0.9838325 0.9983060 15
5 0.9891096 0.9734436 0.9955548 22
6 0.9942644 0.9814191 0.9982374 14
7 0.9936119 0.9687446 0.9987074 9
8 0.9964144 0.9876689 0.9989606 13
9 0.9581086 0.4902757 0.9973273 5
10 0.9890079 0.9645992 0.9966159 14

Есть ли разница в этих процентах для разных движений или телосложений? Дисперсионный анализ показывает, что нет, значимых различий не обнаружено (все p-значения больше 0.05):

# есть ли разница в проценте в зависимости от чего-то

# cat('p-значения для телосложений:\n')
pvalues1 = sapply(2:10, function(x) data %>% filter(Count == x) %$% aov(MRM/RM ~ 
    BodyType, .) %>% summary() %$% .[[1]][["Pr(>F)"]][1])
names(pvalues1) = paste(2:10, "repeats")


# cat('p-значения для типа движения:\n')
pvalues2 = sapply(2:6, function(x) data %>% filter(Count == x) %$% aov(MRM/RM ~ Action, 
    .) %>% summary() %$% .[[1]][["Pr(>F)"]][1]) %>% round(7)
names(pvalues2) = paste(2:6, "repeats")


# cat('p-значения для групп по индексу массы:\n')
pvalues3 = sapply(2:10, function(x) data %>% filter(Count == x) %$% aov(MRM/RM ~ 
    IndexGroup, .) %>% summary() %$% .[[1]][["Pr(>F)"]][1])
names(pvalues3) = paste(2:10, "repeats")


tibble(`Число повторений` = 2:10, `p-значения для телосложений` = pvalues1, `p-значения для типа движения` = c(pvalues2, 
    rep("мало данных", 4)), `p-значения для групп по индексу массы` = pvalues3) %>% 
    kable(caption = "p-значения для разных факторных переменных на каждом числе повторений", 
        align = "cccc")
p-значения для разных факторных переменных на каждом числе повторений
Число повторений p-значения для телосложений p-значения для типа движения p-значения для групп по индексу массы
2 0.9458770 0.7730952 0.8959581
3 0.8956176 0.1384093 0.2062476
4 0.9985364 0.279419 0.8345974
5 0.3427142 0.9919357 0.5228145
6 0.7269629 0.2637337 0.3154734
7 0.8204683 мало данных 0.9085377
8 0.6248755 мало данных 0.7177698
9 0.2564939 мало данных 0.4490970
10 0.0878330 мало данных 0.7676728

Применим тест Стьюдента для определения предсказываемых процентов и доверительных интервалов для них:

df = data %>% mutate(perc = 100 * MRM/RM) %>% filter((Count <= 12 & Count%%2 == 0) | 
    Count == 15 | Count == 20) %>% group_by(factor(Count)) %>% summarise(mean = t.test(perc, 
    conf.level = 0.99)$estimate, down = t.test(perc, conf.level = 0.99)$conf.int[1], 
    up = t.test(perc, conf.level = 0.99)$conf.int[2])
names(df) = c("Число повторений", "Ожидаемый %", "Нижняя граница", "Верхняя граница")

df %>% kable(caption = "Какой % составляет МПМ от ПМ", align = "ccc")
Какой % составляет МПМ от ПМ
Число повторений Ожидаемый % Нижняя граница Верхняя граница
2 93.54267 92.03110 95.05425
4 89.07451 86.50007 91.64895
6 85.58991 81.56746 89.61236
8 80.55848 78.43606 82.68090
10 77.84473 74.63339 81.05607
12 75.48574 68.66088 82.31060
15 74.47497 64.50324 84.44670
20 72.62619 54.19540 91.05698

В целом эти данные согласуются с тем, что используются National Strength and Conditioning Association (NSCA):

Хотя есть и отличия: вес на 2 повторения скорее равен 94% от максимума, а не 95%, а вес на 12 повторений – это скорее 70% от максимума, а не 67%.

Теперь посмотрим на зависимость повторного максимума от многоповторного:

Очевидно, что здесь будет близкая к линейной зависимость (учитывая высокую корреляцию). Оказывается, если предварительно разбить наблюдения на группы по повторениями, линейность станет намного более выраженной для числа повторений не больше 10 (для большего числа повторений не прослеживается явной линейности либо из-за недостатка данных, либо по физиологическим причинам, озвученным ранее; для диапазона 11-20 возможна квадратичная зависимость, но мало данных, чтобы что-то подтвердить):

Сказанное выше значит, что для каждого диапазона повторений нужен отдельный анализ.

Есть ли зависимость между отношением \(\frac{RM}{MRM}\) в зависимости от опыта тренировок и других факторов? Дисперсионный анализ показывает, что в целом нет:

# есть ли значимые различия в разных возрастных группах для фиксированного
# диапазона

tibble(`Диапозон повторений` = levels(data$CountGroup), Опыт = sapply(levels(data$CountGroup), 
    function(x) aov(RM/MRM ~ Experience, data %>% filter(CountGroup == x)) %>% summary() %$% 
        .[[1]][["Pr(>F)"]][1]), Возраст = sapply(levels(data$CountGroup), function(x) aov(RM/MRM ~ 
    AgeGroup, data %>% filter(CountGroup == x)) %>% summary() %$% .[[1]][["Pr(>F)"]][1]), 
    ИМТ = sapply(levels(data$CountGroup), function(x) aov(RM/MRM ~ IndexGroup, data %>% 
        filter(CountGroup == x)) %>% summary() %$% .[[1]][["Pr(>F)"]][1]), Телосложение = sapply(levels(data$CountGroup), 
        function(x) aov(RM/MRM ~ BodyType, data %>% filter(CountGroup == x)) %>% 
            summary() %$% .[[1]][["Pr(>F)"]][1])) %>% kable(caption = "Значимость различий отношения ПМ к МПМ в каждом диапазоне повторений при разных уровнях факторных переменных", 
    align = "ccccc")
Значимость различий отношения ПМ к МПМ в каждом диапазоне повторений при разных уровнях факторных переменных
Диапозон повторений Опыт Возраст ИМТ Телосложение
2-3 0.6506219 0.7671962 0.5516303 0.7779869
4-6 0.6178563 0.6907457 0.6655732 0.5432097
7-10 0.1237067 0.8407336 0.8969795 0.3628399
11-20 0.7293524 0.0354352 0.0304071 0.6845562
>20 0.8249503 0.5901704 0.2511299 0.3736225

Единственное: обнаружилась разница в зависимости от возраста и индекса массы тела для диапазона повторений 11-20. Возможно, это связано с тем, что в целом с увеличением возраста увеличивается уровень подготовки, отчего на более чем 10 раз удаётся поднимать больший процент от максимального веса.

Кроме того, возможна разница между самими упражнениями (движениями):

# p-значения в зависимости от типа телосложения

(sapply(levels(data$CountGroup), function(x) aov(RM/MRM ~ Action, data %>% filter(CountGroup == 
    x)) %>% summary() %$% .[[1]][["Pr(>F)"]][1])) %>% pander()
2-3 4-6 7-10 11-20 >20
0.06367 0.2752 0.006814 0.7637 0.1085
ggplot(data %>% filter(Count <= 20), aes(x = Action, y = RM/MRM)) + geom_boxplot() + 
    facet_grid(vars(CountGroup)) + theme_bw() + labs(x = "Движение") + coord_flip()

Дополнительные закономерности:

2.3 Исправление опечаток

Часто при сборе данных возникают ненормальные наблюдения, полученные из-за опечаток или недопониманий. В этот раз таких наблюдений накопилось около 10%. Если поразмыслить над их причинностью, то чаще всего испытуемый забывал поставить цифру “1” перед числом, в результате вместо роста 175 получался рост 75 и т. п.

В то же время могло быть и так, что испытуемый неверно понял суть эксперимента и в анкете описывал просто подход, который был выполнен, а не подход для многоповторного максимума (то есть на пределе усилий), либо при проходке использовал экипировку или другую технику упражнения, либо, опять же, опечатался; в итоге жим 170х5 оказывался равным 220, хотя ясно, что тут должны стоять 170х5 и 200 либо 170х15 и 220.

С такими выбросами можно сделать только две вещи:

  1. исправить их, опираясь на логику либо переспросить того, кому это наблюдение принадлежит10;
  2. удалить из выборки.

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

2.4 Удалённые данные

Перед построением модели из обучающей выборки заранее были исключены следующие наблюдения:

  • некоторые выбросы, в том числе несколько наблюдений, которые изначально не вписывались в модель и по логике очень сомнительны; речь идёт о наблюдениях типа \(120*3=140\), хотя интуитивно понятно, что 140 – это как минимум 120 на 5; возможно, подход 120 на 3 был сделан в достаточно отдалённый от проходки период либо во время проходки в качестве разминочного, то есть его нельзя считать многоповторным максимумом, эквивалентным повторному максимуму; конечно, здесь может играть роль какой-то особый случай11, который является выбросом (потому должен быть исключён) либо не может быть выявлен по тому набору признаков, которые доступны в нашем случае;

  • наблюдения с числом повторений больше 20, так как сама идея предсказать 1ПМ по, например, 30 ПМ – абсурдна, поскольку здесь имеют место в корне разные нагрузки, задействуются разные типы мышечных волокон и имеет место разный энергетический обмен; по этой причине использование таких данных при создании моделей приводит к искажениям, а для самих этих наблюдений модель предсказывает лишь какую-то нижнюю границу 1ПМ, в чём нет смысла12; вдобавок, для таких предсказаний сложнее определить аномальные наблюдения в смысле предыдущего пункта; кроме того, даже на графиках видно, что диапазон выше 20 очень сильно отличается от остальных диапазонов.

Как итог, теперь для данных верны следующие статистики:

##        RM             MRM          Count           Action         Sex     
##  Min.   : 20.0   Min.   : 15   Min.   : 2.000   Жим   :116   Мужчина:153  
##  1st Qu.:120.0   1st Qu.:100   1st Qu.: 3.000   Тяга  : 22   Женщина:  9  
##  Median :145.0   Median :125   Median : 5.000   Присед: 24                
##  Mean   :152.6   Mean   :129   Mean   : 6.636                             
##  3rd Qu.:190.0   3rd Qu.:150   3rd Qu.: 9.000                             
##  Max.   :300.0   Max.   :250   Max.   :20.000                             
##                                                                           
##          Experience      Age         Weight           Height        BodyType 
##  До двух лет  :31   Min.   :15   Min.   : 47.00   Min.   :155   Эктоморф:34  
##  2-3 года     :28   1st Qu.:21   1st Qu.: 78.00   1st Qu.:170   Мезоморф:46  
##  4-5 лет      :45   Median :27   Median : 87.00   Median :177   Эндоморф:82  
##  6-10 лет     :32   Mean   :28   Mean   : 89.59   Mean   :177                
##  больше 10 лет:26   3rd Qu.:33   3rd Qu.:102.75   3rd Qu.:183                
##                     Max.   :62   Max.   :160.00   Max.   :198                
##                                                                              
##  CountGroup  AgeGroup      Index                    IndexGroup
##  2-3  :47   <20  :30   Min.   :18.83   выраженный дефицит: 0  
##  4-6  :51   20-27:55   1st Qu.:25.17   дефицит           : 0  
##  7-10 :41   28-35:50   Median :27.76   норма             :36  
##  11-20:23   >35  :27   Mean   :28.44   избыток           :66  
##  >20  : 0              3rd Qu.:31.39   ожирение1         :42  
##                        Max.   :45.27   ожирение2         :12  
##                                        ожирение3         : 6

2.5 Подведение итогов, отбор признаков

Перечислим основные идеи об особенностях данных, сказанные ранее:

  • Любые полученные результаты следует обобщать на женщин, так как в опросе они почти не участвовали. Возможно, ради точности вычислений даже придётся убрать женщин из выборки;

  • Эндоморфы среди пауэрлифтеров встречаются чаще мезоморфов или эктоморфов. При этом у эндоморфов значимо чаще встречается “ожирение первой стадии”, чем у представителей других телосложений;

  • Результаты в приседе и тяге растут с увеличением индекса массы тела лишь до некоторого порога. Увеличение индекса массы тела выше “ожирения первой стадии” не будет полезным;

  • Сильная корреляция между индексом массы тела и повторным максимумом наблюдается у мезофорфов – в жиме, у эктоморфов – в тяге, у эндоморфов – в приседе;

  • Не обнаружено значимой разницы значений \(\frac{MRM}{RM}\) для разных телосложений, движений, групп по индексу массы, опыта, возраста для любого конкретного числа повторений или диапазона повторений (но при этом обнаружилась разница между движениями для диапазонов повторений до 10); процентовки от National Strength and Conditioning Association (NSCA) с небольшими погрешностями верны для всех спортсменов и всех движений;

  • Разбиение наблюдений на группы по диапазону повторений (который сделан согласовано с физиологическими соображениями) должно значительно повысить точность модели, причем для числа повторений до 10-20 эта модель крайне близка к линейной;

  • Наблюдения свыше 20 повторений не будут учитываться, так как их мало, вдобавок этот диапазон слабо коррелирует с абсолютной силой;

  • При более чем 10 повторений опытные спортсмены способны поднимать более близкие к максимальным веса, чем неопытные.

Соображения о предикторах для модели:

  • \(RM\) (повторный максимум) обязательно зависит как от \(MRM\) (многоповторный максимум) и \(Count\) (числа повторений), так и от \(CountGroup\) – группы по числу повторений;

  • \(RM\) может зависеть также от \(BodyType\) (типа телосложения) и \(Action\) (упражнения) либо от их бинарных модификаций (например, если людей разделить не на 3 телосложения, а на эндоморфов и нет); возможно, стоит также попробовать учесть индекс массы тела или собственно вес, имеющие корреляцию с \(RM\) не меньше 0.5.

Дальнейшие действия:

  1. Просмотреть, как работает модель Вендлера, и на её примере ознакомиться с шаблоном по оценке качества, который будет использоваться для оценки следующих моделей.

  2. Построить разные модели для оценки конкретно \(RM\) и выбрать ту, которая более проста и даёт меньшую ошибку кросс-валидации.

  3. Аналогично построить модели для \(\frac{MRM}{RM}\) и выбрать лучшую.

  4. Сравнить две выбранные модели и определить лучшую из них.


3 Построение моделей

Вычислительные возможности позволяют создать и проверить огромное количество моделей. Цель исследователя – предложить несколько вариантов и выбрать среди них лучший. Кроме этого, нужно посмотреть, как работает модель на разных группах данных, чтобы обнаружить выбросы или обнаружить, что на такой-то группе модель вообще не может работать, из-за чего такую группу придётся исключить (эта работа уже проделана при самом исследовании, чтобы не нагружать статью).

Итак, в модели представляют интерес следующие показатели:

3.1 Недостатки исходного решения

Применив формулу \(RM=MRM \cdot(1+0.0333 \cdot Count)\) ко всем наблюдениям, получим оценки \(RM\) (Fact), которые будут отличаться от истинного \(RM\) (Target). Разница между этими величинами – остатки. Для модели Вендлера остатки будут следующие:

Здесь такая логика: чем лучше модель, тем “ящики” тоньше и тем их середины ближе к 0.

В данном случае видно, что модель Вендлера хорошо работает почти на всех данных из диапазона 2-3 и на немалой части данных из диапазона 4-6. Для большего числа повторений модель даёт завышенные оценки.

Если посмотреть на численные ошибки

## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target     ERROR   ErrorPercent   MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  --------  -------------  ----  ------  -------  --------  -------  -----------  ---------
##   283      230   53.2200      23.139130   170      20  Тяга     Мужчина        82  11-20         25.88057
##   333      290   43.2000      14.896552   200      20  Тяга     Мужчина       107  11-20         31.26370
##   200      160   39.9200      24.950000   120      20  Жим      Мужчина       115  11-20         30.24326
##   255      220   34.9150      15.870454   170      15  Присед   Мужчина        90  11-20         32.27079
##   240      205   34.9100      17.029268   150      18  Жим      Мужчина       110  11-20         38.06228
##   262      230   32.4125      14.092391   175      15  Присед   Мужчина        92  11-20         27.17391
##   180      150   29.9400      19.960000   120      15  Жим      Мужчина        87  11-20         28.40816
##   154      130   23.9560      18.427692   110      12  Присед   Мужчина        80  11-20         26.42357
##   157      135   21.6100      16.007407   100      17  Жим      Мужчина        75  11-20         25.35154
##   210      190   19.9400      10.494737   150      12  Жим      Мужчина       105  11-20         32.40741
##   220      200   19.9300       9.965000   150      14  Жим      Мужчина        83  11-20         28.38480
##   198      215   17.0180       7.915349   180       3  Присед   Мужчина        84  2-3           30.11940
##   147      130   16.6300      12.792308   110      10  Жим      Мужчина       100  7-10          28.29335
##   187      170   16.6200       9.776471   140      10  Тяга     Мужчина        77  7-10          24.57787
##   156      140   15.9640      11.402857   120       9  Жим      Мужчина        77  7-10          28.62879
## 
## ------------> Наибольшая ошибка в большую сторону: 53.22 
## ------------> Наибольшая ошибка в меньшую сторону: 17.018 
## Модель ошиблась более чем на 5 % в 48 случаях из 162 ( 29.62963 %)
## Модель ошиблась более чем на 5 кг в 69 случаях из 162 ( 42.59259 %)
## ----------------> Статистика по ошибкам в процентах:
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##  0.009091  1.466058  2.895000  4.466610  6.231771 24.950000 
## -------------------> Среднеквадратичная ошибка: 10.79902

увидим, что модель заметно ошибается в 30% случаев и в среднем на почти 5%. Первые формулы Мориса и Райдина показывают худший результат:

## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target      ERROR   ErrorPercent     MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ---------  -------------  ------  ------  -------  --------  -------  -----------  ---------
##   214    160.0   54.49607      34.060045   120.0      20  Жим      Мужчина       115  11-20         30.24326
##   252    205.0   47.21174      23.030117   150.0      18  Жим      Мужчина       110  11-20         38.06228
##   245    285.0   40.32727      14.149919   220.0       8  Присед   Мужчина        90  7-10          30.07117
##   172    210.0   38.08000      18.133332   150.0      10  Присед   Мужчина       100  7-10          29.86055
##   185    220.0   34.64382      15.747191   150.0      15  Присед   Мужчина       100  11-20         29.53686
##   184    150.0   34.08110      22.720734   120.0      15  Жим      Мужчина        87  11-20         28.40816
##   209    242.5   33.06764      13.636140   180.0      11  Тяга     Мужчина        78  11-20         25.18079
##   194    225.0   30.74906      13.666249   180.0       6  Тяга     Мужчина        90  4-6           26.29657
##   270    300.0   30.20703      10.069009   250.0       6  Присед   Мужчина       117  4-6           31.41024
##   180    210.0   29.87365      14.225546   152.5      12  Тяга     Мужчина        85  11-20         25.10633
##   186    215.0   29.32444      13.639276   180.0       3  Присед   Мужчина        84  2-3           30.11940
##   163    135.0   28.07674      20.797583   100.0      17  Жим      Мужчина        75  11-20         25.35154
##   173    200.0   27.33250      13.666249   160.0       6  Тяга     Мужчина       120  4-6           34.68609
##   237    262.0   24.58218       9.382513   220.0       6  Тяга     Мужчина        89  4-6           26.28781
##   186    210.0   24.32444      11.583069   180.0       3  Присед   Мужчина       125  2-3           36.13134
## 
## ------------> Наибольшая ошибка в большую сторону: 54.49607 
## ------------> Наибольшая ошибка в меньшую сторону: 40.32727 
## Модель ошиблась более чем на 5 % в 71 случаях из 162 ( 43.82716 %)
## Модель ошиблась более чем на 5 кг в 92 случаях из 162 ( 56.79012 %)
## ----------------> Статистика по ошибкам в процентах:
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  0.03358  1.89439  4.28278  5.81013  8.61114 34.06004 
## -------------------> Среднеквадратичная ошибка: 13.73176

На самом деле это две формулы вида

\[\log \left(\frac{RM}{MRM}\right)= a+b \cdot Count,\]

где \(a,b\) зависят от того, к какой части тела относится упражнение. Сама идея сделать логарифмическое преобразование используется нередко, но здесь это имеет негативный эффект: \(R^2\) равен далеко не 0.99, как сказано на сайте:

  Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.06472 0.01162 5.57 1.071e-07
Action2Up -0.02185 0.01395 -1.567 0.1191
Action2Down:Count 0.01701 0.001341 12.69 7.031e-26
Action2Up:Count 0.01823 0.001013 17.99 4.325e-40
Fitting linear model: log(RM/MRM) ~ Action2 + Count:Action2
Observations Residual Std. Error \(R^2\) Adjusted \(R^2\)
162 0.04448 0.7585 0.7539

Скорее всего, формулы Мориса и Райдина подгонялись на маленькой выборке или на выборке, в которой почти все данные принадлежали нескольким людям.

3.2 Уточнение коэффициентов

Теперь возьмём модель вида \(RM=MRM \cdot(a+b \cdot Count)\) и подберём коэффициенты \(a,b\) лучшим образом. В итоге:

## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target      ERROR   ErrorPercent     MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ---------  -------------  ------  ------  -------  --------  -------  -----------  ---------
##   189    210.0   21.46997      10.223794   150.0      10  Присед   Мужчина       100  7-10          29.86055
##   249    230.0   19.33226       8.405329   170.0      20  Тяга     Мужчина        82  11-20         25.88057
##   267    285.0   17.72020       6.217613   220.0       8  Присед   Мужчина        90  7-10          30.07117
##   176    160.0   15.99924       9.999525   120.0      20  Жим      Мужчина       115  11-20         30.24326
##   204    220.0   15.73546       7.152481   150.0      15  Присед   Мужчина       100  11-20         29.53686
##   100    115.0   15.27088      13.279030    70.0      18  Жим      Мужчина        70  11-20         24.22145
##   200    215.0   15.19793       7.068807   180.0       3  Присед   Мужчина        84  2-3           30.11940
##   211    225.0   13.86909       6.164039   180.0       6  Тяга     Мужчина        90  4-6           26.29657
##   163    150.0   13.41163       8.941089   120.0      15  Жим      Мужчина        87  11-20         28.40816
##   143    130.0   12.87081       9.900626   110.0      12  Присед   Мужчина        80  11-20         26.42357
##   230    242.5   12.48768       5.149558   180.0      11  Тяга     Мужчина        78  11-20         25.18079
##   188    200.0   12.32808       6.164039   160.0       6  Тяга     Мужчина       120  4-6           34.68609
##    88    100.0   12.01932      12.019318    70.0      10  Тяга     Мужчина        63  7-10          19.23018
##   198    210.0   11.92910       5.680523   152.5      12  Тяга     Мужчина        85  11-20         25.10633
##   103    115.0   11.73280      10.202438    85.0       8  Жим      Мужчина        76  7-10          25.10239
## 
## ------------> Наибольшая ошибка в большую сторону: 19.33226 
## ------------> Наибольшая ошибка в меньшую сторону: 21.46997 
## Модель ошиблась более чем на 5 % в 39 случаях из 162 ( 24.07407 %)
## Модель ошиблась более чем на 5 кг в 66 случаях из 162 ( 40.74074 %)
## ----------------> Статистика по ошибкам в процентах:
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##  0.001034  1.344302  3.072494  3.463881  4.816583 13.279030 
## -------------------> Среднеквадратичная ошибка: 6.656834 
## Оценка кросс-валидации для всего набора данных 45.73245 
## Оценка кросс-валидации для не более чем 10 повторений 32.74441 
## Оценка кросс-валидации для не более чем 6 повторений 30.14845

## -----> ОБЩАЯ ИНФОРМАЦИЯ О МОДЕЛИ:
## 
## 
## Call:
## lm(formula = RM ~ MRM + MRM:Count - 1, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -19.3323  -4.3200  -0.4872   3.9362  21.4700 
## 
## Coefficients:
##            Estimate Std. Error t value Pr(>|t|)    
## MRM       1.0470734  0.0067757  154.53   <2e-16 ***
## MRM:Count 0.0209793  0.0008774   23.91   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.698 on 160 degrees of freedom
## Multiple R-squared:  0.9983, Adjusted R-squared:  0.9983 
## F-statistic: 4.664e+04 on 2 and 160 DF,  p-value: < 2.2e-16
## 
## 
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance =  0.05 
## 
## Call:
##  gvlma::gvlma(x = mdl) 
## 
##                      Value  p-value                   Decision
## Global Stat        15.1022 0.004494 Assumptions NOT satisfied!
## Skewness            3.1467 0.076078    Assumptions acceptable.
## Kurtosis            1.9628 0.161218    Assumptions acceptable.
## Link Function       0.2725 0.601627    Assumptions acceptable.
## Heteroscedasticity  9.7202 0.001823 Assumptions NOT satisfied!
##                         Value     p-value                   Decision
## Global Stat        15.1022329 0.004493809 Assumptions NOT satisfied!
## Skewness            3.1467476 0.076078463    Assumptions acceptable.
## Kurtosis            1.9627685 0.161217544    Assumptions acceptable.
## Link Function       0.2725495 0.601626657    Assumptions acceptable.
## Heteroscedasticity  9.7201673 0.001822569 Assumptions NOT satisfied!
## 
## -----> БАЗОВЫЕ ГРАФИКИ:

## 
## -----> ТЕСТ НА НОРМАЛЬНОСТЬ РАСПРЕДЕЛЕНИЯ ОСТАТКОВ
## 
## 
##  Shapiro-Wilk normality test
## 
## data:  mdl$residuals
## W = 0.98782, p-value = 0.1726

## -----> ФАКТОР ИНФЛЯЦИИ ДИСПЕРСИЙ:
## 
##       MRM MRM:Count 
##  3.057194  3.057194 
## 
## -----> ТЕСТ НА АВТОКОРРЕЛЯЦИЮ:
## 
##  lag Autocorrelation D-W Statistic p-value
##    1      0.07681102      1.839824   0.294
##  Alternative hypothesis: rho != 0
## 
## -----> ТЕСТ НА ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
## 
## No Studentized residuals with Bonferroni p < 0.05
## Largest |rstudent|:
##     rstudent unadjusted p-value Bonferroni p
## 118 3.325731          0.0010952      0.17741

## -----> ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
## 
## 
##   RM   MRM   Count  Action   Sex       Experience       Age   Weight   Height  BodyType   IndexGroup 
## ----  ----  ------  -------  --------  --------------  ----  -------  -------  ---------  -----------
##  290   200      20  Тяга     Мужчина   6-10 лет          28      107      185  Эндоморф   ожирение1  
##  230   170      20  Тяга     Мужчина   6-10 лет          25       82      178  Эндоморф   избыток    
##  210   150      10  Присед   Мужчина   больше 10 лет     42      100      183  Мезоморф   избыток    
##  160   120      20  Жим      Мужчина   4-5 лет           22      115      195  Эндоморф   ожирение1

Выше приведена вся необходимая информация о качестве модели (назовём эту модель \(b_1\)). Из неё важнее всего следующее:

  • На выборочных данных модель ошибается максимум на 21кг и 13%;

  • В среднем модель ошибается на 3%;

  • В 75% случаев ошибка не превышала 5%;

  • Наибольший разброс ошибок приходится на диапазон 11-20;

  • Модель статистически значима и удовлетворяет всем нужным требованиям, кроме гетероскедастичности;

  • Немало больших ошибок приходится на диапазон 11-20 повторений, содержащий меньше всего наблюдений.

3.3 Уточнение коэффициентов: зависимость от диапазона

Теперь сделаем поправку для коэффициентов \(a,b\) в зависимости от факторных переменных.

Путём подбора удалось найти две схожие модели (назовём их \(b_2\) и \(b_3\)), немного отличающиеся оценками кросс-валидации на разных диапазонах. Поскольку на диапазоне повторений 11-20 по-прежнему сохранялись сильные ошибки, было принято решение удалить этот диапазон (также это можно обосновать тем, что на этом диапазоне меньше данных и сложнее отлавливать выбросы, да и физиологически он не так тесно связан с силой, как другие, о чём уже было сказано).

Далее приведён анализ для модели \(RM=MRM \cdot(a+b \cdot Count)\), в которой и \(a\) и \(b\) имеют поправку на диапазон повторений.

## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target       ERROR   ErrorPercent     MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ----------  -------------  ------  ------  -------  --------  -------  -----------  ---------
##   192      210   18.248827       8.689918   150.0      10  Присед   Мужчина       100  7-10          29.86055
##   199      215   15.665296       7.286184   180.0       3  Присед   Мужчина        84  2-3           30.11940
##   271      285   14.260782       5.003783   220.0       8  Присед   Мужчина        90  7-10          30.07117
##   142      130   12.462268       9.586360   120.0       6  Жим      Мужчина        98  4-6           27.72748
##   237      225   12.437114       5.527606   200.0       6  Жим      Мужчина       102  4-6           30.12760
##   107       95   11.846701      12.470212    90.0       6  Жим      Мужчина        74  4-6           23.62029
##   214      225   11.306598       5.025155   180.0       6  Тяга     Мужчина        90  4-6           26.29657
##   199      210   10.665296       5.078712   180.0       3  Присед   Мужчина       125  2-3           36.13134
##   141      130   10.617527       8.167328   110.0      10  Жим      Мужчина       100  7-10          28.29335
##   151      140   10.538438       7.527456   120.0       9  Жим      Мужчина        77  7-10          28.62879
##    89      100   10.516119      10.516119    70.0      10  Тяга     Мужчина        63  7-10          19.23018
##   105      115   10.396211       9.040184    85.0       8  Жим      Мужчина        76  7-10          25.10239
##   162      172   10.219244       5.941421   140.0       5  Жим      Мужчина        83  4-6           27.73230
##   190      200   10.050309       5.025155   160.0       6  Тяга     Мужчина       120  4-6           34.68609
##   174      165    9.417866       5.707798   157.5       3  Жим      Мужчина        87  2-3           26.85185
## 
## ------------> Наибольшая ошибка в большую сторону: 12.46227 
## ------------> Наибольшая ошибка в меньшую сторону: 18.24883 
## Модель ошиблась более чем на 5 % в 28 случаях из 139 ( 20.14388 %)
## Модель ошиблась более чем на 5 кг в 44 случаях из 139 ( 31.65468 %)
## ----------------> Статистика по ошибкам в процентах:
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  0.00977  0.91712  2.53843  2.98739  4.29788 12.47021 
## -------------------> Среднеквадратичная ошибка: 5.529521 
## Оценка кросс-валидации для всего набора данных 34.00845 
## Оценка кросс-валидации для не более чем 10 повторений 34.80294 
## Оценка кросс-валидации для не более чем 6 повторений 31.81374

## -----> ОБЩАЯ ИНФОРМАЦИЯ О МОДЕЛИ:
## 
## 
## Call:
## lm(formula = RM ~ MRM:Count:CountGroup + MRM:CountGroup - 1, 
##     data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -12.4623  -3.6210  -0.1014   2.5825  18.2488 
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## MRM:CountGroup2-3        0.988699   0.029669  33.324  < 2e-16 ***
## MRM:CountGroup4-6        0.997533   0.035651  27.981  < 2e-16 ***
## MRM:CountGroup7-10       1.039799   0.055896  18.603  < 2e-16 ***
## MRM:Count:CountGroup2-3  0.039572   0.011331   3.492 0.000650 ***
## MRM:Count:CountGroup4-6  0.031609   0.007065   4.474 1.63e-05 ***
## MRM:Count:CountGroup7-10 0.023854   0.006434   3.708 0.000306 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.653 on 133 degrees of freedom
## Multiple R-squared:  0.9987, Adjusted R-squared:  0.9987 
## F-statistic: 1.768e+04 on 6 and 133 DF,  p-value: < 2.2e-16
## 
## 
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance =  0.05 
## 
## Call:
##  gvlma::gvlma(x = mdl) 
## 
##                     Value p-value                   Decision
## Global Stat         8.359 0.07929    Assumptions acceptable.
## Skewness            2.795 0.09455    Assumptions acceptable.
## Kurtosis            2.394 0.12180    Assumptions acceptable.
## Link Function      -2.689 1.00000    Assumptions acceptable.
## Heteroscedasticity  5.858 0.01550 Assumptions NOT satisfied!
##                        Value    p-value                   Decision
## Global Stat         8.358530 0.07929330    Assumptions acceptable.
## Skewness            2.795168 0.09454886    Assumptions acceptable.
## Kurtosis            2.394055 0.12179736    Assumptions acceptable.
## Link Function      -2.689003 1.00000000    Assumptions acceptable.
## Heteroscedasticity  5.858310 0.01550367 Assumptions NOT satisfied!
## 
## -----> БАЗОВЫЕ ГРАФИКИ:

## 
## -----> ТЕСТ НА НОРМАЛЬНОСТЬ РАСПРЕДЕЛЕНИЯ ОСТАТКОВ
## 
## 
##  Shapiro-Wilk normality test
## 
## data:  mdl$residuals
## W = 0.98086, p-value = 0.0484

## -----> ФАКТОР ИНФЛЯЦИИ ДИСПЕРСИЙ:
## 
##                          GVIF Df GVIF^(1/(2*Df))
## MRM:CountGroup       60763.96  3        6.270098
## MRM:Count:CountGroup 60763.96  3        6.270098
## 
## -----> ТЕСТ НА АВТОКОРРЕЛЯЦИЮ:
## 
##  lag Autocorrelation D-W Statistic p-value
##    1      -0.0176863      2.032798   0.912
##  Alternative hypothesis: rho != 0
## 
## -----> ТЕСТ НА ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
## 
## No Studentized residuals with Bonferroni p < 0.05
## Largest |rstudent|:
##     rstudent unadjusted p-value Bonferroni p
## 107  3.53666         0.00055969     0.077797

## -----> ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
## 
## 
##   RM   MRM   Count  Action   Sex       Experience       Age   Weight   Height  BodyType   IndexGroup 
## ----  ----  ------  -------  --------  --------------  ----  -------  -------  ---------  -----------
##  300   250       6  Присед   Мужчина   больше 10 лет     28      117      193  Эктоморф   ожирение1  
##  285   220       8  Присед   Мужчина   больше 10 лет     35       90      173  Эктоморф   ожирение1  
##  230   180      10  Присед   Мужчина   4-5 лет           24      104      182  Эндоморф   ожирение1  
##  215   180       3  Присед   Мужчина   4-5 лет           20       84      167  Эндоморф   ожирение1  
##  210   150      10  Присед   Мужчина   больше 10 лет     42      100      183  Мезоморф   избыток

Аналогичные выводы:

  • На выборочных данных модель ошибается максимум на 18кг и 13%;

  • В среднем модель ошибается на 3%;

  • В 80% случаев ошибка не превышала 5%;

  • Наибольший разброс ошибок приходится на диапазон 4-6;

  • Модель статистически значима и удовлетворяет всем нужным требованиям, кроме гетероскедастичности;

3.4 Третье поколение моделей

Путём пошагового отбора переменных были найдены ещё две равнозначные модели (\(b_4\) и \(b_5\)), которые, несмотря на большую сложность в сравнении с предыдущими, имеют лучшие оценки при кросс-валидации.

Статистика для модели \(b_5\):

## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target       ERROR   ErrorPercent   MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ----------  -------------  ----  ------  -------  --------  -------  -----------  ---------
##   196    210.0   13.900432       6.619254   150      10  Присед   Мужчина       100  7-10          29.86055
##   142    130.0   12.097350       9.305654   120       6  Жим      Мужчина        98  4-6           27.72748
##   107     95.0   11.628844      12.240888    90       6  Жим      Мужчина        74  4-6           23.62029
##   161    172.0   11.494330       6.682750   140       5  Жим      Мужчина        83  4-6           27.73230
##   104    115.0   11.002650       9.567522    85       8  Жим      Мужчина        76  7-10          25.10239
##   205    215.0   10.097807       4.696655   180       3  Присед   Мужчина        84  2-3           30.11940
##   100    110.0    9.891911       8.992646    90       4  Жим      Мужчина        60  4-6           21.25850
##    90    100.0    9.795772       9.795772    70      10  Тяга     Мужчина        63  7-10          19.23018
##   137    127.5    9.766699       7.660156   120       3  Присед   Женщина        72  2-3           26.76978
##   235    225.0    9.598310       4.265916   200       6  Жим      Мужчина       102  4-6           30.12760
##   180    170.0    9.526585       5.603874   140      10  Тяга     Мужчина        77  7-10          24.57787
##   216    225.0    9.425832       4.189259   180       6  Тяга     Мужчина        90  4-6           26.29657
##   276    285.0    9.331980       3.274379   220       8  Присед   Мужчина        90  7-10          30.07117
##   149    140.0    8.921184       6.372274   120       9  Жим      Мужчина        77  7-10          28.62879
##   139    130.0    8.573017       6.594628   110      10  Жим      Мужчина       100  7-10          28.29335
## 
## ------------> Наибольшая ошибка в большую сторону: 12.09735 
## ------------> Наибольшая ошибка в меньшую сторону: 13.90043 
## Модель ошиблась более чем на 5 % в 21 случаях из 139 ( 15.10791 %)
## Модель ошиблась более чем на 5 кг в 44 случаях из 139 ( 31.65468 %)
## ----------------> Статистика по ошибкам в процентах:
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  0.01759  0.94961  2.08660  2.83833  3.94832 12.31595 
## -------------------> Среднеквадратичная ошибка: 5.026615 
## Оценка кросс-валидации для всего набора данных 30.09514 
## Оценка кросс-валидации для не более чем 10 повторений 29.05487 
## Оценка кросс-валидации для не более чем 6 повторений 28.64018

## -----> ОБЩАЯ ИНФОРМАЦИЯ О МОДЕЛИ:
## 
## 
## Call:
## lm(formula = RM ~ I((MRM/Index)^6) + MRM:CountGroup + MRM:Action + 
##     MRM:CountGroup:Count - 1, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -12.0974  -3.2898  -0.1568   3.0781  13.9004 
## 
## Coefficients:
##                            Estimate Std. Error t value Pr(>|t|)    
## I((MRM/Index)^6)         -2.989e-05  1.125e-05  -2.657  0.00887 ** 
## MRM:CountGroup2-3         9.963e-01  2.848e-02  34.984  < 2e-16 ***
## MRM:CountGroup4-6         9.711e-01  3.401e-02  28.558  < 2e-16 ***
## MRM:CountGroup7-10        1.077e+00  5.195e-02  20.738  < 2e-16 ***
## MRM:ActionТяга            2.893e-02  1.014e-02   2.854  0.00502 ** 
## MRM:ActionПрисед          4.984e-02  9.648e-03   5.166 8.78e-07 ***
## MRM:CountGroup2-3:Count   3.325e-02  1.067e-02   3.116  0.00226 ** 
## MRM:CountGroup4-6:Count   3.578e-02  6.842e-03   5.229 6.62e-07 ***
## MRM:CountGroup7-10:Count  1.833e-02  6.011e-03   3.050  0.00278 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.198 on 130 degrees of freedom
## Multiple R-squared:  0.999,  Adjusted R-squared:  0.9989 
## F-statistic: 1.395e+04 on 9 and 130 DF,  p-value: < 2.2e-16
## 
## 
## ASSESSMENT OF THE LINEAR MODEL ASSUMPTIONS
## USING THE GLOBAL TEST ON 4 DEGREES-OF-FREEDOM:
## Level of Significance =  0.05 
## 
## Call:
##  gvlma::gvlma(x = mdl) 
## 
##                      Value p-value                Decision
## Global Stat        2.19263  0.7004 Assumptions acceptable.
## Skewness           0.36972  0.5432 Assumptions acceptable.
## Kurtosis           0.02639  0.8710 Assumptions acceptable.
## Link Function      1.38357  0.2395 Assumptions acceptable.
## Heteroscedasticity 0.41295  0.5205 Assumptions acceptable.
##                         Value   p-value                Decision
## Global Stat        2.19262765 0.7003792 Assumptions acceptable.
## Skewness           0.36971780 0.5431581 Assumptions acceptable.
## Kurtosis           0.02639011 0.8709512 Assumptions acceptable.
## Link Function      1.38356953 0.2394941 Assumptions acceptable.
## Heteroscedasticity 0.41295021 0.5204759 Assumptions acceptable.
## 
## -----> БАЗОВЫЕ ГРАФИКИ:

## 
## -----> ТЕСТ НА НОРМАЛЬНОСТЬ РАСПРЕДЕЛЕНИЯ ОСТАТКОВ
## 
## 
##  Shapiro-Wilk normality test
## 
## data:  mdl$residuals
## W = 0.99366, p-value = 0.7982

## -----> ФАКТОР ИНФЛЯЦИИ ДИСПЕРСИЙ:
## 
##                              GVIF Df GVIF^(1/(2*Df))
## I((MRM/Index)^6)         2.561915  1        1.600598
## MRM:CountGroup       72443.114733  3        6.456535
## MRM:Action               2.898866  2        1.304839
## MRM:CountGroup:Count 72727.913065  3        6.460759
## 
## -----> ТЕСТ НА АВТОКОРРЕЛЯЦИЮ:
## 
##  lag Autocorrelation D-W Statistic p-value
##    1      0.05025135      1.898978    0.51
##  Alternative hypothesis: rho != 0
## 
## -----> ТЕСТ НА ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
## 
## No Studentized residuals with Bonferroni p < 0.05
## Largest |rstudent|:
##     rstudent unadjusted p-value Bonferroni p
## 107 2.939544           0.003896      0.54155

## -----> ВЫБРОСЫ И ВЛИЯТЕЛЬНЫЕ НАБЛЮДЕНИЯ:
## 
## 
##   RM   MRM   Count  Action   Sex       Experience       Age   Weight   Height  BodyType   IndexGroup 
## ----  ----  ------  -------  --------  --------------  ----  -------  -------  ---------  -----------
##  285   220       8  Присед   Мужчина   больше 10 лет     35       90      173  Эктоморф   ожирение1  
##  262   220       6  Тяга     Мужчина   больше 10 лет     33       89      184  Эктоморф   избыток    
##  240   225       3  Тяга     Мужчина   больше 10 лет     36       87      180  Эктоморф   избыток    
##  210   150      10  Присед   Мужчина   больше 10 лет     42      100      183  Мезоморф   избыток    
##  130   120       6  Жим      Мужчина   2-3 года          21       98      188  Эндоморф   избыток

Аналогичные выводы:

  • На выборочных данных модель ошибается максимум на 13кг и 12%;

  • В среднем модель ошибается на менее 3%;

  • В 85% случаев ошибка не превышала 5%;

  • В целом, на каждом диапазоне имеется почти одинаковый разброс;

  • Модель статистически значима и удовлетворяет всем нужным требованиям.


3.5 Сравнение линейных моделей и подведение итогов

kn = c(5, 6, 7, 8, 9, 10, 11, 12)

ct = c(8, 11)

gr = rep(c("2-10", "2-7"), length(kn)) %>% sort(decreasing = T)

m = matrix(nrow = length(kn) * length(ct), ncol = 5)

lst = list(b1, b2, b3, b4, b5)


for (i in 1:5) {
    
    model = lst[[i]]
    
    for (j in 1:length(ct)) {
        dt = data %>% filter(Count < ct[j])
        gl = glm(formula = model$call$formula, data = dt)
        
        getval = function(k) {
            boot::cv.glm(dt, gl, K = k)$delta[1] %>% return()
        }
        
        getval.mean = function(k, count) {
            map_dbl(1:count, function(x) getval(k)) %>% mean() %>% return()
        }
        
        beg = (j - 1) * length(kn)
        
        for (s in 1:length(kn)) {
            m[beg + s, i] = getval.mean(kn[s], 30)
        }
        # print(m)
    }
    
}

colnames(m) = paste0("b", 1:5)
kp = rep(kn, length(ct))

vals = data.frame(kp = rep(kp, 5), b = as.numeric(m), gr = factor(rep(gr, 5)), n = factor(rep(colnames(m), 
    length(kn) * length(ct)) %>% sort())) %>% tbl_df()

В результате перекрёстной проверки для всех моделей при числе блоков 5, 6, 7, 8, 9, 10, 11, 12 было обнаружено, что модель \(b_5\) значительно превосходит остальные модели, причём это верно, если делать проверку как на всём диапазоне повторений (2-10), так и на более близком к силовому диапазоне 2-7:

На втором месте после модели \(b_5\) идёт более простая модель \(b_3\).

Что это за модели? Посмотрим на модель \(b_3\):

## 
## Call:
## lm(formula = RM ~ MRM:Count:CountGroup + MRM:Action - 1, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -11.1658  -3.3898   0.0727   3.0208  13.5361 
## 
## Coefficients:
##                          Estimate Std. Error t value Pr(>|t|)    
## MRM:ActionЖим            0.998895   0.019934  50.111  < 2e-16 ***
## MRM:ActionТяга           1.012918   0.020963  48.320  < 2e-16 ***
## MRM:ActionПрисед         1.036228   0.021859  47.406  < 2e-16 ***
## MRM:Count:CountGroup2-3  0.031222   0.007776   4.015 9.86e-05 ***
## MRM:Count:CountGroup4-6  0.029581   0.004048   7.308 2.26e-11 ***
## MRM:Count:CountGroup7-10 0.027353   0.002420  11.301  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.31 on 133 degrees of freedom
## Multiple R-squared:  0.9989, Adjusted R-squared:  0.9988 
## F-statistic: 2.004e+04 on 6 and 133 DF,  p-value: < 2.2e-16

Она имеет вид \[RM=MRM \cdot (Action_{coef}+CountGroup_{coef} \cdot Count),\] где \(Action_{coef}\) равен 0.9988949 для жима, 1.0129181 для тяги и 1.0362281 для приседа, а \(CountGroup_{coef}\) есть поправка на диапазон повторений, равная 0.0312223 для диапазона 2-3, 0.0295811 – для 4-6 и 0.0273531 – для 7-10. Как видно, первые три коэффициента близки к единице, однако различия между ними имеют значение; заметим также, что поправка на диапазон повторений 2-3 довольно близка к коэффициенту Вендлера (0.0333).

Кстати, по точности модель \(b_3\) превосходит вторую модель Мориса (ту, что выражена таблицами для каждого движения):

# модель Мориса

sq = c(1, 1.0475, 1.13, 1.1575, 1.2, 1.242, 1.284, 1.326, 1.368, 1.41)
pr = c(1, 1.035, 1.08, 1.115, 1.15, 1.18, 1.22, 1.255, 1.29, 1.325)
lf = c(1, 1.065, 1.13, 1.147, 1.164, 1.181, 1.198, 1.232, 1.236, 1.24)


rlt = data$MRM * (sq[data$Count] * ifelse(data$Action == "Жим", 1, 0) + pr[data$Count] * 
    ifelse(data$Action == "Присед", 1, 0) + lf[data$Count] * ifelse(data$Action == 
    "Тяга", 1, 0))

Show(rlt)
## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target   ERROR   ErrorPercent   MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ------  -------------  ----  ------  -------  --------  -------  -----------  ---------
##   155      130   25.10      19.307692   110      10  Жим      Мужчина     100.0  7-10          28.29335
##   164      140   24.16      17.257143   120       9  Жим      Мужчина      77.0  7-10          28.62879
##   248      225   23.40      10.400000   200       6  Жим      Мужчина     102.0  4-6           30.12760
##   183      160   23.30      14.562500   130      10  Жим      Мужчина     130.0  7-10          41.96798
##   194      215   20.60       9.581395   180       3  Присед   Мужчина      84.0  2-3           30.11940
##   149      130   19.04      14.646154   120       6  Жим      Мужчина      98.0  4-6           27.72748
##   239      220   18.68       8.490909   180       8  Жим      Мужчина     160.0  7-10          45.26935
##   123      105   18.12      17.257143    90       9  Жим      Мужчина      54.0  7-10          19.36247
##   197      180   17.40       9.666667   140      10  Жим      Мужчина     105.0  7-10          31.01371
##   162      145   17.15      11.827586   115      10  Жим      Мужчина      84.0  7-10          28.39373
##   167      150   16.92      11.280000   130       7  Жим      Мужчина     100.0  7-10          31.56167
##   137      120   16.80      14.000000   100       9  Жим      Мужчина      82.0  7-10          23.20054
##   112       95   16.78      17.663158    90       6  Жим      Мужчина      74.0  4-6           23.62029
##   141      125   16.00      12.800000   100      10  Жим      Мужчина      82.5  7-10          25.18238
##   141      125   16.00      12.800000   100      10  Жим      Мужчина     104.0  7-10          38.66746
## 
## ------------> Наибольшая ошибка в большую сторону: 25.1 
## ------------> Наибольшая ошибка в меньшую сторону: 20.6 
## Модель ошиблась более чем на 5 % в 60 случаях из 139 ( 43.16547 %)
## Модель ошиблась более чем на 5 кг в 80 случаях из 139 ( 57.55396 %)
## ----------------> Статистика по ошибкам в процентах:
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   2.006   4.325   5.282   7.386  19.308 
## -------------------> Среднеквадратичная ошибка: 9.482539
# модель b3
b3 = lm(RM ~ MRM:Count:CountGroup + MRM:Action - 1, data)
b3 %>% predict(data) %>% Show()
## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target       ERROR   ErrorPercent   MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ----------  -------------  ----  ------  -------  --------  -------  -----------  ---------
##   196      210   13.536141       6.445781   150      10  Присед   Мужчина       100  7-10          29.86055
##   203      215   11.618877       5.404129   180       3  Присед   Мужчина        84  2-3           30.11940
##   104      115   11.493825       9.994631    85       8  Жим      Мужчина        76  7-10          25.10239
##   161      172   11.447911       6.655762   140       5  Жим      Мужчина        83  4-6           27.73230
##   141      130   11.165813       8.589087   120       6  Жим      Мужчина        98  4-6           27.72748
##   106       95   10.874360      11.446694    90       6  Жим      Мужчина        74  4-6           23.62029
##   214      225   10.727107       4.767603   180       6  Тяга     Мужчина        90  4-6           26.29657
##   235      225   10.276355       4.567269   200       6  Жим      Мужчина       102  4-6           30.12760
##   180      170   10.102872       5.942866   140      10  Тяга     Мужчина        77  7-10          24.57787
##   140      130    9.966849       7.666807   110      10  Жим      Мужчина       100  7-10          28.29335
##    90      100    9.948564       9.948564    70      10  Тяга     Мужчина        63  7-10          19.23018
##   220      210    9.734556       4.635503   200       2  Присед   Мужчина        83  2-3           25.61728
##   190      200    9.535206       4.767603   160       6  Тяга     Мужчина       120  4-6           34.68609
##   101      110    9.450246       8.591133    90       4  Жим      Мужчина        60  4-6           21.25850
##   149      140    9.408736       6.720526   120       9  Жим      Мужчина        77  7-10          28.62879
## 
## ------------> Наибольшая ошибка в большую сторону: 11.16581 
## ------------> Наибольшая ошибка в меньшую сторону: 13.53614 
## Модель ошиблась более чем на 5 % в 21 случаях из 139 ( 15.10791 %)
## Модель ошиблась более чем на 5 кг в 44 случаях из 139 ( 31.65468 %)
## ----------------> Статистика по ошибкам в процентах:
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  0.02251  1.03594  2.41179  2.89557  4.13407 11.44670 
## -------------------> Среднеквадратичная ошибка: 5.194366

Тогда аналогичная таблица, на сколько нужно умножить свой вес для разного числа повторений, выглядит так:

На сколько нужно умножить свой вес для разного числа повторений, чтобы получить 1ПМ
Повторы Присед Жим Тяга
1 1.000000 1.000000 1.000000
2 1.098673 1.061340 1.075363
3 1.129895 1.092562 1.106585
4 1.154553 1.117220 1.131243
5 1.184134 1.146801 1.160824
6 1.213715 1.176382 1.190405
7 1.227700 1.190367 1.204390
8 1.255053 1.217720 1.231743
9 1.282406 1.245073 1.259096
10 1.309759 1.272426 1.286449

Модель \(b_5\) имеет два дополнительных слагаемых:

## 
## Call:
## lm(formula = RM ~ I((MRM/Index)^6) + MRM:CountGroup + MRM:Action + 
##     MRM:CountGroup:Count - 1, data = data)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -12.0974  -3.2898  -0.1568   3.0781  13.9004 
## 
## Coefficients:
##                            Estimate Std. Error t value Pr(>|t|)    
## I((MRM/Index)^6)         -2.989e-05  1.125e-05  -2.657  0.00887 ** 
## MRM:CountGroup2-3         9.963e-01  2.848e-02  34.984  < 2e-16 ***
## MRM:CountGroup4-6         9.711e-01  3.401e-02  28.558  < 2e-16 ***
## MRM:CountGroup7-10        1.077e+00  5.195e-02  20.738  < 2e-16 ***
## MRM:ActionТяга            2.893e-02  1.014e-02   2.854  0.00502 ** 
## MRM:ActionПрисед          4.984e-02  9.648e-03   5.166 8.78e-07 ***
## MRM:CountGroup2-3:Count   3.325e-02  1.067e-02   3.116  0.00226 ** 
## MRM:CountGroup4-6:Count   3.578e-02  6.842e-03   5.229 6.62e-07 ***
## MRM:CountGroup7-10:Count  1.833e-02  6.011e-03   3.050  0.00278 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.198 on 130 degrees of freedom
## Multiple R-squared:  0.999,  Adjusted R-squared:  0.9989 
## F-statistic: 1.395e+04 on 9 and 130 DF,  p-value: < 2.2e-16

Её вид, аналогично:

\[RM=MRM \cdot (CountGroup_{coef_2} +Action_{coef}+CountGroup_{coef_1} \cdot Count)+coef \cdot\left(\frac{MRM}{Index}\right)^6\] Здесь \(coef\) при последнем слагаемом равен -0.0000299, \(Index\) – индекс массы тела. Дробь внутри последнего слагаемого можно упростить:

\[\frac{MRM}{Index}=\frac{MRM \cdot (0.01 \cdot Height)^2}{Weight}=\frac{MRM \cdot Height^2}{10000\cdot Weight}\] Вообще существование этого слагаемого (с шестой степенью) кажется чем-то очень сомнительным, но математика показывает, что это имеет смысл. Результаты дисперсионного анализа говорят о том, что включение указанного коэффициента создаёт значимое отличие между моделями с ним и без него:

anova(lm(RM ~ MRM:CountGroup + MRM:Action + MRM:CountGroup:Count - 1, data = data), 
    lm(RM ~ I((MRM/Index)^6) + MRM:CountGroup + MRM:Action + MRM:CountGroup:Count - 
        1, data = data)) %>% pander()
Analysis of Variance Table
Res.Df RSS Df Sum of Sq F Pr(>F)
131 3703 NA NA NA NA
130 3512 1 190.7 7.059 0.008874

Очень интересно, что в этих двух моделях нет зависимости от возраста, типа телосложения, опыта и пола13. Конечно, нельзя рассмотреть всевозможные вариации таких моделей, но среди сотни рассмотренных (в том числе с помощью пакета caret) не было обнаружено доказательств значимости включения этих факторов в модель.

Как итог, для определения ПМ нужны лишь следующие данные:

  • МПМ;

  • Число повторений;

  • Движение;

  • Рост и вес спортсмена.


3.6 Нелинейные модели

В этом разделе происходит построение нелинейных моделей для предсказания повторных максимумов, проверяются формулы МакГлотина, Ломбарди и другие нелинейные формулы. Оценка качества моделей происходит по аналогичным принципам, то есть значение имеют:

  1. точность моделей при перекрёстной проверке, чтобы их можно было сравнить и выбрать лучшую;

  2. точность модели на обучающих данных, поскольку неточные модели не имеют пользы, даже если превосходят другие при перекрёстной проверке;

  3. простота модели.

Сначала рассматриваются отдельные классы моделей из указанной выше ссылки и мои предложения, затем они сравниваются друг с другом и делаются выводы.

3.6.1 Основные известные модели

Модели Эпли, Вендлера и О’Коннора – это одна и та же модель вида \(RM=MRM \cdot(1+c \cdot Count)\) с разными значениями коэффициента \(c\). Как выяснилось, эти отличия обусловлены только тем, на каком разбросе повторений происходил подбор \(c\): значение из формулы О’Коннора наиболее оптимально, если формула должна примерно одинаково хорошо работать на не более чем 20 повторениях, а значение из формулы Эпли, предположительно, оптимально для 2-5 повторений:

vc = sapply(c(4, 8, 11, 21, 50), function(p) nls(RM ~ MRM * (1 + Count * coef), data = data.backup %>% 
    filter(Count < p), start = list(coef = 1/30)) %>% coef())

names(vc) = c(paste(rep("не более чем", 4), levels(data$CountGroup)[1:4]), "любой")

tibble(`Используемый диапазон повторений` = names(vc), `Оценка параметра` = vc) %>% 
    kable(align = "cc")
Используемый диапазон повторений Оценка параметра
не более чем 2-3 0.0353338
не более чем 4-6 0.0314487
не более чем 7-10 0.0299178
не более чем 11-20 0.0259797
любой 0.0247547

Обучив такую модель (с названием \(n_1\)) для диапазона повторений 2-10, получим следующие результаты:

## 
## Formula: RM ~ MRM * (1 + Count * coef)
## 
## Parameters:
##      Estimate Std. Error t value Pr(>|t|)    
## coef 0.035334   0.001879    18.8   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.96 on 46 degrees of freedom
## 
## Number of iterations to convergence: 1 
## Achieved convergence tolerance: 6.963e-09
## 
## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target      ERROR   ErrorPercent   MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ---------  -------------  ----  ------  -------  --------  -------  -----------  ---------
##   189      170   19.46739      11.451405   140      10  Тяга     Мужчина        77  7-10          24.57787
##   149      130   18.86723      14.513257   110      10  Жим      Мужчина       100  7-10          28.29335
##   158      140   18.16056      12.971826   120       9  Жим      Мужчина        77  7-10          28.62879
##   242      225   17.40062       7.733608   200       6  Жим      Мужчина       102  4-6           30.12760
##   176      160   15.93400       9.958752   130      10  Жим      Мужчина       130  7-10          41.96798
##   199      215   15.91972       7.404522   180       3  Присед   Мужчина        84  2-3           30.11940
##   145      130   15.44037      11.877209   120       6  Жим      Мужчина        98  4-6           27.72748
##   109       95   14.08028      14.821346    90       6  Жим      Мужчина        74  4-6           23.62029
##   119      105   13.62042      12.971826    90       9  Жим      Мужчина        54  7-10          19.36247
##   244      230   13.60093       5.913447   180      10  Присед   Мужчина       104  7-10          31.39717
##   112      100   12.26032      12.260325    90       7  Жим      Мужчина        95  7-10          26.04095
##   162      150   12.15380       8.102535   130       7  Жим      Мужчина       100  7-10          31.56167
##   132      120   11.80046       9.833720   100       9  Жим      Мужчина        82  7-10          23.20054
##   164      152   11.62042       7.645012   135       6  Жим      Мужчина        90  4-6           31.14187
##   171      160   11.20031       7.000193   150       4  Жим      Мужчина        84  4-6           25.92593
## 
## ------------> Наибольшая ошибка в большую сторону: 19.46739 
## ------------> Наибольшая ошибка в меньшую сторону: 15.91972 
## Модель ошиблась более чем на 5 % в 42 случаях из 139 ( 30.21583 %)
## Модель ошиблась более чем на 5 кг в 64 случаях из 139 ( 46.04317 %)
## ----------------> Статистика по ошибкам в процентах:
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0624  1.5126  3.1115  3.9177  5.2597 14.8213 
## -------------------> Среднеквадратичная ошибка: 7.006946

Модели Бжицки и МакГлотина – это тоже одна и та же модель вида

\[RM=MRM \cdot \frac{a}{b-Count}\] с разными \(a, b\). Обучив такую модель (с названием \(n_2\)) для диапазона повторений 2-10, получим более точную модель:

## 
## Formula: RM ~ MRM * a/(b - Count)
## 
## Parameters:
##   Estimate Std. Error t value Pr(>|t|)    
## a   53.332      2.905   18.36   <2e-16 ***
## b   51.364      2.507   20.49   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.676 on 137 degrees of freedom
## 
## Number of iterations to convergence: 4 
## Achieved convergence tolerance: 3.629e-07
## 
## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target       ERROR   ErrorPercent   MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ----------  -------------  ----  ------  -------  --------  -------  -----------  ---------
##   193      210   16.596545       7.903116   150      10  Присед   Мужчина       100  7-10          29.86055
##   198      215   16.507020       7.677684   180       3  Присед   Мужчина        84  2-3           30.11940
##   271      285   14.424394       5.061191   220       8  Присед   Мужчина        90  7-10          30.07117
##   212      225   13.380213       5.946761   180       6  Тяга     Мужчина        90  4-6           26.29657
##   188      200   11.893523       5.946761   160       6  Тяга     Мужчина       120  4-6           34.68609
##   142      130   11.829201       9.099385   110      10  Жим      Мужчина       100  7-10          28.29335
##   198      210   11.507020       5.479533   180       3  Присед   Мужчина       125  2-3           36.13134
##   141      130   11.079858       8.522968   120       6  Жим      Мужчина        98  4-6           27.72748
##   151      140   11.070505       7.907504   120       9  Жим      Мужчина        77  7-10          28.62879
##   161      172   10.956886       6.370282   140       5  Жим      Мужчина        83  4-6           27.73230
##   106       95   10.809893      11.378835    90       6  Жим      Мужчина        74  4-6           23.62029
##   181      170   10.509892       6.182289   140      10  Тяга     Мужчина        77  7-10          24.57787
##   105      115   10.459425       9.095152    85       8  Жим      Мужчина        76  7-10          25.10239
##   235      225   10.133096       4.503598   200       6  Жим      Мужчина       102  4-6           30.12760
##    90      100    9.745054       9.745054    70      10  Тяга     Мужчина        63  7-10          19.23018
## 
## ------------> Наибольшая ошибка в большую сторону: 11.8292 
## ------------> Наибольшая ошибка в меньшую сторону: 16.59654 
## Модель ошиблась более чем на 5 % в 26 случаях из 139 ( 18.70504 %)
## Модель ошиблась более чем на 5 кг в 47 случаях из 139 ( 33.81295 %)
## ----------------> Статистика по ошибкам в процентах:
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  0.02678  0.96765  2.70607  3.04275  4.42815 11.37884 
## -------------------> Среднеквадратичная ошибка: 5.634673

Аналогично модели Мэйхью и Ватана — это вариации модели

\[RM=\frac{100 \cdot MRM}{a+b\cdot e^{-c\cdot Count}}\] Обучив такую модель (\(n_3\)), получим примерно такие же результаты, как у \(n_2\):

## 
## Formula: RM ~ 100 * MRM/(a + b * exp(-c * Count))
## 
## Parameters:
##   Estimate Std. Error t value Pr(>|t|)    
## a 64.58492   10.60647   6.089 1.09e-08 ***
## b 34.58499    9.09511   3.803 0.000215 ***
## c  0.09229    0.04784   1.929 0.055807 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.619 on 136 degrees of freedom
## 
## Number of iterations to convergence: 4 
## Achieved convergence tolerance: 1.653e-06
## 
## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target       ERROR   ErrorPercent   MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ----------  -------------  ----  ------  -------  --------  -------  -----------  ---------
##   192      210   18.496701       8.807953   150      10  Присед   Мужчина       100  7-10          29.86055
##   198      215   16.774220       7.801963   180       3  Присед   Мужчина        84  2-3           30.11940
##   271      285   13.775104       4.833370   220       8  Присед   Мужчина        90  7-10          30.07117
##   142      130   12.072191       9.286301   120       6  Жим      Мужчина        98  4-6           27.72748
##   213      225   11.891714       5.285206   180       6  Тяга     Мужчина        90  4-6           26.29657
##   237      225   11.786985       5.238660   200       6  Жим      Мужчина       102  4-6           30.12760
##   198      210   11.774220       5.606771   180       3  Присед   Мужчина       125  2-3           36.13134
##   107       95   11.554143      12.162256    90       6  Жим      Мужчина        74  4-6           23.62029
##   151      140   10.647156       7.605111   120       9  Жим      Мужчина        77  7-10          28.62879
##    89      100   10.631794      10.631794    70      10  Тяга     Мужчина        63  7-10          19.23018
##   189      200   10.570412       5.285206   160       6  Тяга     Мужчина       120  4-6           34.68609
##   140      130   10.435752       8.027502   110      10  Жим      Мужчина       100  7-10          28.29335
##   105      115   10.208563       8.877011    85       8  Жим      Мужчина        76  7-10          25.10239
##   162      172    9.936892       5.777263   140       5  Жим      Мужчина        83  4-6           27.73230
##   220      230    9.749133       4.238753   200       3  Тяга     Мужчина       125  2-3           36.13134
## 
## ------------> Наибольшая ошибка в большую сторону: 12.07219 
## ------------> Наибольшая ошибка в меньшую сторону: 18.4967 
## Модель ошиблась более чем на 5 % в 27 случаях из 139 ( 19.42446 %)
## Модель ошиблась более чем на 5 кг в 42 случаях из 139 ( 30.21583 %)
## ----------------> Статистика по ошибкам в процентах:
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##  0.007849  1.083213  2.518431  2.997736  4.243552 12.162256 
## -------------------> Среднеквадратичная ошибка: 5.55823

Наконец, модель Ломбарди имеет вид \[RM=MRM \cdot Count^a\] Обучив её (\(n_4\)), получим примерно те же результаты (с параметром, очень близким к 0.1, предложенным Ломбарди):

## 
## Formula: RM ~ MRM * Count^a
## 
## Parameters:
##   Estimate Std. Error t value Pr(>|t|)    
## a 0.096835   0.001982   48.85   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.799 on 138 degrees of freedom
## 
## Number of iterations to convergence: 2 
## Achieved convergence tolerance: 1.583e-06
## 
## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target       ERROR   ErrorPercent     MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ----------  -------------  ------  ------  -------  --------  -------  -----------  ---------
##   187      210   22.532379      10.729704   150.0      10  Присед   Мужчина       100  7-10          29.86055
##   269      285   15.924963       5.587706   220.0       8  Присед   Мужчина        90  7-10          30.07117
##   200      215   14.795172       6.881475   180.0       3  Присед   Мужчина        84  2-3           30.11940
##   238      225   12.893338       5.730372   200.0       6  Жим      Мужчина       102  4-6           30.12760
##   143      130   12.736003       9.796925   120.0       6  Жим      Мужчина        98  4-6           27.72748
##    87      100   12.515110      12.515110    70.0      10  Тяга     Мужчина        63  7-10          19.23018
##   107       95   12.052002      12.686318    90.0       6  Жим      Мужчина        74  4-6           23.62029
##   172      160   11.550404       7.219002   150.0       4  Жим      Мужчина        84  4-6           25.92593
##   104      115   11.039190       9.599296    85.0       8  Жим      Мужчина        76  7-10          25.10239
##   214      225   10.895996       4.842665   180.0       6  Тяга     Мужчина        90  4-6           26.29657
##   250      240   10.256035       4.273348   225.0       3  Тяга     Мужчина        87  2-3           26.85185
##   175      165   10.179225       6.169227   157.5       3  Жим      Мужчина        87  2-3           26.85185
##   200      210    9.795172       4.664368   180.0       3  Присед   Мужчина       125  2-3           36.13134
##   190      200    9.685330       4.842665   160.0       6  Тяга     Мужчина       120  4-6           34.68609
##   149      140    8.677017       6.197869   130.0       4  Жим      Мужчина       100  4-6           35.01278
## 
## ------------> Наибольшая ошибка в большую сторону: 12.89334 
## ------------> Наибольшая ошибка в меньшую сторону: 22.53238 
## Модель ошиблась более чем на 5 % в 28 случаях из 139 ( 20.14388 %)
## Модель ошиблась более чем на 5 кг в 50 случаях из 139 ( 35.97122 %)
## ----------------> Статистика по ошибкам в процентах:
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##  0.01727  1.28387  2.44399  3.13536  4.80735 12.68632 
## -------------------> Среднеквадратичная ошибка: 5.778451

3.6.2 Новые предложения

Кроме этого, я попробую модель \(n_5\): \[RM=MRM^a \cdot \frac{b}{c-Count+d \cdot Count^2}\]

## 
## Formula: RM ~ (MRM^d) * (coef1)/(coef2 - Count + c * Count^2)
## 
## Parameters:
##        Estimate Std. Error t value Pr(>|t|)    
## coef1 30.974358   5.911066   5.240 6.03e-07 ***
## coef2 33.722462   5.640670   5.978 1.90e-08 ***
## d      1.019050   0.010444  97.575  < 2e-16 ***
## c      0.028978   0.009796   2.958  0.00366 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.574 on 135 degrees of freedom
## 
## Number of iterations to convergence: 4 
## Achieved convergence tolerance: 1.445e-07
## 
## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target       ERROR   ErrorPercent   MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ----------  -------------  ----  ------  -------  --------  -------  -----------  ---------
##   192      210   17.984513       8.564054   150      10  Присед   Мужчина       100  7-10          29.86055
##   199      215   16.339491       7.599763   180       3  Присед   Мужчина        84  2-3           30.11940
##   238      225   13.228263       5.879228   200       6  Жим      Мужчина       102  4-6           30.12760
##    88      100   11.684390      11.684390    70      10  Тяга     Мужчина        63  7-10          19.23018
##   142      130   11.552720       8.886708   120       6  Жим      Мужчина        98  4-6           27.72748
##   199      210   11.339491       5.399758   180       3  Присед   Мужчина       125  2-3           36.13134
##   274      285   11.157402       3.914878   220       8  Присед   Мужчина        90  7-10          30.07117
##   104      115   11.096698       9.649303    85       8  Жим      Мужчина        76  7-10          25.10239
##   214      225   11.024479       4.899768   180       6  Тяга     Мужчина        90  4-6           26.29657
##   106       95   10.584300      11.141368    90       6  Жим      Мужчина        74  4-6           23.62029
##   150      140   10.421311       7.443793   120       9  Жим      Мужчина        77  7-10          28.62879
##   190      200   10.225833       5.112917   160       6  Тяга     Мужчина       120  4-6           34.68609
##   162      172   10.201250       5.930960   140       5  Жим      Мужчина        83  4-6           27.73230
##   140      130    9.981814       7.678318   110      10  Жим      Мужчина       100  7-10          28.29335
##   101      110    9.384062       8.530965    90       4  Жим      Мужчина        60  4-6           21.25850
## 
## ------------> Наибольшая ошибка в большую сторону: 13.22826 
## ------------> Наибольшая ошибка в меньшую сторону: 17.98451 
## Модель ошиблась более чем на 5 % в 28 случаях из 139 ( 20.14388 %)
## Модель ошиблась более чем на 5 кг в 45 случаях из 139 ( 32.3741 %)
## ----------------> Статистика по ошибкам в процентах:
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##  0.003659  0.930472  2.493836  2.990744  4.306580 11.684390 
## -------------------> Среднеквадратичная ошибка: 5.492923

и \(n_6\): \[RM=MRM^a \cdot \left(b+c \cdot Count^d \right),\]

## 
## Formula: RM ~ MRM^vk * (s + coef * Count^kk)
## 
## Parameters:
##      Estimate Std. Error t value Pr(>|t|)    
## coef  0.04831    0.03312   1.459  0.14699    
## vk    1.01908    0.01044  97.635  < 2e-16 ***
## kk    0.75447    0.23096   3.267  0.00138 ** 
## s     0.88968    0.06713  13.252  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.569 on 135 degrees of freedom
## 
## Number of iterations to convergence: 4 
## Achieved convergence tolerance: 4.267e-07
## 
## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target       ERROR   ErrorPercent   MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ----------  -------------  ----  ------  -------  --------  -------  -----------  ---------
##   192      210   17.858515       8.504055   150      10  Присед   Мужчина       100  7-10          29.86055
##   199      215   16.184108       7.527492   180       3  Присед   Мужчина        84  2-3           30.11940
##   238      225   13.174225       5.855211   200       6  Жим      Мужчина       102  4-6           30.12760
##    88      100   11.628428      11.628428    70      10  Тяга     Мужчина        63  7-10          19.23018
##   142      130   11.518476       8.860366   120       6  Жим      Мужчина        98  4-6           27.72748
##   274      285   11.496235       4.033767   220       8  Присед   Мужчина        90  7-10          30.07117
##   104      115   11.228175       9.763631    85       8  Жим      Мужчина        76  7-10          25.10239
##   199      210   11.184108       5.325766   180       3  Присед   Мужчина       125  2-3           36.13134
##   214      225   11.073681       4.921636   180       6  Тяга     Мужчина        90  4-6           26.29657
##   106       95   10.557860      11.113537    90       6  Жим      Мужчина        74  4-6           23.62029
##   150      140   10.302535       7.358954   120       9  Жим      Мужчина        77  7-10          28.62879
##   190      200   10.270131       5.135065   160       6  Тяга     Мужчина       120  4-6           34.68609
##   162      172   10.099896       5.872032   140       5  Жим      Мужчина        83  4-6           27.73230
##   140      130   10.072385       7.747988   110      10  Жим      Мужчина       100  7-10          28.29335
##   250      240    9.580212       3.991755   225       3  Тяга     Мужчина        87  2-3           26.85185
## 
## ------------> Наибольшая ошибка в большую сторону: 13.17422 
## ------------> Наибольшая ошибка в меньшую сторону: 17.85852 
## Модель ошиблась более чем на 5 % в 26 случаях из 139 ( 18.70504 %)
## Модель ошиблась более чем на 5 кг в 41 случаях из 139 ( 29.4964 %)
## ----------------> Статистика по ошибкам в процентах:
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##  0.001064  1.029645  2.513181  2.991682  4.300770 11.628428 
## -------------------> Среднеквадратичная ошибка: 5.488704

а также версии предыдущих шести моделей с поправкой коэффициентов на разные факторные переменные и с включением/отсутствием слагаемого \(\left( \frac{MRM}{Index} \right)^6\) (для линейных моделей оно играло роль).

n7 = nls(RM ~ (MRM^d) * (coef1[Action])/(coef2[CountGroup] - Count + c * Count^2), 
    data = data, start = list(coef1 = rep(50, 3), coef2 = rep(40, 3), d = 1, c = 0))


n8 = nls(RM ~ MRM^vk[CountGroup] * (s[Action] + coef * sqrt(Count)), data = data, 
    start = list(coef = 0.0333, vk = rep(1, 3), s = rep(1, 3)))


n9 = nls(RM ~ MRM * (a[BodyType]/(b[Action] - Count)), data, start = list(a = rep(36, 
    3), b = rep(37, 3)))

n10 = nls(RM ~ MRM * (a[BodyType]/(b[Action] - Count)) + d * (MRM/Index)^6, data, 
    start = list(a = rep(36, 3), b = rep(37, 3), d = 0))


n11 = nls(RM ~ MRM * (a[Action]/(b[CountGroup] - Count)), data, start = list(a = rep(36, 
    3), b = rep(37, 3)))

n12 = nls(RM ~ MRM * (a[Action]/(b[CountGroup] - Count)) + d * (MRM/Index)^6, data, 
    start = list(a = rep(36, 3), b = rep(37, 3), d = 0))


n13 = nls(RM ~ MRM * (Count^a[CountGroup]) + b[Action] * MRM * Count^2, data, start = list(a = rep(0.1, 
    3), b = rep(0.1, 3)))

n14 = nls(RM ~ 100 * MRM/(a[Action] + b * exp(-c[CountGroup] * Count)) + d * (MRM/Index)^6, 
    data, start = list(a = rep(52, 3), b = 42, c = rep(0.0555, 3), d = 0))

3.6.3 Сравнение нелинейных моделей

# cv for nls including errors sample
cv.my2 = function(df = data, fit, start, k = 10, repets = 1) {
    sm = 0
    r = 0
    RM = df$RM
    
    repeat {
        b = T
        while (b) {
            val = tryCatch({
                b = F
                
                blocks = sample.int(k, nrow(df), replace = T)
                
                future.apply::future_sapply(seq(k), function(i) {
                  ft = nls(formula = fit$call$formula, data = df[blocks != i, ], 
                    start = start)
                  sum((RM[blocks == i] - predict(ft, df[blocks == i, ]))^2) %>% return()
                }) %>% sum()
                
            }, error = function(cond) {
                # print(cond)
                b = T
            })
        }
        
        
        
        sm = sm + val/k
        r = r + 1
        
        if (r == repets) {
            break
        }
        
    }
    
    return(sm/repets)
}

kn = c(5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)

ct = c(8, 11)

gr = rep(c("2-10", "2-7"), length(kn)) %>% sort(decreasing = T)

m = matrix(nrow = length(kn) * length(ct), ncol = 14)

lst = list(n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14)
sts = list(list(coef = 1/30), list(a = 36, b = 37), list(a = 52, b = 42, c = 0.055), 
    list(a = 0.1), list(coef1 = 50, coef2 = 40, d = 1, c = 0), list(coef = 0.0333, 
        vk = 1, kk = 1, s = 1), list(coef1 = rep(50, 3), coef2 = rep(40, 3), d = 1, 
        c = 0), list(coef = 0.0333, vk = rep(1, 3), s = rep(1, 3)), list(a = rep(36, 
        3), b = rep(37, 3)), list(a = rep(36, 3), b = rep(37, 3), d = 0), list(a = rep(36, 
        3), b = rep(37, 3)), list(a = rep(36, 3), b = rep(37, 3), d = 0), list(a = rep(0.1, 
        3), b = rep(0.1, 3)), list(a = rep(52, 3), b = 42, c = rep(0.0555, 3), d = 0))

for (i in 1:length(lst)) {
    model = lst[[i]]
    
    for (j in 1:length(ct)) {
        dt = data %>% filter(Count < ct[j])
        
        getval.mean = function(k, count) {
            cv.my2(dt, model, sts[[i]], k, count)
        }
        
        beg = (j - 1) * length(kn)
        
        for (s in 1:length(kn)) {
            m[beg + s, i] = getval.mean(kn[s], 30)
        }
    }
    
}

colnames(m) = paste0("n", 1:length(lst))
kp = rep(kn, length(ct))

m[m < 100] = NA

vals = data.frame(kp = rep(kp, length(lst)), b = as.numeric(m), gr = factor(rep(gr, 
    length(lst))), n = factor(paste0("n", rep(1:14, length(kn) * length(ct)) %>% 
    sort()))) %>% tbl_df()

Сравним названные модели, сделав перекрёстную проверку на диапазоне повторений 2-10:

Как видно, самой лучшей моделью оказалась \(n_{14}\) (основанная на моделях Мэйхью и Ватана), на втором месте идёт \(n_8\) (моё предложение):

n14 %>% ShowSummary()
## 
## Formula: RM ~ 100 * MRM/(a[Action] + b * exp(-c[CountGroup] * Count)) + 
##     d * (MRM/Index)^6
## 
## Parameters:
##      Estimate Std. Error t value Pr(>|t|)    
## a1  7.259e+01  6.392e+00  11.357  < 2e-16 ***
## a2  7.032e+01  6.319e+00  11.128  < 2e-16 ***
## a3  6.903e+01  6.329e+00  10.907  < 2e-16 ***
## b   3.037e+01  5.168e+00   5.877 3.27e-08 ***
## c1  1.665e-01  7.683e-02   2.167   0.0320 *  
## c2  1.499e-01  6.309e-02   2.376   0.0190 *  
## c3  1.487e-01  7.233e-02   2.056   0.0418 *  
## d  -2.667e-05  1.062e-05  -2.511   0.0133 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.157 on 131 degrees of freedom
## 
## Number of iterations to convergence: 6 
## Achieved convergence tolerance: 2.642e-06
## 
## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target       ERROR   ErrorPercent   MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ----------  -------------  ----  ------  -------  --------  -------  -----------  ---------
##   197    210.0   12.793536       6.092160   150      10  Присед   Мужчина       100  7-10          29.86055
##   161    172.0   11.426898       6.643545   140       5  Жим      Мужчина        83  4-6           27.73230
##   104    115.0   11.176032       9.718288    85       8  Жим      Мужчина        76  7-10          25.10239
##   141    130.0   11.083290       8.525607   120       6  Жим      Мужчина        98  4-6           27.72748
##   106     95.0   10.862282      11.433981    90       6  Жим      Мужчина        74  4-6           23.62029
##   180    170.0   10.477645       6.163321   140      10  Тяга     Мужчина        77  7-10          24.57787
##   205    215.0   10.410998       4.842325   180       3  Присед   Мужчина        84  2-3           30.11940
##   215    225.0   10.018458       4.452648   180       6  Тяга     Мужчина        90  4-6           26.29657
##   137    127.5    9.486217       7.440170   120       3  Присед   Женщина        72  2-3           26.76978
##    91    100.0    9.367758       9.367758    70      10  Тяга     Мужчина        63  7-10          19.23018
##   101    110.0    9.335602       8.486911    90       4  Жим      Мужчина        60  4-6           21.25850
##   141    150.0    8.904091       5.936061   120       6  Жим      Мужчина        85  4-6           28.07504
##   149    140.0    8.811834       6.294167   120       9  Жим      Мужчина        77  7-10          28.62879
##   138    130.0    8.342842       6.417571   110      10  Жим      Мужчина       100  7-10          28.29335
##   104    112.5    8.270229       7.351315    95       3  Жим      Мужчина        66  2-3           22.83737
## 
## ------------> Наибольшая ошибка в большую сторону: 11.08329 
## ------------> Наибольшая ошибка в меньшую сторону: 12.79354 
## Модель ошиблась более чем на 5 % в 22 случаях из 139 ( 15.82734 %)
## Модель ошиблась более чем на 5 кг в 46 случаях из 139 ( 33.09353 %)
## ----------------> Статистика по ошибкам в процентах:
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##  0.000241  1.128472  2.286958  2.852151  4.173735 11.686076 
## -------------------> Среднеквадратичная ошибка: 5.006509
n8 %>% ShowSummary()
## 
## Formula: RM ~ MRM^vk[CountGroup] * (s[Action] + coef * sqrt(Count))
## 
## Parameters:
##      Estimate Std. Error t value Pr(>|t|)    
## coef  0.12172    0.01986   6.129 9.54e-09 ***
## vk1   0.99792    0.01191  83.772  < 2e-16 ***
## vk2   0.99660    0.01163  85.696  < 2e-16 ***
## vk3   0.99746    0.01208  82.538  < 2e-16 ***
## s1    0.89421    0.06704  13.338  < 2e-16 ***
## s2    0.91171    0.07199  12.664  < 2e-16 ***
## s3    0.93403    0.07337  12.730  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.299 on 132 degrees of freedom
## 
## Number of iterations to convergence: 3 
## Achieved convergence tolerance: 1.565e-06
## 
## Ошибки модели (выведены 15 элементов с наибольшими ошибками): 
## 
## 
##  Fact   Target       ERROR   ErrorPercent   MRM   Count  Action   Sex        Weight  CountGroup       Index
## -----  -------  ----------  -------------  ----  ------  -------  --------  -------  -----------  ---------
##   195      210   14.663986       6.982851   150      10  Присед   Мужчина       100  7-10          29.86055
##   161      172   11.427162       6.643699   140       5  Жим      Мужчина        83  4-6           27.73230
##   204      215   11.135175       5.179151   180       3  Присед   Мужчина        84  2-3           30.11940
##   214      225   11.036144       4.904953   180       6  Тяга     Мужчина        90  4-6           26.29657
##   104      115   10.911632       9.488376    85       8  Жим      Мужчина        76  7-10          25.10239
##   141      130   10.773031       8.286947   120       6  Жим      Мужчина        98  4-6           27.72748
##   106       95   10.683093      11.245361    90       6  Жим      Мужчина        74  4-6           23.62029
##    90      100   10.211872      10.211872    70      10  Тяга     Мужчина        63  7-10          19.23018
##   250      240    9.747364       4.061402   225       3  Тяга     Мужчина        87  2-3           26.85185
##   190      200    9.733728       4.866864   160       6  Тяга     Мужчина       120  4-6           34.68609
##   149      140    9.295207       6.639434   120       9  Жим      Мужчина        77  7-10          28.62879
##   179      170    9.259949       5.447029   140      10  Тяга     Мужчина        77  7-10          24.57787
##   141      150    9.226969       6.151312   120       6  Жим      Мужчина        85  4-6           28.07504
##   234      225    9.214583       4.095370   200       6  Жим      Мужчина       102  4-6           30.12760
##   101      110    9.166253       8.332958    90       4  Жим      Мужчина        60  4-6           21.25850
## 
## ------------> Наибольшая ошибка в большую сторону: 10.77303 
## ------------> Наибольшая ошибка в меньшую сторону: 14.66399 
## Модель ошиблась более чем на 5 % в 21 случаях из 139 ( 15.10791 %)
## Модель ошиблась более чем на 5 кг в 47 случаях из 139 ( 33.81295 %)
## ----------------> Статистика по ошибкам в процентах:
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##  0.000994  1.063430  2.315090  2.877282  4.113872 11.245361 
## -------------------> Среднеквадратичная ошибка: 5.164286

Обе модели имеют одинаковую среднюю ошибку в менее чем 2.9%. По точности они схожи с линейными моделями \(b_3,b_5\).

cv.my3 = function(df = data, fit, start = NULL, k = 10, repets = 1) {
    sm = 0
    r = 0
    RM = df$RM
    
    repeat {
        b = T
        while (b) {
            val = tryCatch({
                b = F
                
                blocks = sample.int(k, nrow(df), replace = T)
                
                if (is.null(start)) {
                  
                  future.apply::future_sapply(seq(k), function(i) {
                    ft = lm(formula = fit$call$formula, data = df[blocks != i, ])
                    sum((RM[blocks == i] - predict(ft, df[blocks == i, ]))^2) %>% 
                      return()
                  }) %>% sum()
                  
                } else {
                  
                  future.apply::future_sapply(seq(k), function(i) {
                    ft = nls(formula = fit$call$formula, data = df[blocks != i, ], 
                      start = start)
                    sum((RM[blocks == i] - predict(ft, df[blocks == i, ]))^2) %>% 
                      return()
                  }) %>% sum()
                }
                
                
            }, error = function(cond) {
                b = T
            })
        }
        
        
        
        sm = sm + val/k
        r = r + 1
        
        if (r == repets) {
            break
        }
        
    }
    
    return(sm/repets)
}

kn = c(5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)

ct = c(8, 11)

gr = rep(c("2-10", "2-7"), length(kn)) %>% sort(decreasing = T)

m = matrix(nrow = length(kn) * length(ct), ncol = 4)

lst = list(n8, n14, b3, b5)
sts = list(list(coef = 0.0333, vk = rep(1, 3), s = rep(1, 3)), list(a = rep(52, 3), 
    b = 42, c = rep(0.0555, 3), d = 0), NULL, NULL)

for (i in 1:length(lst)) {
    model = lst[[i]]
    
    for (j in 1:length(ct)) {
        dt = data %>% filter(Count < ct[j])
        
        getval.mean = function(k, count) {
            cv.my3(dt, model, sts[[i]], k, count)
        }
        
        beg = (j - 1) * length(kn)
        
        for (s in 1:length(kn)) {
            m[beg + s, i] = getval.mean(kn[s], 40)
        }
    }
    
}

colnames(m) = c("n8", "n14", "b3", "b5")
kp = rep(kn, length(ct))

# m[m<100]=NA

vals = data.frame(kp = rep(kp, length(lst)), b = as.numeric(m), gr = factor(rep(gr, 
    length(lst))), n = factor(c("n8" %>% rep(length(ct) * length(kn)), "n14" %>% 
    rep(length(ct) * length(kn)), "b3" %>% rep(length(ct) * length(kn)), "b5" %>% 
    rep(length(ct) * length(kn))))) %>% tbl_df()

Если сравнить лучшие найденные линейные и нелинейные модели, окажется, что модели \(n_8\) и \(b_3\) в целом неотличимы, а модель \(n_{14}\) немного превосходит \(b_5\):

4 Выводы

В результате проведённого исследования была найдена модель, не зависящая от типа телосложения, опыта тренировок и многих других характеристик, но при этом дающая хорошие результаты на 85% данных.

Я уверен, что большие погрешности в единичных случаях – это та часть закономерности, зависящая от человека и многих неучтённых характеристик. Тем не менее, влияние этих неучтённых факторов далеко не так велико, как предполагали многие: намного больше повторный максимум зависит от обычной математики.

Было продемонстрировано, что для числа повторений выше 10 нельзя построить достаточно точную модель (по крайней мере, при текущем наборе данных), но для диапазона 2-10 – ещё как можно.

Диапазон выше 10 повторений был отсеян по следующим причинам:

  1. физиологически менее сильная связь между 1ПМ и большим числом повторений;

  2. меньшая детерминированность между 1ПМ и большим числом повторений, обнаруженная при разведочном анализе данных, отчего трудно выявить достоверность данных и построить достаточно точную модель;

  3. маленький объём данных, разбросанных очень неравномерно на большом диапазоне (от 11 до 35).

Посчитать собственные результаты при помощи найденной модели можно здесь.


5 Возможности для применения

5.1 Оценка наличия прогресса в тренировках

Теперь практически в любой момент тренировочного процесса14 спортсмен может оценить свой ПМ, не делая проходку. Отслеживание ПМ помогает оценить близость к намеченной цели и вообще наличие прогресса: иногда обстоятельства мешают уложиться в цикл (особенно если это третий цикл подряд) и вместо семи повторений спортсмен может сделать только 5 — считаются ли эти пять повторений прогрессом? Так или иначе, можно сделать перерыв и начать новый цикл, основываясь уже на новых данных15.

5.2 Выражение многоповторного максимума через многоповторный

Здесь всё интуитивно понятно. Для человека, например, моей комплекции (рост 170, вес 70) для приседа можно составить такую таблицу (исходя из модели \(b_5\)):

В этой таблице каждая строка обозначает одно и то же усилие, выраженное разным числом повторений. Если для человека верна какая-то ячейка (вес на число повторений), должна быть верна и вся строка.

Также тут можно проследить такую возможность: если в режиме на, например, 5 повторений вы взяли 80кг (80х5 эквивалентно 95.9485356), но смогли сделать с этим весом 8 повторений (что эквивалетно 101.8705815), то какой вес нужно взять, чтобы делать прежние 5 повторений? Из формулы следует, что 84.9497114.

5.3 Постановка эквивалентной цели

Если вы ходите поднять свой \(RM\) на 15 кг, не обязательно ставить цель “в конце цикла поднять \(RM+15\) кг на раз”. Зная \(RM+15\), можно рассчитать свой целевой 2ПМ, 3ПМ или 4ПМ и стремиться к концу цикла достичь именно тех величин.


5.4 Возможности для применения в анализе силовых циклов

Известно, что невозможно постоянно увеличивать вес отягощений, так как рано или поздно спортсмен упрётся в тренировочное плато и может дойти до перетренированности, истощиться, заболеть, а то и получить травму, в результате чего произойдёт снижение силовых показателей. Основной способ обойти эту проблему и многие годы увеличивать силовые показатели — это циклирование (периодизация нагрузок). При этом даже сейчас циклы строятся больше на основе опыта (методом проб и ошибок) и интуиции, чем с использованием каких-то научных знаний. И хоть за последние полвека уже тысячи спортсменов доказали пользу нескольких моделей циклирования и разнообразия нагрузок, текущая ситуация далека от идеальной. Я считаю, что построенная ранее модель (или аналогичная ей) может сделать в этом направлении шаг вперёд.

Если раньше многие циклы записывались от силы таблицами в Excel и не всегда были понятны, то использование модели, отождествляющей повторный максимум с многоповторным, позволяет визуализировать зависимость “максимального усилия” от дня тренировки, то есть отождествить цикл с временным рядом. Дальнейшие исследования таких временных рядов позволит разработать циклы, близкие к идеальным, или хотя бы обнаружить ту составляющую в циклах, за счёт которых они работают, и отсеять те программы тренировок, которые не будут работать.

Таким образом, в будущем тренировочный процесс можно будет представить как последовательность нагрузок в разных режимах (в основном для тренировки разных мышечных волокон), которые требуют усилий, подчиняющихся определённым математически выраженным закономерностям.

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

5.4.1 Простейший цикл

library(tidyverse)
library(magrittr)
library(ggformula)
library(ggalt)


mx = function(vals, count, withcomp = T) {
    
    t = 1:length(vals) %>% map_dbl(function(i) f(MRM = vals[i], Count = count[i], 
        Action = "Жим")[1])
    
    # t=vals*(1+0.0333*count)
    t[count == 1] = vals[count == 1]
    if (withcomp) {
        s = t[length(t)] * (1 + runif(1, 0, 0.005))
        return(c(t, s))
    }
    return(t)
}


x = c(100, 120, 115, 105, 130, 120, 125)
y = c(10, 4, 6, 10, 3, 6, 5)

vc = c(mx(x, y), mx(x + 4, y), mx(x + 9, y))
lb = paste0(c(x, vc[8], x + 4, vc[16], x + 9, vc[24]) %>% round(), "x", c(y, 1, y, 
    1, y, 1))

Возьмём очень простой цикл из тех, которые можно иногда применять в межсезонье. Он состоит из 7 тренировок, на которых самый тяжёлый подход составляет (при конкретных цифрах) 100x10, 120x4, 115x6, 105x10, 130x3, 120x6, 125x5 соответственно.

Если прогнать такой цикл через модель (в случае с приседом), получим такую динамику:

5.4.2 Пиковый цикл Верхошанского

Ссылка на цикл

5.4.3 Цикл тома МакКаллоу

Ссылка на цикл

6 Полезные ссылки

Сайт, где можно опробовать модель на себе

Русскоязычный опрос, англоязычный опрос. Если данных станет значительно больше, исследование повторится.

Мой гитхаб

Раздел этой статьи на GitHub, исходные датасеты, коды

Книги и материалы по пауэрлифтингу

Моя электронная почта:

7 Литература

[1] Хэтфилд Ф. К., Всестороннее руководство по развитию силы // Красноярск: Союзспорт, 1992. - 284 с.

[2] Вадим Протасенко. Думай! Или «Супертренинг» без заблуждений.

[3] Уикем Х., Гроулмунд Г. Язык R в задачах науки о данных: импорт, обработка, визуализация и моделирование данных. : Пер. с англ. — СПб. : ООО “Диалектика”, 2018. — 592 с.

[4] Мастицкий С. Э., Шитиков В. К. Сатистический анализ и визуализация данных с помощью R. – М.: ДМК Пресс, 2015. – 496 с.

[5] Роберт И. Кабаков. R в действии. Анализ и визуализация данных в программе R. / пер. с англ. Полины А. Волковой. – М: ДМК Пресс, 2016. – 588 с.

[6] Джеймс Г., Уиттон Дм Хасти Т., Тибширани Р. Введение в статистическое обучение с примерами на языке R. Пер. с англ. С. Э. Мастицкого - М.: ДМК Пресс, 2016. - 450 с:

[7] Крупкина, Т. В. Математическая статистика [Электронный ресурс] : курс лекций / Т. В. Крупкина, А. К. Гречкосеев. – Электрон. дан. (3 Мб). – Красноярск : ИПК СФУ, 2009.

[8] Brandon Lilly «The Cube method» (2012)


  1. иногда их называют разовыми максимумами, РМ

  2. имеется ввиду, что нетрудно и более безопасно на следующей тренировке взять достаточно большой вес и сделать с ними максимальное число повторений (около 4-8)

  3. зачастую так думают, люди, которые своему опыту доверяют намного больше, чем научному знаю, тем более в спортивном мире часто всплывают разные псевдонаучные методики, которые приносят спортсменам только вред

  4. “преимущественно” означает, что предположительно именно из этих группы поступила основная масса опрошенных

  5. если будет доказано наличие гиперплазии (деления мышечных волокон) в скелетных мышцах человека, можно будет утверждать, что силовые тренировки увеличивают количество белых волокон в работающих мышцах

  6. речь идёт о тренировках с более чем 90% от ПМ или с более чем 100% от ПМ в частичной амплитуде, а также об изометрических упражнениях; во многом такие упражнения выполняются для того, чтобы приучить организм поднимать огромные веса, что и значит – тренировка способности генерировать больший импульс и увеличение порога его подавления

  7. в некотором смысле это одно и то же

  8. конечно, это лишь условные размышления без учёта особенностей отдельных частей тела и того, что ввиду усталости каждое следующее повторение делается дольше предыдущего. Важно лишь усвоить, что разные диапазоны повторений по-разному связаны с силой.

  9. дело в том, что одни и те же люди могли вносить более одного ответа. В итоге два наблюдения считаются принадлежащими одному человеку, если они совпадают по переменным AgeGroup, Height, BodyType, Experience, Sex, IndexGroup (которые вряд ли изменятся за время между фиксацией разных наблюдений)

  10. к сожалению, этого не получилось сделать, так как испытуемые редко пользуются электронной почтой, видимо

  11. например, высокий импульс ЦНС, не соответствующий уровню креатинфосфата. В таком случае человек может на раз пожать большой вес, но на несколько раз уже недостаточно большой: при ПМ в 140 на 3 раза жмётся не почти 130, а 120

  12. такую нижнюю границу можно предсказать, просто умножив вес примерно на 1.5, исследование же рассчитано на поиск верхней границы

  13. по крайней мере, наблюдения от женщин, прошедших опрос, не становились выбросами для этих моделей, а хорошо вписывались во многие наблюдения, принадлежавшие мужчинам

  14. разумеется, после тех тренировок, где происходит максимальное усилие: часто силовые циклы делят тренировки на тяжёлые и лёгкие, силовые и скоростные и т. п., но максимальное усилие, позволяющее оценить ПМ, совершается именно на тяжёлых силовых тренировках (и то – не всегда)

  15. но также можно несколько тренировок уделить подсобным или родственным упражнениям, а потом вернуться к прежнему циклу