Короткий адрес страницы: fornit.ru/2810
На форум
  Автор

Data Mining?

(Просмотров: 13936)
Род: Мужской
Nudnyj
Sr. Poster


Сообщений: 337
1. « Сообщение №13306, от Март 08, 2009, 04:10:25 PM»

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

Если у кого-либо был ПРАКТИЧЕСКИЙ опыт решения подобных задач, посоветуйте пожалуйста с чего начать. Интересует всё: книги, статьи, программное обеспечение, просто алгоритмы. Только не стоит советовать, то чем сами не пользовались и с чем не работали, я и сам интернет в данный момент копаю

Короче если есть что посоветовать - горячий welcome! Если нет, лучше промолчать Заранее спасибо за понимание.


Род: Мужской
Nudnyj
Sr. Poster


Сообщений: 337
2. « Сообщение №13307, от Март 08, 2009, 04:53:29 PM»

Я тут подумал, что наверное стоит немного уточнить контекст.

Есть внешняя среда, состояние которой представлено вектором параметров:
S = (A,B,C .. X)

Самих параметров немного, около 10-ка. Возможно они не независимые, пока сказать сложно.

Еще есть некий управляемый прибор который я могу прерводить в разные дискретные состояния, ну скажем Sp = [Sp1, Sp2, Sp3 .. Spn], т.е. для входящего вектора S, требуется переключать Sp в одно из состояний от Sp1 до Spn.

И наконец есть некая оценочная функция Z=f(S,Sp) которая уже определена и показывает насколько конкретное состояние прибора Sp подходит в качестве реакции на конкретное состояние среды S.

Моя задача построить такую модель что бы скормив ей какой-либо конкретный вектор S получить на выходе из этой модели подходяший (рекомендуемый) Sp. Имею сильное подозрение, что 100%-го попадания добиться нереально и случайность там присутсвует вовсю, но этого и не требуется, достаточно что бы в целом при использовании модели функция Z держалась в основном в плюсе. Т.е. если я буду просто выставлять Sp случайным образом, то Z в среднем будет болтаться около 0 (хотя на практике я заметил тенденцию сваливания в минус) и надо что-бы при выставлении Sp по рекомендации разрабатываемой модели, Z выходила в плюс на неких средних отрезках (т.е. локально может давать и минус, но в целом по отрезку должен получаться плюс).

У меня существует впечатление, что есть спрятанные зависимости, позволяющие построение такой модели. Задачи выявления этих зависимостей не стоит, т.е. запросто можно использовать техники типа нейронных сетей и иже с ними, чёрный ящик вполне устроит - главное аккуратность предсказаний.


Род: Мужской
N_A
Имеет права полного администратора сайта - админ

Сообщений: 444


ICQ: 191-87-85-92
3. « Сообщение №13308, от Март 08, 2009, 09:35:33 PM»

Какому множеству принадлежат параметры(целые, действительные)?
В каких пределах они меняются?
С какой точностью доступны?
Чему равно n для Spn?
Z=f(S,Sp) – скаляр? Какие значения в каком диапазоне принимает? Точно не зависит ни от чего кроме S и Sp? Насколько непрерывно и плавно меняется при незначительных изменениях параметров?

Спасибо за это сообщение! Благодарность от: Nudnyj

Род: Мужской
Nudnyj
Sr. Poster


Сообщений: 337
4. « Сообщение №13309, от Март 08, 2009, 11:31:56 PM»

1. Так, я уже успел наврать Естественно Z выглядит по-другому, а именно:
Z = f(S,Sp,Vr), где Vr - целочисленный параметер в очень узком диапазоне [0..3], известный для уже собранных данных, но НЕ известный для новых (т.е на момент прогноза). В противном случае понятно что задачи никакой нет в принципе

2. Параметеры S есть как целые, так и действительные, но с невысокой точностью (мах. до тысячных). Возможно я добавлю дополнительные которые будут функциями от исходных, т.к. у меня есть предположения что эти функции ощутимо влияют на результат (эти производные параметры будут точно float). Правда я на данный момент не знаю разумно ли это (то бишь делают ли такие выкрутасы вменяемые люди )

Определенных пределов для праметров нет, но в основном положительные и в пределах +5, но это только по имеющимся у меня данным, а теоретичекого ограничения нет, хоть +1000000000000000000000000000000000000000000000000, правда Z тогда улетит в стратосферу, или наоборот провалится куда-нибудь в район 9-го круга

3. Точность можно считать 100%.

4. Sp = [S1 .. S6] Теоретически в будушем может быть надо будет еще 6 вариантов, но в рамки данной задачи не входит.

