Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2015, 22:19   #1
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию Как Экзель подбирает функции?

Вот в Экзеле есть фишка - линия тренда, когда он старается подобрать функцию под график. Вопрос - какой алгоритм для этого используется?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 03.03.2015, 22:51   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

гуглинг на предмет аппроксимации функций
pu4koff вне форума Ответить с цитированием
Старый 03.03.2015, 23:04   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Он не подбирает функцию. Он просто вычисляет коэффициенты для многочлена по координатам точек.
Может быть https://ru.wikipedia.org/wiki/Кривая_Безье , может быть еще какие - Лежандра, Чебышева ..
type_Oleg вне форума Ответить с цитированием
Старый 03.03.2015, 23:04   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Похоже, что это аппроксимация полиномом, которая в свою очередь основана на минимизации суммы квадратов отклонений между теоретическими и экспериментальными данными.
Вадим Мошев вне форума Ответить с цитированием
Старый 03.03.2015, 23:16   #5
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Utkin, я 2 года назад начал изучение этого вопроса... вообщем то конкретно какие именно подходы аппроксимации исходя из официальной документации не ясно.
По моим исследованиям (сравнение результатов по многократным опытам) в основе лежит метод наименьших квадратов для линейной модели.
Не линейные модели приближаются к линейным по средствам линеаризации логарифмированием.
Для прогнозирования используется теоретическая модель (уравнение тренда) с определенным вхождением в будущее по шагам.
С временными рядами стандартно работать вообще не умеет, тем более с учетом коэффициентов сезонности.
П.с. в связи с этим остро встал вопрос оценки качества аппроксимации в Excel, оценку офис не прошел и пришлось писать собственный модуль для статистического анализа.
п.п.с. У меня на сайте далеко не самая последняя его версия, по этому если что, пиши.. вышлю и расскажу как пользоваться.
п.п.п.с. В Excel есть еще надстройка - пакет анализа, по умолчанию не активна, нужно активировать. Так вот "Пакет анализа" имеет более мощный функционал, но он тоже весьма ограничен.

Последний раз редактировалось kta87; 03.03.2015 в 23:22.
kta87 вне форума Ответить с цитированием
Старый 03.03.2015, 23:20   #6
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

А точнее, этот вид аппроксимации называется интерполяция.
Вадим Мошев, не, это скорее всего не метод наименьших квадратов. Потому что при МНК график не обязательно пройдет через всеточки. А в Excel - он обязательно проходит через все заданные точки. Поэтому иногда выбросы бывают, когда сглаживаешь что-то ступенчатое.
Изображения
Тип файла: jpg гра.jpg (22.8 Кб, 109 просмотров)

Последний раз редактировалось type_Oleg; 03.03.2015 в 23:26.
type_Oleg вне форума Ответить с цитированием
Старый 03.03.2015, 23:24   #7
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

type_Oleg, вы в корне ошибаетесь! Методы интерполяции Excel использует разве что при "линейной фильтрации".
Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Потому что при МНК график не обязательно пройдет через точки. А в Excel - он обязательно проходит через все заданные точки.
Только при линейной фильтрации!

Последний раз редактировалось kta87; 03.03.2015 в 23:35. Причина: Добавил диаграмму-пример аппроксимации модели вида y=ax^b
kta87 вне форума Ответить с цитированием
Старый 03.03.2015, 23:34   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Я не знаю, что такое линейная фильтрация. Я просто построил диаграмму, типа X-Y, со сглаживанием.
И у меня всегда получалось так, что сглаженный график проходил через все заданные точки . В данном примере - через все 15 точек.
Хотошо, kta87, постройте по моим данным сглаженный график, который пройдет мимо некоторых из заданный точек. По идее, это должно быть похоже на график арктангенса или интегральной функции нормального распределения.
Можете ?

PS Может быть я Excel не очень знаю. Но помему то всегда получалось по точкам.
type_Oleg вне форума Ответить с цитированием
Старый 03.03.2015, 23:43   #9
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Цитата:
Сообщение от type_Oleg Посмотреть сообщение
Можете ?
Угу. Вот:

Из убого набора Excel по коэффициенту детерминации лучше всего аппроксимируется полиномом 6 степени.
Цитата:
Сообщение от type_Oleg Посмотреть сообщение
PS Может быть я Excel не очень знаю.
Ну типа...
kta87 вне форума Ответить с цитированием
Старый 03.03.2015, 23:44   #10
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

type_Oleg
Цитата:
не, это скорее всего не метод наименьших квадратов. Потому что при МНК график не обязательно пройдет через всеточки. А в Excel - он обязательно проходит через все заданные точки
Имхо, строго говоря, график не пройдёт ни через одну из точек во всех случаях. Погрешность-то никто не отменял. Ну и интерполяция - это более общий случай аппроксимации. В случая аппроксимации известен вид зависимости.
Вадим Мошев вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экзель неправильно считает ячейку Utkin Софт 2 29.10.2012 21:42
Можно ли задать глобальную переменную из функции или как-то напрямую использовать память для хранения переменных из функции? Suny-o Общие вопросы Delphi 2 14.06.2012 11:45
Передача функции другой функции как аргумента C # stopanko C# (си шарп) 2 20.11.2011 13:13
Как подменить адрес возврата функции func на адрес функции f используя переполнение буфера buf и функции gets dmitrii6120 Помощь студентам 6 14.11.2011 20:10
Экзель и Делфи Abbatik Общие вопросы Delphi 1 25.01.2008 10:23