|
4366 / 1694 / 342
Регистрация: 23.06.2009
Сообщений: 6,009
|
|
Выравнивание линий (не знаю как точней назвать, подробности внутри)02.06.2023, 10:08. Показов 820. Ответов 4
Метки нет (Все метки)
Доброго дня форумчане.
Даже не знаю как назвать задачу, опишу что есть и что хочется. Есть некий набор данных, скажем измерений, для легкости восприятия представлен в линиях рис 1 - исходные данные, рис 2 те же данные только с границами интервала измерений, само значение "точки" получено как среднее арифметическое результатов измерений, в скобках количество измерений. Там где нет скобок, значения получены по данным прямой проходящей между двумя соседними точками. Необходимо скорректировать эти данные так, чтобы выполнялся ряд условий. по отдельной линии: - значение точки справа должно быть меньше значения точки слева - линия должна быть приближена к прямой, в идеале это показательная функция - значения после корректировки должно находится в пределах интервала измерений - минимально должны изменяться точки с бОльшим количеством измерений - точки с единичным измерением (1) могут считаться не достоверными, их можно изменять как угодно - есть такие измерения, в которых скажем более 2 измерений к примеру 5 или 6, но интервал этих измерений относительно небольшой, такие измерения тоже можно считать как не достоверные, это как к примеру 6 человек произвели измерения одного и того же события, но в силу погрешности измерительных инструментов получили разные значения близкие друг к другу по совокупности линий: - у линий есть порядок: красная, зеленая, голубая, синяя, розовая, желтая, линии должны быть выстроены в этом порядке - минимально должны изменяться положения линии у которых большее количество измерений в совокупности по линии или на каком-то ее участке - линии не должны пересекаться - линии примерно должны быть примерно параллельны не знаю ка описать, иметь одинаковый наклонв результате должно получится нечто подобное таких наборов линий около 4 тыс, правки в ручном режиме занимает просто огромно неприличное количество времени сейчас это происходит так, ищутся все линии которые не соответствуют условиям "отдельной линии", производится ее корректировка после того как все линии соответствуют условиям, ищутся наборы линий которые не соответствуют условиям "по совокупности линий" и производится вручную корректировка. Задача по максимальному автоматизировать весь этот процесс, ЯП планируется php, ну на крайний случай python (привет копи/паст) Даже не знаю в какую сторону мне двигаться, какие применить алгоритмы, методики и т.д. Может у кого есть какие мысли или опыт, подскажите pls.
0
|
|
| 02.06.2023, 10:08 | |
|
Ответы с готовыми решениями:
4
Не знаю как назвать |
|
698 / 572 / 75
Регистрация: 20.09.2014
Сообщений: 3,700
|
|
| 03.06.2023, 05:20 | |
|
Вообще это называют аппроксимацией, но в вашем случае это выглядит как спекуляция данными)
Поскольку идеалом является показательная функция, то задача сводится к поиску неизвестных параметров a1 < a2 < a3 < a4 < a5 < a6 (для каждого набора данных), таких что где y - это фактические измерения (каждый повтор считать как отдельное измерение). Перебираем значения a, находим минимальную сумму, ответом будет a, а линию можно построить графиком:
0
|
|
|
698 / 572 / 75
Регистрация: 20.09.2014
Сообщений: 3,700
|
|||||||||||
| 03.06.2023, 10:27 | |||||||||||
Ваша спекуляция с данными немного происходит по-другому. Вы берете две средние точки за основу и через них проводите что-то типа показательной функции. Фактически вы убираете выбросы (outliers). Удалите их вручную из data.
coef - коэффициент где-то от 0.5 до 2.0, который позволяет регулировать процесс оптимизации. Добавлено через 3 минуты Кстати, аппроксимировать прямой посложнее, так как требуется найти два коэффициента k и b в уравнении y=k*x+b. Такой алгоритм подбора называется линейной регрессией. Но можно, конечно и в лоб перебрать по двумерной сетке...
0
|
|||||||||||
|
4366 / 1694 / 342
Регистрация: 23.06.2009
Сообщений: 6,009
|
||||
| 06.06.2023, 14:30 [ТС] | ||||
, хотя может так показатьсяэто нахождение наиболее вероятного значения измерений, при котором достоверно известно, что точка справа никак не может быть выше или равна точке слева и не может быть резких перепадов между точками. Линия должна изменяться плавно и чем дальше вправо, тем изменение должно быть меньше Больше интересовал вопрос по второй "фазе" корректировки, как разместить лини так, чтобы они соответствовали порядку, при этом что бы меньше всего изменялись положения точек/линий у которых большее количество измерений, у них как бы большая достоверность, больший вес у этих значений. Сейчас происходит примерно так, ищу 2-3 линии у которых максимальное количество измерений, проверяю их порядок, при необходимости корректирую всю линию или ее часть, так чтобы при этом соблюдалось "первое правило", и по возможности данные были в пределах диапазона, когда все ок, беру остальные линии по убыванию количества измерений проверяю и расставляю относительно этих первых "базовых" линий, так чтобы сохранялся порядок и "первое правило", и все это руками ![]()
0
|
||||
| 06.06.2023, 14:30 | |
|
Помогаю со студенческими работами здесь
5
не знаю как назвать Даже не знаю как назвать:) Не знаю как это назвать+) Даже не знаю как назвать ) подскажите, не знаю как назвать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
/ *
Дана цепь постоянного тока с 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/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|