Объявление

Односложные и бессмысленные темы, не несущие полезную нагрузку или не содержащие в себе вопрос, будут удаляться!

#1 26-10-11 18:47:23

Luca
Участник
Здесь с 03-09-09
Сообщений: 1,545
Windows 7Firefox 7.0

Удаление погрешностей измерений

Итак господа эксперты сложный вопрос smile
Есть два прибора, которые собирают показания. Показания между приборами частично пересекаются. Нужно удалить эти пересечения и оставить только одну копию данных. Желательно ту, которая имеет максимальную точность. Проблема в том, что данные имеют неточные совпадения.

Привожу пример. прибор один записывает показания:
25.10.2011, 10:31, 23.8, 56.23, Moscow
25.10.2011, 11:35, 32.1, 16.20, Novgorod
25.20.2011, 11:56, 21.1, 53.14, Omsk
25.20.2011, 12:01, 33.6, 52.24, Tomsk

Прибор 2 пишет показания счетчиков:
25.10.2011, 10:32, 23.84, 56.23, Moscow City
25.10.2011, 11:14, 31.6, 14.26, Ufa
25.20.2011, 12:03, 33.61, 52.24, Tomsk

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

Вообще с помощью чего подобные задачи на нестрогие совпадения можно было бы решить?

Вне форума

#2 26-10-11 18:51:36

Babusha
Нехристь
Здесь с 12-03-10
Сообщений: 2,221
Windows 7Chrome 14.0

Re: Удаление погрешностей измерений

Luca, перевести в строку и просто обрезать?


Удовлетворен GNU/Linux (с) Linups_Troolvalds
13-значный пароль, состоящий из одних цифр, ломается за полчаса (с) Rector. Авторитетный Хакер у себя в классе
Я тебя просто отсюда выпилю.  (с) Рехтур. Взламывает анусы по ойпи.

Вне форума

#3 26-10-11 18:57:23

MOP3E
Участник
Здесь с 05-10-09
Сообщений: 4,208
Windows 7Firefox 3.6

Re: Удаление погрешностей измерений

Luca пишет:

Желательно ту, которая имеет максимальную точность.

Вот с этого места поподробнее, пожалуйста. Как именно определяется более точный прибор? Я пока не вижу никаких ошибок, так как данные, снятые позднее, имеют большую величину.

Отредактировано MOP3E (26-10-11 18:57:39)


Я не игрушечный. Я, б*я, коллекционный! (с) Duke Nukem Forever
Я не специалист по [вставить название]. Мне главное концептуально решить задачу! (с) АхаRu.
Линукс - это альтернативная ОС о которой известно, что она не является ОС ну вот просто ни разу. (с) Linups_Troolvalds.
А с какого такого перепугу пользователей линукса должно быть больше 1%? (с) petrun

Вне форума

#4 26-10-11 18:59:04

Babusha
Нехристь
Здесь с 12-03-10
Сообщений: 2,221
Windows 7Chrome 14.0

Re: Удаление погрешностей измерений

MOP3E пишет:

Вот с этого места поподробнее, пожалуйста. Как именно определяется более точный прибор? Я пока не вижу никаких ошибок, так как данные, снятые позднее, имеют большую величину.

Кстати, да, тоже же хотел спросить и забыл, какой критерий точности?


Удовлетворен GNU/Linux (с) Linups_Troolvalds
13-значный пароль, состоящий из одних цифр, ломается за полчаса (с) Rector. Авторитетный Хакер у себя в классе
Я тебя просто отсюда выпилю.  (с) Рехтур. Взламывает анусы по ойпи.

Вне форума

#5 26-10-11 20:05:21

Luca
Участник
Здесь с 03-09-09
Сообщений: 1,545
Windows 7Firefox 7.0

Re: Удаление погрешностей измерений

Критерий точности - знаки после запятой.
т.е. к примеру 100 метров это не точно, 100.12 (сто метров и 12 см) это точно.

Это в моем примере точные данные больше. В реальности они могут быть несколько меньше и не обязательно что все будут отличаться. К примеру только 2 строки могут расходиться.

Добавлено спустя 03 мин 28 с:
Кстати, в теории было бы интересно узнать, как сделать так, чтобы удалялись значения с меньшей точностью. Т.е. априори предположим, что все самые точные значения имеют второй знак после точки (тут разделитель целой и дробной части точка).

Но опять, не все равно строки могут расходиться немного.

Вне форума

#6 26-10-11 20:32:39

TrollWINNT
Участник
Здесь с 02-11-09
Сообщений: 1,003
Windows 7Opera 11.52

Re: Удаление погрешностей измерений

2 Luca
А почему средние арифметические не годятся? Расхождения вроде бы мизер, сказать какой прибор более точен на основании одних знаков после запятой как то затруднительно smile


Нет, так мы целей гнусных не достигнем... / В.П. Вишневский

Вне форума

#7 26-10-11 21:04:55

Sergey2408
Участник
Откуда: недалеко от Москвы
Здесь с 10-10-10
Сообщений: 566
Windows 7Firefox 7.0

Re: Удаление погрешностей измерений

Luca пишет:

Нужно удалить эти пересечения и оставить только одну копию данных. Желательно ту, которая имеет максимальную точность.

Из курса "Численные методы" мы знаем, что для операций, в которых участвуют значения с разной степенью погрешности, первым делом является выравнивание этих самых погрешностей. Т.е. более точное значение округляется до степени менее точного. 2,0023654 + 1 ≈ 2 + 1 ≈ 3
Другими словами:
1. Более точное округляем
2. Для совпадающих строк вычисляем среднее арифметическое (с округлением!!!!!!!!!1111111).
3. Курим округление

Отредактировано Sergey2408 (26-10-11 21:11:16)

Вне форума

#8 26-10-11 21:09:23

Дестер
Капитан
Здесь с 09-11-10
Сообщений: 737
Сайт
Windows 7Chrome 14.0

Re: Удаление погрешностей измерений

Luca, тебе из каждых двух различных значений требуется оставить только одно, в котором больше знаков после запятой? Ок.
Что является средством реализации? Плюсы, sql-запрос?

Sergey2408, тогда уж дайте ссылку на ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%8 … 0%BE%D0%B2

Отредактировано Дестер (26-10-11 21:15:57)

Вне форума

#9 26-10-11 21:37:29

MOP3E
Участник
Здесь с 05-10-09
Сообщений: 4,208
Windows 7Firefox 3.6

Re: Удаление погрешностей измерений

Luca пишет:

Критерий точности - знаки после запятой.

Ну, тупо разбирай строку чтобы выделить запятую и считай число знаков после запятой. Так и "более точный" результат можно выделить, и "менее точный". Хотя точность, как тут верно подметили, она не в количестве знаков после запятой, а в их качестве.

Или тебе конкретная реализация нужна? Тогда давай язык.


Я не игрушечный. Я, б*я, коллекционный! (с) Duke Nukem Forever
Я не специалист по [вставить название]. Мне главное концептуально решить задачу! (с) АхаRu.
Линукс - это альтернативная ОС о которой известно, что она не является ОС ну вот просто ни разу. (с) Linups_Troolvalds.
А с какого такого перепугу пользователей линукса должно быть больше 1%? (с) petrun

Вне форума

#10 27-10-11 12:48:53

Luca
Участник
Здесь с 03-09-09
Сообщений: 1,545
Windows 7Firefox 7.0

Re: Удаление погрешностей измерений

MOP3E пишет:

Или тебе конкретная реализация нужна? Тогда давай язык.

Язык C#, PowerShell, Python. Хотя, учитывая то, что данные табличные, возможно можно было бы как-то средствами Excel.

К сообщению прикрепляю реальные данные. Прибор в данном случае сейсмограф. Цветами для наглядности выделены дубликаты данных.

data.zip

Вне форума

#11 27-10-11 19:46:29

TrollWINNT
Участник
Здесь с 02-11-09
Сообщений: 1,003
Windows 7Opera 11.52

Re: Удаление погрешностей измерений

Luca пишет:

К сообщению прикрепляю реальные данные. Прибор в данном случае сейсмограф. Цветами для наглядности выделены дубликаты данных.

Блин, в этих данных расхождения такие, что ни о какой точности по числу знаков после запятой, имхо, речи быть не может.
23,738    122,821    12.9.2011    5:15    5,1    43,1     TAIWAN REGION
24,28    122,8    12.9.2011    5:15    5.3    33    Район Тайваня

5,039    127,411    12.9.2011    7:30    5    117,1     PHILIPPINE ISLANDS REGION
5,13    127,37    12.9.2011    7:30    5.2    130    Район Филиппинских островов

Имхо, когда разница в десятках перед запятой - делать заключение о точности, по количеству соток, как то неразумно smile

Отредактировано TrollWINNT (27-10-11 19:47:35)


Нет, так мы целей гнусных не достигнем... / В.П. Вишневский

Вне форума

#12 27-10-11 20:15:01

Luca
Участник
Здесь с 03-09-09
Сообщений: 1,545
Windows 7Firefox 7.0

Re: Удаление погрешностей измерений

TrollWINNT, значит надо брать 4 максимально совпадающих поля. А глубина да... видимо погрешность большая получается.

Добавлено спустя 45 мин 38 с:
MOP3E, если надумал серьезно заморачиваться на эту тему - не напрягайся т.к. эта тема для меня носит по большей части академический интерес.

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.009 сек, 7 запросов выполнено - Использовано памяти: 1.73 Мбайт (Пик: 1.81 Мбайт) ]