реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Метод наименьших квадратов, Не могу понять некоторые моменты
haker_fox
сообщение May 28 2014, 08:12
Сообщение #1


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Добрый день! Мне достался код, который из массива (назовём его y) вычисляет тангенс угла наклона прямой a. Само уравнение прямой y = ax + b и нас не интересует. Нужен только коэффициент a.

Формула для вычисления этого коэффициента широко известна, и приводится, например, тут.. Правда там его обозвали b, что сути не меняет.

В итоге получаем безразмерную величину. Так вот, код, который я получил, делит ещё это выражение для коэффициента на среднее арифметического массива y. Внятного ответа, зачем это, я не получил. Вернее, мне попытались объяснить, что таким образом коэффициент нормируется относительно массива или как-то так. Я этого не понимаю, ведь формула МНК приведена, и она для линейной зависимости одназначна. Кстати, по условию моей задачи нужно определить угол наклона прямой, "проведённой" через точки массива y. Нафига всё это делить на среднее арифметическое, я не знаю. Может быть кто-то встречался с подобным? Как я понимаю, когда величины в массиве распределены не по нормальному закону (а они распределены скорее по параболическому), то мы не вправе вычислять среднее арифметическое...

Спасибо за любые комментарии.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
kovigor
сообщение May 28 2014, 09:51
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(haker_fox @ May 28 2014, 15:22) *
Спасибо за любые комментарии.

И что, давно МНК стал алгоритмом построения прямой линии ? Вот, написано по вашей ссылке:

Цитата
Метод наименьших квадратов — это математическая процедура составления линейного уравнения ...

МНК вовсе не всегда дает прямую. См. первый том Пискунова, "Дифференциальное и интегральное исчисления".
А если по делу, то, насколько я понял, вам нужен алгоритм численного дифференцирования. Откройте того же Шелеста, "Микрокалькуляторы в физике", там расписано (стр. 123 и дальше). Или любую книгу по численным методам, вроде Бахвалова ...
Go to the top of the page
 
+Quote Post
Tanya
сообщение May 28 2014, 10:09
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(kovigor @ May 28 2014, 18:01) *
И что, давно МНК стал алгоритмом построения прямой линии ? Вот, написано по вашей ссылке:

И прямой - тоже. Что захотим, то и делаем...
В общем случае минимизируется (ищется минимум) выражение типа:
Сумма ( вес(может зависеть от разного...)*(экспериментальное значение - теоретическое значение (параметры по которым ищется минимум)^2)
Go to the top of the page
 
+Quote Post
haker_fox
сообщение May 28 2014, 19:07
Сообщение #4


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (kovigor @ May 28 2014, 23:01) *
И что, давно МНК стал алгоритмом построения прямой линии ? Вот, написано по вашей ссылке:

Давно. Я не знаю даты создания МНК, иначе бы вам назвал срок.
QUOTE (kovigor @ May 28 2014, 23:01) *
МНК вовсе не всегда дает прямую. См. первый том Пискунова, "Дифференциальное и интегральное исчисления".
А если по делу, то, насколько я понял, вам нужен алгоритм численного дифференцирования. Откройте того же Шелеста, "Микрокалькуляторы в физике", там расписано (стр. 123 и дальше). Или любую книгу по численным методам, вроде Бахвалова ...

Уважаемый kovigor, я абсолютно не понял вашего комментария...( Я знаю, что МНК можно аппроксимировать не только прямые. но я кажется ясно написал, что по условию задачи мне нужна именно прямая, что код не мой, а достался мне в наследство, и мне всё понятно, кроме деления коэффициента a на среднее арифметическое массива.

QUOTE (Tanya @ May 28 2014, 23:19) *
И прямой - тоже. Что захотим, то и делаем...
В общем случае минимизируется (ищется минимум) выражение типа:
Сумма ( вес(может зависеть от разного...)*(экспериментальное значение - теоретическое значение (параметры по которым ищется минимум)^2)

Ваш комментарий мне ещё менее понятен.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Tanya
сообщение May 29 2014, 03:57
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(haker_fox @ May 29 2014, 03:17) *
Ваш комментарий мне ещё менее понятен.

А мне - Ваш вопрос.
И мне непонятно, что Вам непонятно.
Вы бы формулу написали... непонятную.
Go to the top of the page
 
+Quote Post
Lagman
сообщение May 29 2014, 05:50
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 875
Регистрация: 28-10-05
Пользователь №: 10 245



Цитата(haker_fox @ May 28 2014, 16:22) *
Само уравнение прямой y = ax + b и нас не интересует. Нужен только коэффициент a....
...
Так вот, код, который я получил, делит ещё это выражение для коэффициента на среднее арифметического массива y. Внятного ответа, зачем это, я не получил. Вернее, мне попытались объяснить, что таким образом коэффициент нормируется относительно массива или как-то так. Я этого не понимаю, ведь формула МНК приведена, и она для линейной зависимости одназначна. Кстати, по условию моей задачи нужно определить угол наклона прямой, "проведённой" через точки массива y. Нафига всё это делить на среднее арифметическое, я не знаю....

Может делением они находят коэф. b который вам не нужен (судя по вашей ссылке на МНК).
Go to the top of the page
 
+Quote Post
iiv
сообщение May 29 2014, 10:00
Сообщение #7


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(haker_fox @ May 28 2014, 17:22) *
Формула для вычисления этого коэффициента широко известна, и приводится, например, тут.. Правда там его обозвали b, что сути не меняет.

В итоге получаем безразмерную величину.


да, формула по ссылке правильная. И величина в ней получается безразмерная, проверяем на пальцах, умножим последовательность X и Y на произвольное ненулевое число, тогда и числитель, и знаменатель умножатся на квадрат этого числа. Если умножать только последовательность Y на число, то b умножится на это число, что тоже верно.

Формулу можно вывести из дифференцирования суммы квадратов по неизвестных коэффициентам, и последующим решением линейной системы 2х2.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение May 29 2014, 18:57
Сообщение #8


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



В общем наконечн мне всё разъяснили. Коэффициент a делят на ср. арифм. измеряемой величины (т.е. a / ср. ариф.) для того, чтобы величина этого коэффициента не зависела от амплитуды измеряемой величины, простите за тавтологию.

Честно говоря, я сам не до конца разобрался. Но код и алгоритм в целом не мной придуманы, пришлось поверить rolleyes.gif


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Tanya
сообщение May 30 2014, 03:32
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(haker_fox @ May 30 2014, 03:07) *
Честно говоря, я сам не до конца разобрался. Но код и алгоритм в целом не мной придуманы, пришлось поверить rolleyes.gif

Вот бы и разобрались, а не принимали на веру.
Это везде описано. И уж никак не относится к программированию, куда Вы поместили сей топик. Напишите на бумаге сумму квадратов отклонений, продифференцируйте по параметрам и приравняйте результат нулю. Получите уравнения, из которых все увидите сами.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение May 30 2014, 03:40
Сообщение #10


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (Tanya @ May 30 2014, 16:42) *
Вот бы и разобрались, а не принимали на веру.
Это везде описано. И уж никак не относится к программированию, куда Вы поместили сей топик. Напишите на бумаге сумму квадратов отклонений, продифференцируйте по параметрам и приравняйте результат нулю. Получите уравнения, из которых все увидите сами.

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



--------------------
Выбор.
Go to the top of the page
 
+Quote Post
_Ivana
сообщение May 31 2014, 17:32
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 13-08-11
Из: Воронеж
Пользователь №: 66 710



Цитата(haker_fox @ May 28 2014, 16:22) *
В итоге получаем безразмерную величину.
...
Кстати, по условию моей задачи нужно определить угол наклона прямой, "проведённой" через точки массива y. Нафига всё это делить на среднее арифметическое, я не знаю.

Пользуясь вашей терминологией - фиг там. Если у вас зависимость вольтов от секундов, то никакой безразмерности не наблюдется. И переводы тех же данных в киловольты от годов ситуацию не сильно спасут. И с "углом наклона" та же петрушка - возьмите в экселе график y = x и порастягивайте его по горизонтали/вертикали, понаблюдайте за углом.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jun 1 2014, 19:57
Сообщение #12


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (_Ivana @ Jun 1 2014, 06:42) *
Пользуясь вашей терминологией - фиг там. Если у вас зависимость вольтов от секундов, то никакой безразмерности не наблюдется. И переводы тех же данных в киловольты от годов ситуацию не сильно спасут. И с "углом наклона" та же петрушка - возьмите в экселе график y = x и порастягивайте его по горизонтали/вертикали, понаблюдайте за углом.

Да, да, спасибо, я уже разобрался.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01478 секунд с 7
ELECTRONIX ©2004-2016