2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3  След.
 
 Re: Регрессия в R
Сообщение14.06.2022, 15:41 
Аватара пользователя
Geen

Если говорить об одной-единственной ячейке у нас конечно есть возможность компенсировать изменения одного параметра через два других. Однако если взять таблицу 3х3, то у нас уже будет по три штуки параметров $M$ и $D$ и $A$ и фактически задача наша в этом случае сводится к решению системы уравнений. Я пока что не пробовал это проделать и посмотреть, что получится, но интуиция подсказывает, что поскольку число уравнений равно числу неизвестных, то все параметры определятся однозначно.

 
 
 
 Re: Регрессия в R
Сообщение14.06.2022, 16:52 
Аватара пользователя
metelev в сообщении #1557377 писал(а):
но интуиция подсказывает

Так Вы просто, без всякой интуиции, на вопрос ответьте... - это гораздо проще, чем решать систему из 9-ти уравнений.

 
 
 
 Re: Регрессия в R
Сообщение14.06.2022, 20:27 
Аватара пользователя
Geen
Видимо что-то я не замечаю. Не понимаю, каким образом тут могут получиться другие решения. Имеем решение и заменяем $A_j$ на $A'_j=A_j+\alpha$. Дальше у нас для каждой строчки есть $M_i$ и $D_i$, на всю строчку одни и те же числа. В результате в каждой ячейке мы получим свою добавку $D_i\alpha$ и одним-единственным параметром $M_i$ никак не сможем её во всей строчке разом занулить.

-- 14.06.2022, 20:32 --

Geen
Дошло. Правильно, можем написать -$\Delta M_i$=$D_i\alpha$.

 
 
 
 Re: Регрессия в R
Сообщение14.06.2022, 20:38 
Аватара пользователя
metelev в сообщении #1557406 писал(а):
можем написать -$\Delta M_i$=$D_i\alpha$.

Ну давайте, уж не нарушая обозначений, напишем $M'_i=M_i-D_i\alpha$

То есть, Вы согласны, что имея какое-либо решение исходной задачи, мы можем получить решение исходной задачи для которого $\overline{a}=0$?

 
 
 
 Re: Регрессия в R
Сообщение15.06.2022, 05:53 
Аватара пользователя
Geen в сообщении #1557408 писал(а):
То есть, Вы согласны, что имея какое-либо решение исходной задачи, мы можем получить решение исходной задачи для которого $\overline{a}=0$?


Получается, что можно. Получается, что из этих данных на основе этой формулы можно извлечь только разностные вещи.

Дальше уже я бы действовал как изначально хотел. Попарно вычитать, видимо можно сделать так чтобы везде были положительные результаты в виде произведения $D_i(A_{j1}-A_{j2})$. Взять логарифм и тем самым сделать сумму вместо произведения. И далее уже численно её решить.

 
 
 
 Re: Регрессия в R
Сообщение15.06.2022, 10:04 
Аватара пользователя
metelev в сообщении #1557436 писал(а):
Дальше уже я бы действовал как изначально хотел.

Подождите, давайте вернёмся к среднему по строке... Так чему оно равно, при условии $\overline{a}=0$?

 
 
 
 Re: Регрессия в R
Сообщение15.06.2022, 10:44 
Аватара пользователя
Geen в сообщении #1557460 писал(а):
Подождите, давайте вернёмся к среднему по строке... Так чему оно равно, при условии $\overline{a}=0$?


Давайте. :-) При условии, что $\overline{a}=0$ среднее по строке будет равно $M_i$

 
 
 
 Re: Регрессия в R
Сообщение15.06.2022, 10:52 
Аватара пользователя
metelev в сообщении #1557462 писал(а):
Geen в сообщении #1557460 писал(а):
Подождите, давайте вернёмся к среднему по строке... Так чему оно равно, при условии $\overline{a}=0$?


Давайте. :-) При условии, что $\overline{a}=0$ среднее по строке будет равно $M_i$

Ок. То есть часть параметров мы уже вычислили, правильно?
Теперь давайте, всё-таки, вычтем это среднее из каждой строки и сформулируем новую задачу для оставшихся параметров. И ещё что-нибудь упростим/вычислим...

 
 
 
 Re: Регрессия в R
Сообщение15.06.2022, 11:28 
Аватара пользователя
Geen в сообщении #1557464 писал(а):
Теперь давайте, всё-таки, вычтем это среднее из каждой строки и сформулируем новую задачу для оставшихся параметров. И ещё что-нибудь упростим/вычислим...


Было бы хорошо, но не получится же. Если мы возьмём среднее по строке, то получится $\overline{a}D_i+M_i$. В виде суммы, не по-отдельности. Второе слагаемое ведь не зависит от $a$ и его среднее будет равно ему самому.

 
 
 
 Re: Регрессия в R