5. Z - скаляр, тип float, диапазон в принципе неограничен (от -бесконечности, до +), но в реальности, исходя из имеюшихся данных максимально кучно ложится в отрезке (-10, +10) ну или около того, с тенденцией "прижиматься" к к оси, но не слишком (обычно не ближе -0.5, +0.5), но есть и некоторые вылеты до (-1000, +1000). Но это не анализ самой функции, а наблюдения за её поведением на реальном наборе имеющихся у меня данных. Саму функцию анализировать бестолку, потому что она очень круто зависит от неизвестного Vr. По сути Vr результат моих действий, на который я влияю выбором Sp. T.e модель его должна с некоторой вероятностью предугадывать и рекомендовать мне наиболее предпочтительный Sp, для данного S.

Возможно есть смысл и вычистить такие заскоки например за (+-100) (я в принципе вижу как их можно идентифицировать на основе S, с неплохой вероятностю), но не хотелось бы, ибо желательна применимость модели на всём диапазоне Морально я готов на некий meta-learner для обьединения разных предсказаний, заточенных под конкретные диапазоны.

6. Z меняется скачками и непойми как, т.е. для (S,Sp,Vr) - считается элементарно, но очень зависит о Vr. Более того вполне может быть что для одного и того же (S,Sp) в зависимости от Vr - результат будет скакать безумным образом => не зная Vr (а мы его на момент прогноза и не знаем) получить 100% рекомендацию нереально, но это и не требуется. Я имею серьёзные подозрения что между известным S и неизвестным Vr, есть некая связь (это моя гипотеза), следовательно я предполагаю принципиальную возможность построения предсказательной модели, хотя не исключаю и ошибочность это предположения. Убедится в невозможности построения таковой на определенном наборе данных - то же результат, не очень желательный, но приемлемый.

7. Короче, уже имея рабочую модель, процесс выглядел бы так: получив S я скармливаю его "гадалке", получаю от неё рекомендуемый Sp (ну или некую оценку "рекомендуемости" для каждого из 6-ти вариантов Sp), затем используя его, определяю Vr, и считаю Z=f(S,Sp,Vr).

Если на случайном наборе из скажем 300 таких процедур суммарный Z будет заметно положительный (ну хотя бы > +20), то цель достигнута.

Пока задача стоит так, там видно будет

P.S. Ну и на всякий случай маленькое пояснение: задачи запрячь кого-либо реально что-то делать не стоит, более того я в принципе такого рода помощь не хочу, не спортивно (да и раз такой случай подвернулся разобраться с чем-то новым надо пользоваться на всю катушку) А вот любые советы от опытных людей приму с благодарностью.

P.P.S. Решил дописать в чём конкретно заключается моя гипотеза. А вот в чем: Vr=f(S,Sp,Hz), где Hz это х/з, т.е. нечто абсолютно внешнее и неподконтрольное, отсюда и неискоренимая вероятносность модели. Единственное что требуется это показать что модель демонстрирует заметно лучшие результаты, чем просто бегающие по клавиатуре тараканы.

Могу еще добавить, что в случае верно предсказанного Vr, Z по любому будет > 0, а в случае промаха < 0, амплитуда будет зависить от (S,Sp). T.e. теоретически можно на некоей выборке, напромахиваться в предсказании Vr дофига, но суммарный Z всё равно получить в плюс и наоборот, что усложняет (на мой дилетанский на данный момент взгляд) задачу.
« Последнее редактирование: 2009-03-09 00:23:29 Nudnyj »


Спасибо за это сообщение! Благодарность от: Nudnyj

Род: Мужской
Nudnyj
Sr. Poster


Сообщений: 337
5. « Сообщение №13310, от Март 08, 2009, 11:42:49 PM»

А-а-а-балдедь, можно оказывается самому себе букетик послать, жаль правда что только один


Род: Мужской
N_A
Имеет права полного администратора сайта - админ

Сообщений: 444


ICQ: 191-87-85-92
6. « Сообщение №13311, от Март 09, 2009, 01:03:20 AM»

Я не спец ни в математике ни в н.с., да и трудно ориентироваться в чистой «теории» среди параметров 3-х типов не имея представления о предмете обсуждения, а задавать еще много вопросов лениво. Но могу сказать, что не имея хороших базовых знаний по н.с. (и реального опыта применения н.с. в более простых ситуациях) не стоит пытаться заюзать нейросеть. В данном случае я так и не понял насколько можно рассчитывать на непрерывность функции Z(), если она непредсказуемо скачет при незначительном изменении входных параметров, то о нормальной аппроксимации врядли можно вести речь. Нейронные сети не способны аппроксимировать случайные функции. )

Спасибо за это сообщение! Благодарность от: Nudnyj

Род: Мужской
Nudnyj
Sr. Poster


Сообщений: 337
7. « Сообщение №13313, от Март 09, 2009, 09:16:16 PM»

Спасибо, приму к сведению.


Олеся
УДАЛЕН

Сообщений: 1
8. « Сообщение №23410, от Июнь 03, 2011, 10:53:15 AM»

http://elcomrevue.ru/?p=59