Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/92: Рейтинг темы: голосов - 92, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 51

Аппроксимация методом наименьших квадратов

13.02.2013, 23:09. Показов 19666. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу узнать, есть ли в пайтоне или в скайпай/нампай какие-то стандартные функции для данной распространенной операции, как они работают, как их использовать, возможные подводные камни и тд.
Потому как часто возникает такая потребность, в экселе это делать не очень удобно, а писать скрипт каждый раз на систему из разного числа уравнений тоже как-то тупо. Интересует аппроксимация полиномами 2-8 порядков.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.02.2013, 23:09
Ответы с готовыми решениями:

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

Обработка данных методом наименьших квадратов
Есть 2 массива данных (x и y), которые нужно обработать с помощью МНК сначала линейным, затем квадратичным способом. Возник вопрос по...

Расчет системы уравнений с 4 - мя неизвестными методом наименьших квадратов
Имеется система уравнений в данном случае 5 уравнений (может быть больше): math.sqrt(pow((4 - x), 2) + pow((3 - y), 2) + pow((5 - z),...

6
110 / 36 / 5
Регистрация: 27.12.2012
Сообщений: 130
15.02.2013, 19:40
Если речь идет о OLS, то в Экселе имеется данная функция. И есть другие программы, которые более адаптированы для таких подсчетов. Тот же R. Не могли бы вы сказать поконкретнее, что вы хотите делать с наименьшими квадратами? Какие у вас данные? Какая цель? "Аппроксимация полиномами 2-8 порядка" - мне это фраза ни о чем не говорит.
0
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 51
15.02.2013, 19:49  [ТС]
Уважаемый, причем тут вообще эксель и другие программы когда я спрашиваю о средствах Python?))
Аппроксимация полиномами говорит о том что в частности, меня интересует данный вид аппроксимации, и про экспоненциальную например аппроксимацию можно речь не вести.
У меня сложилось впечатление что вы не поняли о чем вообще речь и туманно представляете себе, что такое аппроксимация и МНК) Если не так то прошу прощения.
0
 Аватар для pashtet-kun
135 / 120 / 37
Регистрация: 30.09.2012
Сообщений: 400
15.02.2013, 22:31
Есть модуль ols.py - http://www.scipy.org/Cookbook/OLS, http://code.google.com/p/pytho... e=v2.6.6.1
- думаю это то что нужно
1
110 / 36 / 5
Регистрация: 27.12.2012
Сообщений: 130
15.02.2013, 23:29
pashtet-kun, опередили. Я вот еще что нашла: http://statsmodels.sourceforge.net/


you_fail_me, Статистика, эконометрика и т.п. не являются главной целью Питона. Модули есть (см. выше), но они ничто по сравненю с другими программами, которые между прочим могут использовать питон. "Аппроксимация полиномами, экспоненциальная аппроксимация и т.п." - это линейная* регрессия для которой вы можете** использовать метод наименьших квадратов. На английском : Ordinary least squares (OLS). Если ваша цель использовать исключительно Питон, то смотрите ссылки в этой теме. Если ваша цель найти способ сделать все оптимально быстро, эффективно и что бы всегда работало со всеми видами данных - Питон не выход просто потому что все уже давно написанно. Ексель не является исключением, в нем встроена возможность линейной мультирегрессии. Или вот например: http://www.xlstat.com/en/produ... n-ols.html

Проще будет если вы озвучите вашу реальную задачу: какие данные, в каком формате, как часто, что вы хотите с этими данными делать и что хотите получить. А я вам как специалист озвучу:
Цитата Сообщение от you_fail_me Посмотреть сообщение
стандартные функции для данной распространенной операции, как они работают, как их использовать, возможные подводные камни и тд.
Грубо говоря: Эксель для всех типов регрессий это все же своеобразный мазахизм с профессиональной точки зрения, но для 99% случаев самое оно. Питон оправдан для снятия рутины, но не более. А так существуют: EViews, RATS, STATA, R, SAS (имхо мазахизм похуже экселя) и т.п.

П.С. я = она.

* Полиномы известны, не известны коэффециэнты. Иксы, игрики и прочее могут быть чебурашками, главное что бы у коэффициентов была линейнаяя связь. Т.е. ваши полиномы могут быть 20000 порядка, лишь бы была линейная связь у коэффициентов и достаточно данных.

** Окромя линейной (в плане коефициэнтов и так называемой методом наименьших квадратов) регрессии, есть еще много других регрессий.
0
0 / 0 / 0
Регистрация: 16.02.2012
Сообщений: 51
16.02.2013, 16:33  [ТС]
Спасибо pashtet-kun, за ответ, а vorobichek, — за флуд

Добавлено через 3 минуты
pashtet-kun, не могли бы рассказать о том в чем разница с точки зрения алгоритма/механизма при применениее модуля OLS и например функции polyfit?
0
110 / 36 / 5
Регистрация: 27.12.2012
Сообщений: 130
16.02.2013, 21:03
you_fail_me, я вам дело говорю... зря не слушаете.
Цитата Сообщение от you_fail_me Посмотреть сообщение
не могли бы рассказать о том в чем разница с точки зрения алгоритма/механизма при применениее модуля OLS и например функции polyfit?
Модуль OLS (или lstsq в numpy) - универсальная линейная мультирегрессия, которая находит значения коэф. минимизируя квадраты остатков. В зависимости от того, что входит в программу, выводит помимо полученных коэф.: R², p-value различных базовых тестов и т.п. Объясняемая переменная одна (У), объясняющие переменные могут быть чем угодно: сумма других переменных, переменные возведеные в степень (как в вашем случае), поделены на что-либо и т.д.

Модуль polyfit - частная линейная регрессия, где изначально указывается, что в уравнении:
Y = a0*X0 + a1*X1 + ... + ap*Xp
Xp = X в степени p.
Чтобы найти коэф. программа обращается к другому модулю (lstsq), который с помощью наименьших квадратов находит значение коэф.

Грубо говоря используя OLS или lstsq вы должны указать каждую объясняющию переменную. Что X0 это Х в нулевой степени, что X1 это Х в первой степени и что Xp это Х в степени р. Используя polyfit вам достаточно указать значения Х, максимальную степень и значения У.

Т.е. в вашем случае лучше использовать прямо polyfit.

Что касается:
Цитата Сообщение от you_fail_me Посмотреть сообщение
как они работают, как их использовать, возможные подводные камни и тд.
невозможно ответить не зная, что у вас за данные и что вы с ними хотите делать. Тот же data mining* большущий подводный камень для практически любой регрессии, за исключением некоторых случаев...

* n неизвестных коэф. = n уравнений. В результате псевдо идеальная регрессия с нулевой ошибкой
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.02.2013, 21:03
Помогаю со студенческими работами здесь

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

Аппроксимация методом наименьших квадратов
Взять модельный сигнал (a*sin(b*x), x=0..2*pi), добавить случайный шум, методом наименьших квадратов найти параметры a, b. С чего...

Метод наименьших квадратов
Здравствуйте , есть код реализации МНК для аппроксимирующей гиперболы , но мне нужно вместо гиперболы вставить свою аппроксимирующею...

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

Метод наименьших квадратов
Здравствуйте! В институте дали задачку: Решить уравнение вида f(x) методом наименьших квадратов.(на python) Не могу нагуглить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru