2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3
 
 Re: Нелинейная множественная регрессия при нехватке наблюдений
Сообщение24.03.2020, 13:05 
igor_ivanov в сообщении #1446675 писал(а):
По-моему, Ваши данные содержат пропуски в области "Protein-rich Beef steak".

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

B@R5uk в сообщении #1446763 писал(а):
А можно табличку исходных данных поиграться?

Пожалуйста. Выше по теме ещё можно увидеть структуру данных на R и Excel-файл.

Lena-Lisa в сообщении #1446717 писал(а):
Смущает не укладывающаяся в действительность аппроксимация

Вот и меня она тоже смущает: если получать численно оптимальное решение, оно перестаёт соответствовать здравому смыслу, а здравый смысл не является численно оптимальным. (Я проверил: есть подставить, как Вы говорили, степени $0,7$ для белка и $0,4$ для клетчатки, а остальные оставить равными $1$, результат становится между чисто линейной регрессией и полной оптимизацией всех параметров при помощи Левенберга-Маркуардта). То есть, предлагаемые Вами значения параметров хуже описывают экспериментальный набор данных, чем бессмыслица.

Позвольте привести Вам вырожденный пример: регрессия на предикторах $x$ и зависимой переменной $y$ с параметрами $a_1, a_2$ по формуле $\hat{y}(a, x) = a_1 \cdot a_2 \cdot x $. У этой задачи на любом наборе данных есть бесконечное число одинаково хорошо работающих решений, которое можно представить на графике кривой $ a_1 a_2 = \operatorname{const} $. И выбирать какую-то одну точку этой кривой в качестве ответа, потому что она удовлетворяет здравому смыслу, будет не совсем корректно, поскольку кроме неё есть гораздо больше точек, которые так же хорошо описывают экспериментальные данные, но здравому смыслу не удовлетворяют.

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

Lena-Lisa в сообщении #1446717 писал(а):
МНК придает слишком большое значения отклоняющимся данным, а такие всегда встречаются

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

Lena-Lisa в сообщении #1446717 писал(а):
Я после первоначальной обработки данных исключила из набора путем последовательного исключения по одному 8 продуктов, отклонявшихся на 2 сигмы и более

Поясните, пожалуйста: речь идёт об отклонении по значениям остатков модели или чему-то ещё? (и если модели, то какой из двух?)

Lena-Lisa в сообщении #1446717 писал(а):
Устойчивость решения проверялась путем малого шевеления исходных данных, катастрофы не происходило.

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

 
 
 
 Re: Нелинейная множественная регрессия при нехватке наблюдений
Сообщение24.03.2020, 15:30 
Евгений Машеров в сообщении #1446776 писал(а):
(первый - свободный член, далее Fat Protein Sugar Starch Fiber Water; все незначимые)

Нулевой свободный член - начальное условие, не может быть реакции на пустой завтрак, оценка свободного члена некорректна по определению.
Тогда 6 коэффициентов линейного приближения
-2.24639099
-1.00349455
0.754992881
0.745687365
-1.71647755
-0.0331100596
теряют смысл - они вбирают в себя свободный член. Оно и видно по первому коэффициенту и второму - отрицательные могут быть только последний и предпоследний - клетчатка и вода (у меня общий вес).
По моим представлениям, обязательное решение в самом общем виде не обязательно, если есть ограничения или обязательные условия исходя из механизма работы системы.

-- 24.03.2020, 15:56 --

aitap в сообщении #1446781 писал(а):
степени $0,7$ для белка и $0,4$ для клетчатки, а остальные оставить равными $1$

Наоборот, точные значения белок 0,422; пищевые волокна 0,674. Когда шло обсуждение метода, и близко даже не упоминалась область действия и соотв. исходные даныне, я приводила прибл. значения 0,4 и 0,7.

 
 
 
 Re: Нелинейная множественная регрессия при нехватке наблюдений
Сообщение24.03.2020, 16:04 
Аватара пользователя
А это именно реакция или уровень глюкозы?

 
 
 
 Re: Нелинейная множественная регрессия при нехватке наблюдений
Сообщение24.03.2020, 16:13 
aitap в сообщении #1446781 писал(а):
То есть, предлагаемые Вами значения параметров хуже описывают экспериментальный набор данных, чем бессмыслица.

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

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

И только что пришло в голову соображение - помимо априорного обнуления свободного члена, учитывались ли в ваших оценка то, что к каждому приему пищи в эксперименте выпивалось в обяз. порядке 220 мл воды? Не давились же студенты всухомятку.
А нелинейная модель позволила вследствие нелинейности позволила играть количеством приемов пищи при постоянсвте суточного рациона, и тоже результаты не противоречащие практике - одноразовое питание не позволяет усвоиться пище полностью; многоразовое свыше 6 приемов требует приема нереально большого (не выдерживаемого почками) кол-ва воды, в итоге, и тогда инсулина выделяется больше положенного - тоже мало хорошего, лишние энергоемкие затраты на выработку и истощении функции железы. Оптимум, соответствующий установленному еще в 60-х годах Покровским кол-ву воды (с напитками и продуктами) 1,8-2,1 л; хотите верьте, хотите нет - от 3 до 6 приемов пищи.
Слишщком много совпадений, или действительно бес путает.

-- 24.03.2020, 16:16 --

aitap в сообщении #1446781 писал(а):
Попробуйте использовать т.н. робастную регрессию
или другие формы функции потерь, чтобы избежать негативного влияния выбросов.


А это у меня на автомате - всегда когда МНК, там же и модуль отклонения, там же корень из модуля (не знаю, как это обосновывается, но временами работает). Просто в Экселе в ячйку вносится показатель степени при отклонении. и прогоняется ряд вариантов. Отличия обычно несущественны, на другой как тут пишут локальный максимум не выводит.
Я тут писала уже в уточнениях, что 8 продуктов, выходящие за 2 сигмы, были выброшены - исследователи сами отмечали безо всякой регрессии, что они ведут себя удивительно. Причина - не все компоненты пищи учтены. А тут полный произвол - сочли необходимым разделить углеводы на крахмал и сахар, а жиры на 3 вида нет, ну и т.д. Пищевые волокна можно было разделить на растворимые и нерастворимые, масса вариантов.

-- 24.03.2020, 16:22 --

aitap в сообщении #1446781 писал(а):
Поясните, пожалуйста: речь идёт об отклонении по значениям остатков модели или чему-то ещё? (и если модели, то какой из двух?)


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

-- 24.03.2020, 16:35 --

Евгений Машеров в сообщении #1446827 писал(а):
А это именно реакция или уровень глюкозы?


Австралийцы определяли гликемический и инсулинемический индексы, замеряя уровни глюкозы (или инсулина) каждые 15 минут в течение 2 часов после приема пищи, и индекс - это площадь под кривой. Но уровни глюкозы или инсулина - это не вещи в себе, а результат их взаимной игры, поскольку поднятие глюкозы относительно базового уровня вызывает выброс инсулина, который стремится привести уровень к базовому, и реальные уровни определяются производительностью системы расщепления пищи и системой выработки инсулина, измеряется лишь результат. Т.е. площадь под кривой не отражает напрямую общее количество глюкозы в еде, оттого у разных студентов (их было 12) при одинаковой еде разные кривые (их отбирали здоровыми, но полюбому поджелудочная у всех работала по разному, активность желудочного сока разная, ферменты и пр.), а данные - результат усреднения, и там же приведены дисперсии. которые значительны - при значениях ниже 100 ср.кв.откл. порядка 10-20. Оттого я и не считаю отклонения порядка 10 по модели значимыми - точнее они быть не могут исходя из точности исходных данных.

Оттого и то, что у меня названо гликемическими и инсулинемическими откликами - тоже некоторая интегральная характеристика, разниуа в том. что индексы для стандартизации и возможности сравнения продуктов всегда на порции пищи 240 ккал, а отклик на порции произвольной. Даже суточный рацион при 1-разовом питании можно признать порцией в 2300 ккал.

 
 
 
 Re: Нелинейная множественная регрессия при нехватке наблюдений
Сообщение24.03.2020, 17:34 
Lena-Lisa в сообщении #1446815 писал(а):
Нулевой свободный член - начальное условие, не может быть реакции на пустой завтрак, оценка свободного члена некорректна по определению.
Lena-Lisa в сообщении #1446829 писал(а):
замеряя уровни глюкозы (или инсулина) каждые 15 минут в течение 2 часов после приема пищи, и индекс - это площадь под кривой.

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

 
 
 
 Re: Нелинейная множественная регрессия при нехватке наблюдений
Сообщение24.03.2020, 18:24 
igor_ivanov в сообщении #1446840 писал(а):
Если площадь под кривой построена по замерам уровня глюкозы в крови, то свободный член в уравнении, по-моему, должен быть. Даже если откладывать на графике разность (уровень глюкозы после приёма пищи - уровень глюкозы до приёма пищи), наличие свободного члена в уравнении тоже в принципе можно обосновать.

Там все строго формализовано - поскольку тощаковый уровень у всех разный, и подвержен случайным изменениям, всегда отчитывают от базового уровня, который принимается за 0.
И система контроля глюкозы через инсулин - самая обычная ТАР, притом неапериодическая, после возврата к 0 может быть перерегулирование(уже в минус), на практике это гипогликемия после съедания 1-2 плиток дешевого шоколада с сахаром, после чего дико хочется есть уже не для утоленя голода, а для спасения- это и есть основная причина избыточного веса. Так принято при этих измерениях отрицательные значения игнорировать, и время ограничивается 2 часами, даже если значение еще не затухло.
Свободный член - это значимое повышение уровня глюкозы безо всякой еды. Физиологически не обосновано, но признаю, что при обработке экспериментальных данных может появиться незначительное значение порядка нескольких единиц как артефакт для улучшения приближения, хотя бы оттого, что все продукты калорийны и необходиости генерирования значения 0 нет, это не скажется на точности или даже ее улучшит. Но методически неприемлемо. Этого-то и нельзя допускать, лучше та модель, котоаря отвечает механике процесса, даже за счет ухудшения приближения.

 
 
 
 Re: Нелинейная множественная регрессия при нехватке наблюдений
Сообщение24.03.2020, 19:42 
Lena-Lisa в сообщении #1446852 писал(а):
Свободный член - это значимое повышение уровня глюкозы безо всякой еды. Физиологически не обосновано

Не без еды, а без Fat, Protein, Sugar, Starch, Fiber и Water в еде. Или Вы не допускаете изменения уровня глюкозы вследствие иных причин?

 
 
 
 Re: Нелинейная множественная регрессия при нехватке наблюдений
Сообщение24.03.2020, 20:13 
mserg в сообщении #1446735 писал(а):
В английской версии регрессия есть
. На Kaggle, и не только, точно видел, что пользуются этой регрессией

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

mserg в сообщении #1446735 писал(а):
Сама идея в чем. Усложняя функцию, чтобы добиться ее пластичности, быстро приходим к переобучению - слишком много "степеней свободы"

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

Да, согласен, регуляризация потенциально позволяет учитывать в модели большее количество признаков, так как некоторые из них, будучи не значимыми в обычной МНК модели, за счёт отбрасывания части случайной дисперсии, в регуляризованной модели могут стать значимыми. В принципе, оптимальное число признаков может быть даже больше числа наблюдений. Но может - вовсе не означает, что так оно и будет. И даже если так - подбор оптимального регуляризатора очень сложная и нетривиальная задача. Для этого, в принципе, можно использовать теорию ridge регрессии, но боюсь, что ТС её не осилит. Ресамплинг, из-за крайне малого объёма выборки, здесь работать не будет, на это даже не стоит и надеяться. Ну а для Lasso и теории то никакой толком не разработано, там вообще непонятно, как выбрать $\lambda$.

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

 
 
 
 Re: Нелинейная множественная регрессия при нехватке наблюдений
Сообщение25.03.2020, 04:26 
igor_ivanov в сообщении #1446880 писал(а):
Не без еды, а без Fat, Protein, Sugar, Starch, Fiber и Water в еде.

Так мы же говорим об идеальных условиях эксперимента, там все описано. Измерение базового уровня, порция пищи, затем 2 часа измерения и чтение, тихие разговоры (особо оговорено, что запрещается обмениваться мнениями про еду, которая каждый день менялась, а то выйдет как у собаки Павлова!). Даже воды давалось 220 мл с пищей, а затем запрет. Среди предикторов же нет сна, физнагрузки, секса, стрессовых воздействий. Тоже представляет интерес, но это совсем другая песня.

 
 
 
 Re: Нелинейная множественная регрессия при нехватке наблюдений
Сообщение25.03.2020, 11:01 
Аватара пользователя
Касательно смысла свободного члена. Он крайне редко означает именно "уровень при нулевом значении всех регрессоров", поскольку в большинстве практических задач точка, в которой все регрессоры равны нулю, лежит вне области интереса и не представлена в данных.
Он возникает потому, что действительная зависимость почти всегда нелинейна, но достаточно часто в области данных приближаема линейной зависимостью удовлетворительно (поправка на нелинейность мала в сравнении с возмущающими факторами).
И реальная нелинейная зависимость $y=f(x)$ может быть разложена в ряд Тейлора, в котором ограничиваемся первыми двумя слагаемыми $y=f(x)\approx f(x_0)+\frac {df(x_0)}{dx}(x-x_0)$, так что в регрессии $y=ax+b$ свободный член есть $b=f(0)-af(x_0)\ne f(0)$ (при обычном построении регрессионной модели $x_0=\bar{x}$,среднему значению)
Поэтому модели со свободным членом работают, даже если никакого реального смысла, как значению регрессанда при всех нулевых регрессорах, ему придать нельзя.

 
 
 
 Re: Нелинейная множественная регрессия при нехватке наблюдений