Сообщение15.06.2022, 22:47 
Аватара пользователя
metelev в сообщении #1557470 писал(а):
виде суммы, не по-отдельности.

Какой суммы? мы разве не договорились, что $\overline{a}=0$??

 
 
 
 Re: Регрессия в R
Сообщение16.06.2022, 09:11 
Аватара пользователя
Geen

Круто. Кажется я понял. Мы находим одно из решений, а потом трансформируем его так, чтобы выполнялось $\overline{a}=0$

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

Неужели начальная задача полностью решится?

Там вообще-то довольно много работы. Есть строчки, для которых должно выполняться $e_{ij}=\operatorname{const}$, а это немного не выполняется. Надо будет подправить домножением на число $\approx 1$. Видимо вручную и "на глаз".

Спасибо большое.

 
 
 
 Re: Регрессия в R
Сообщение16.06.2022, 10:30 
Аватара пользователя
metelev в сообщении #1557541 писал(а):
Мы находим одно из решений, а потом трансформируем его так, чтобы выполнялось $\overline{a}=0$

Нет, не так. Мы выяснили, что если есть одно решение, то решений бесконечно много. При этом, среди них есть такое, что $\overline{A}=0,\ M_i=1/n\sum_j e_{ij}$. И поскольку мы уже нашли часть решения, переформулируем задачу так, что бы уже найденное там не фигурировало.
А именно, заменим $e'_{ij}=e_{ij}-1/n\sum_j e_{ij}$ и будем решать задачу $a_id_j=e'_{ij}$ при условии $\overline{a}=0$
И если мы найдём какое-то решение этой новой задачи, то оно будет частью решения исходной.
.....
И это ещё не всё...

 
 
 
 Re: Регрессия в R
Сообщение16.06.2022, 11:53 
Аватара пользователя
Geen

То, что у Вас написано, это вариант решения, которое мне пришло в голову с Вашей подачи.

Дальше чтобы его раскрутить надо решать $a_id_j=e'_{ij}$. Условие $\overline{a}=0$ уже автоматически выполняется для новых исходных данных.

Только у Вашего варианта половина таблицы $e'_{ij}$ будет отрицательная. У моего, впрочем, тоже, часть таблицы отрицательной получится. Так что логарифм так просто не взять, придётся либо отделять положительную часть, либо по модулю, что некрасиво и лишняя головная боль.

Но я не вижу, что тут ещё интересного можно сделать.

 
 
 
 Re: Регрессия в R
Сообщение16.06.2022, 11:58 
Аватара пользователя
metelev в сообщении #1557556 писал(а):
Но я не вижу, что тут ещё интересного можно сделать.

Ну теперь можно вспомнить что я написал в самом начале про умножение/деление на $r$...
Если у нас есть какое-либо решение $A_j,\ D_i$ модифицированной системы, то мы можем построить ещё одно (бесконечно много, на самом деле) решение $A'_j=A_jr,\ D'_i=D_i/r$, правильно?

-- 16.06.2022, 12:02 --

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

-- 16.06.2022, 12:04 --

metelev в сообщении #1557556 писал(а):
Условие $\overline{a}=0$ уже автоматически выполняется для новых исходных данных.

Нет. Это зависит от способа решения полученной системы (мало ли какой странный способ мы выберем)...

-- 16.06.2022, 12:06 --

metelev в сообщении #1557556 писал(а):
Так что логарифм так просто не взять

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

 
 
 
 Re: Регрессия в R
Сообщение16.06.2022, 22:33 
Аватара пользователя
Geen в сообщении #1557557 писал(а):
Вы либо что-то скрываете про свою задачу, либо идея брать логарифм "странная"....



Ну хочется же побыстрее и чтобы возиться поменьше. А это значит что максимально близко к стандартным методам. А в стандартных методах подразумевается сумма.

Но быстро не получается. Не получилось пока что.

Про задачу я практически ничего не скрываю. Могу ещё рассказать. Данные со спектрофотометра. $A$ это степень диссоциации. Меняется от 0 до 1. $e$ это молярный коэффициент поглощения. Складывается из двух форм, диссоциированной и недиссоциированной, а весом служит степень диссоциации. Вот и всё.

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

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

Так получается, что мне приходится отвлекаться на посторонние дела, а потом вспоминать всё уже пройденное.

На самом деле конечно в результате обсуждения понимание существенно улучшилось :-)

Ну а регрессию в том или ином виде всё равно по-хорошему надо задействовать. Ну просто потому, что числа хотя и ложатся в модель довольно хорошо, но всё же не на 100% ей соответствуют.

Geen в сообщении #1557557 писал(а):
И если да, то сразу вопрос - что ещё мы можем подсчитать для строки (и чему оно будет равно)?


Вот чес. слово, не знаю. Произведение можно подсчитать. Только не знаю, зачем.

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


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