Вы не вошли.
Страницы 1


Итак господа эксперты сложный вопрос 
Есть два прибора, которые собирают показания. Показания между приборами частично пересекаются. Нужно удалить эти пересечения и оставить только одну копию данных. Желательно ту, которая имеет максимальную точность. Проблема в том, что данные имеют неточные совпадения.
Привожу пример. прибор один записывает показания:
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
Итого на двух приборах у нас пересекаются данные по Москве и Томску. Но пересекаются не точно. Нужно как-то удалять эти данные. Как критерий подходят все три столбца, кроме даты и названия пункта.
Вообще с помощью чего подобные задачи на нестрогие совпадения можно было бы решить?
Вне форума


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


Желательно ту, которая имеет максимальную точность.
Вот с этого места поподробнее, пожалуйста. Как именно определяется более точный прибор? Я пока не вижу никаких ошибок, так как данные, снятые позднее, имеют большую величину.
Отредактировано MOP3E (26-10-11 18:57:39)
Я не игрушечный. Я, б*я, коллекционный! (с) Duke Nukem Forever
Я не специалист по [вставить название]. Мне главное концептуально решить задачу! (с) АхаRu.
Линукс - это альтернативная ОС о которой известно, что она не является ОС ну вот просто ни разу. (с) Linups_Troolvalds.
А с какого такого перепугу пользователей линукса должно быть больше 1%? (с) petrun
Вне форума


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


Критерий точности - знаки после запятой.
т.е. к примеру 100 метров это не точно, 100.12 (сто метров и 12 см) это точно.
Это в моем примере точные данные больше. В реальности они могут быть несколько меньше и не обязательно что все будут отличаться. К примеру только 2 строки могут расходиться.
Добавлено спустя 03 мин 28 с:
Кстати, в теории было бы интересно узнать, как сделать так, чтобы удалялись значения с меньшей точностью. Т.е. априори предположим, что все самые точные значения имеют второй знак после точки (тут разделитель целой и дробной части точка).
Но опять, не все равно строки могут расходиться немного.
Вне форума


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


Нужно удалить эти пересечения и оставить только одну копию данных. Желательно ту, которая имеет максимальную точность.
Из курса "Численные методы" мы знаем, что для операций, в которых участвуют значения с разной степенью погрешности, первым делом является выравнивание этих самых погрешностей. Т.е. более точное значение округляется до степени менее точного. 2,0023654 + 1 ≈ 2 + 1 ≈ 3
Другими словами:
1. Более точное округляем
2. Для совпадающих строк вычисляем среднее арифметическое (с округлением!!!!!!!!!1111111).
3. Курим округление
Отредактировано Sergey2408 (26-10-11 21:11:16)
Вне форума
Luca, тебе из каждых двух различных значений требуется оставить только одно, в котором больше знаков после запятой? Ок.
Что является средством реализации? Плюсы, sql-запрос?
Sergey2408, тогда уж дайте ссылку на ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%8 … 0%BE%D0%B2
Отредактировано Дестер (26-10-11 21:15:57)
Вне форума


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


Или тебе конкретная реализация нужна? Тогда давай язык.
Язык C#, PowerShell, Python. Хотя, учитывая то, что данные табличные, возможно можно было бы как-то средствами Excel.
К сообщению прикрепляю реальные данные. Прибор в данном случае сейсмограф. Цветами для наглядности выделены дубликаты данных.
Вне форума


К сообщению прикрепляю реальные данные. Прибор в данном случае сейсмограф. Цветами для наглядности выделены дубликаты данных.
Блин, в этих данных расхождения такие, что ни о какой точности по числу знаков после запятой, имхо, речи быть не может.
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 Район Филиппинских островов
Имхо, когда разница в десятках перед запятой - делать заключение о точности, по количеству соток, как то неразумно 
Отредактировано TrollWINNT (27-10-11 19:47:35)
Нет, так мы целей гнусных не достигнем... / В.П. Вишневский
Вне форума


TrollWINNT, значит надо брать 4 максимально совпадающих поля. А глубина да... видимо погрешность большая получается.
Добавлено спустя 45 мин 38 с:
MOP3E, если надумал серьезно заморачиваться на эту тему - не напрягайся т.к. эта тема для меня носит по большей части академический интерес.
Вне форума
Страницы 1
[ Сгенерировано за 0.009 сек, 7 запросов выполнено - Использовано памяти: 1.73 Мбайт (Пик: 1.81 Мбайт) ]