Сообщение25.03.2020, 11:44 
Евгений Машеров в сообщении #1447029 писал(а):
Он возникает потому, что действительная зависимость почти всегда нелинейна, но достаточно часто в области данных приближаема линейной зависимостью удовлетворительно (поправка на нелинейность мала в сравнении с возмущающими факторами).

Да, это известная вещь, формулы основного обмена типа Кэннингхема (таких много) линейна в зависимости от тощей массы, но при 0 массы дает странное значение порядка 500-700 ккал. Это хорда степенной зависимости со степенью порядка 0,65-0,75.

-- 25.03.2020, 11:52 --

Евгений Машеров в сообщении #1447029 писал(а):
Касательно смысла свободного члена. Он крайне редко означает именно "уровень при нулевом значении всех регрессоров", поскольку в большинстве практических задач точка, в которой все регрессоры равны нулю, лежит вне области интереса и не представлена в данных.

Да, но смысл был обобщения данных, полученных на порциях пищи 240 ккал. Хотелось бы там, где возможно, интерполяцию делать в диапазоне 0-240 ккал, а не экстраполяцию. А нулевая точка при равенстве нулю предикторов и свободного члена фиксируется надежно, как и точка 240 ккал.

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

Ислледователи ведь не задавались целью установить количественную зависимость ИИ и ГИ от компонентов. при такой цели план эксперимента наверняка был бы иным. И попытки устанвоить эту зависимость по этим данным мне неизвестны. Но, что интересно, тут данные хоть получены путем измерения. Они же оценивали сытность продуктов по этим же продуктам, данные более рыхлые, поскольку получены путем опроса, измерять тут было нечего. Но попытка вывести регрессию, притом невероятно сложную, была сделана. Вот она, выкладываю оригинал записи, как у авторов этой формулы, картинкой по первоисточнику
https://nutritiondata.self.com/topics/fullness-factor

Изображение

Здесь CAL- калорийностиь порции, PR белки, DF клетчатка, TF жиры.
Смущает уже наличие ограничений по минимуму и максиму, т.е. результат некоторых вычислений выносит за реальные границы, и смущают кубы предикторов - это ни в какие ворота не лезет. Но они же приводят рисунок соотвествия оценке фактам - достаточно приемлемо. Но вот выйти за пределы эксперимента - тут к гадалке не ходи, разнесет. Зачем такие регрессии?
Я делала то же самое, линейная регрессия

$EC=0,22M+1,72P+0,15F+1,11(K+C)$.

Обозначения EC - единиц сытности, M - масса продукта, P - белки, F - жиры, K - крахмал, C - клетчатка.

Все вменяемо, белки насышают, жиры нет, сахар даже отсутствует (коэф. 0), поскольку сытность определялась через 2 часа, а через 2 часа после сахарного завтрака не сытность, а муки голода вследствие гипогликемии; в среднем насыщают крахмал и клетчатка. Механизм насыщения разный, но коэффициенты (случайно) близки. И насыщает сам вес еды, с коэффициентом 0,22. Что тоже работает - при одинаковой калорийности более объемная еда кажется более сытной.

Эта формула убедила меня, что множ. регрессия на наборе данных исследования работает, все коэффициенты соответствуют известным зависимостям, выражавшимся лингвистическими переменными типа белки насыщают, а жиры нет, и пр. А также известному мему, девизу анорексичек "хочешь есть, попей воды".
Ниже рисунок, точки - сытность продуктов по оценке формулы линейной регрессии, столбики - оценка по австр. эксперименту +/- 1 сигму. Видно, что за пределами коридора в 2 сигмы 5 оценок ниже, и 4 выше, итого 9 оценок, или 25% всех оценок. По нормальному распределению может быть 31,7%. Куда лучше?

Да, вспомнилось, меня спрашивали, проверяла ли я остатки на нормальность. Осознанно по обсуждавшимся выше формулам нет, но вот оценка по выпавшим за пределы +/- 1 сигмы значений для формулы сытности тоже ведь своего рода оценка.
Изображение

P.S. Моя формула в карантине исправлена, первую в виде картинки прошу оставить - она принадлежит не мне, именно в виде такой картинки была выложена на первоисточнике
https://nutritiondata.self.com/topics/fullness-factor

 
 
 
 Posted automatically
Сообщение25.03.2020, 13:09 
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Карантин»
по следующим причинам:

- не надо "выкладывать формулы картинкой" (краткие инструкции: «Краткий FAQ по тегу [math]» и видеоролик Как записывать формулы).

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 
 
 [ Сообщений: 42 ]  На страницу Пред.  1, 2, 3


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group