Страницы: 1
RSS
Прогноз. Как заполнить пропуски в данных по неизвестной закономерности при имеющихся соседних данных
 
Приветствую!
Проблема - в описании. Подробности - на скрине. Файл присутствует.
Достаточно ли использовать устаревшую ПРЕДСКАЗ или есть что-то получше для такого случая?
Файл и скрин

Родственная тема: Определение промежуточных данных, Апроксимация, интерполяция и тому подобные шалости с табличными данными.
Изменено: Jack Famous - 25.10.2022 15:44:57
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
ПРЕДСКАЗ  - это линейная зависимость (устраивает - пользуйтесь)
см. вложение
из картинки видно, что полином 2-й степени гораздо ближе к исходным и достоверность = 0.997
(если достоверность 1 данные представляли из себя функциональную зависимость и вы определили ее)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, спасибо)
Наспех взял первое попавшееся, т.к. на работе срочно надо было, а я давненько не работал с этим)) Посмотрю завтра и ещё спрошу пару моментов...

Мы такими темпами подружился обратно  :D
Изменено: Jack Famous - 20.05.2022 22:41:45
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Jack Famous написал:
Мы такими темпами подружился обратно  
а не надо воспринимать то, что Игорь болезненно воспринимает некоторые моменты неграмотности, за выпады, в адрес персональный. Я о общем фоне неграмотности части ТС. Ну правда, ведь еще немного и будут спрашивать формулу нахождения точки пересечения двух параллельных линий или сумму углов окружности.
По вопросам из тем форума, личку не читаю.
 
БМВ, несмотря на дополнение, я всё равно не понимаю, о чем ты) Игоря я нередко открыто поддерживаю, потому что просто согласен)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Итак. Накурившись математических статей, я, наконец, готов ответить и спросить  :)

Ігор Гончаренко, ещё раз спасибо за решение. Благодаря вашему указанию на полиномы, я и начал копать в нужном направлении (узнал нужную мне тему).
Столбец("A:B") в вашей формуле массива заменяет {1:2}. Я правильно понимаю?
Почему вы растягиваете формулу массива аж на 9 ячеек и используете вывод статистики в обоих случаях?
Почему первые 3 значения являются коэффициентами, 7е — коэффициентом достоверности, а остальные - не нужны?
Как вывести коэффициенты для функций A*x^2+B*x +C и A*x + B обычными немассивными формулами и кодом?

В файле ниже я использовал материалы статей 3 способа расчёта полинома в Excel (4analytics) и Интерполяционные полиномы второй степени (Accel) и рассчитал значения для неизвестных.
Правильно ли я выбрал 3 опорные точки? По какому принципу их стоит выбирать? Как правильно рассчитать погрешность (насколько точный ответ я получил)?
Файл, скрин и код
Изменено: Jack Famous - 23.05.2022 15:49:32
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
ТУТ смотрели очень похоже, и ТУТ в том году было
Изменено: Msi2102 - 23.05.2022 16:17:13
 
Msi2102, спасибо — отличные ссылки  :idea: Смотрю…
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
это же не просто столбец - это Х в степени столбец  т.е. х и х2 (х в квадрате)
можно было формулами в отдельную колонку посчитать х2 и вместе с х указать их как известные параметры
результаты ЛИНЕЙН вытащены в 3х3 потому что для полинома 2-й степени нужно 3 коэффициента
и в документации о ЛИНЕЙН там описаны все статистики, которые выводит функция
но интересна R2 (R квадрат) показывающая насколько близко предполагаемая функциональная зависимость соответствует исходным данным
ЛИНЕЙН вычисляет коэффициенты с помощью метода наименьших квадратов
в расчете участвуют ВСЕ имеющиеся пары точек, а не какие-то 3 опорных

дописал в файл коэффициенты полинома 6 и 8 степени
дело в том что при 8 парах точек, ЛИНЕЙН определит такие коэфф. что полином 8-й степени точно пройдет через исходные точки
степень достоверности= 1
вроде все прекрасно!
но стоит только посмотреть значения функции этого полинома на промежуточных значениях - он там такие зигзаги выписывает! от -25 до 556
при х = 47, полином 8-й степент больше 550!!!
полином 6-й степент еще так -сяк, а 8-й - полный разнос на промежуточных Х
см. файл
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, спасибо за пример! Разобрался теперь  :)
Без массива можно нужные коэффициенты вытаскивать из первой строки массива ИНДЕКСОМ (как ZVI показывал). Но при этом, конечно, вычисляться будет каждый раз…

Цитата
Ігор Гончаренко: это же не просто столбец - это Х в степени столбец  т.е. х и х2 (х в квадрате)
это я понял)
Цитата
Ігор Гончаренко: интересна R2 (R квадрат) показывающая насколько близко
спасибо — прочёл документацию и там тоже всё написано (сюрприз  :D  ). Однако, судя по данным полиномов 6 и 8 (и как вы говорите далее), отличная "сходимость" таковой не является для вычисления промежуточных значений.

