Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / SQL запрос / 9 сообщений из 9, страница 1 из 1
10.01.2014, 15:10
    #38522076
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Есть простая таблица для хранения данных работы датчика:
id, data, datetime

Для анализа полученных данных за период необходимо не учитывать в выборке показания, которые отличаются (+/-) от прогнозируемых более чем на 15% (т.е. явные ошибки, одиночные всплески).

Как хотя бы для начала отсечь такие значения из выборки? Или это нужно делать не при выборке, а анализировать до сохранения таких данных в БД и сохранять только удовлетворяющие критериям?

Даже не пойму с какой стороны подходить. Буду рад любым комментариям и советам. :)
...
Рейтинг: 0 / 0
10.01.2014, 15:17
    #38522094
Dmitry Eliseev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Согласно вашему посту, у вас должна быть модель, на основе которой делается прогноз. Используйте её для проверки текущих показаний.
...
Рейтинг: 0 / 0
10.01.2014, 15:36
    #38522135
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Dmitry EliseevСогласно вашему посту, у вас должна быть модель, на основе которой делается прогноз. Используйте её для проверки текущих показаний.
Это понятно, так и есть. Вопрос - как?
Советуете сохранять все подряд в БД, а потом отсекать (явные ошибочные значения) при выборке из БД, или делать это до сохранения в БД?

Пока в мыслях только один вариант - это разделить задачу на два этапа:
1. отсечь явно не нужное;
2. выборка из БД имеющихся данных.

В идеале (наверное) это должен быть 2 в 1 запрос в БД с многими аргументами, т.к. они все плавающие (нестабильные). Но думаю, что это будет "каша" и множество слабых мест.
...
Рейтинг: 0 / 0
10.01.2014, 15:52
    #38522159
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Вам, AIS, статистику вообще не читали?

value_deviation (
period,
average_value,
deviation
)

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

> отличаются (+/-) от прогнозируемых более чем на 15%

Откуда цифра 15%?
...
Рейтинг: 0 / 0
10.01.2014, 16:05
    #38522178
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
AISЭто понятно, так и есть. Вопрос - как?
При такой постановке вопроса Вам вообще в БД хранить нечего, поскольку значения
соответствующие модели - вычисляются, а не соответствующие - вообще отбрасываются.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.01.2014, 16:39
    #38522220
Злой Бобр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
AIS,
Сохраняйте все подряд в БД. Дальше уже пляшите от имеющихся.
AISКак хотя бы для начала отсечь такие значения из выборки?
Код: sql
1.
2.
3.
select value
from table
where (value>a1) AND (a2<value)
...
Рейтинг: 0 / 0
10.01.2014, 17:31
    #38522307
Dmitry Eliseev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Насколько я понимаю, сохранять требуется только аномальные значения, но встаёт вопрос как определить аномальность, если пока не известно какое значение аномальное или нет?

Если я правильно понимаю, то вам нужно использовать первые 50 - 100 значений для "набора статистики", не сохраняя их в базу. Для этих значений постройте таблицу распределения частот, а дальше с помощью "ящика с усами" найдёте аномальные значения.
...
Рейтинг: 0 / 0
10.01.2014, 17:36
    #38522316
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
можно сделать "грязную" таблицу и "чистую" view, в котором будут отсечены не устраивающие значения.

запрос для View будет зависеть от того, как Вы получаете прогнозируемые значения.
...
Рейтинг: 0 / 0
10.01.2014, 18:45
    #38522411
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL запрос
Спасибо всем за комментарии и советы.
Определился, что правильней таки собирать и хранить всё подряд без исключений, т.к. это в будущем поволит формировать любые отчеты по желанию без ограничений, а фундамент для этих отчетов таки можно строить на основе "чистых" view, как посоветовал Кот Матроскин.

Пожалуй тему можно закрывать.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / SQL запрос / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]