Можно ли сказать, что "лучшее" — враг хорошего в данном случае и наиболее точные промежуточные вычисления лучше брать полиномом 2го порядка из вашего первого ответа?
Мои VBA-функции тоже, получается, не нужны, т.к. ограничены 3мя точками и заведомо меньшими данными оперируют?
Можно ли сделать более точный VBA-аналог и как бы он выглядел?
Выдёргивать коэффициенты из линии тренда (как тут tutochkin показал) тоже не очень хорошая идея (в моём примере большой разброс).
Изменено: Jack Famous - 23.05.2022 17:06:02
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Jack Famous написал:
ещё раз спасибо за решение. Благодаря вашему указанию на полиномы, я и начал копать в нужном направлении (узнал нужную мне тему).
Я бы смотрел в сторону сплайновой интерполяции
Либо вариант кусочно-линейной интерполяции, которую можно реализовать формулами через ПРЕДСКАЗ
Для "сглаженных" графиков можно посмотреть интерполяцию кубическим сплайном (или другими сплайнами)
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=57124
https://www.cyberforum.ru/ms-excel/thread599612.html (тема 10-ти летней давности)
 
MCH, спасибо! А что посоветуете в моём случае?  :)
Файл

В вашем примере штатная ПРЕДСКАЗ лучше всех справилась — сейчас попробую…
Весьма недурно и скачки исключены  :idea:
Изменено: Jack Famous - 23.05.2022 18:16:45
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
кстати, по конкретным данным Excel рисует график кубическими сплайнами
кубический сплайн - красивая гладкая кривая, где в каждой точке правая и левая касательная к кривым образуют одну прямую
но совершенно другой вопрос насколько эта кривая соответствует реальной функциональной зависимости между парами Х и У
любые данные если между ними есть функциональная зависимость требуют в первую очередь выяснить эту зависимость, во вторую очередь определить точные коэффициентов в этой зависимости
выяснение функциональной зависимости - это очень творческий процесс, сначала определяем тип зависимости, потом коэффициенты
я на существующих 8-ми парах Х и У определил коэффициенты полинома 8-й степени, функция с которыми АБСОЛЮТНО ЧЕТКО проходит через все 8 точек. через ВСЕ 8!!!
но там же я написал для х = 47 у = 556
понимаете, у нас Х от 1 до 50, для них У от 1 до 9
полином 8-й степени - проходит строго через все пары 8 точек, но при х = 47 у =556???
возможно полином 8-й степени с вычисленными коэффициентами это и есть функциональная зависимость
а возможно (скорее всего) это просто математическая фикция, хрен знает какая зигзаговая кривая, с хрен знает какими экстремумами в промежутках, но... точно прошедшая через заданные 8 пар)))

кубические сплайны отлично изображают плавную кривую проходящую через все точки, но однозначно - это не единая функция между значениями Х и У. это искусственный набор функций, позволяющий красиво прорисовать линию по заданным парам точек
Изменено: Ігор Гончаренко - 24.05.2022 10:05:03
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Пара вариантов интерполяции и аппроксимация полиномом

UPD: дополнил интерполяцией от С.М.
из темы: https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=8&TID=44135
Изменено: MCH - 24.05.2022 10:52:44
 
Ігор Гончаренко, полностью согласен про "мнимую" сходимость полиномов выше второго порядка. С другой стороны, обычно при таких возмущениях (обычно такие происходят с моей стороны) вы бы сказали "не нужно ждать от метода/функции/программы того, чего она не должна делать. Они не обязаны работать по вашему желанию, а работают по своим правилам.".  :D То есть полиномы делают то, для чего предназначены - находят уравнение, которое бы максимально близко подошло к известным значениям Y при заданных X. А то, что его "колбасит по пути" — видимо, и не предусмотрено иное  :)
Про кубические сплайны интересно — что именно вы имеете в виду? Можете показать?

Цитата
MCH: Пара вариантов
великолепная модель  :idea: благодарю — забрал в коллекцию вместе с демонстрациями от ZVI  8)
Особенно впечатлили полиномы на интересных формулах со счётчиком размерности в ячейке  :idea:

Я решил пока что делать так: беру 2-5 вариантов. Строю графики, в которых меняются только вычисляемые точки и выбираю глазами наиболее логичный/приятный. Пока так. Математику подтянуть для этих целей пока не могу. Буду изучать VBA-варианты от MCH

Дискуссия продолжается — кто знает, как определить более "корректный" график автоматически?
В примере заложена растущая кривая, основанная на Y ценах перевозки за X км.
Файл и скрин
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх