Моя программа делает выборки от 1 до 30000 значений из базы данных, каждое из которых может быть случайно с определенной долей вероятности.
Например вчера рыбаки ловили рыбу.
Первый поймал 10 рыб.
Второй - 50 рыб
Третий -20 рыб
И так далее.
У меня есть различные входными показатели погоды, условий, возраста и так далее.
Я делаю различные выборки из базы с разными входными показателями, но если выборка будет всего несколько ситуаций, то высока вероятность того, что рыбакам просто везло и никакой зависимости между входными данными и уловом нет, если взять слишком много ситуаций, то я найду слишком мало взаимосвязей.
Как определить золотую середину?
Я хочу чтобы найденные мной взаимосвязи имели отклонения не более 3-4% в связи со случайными данными, но не знаю как это грамотно называется.
То есть я нашел, что у рыбаков от 50 лет и при времени улова до 12:00 часов дня, улов превышает средний на 80%.
Так вот я хочу, чтобы эти найденные мной 80% были случайными не более,чем на 3-4%, надеюсь я понятно выразил мысль.
Подскажите как это называется и как мне посчитать достаточное количество случаев для моей задачи?
1. Нужно найти все пересечения по всем возможным "срезам" (погода-возраст, количество-возраст, и т.д.) на результат и анти-результат.
2. Найти пересечения всех срезов (процентное) для необходимого временного интервала.
3. Высчитать достоверность показателя, исходя из количества пересекающихся "срезов": все пересеклись - 1.0 (100%), 3 из 5 - 0.6 (100/5*3=60%), и т.д.
4. На основе полученных данных о достоверности - выполнить отсев показателей, находящихся вне доверительного интервала. Рекомендуемый: 0.7-0.85
Спасибо, как раз то, что я искал. Но есть одно но, по первому пункту.
Представьте, что это такая сложная игра как покер, и количество срезов огромно.
Например я играю против оппонента. Обычно он сбрасывает карты в 50% случаев, но:
Если пришла определенная карта или несколько карт от [2 До Туза], то он сбросит чаще или реже
Если до нашего действие было определенное действие или набор действий от [1 до 10] то он сбросит чаще или реже
Если он думал x секунд от [0 До 10] то он сбросит чаще или реже
И другие факторы.
Так вот если мы пробуем перебрать все возможные факторы или сочетания факторов, то получаем годы перебора. =)
Я взял библиотеку genetic_evolution для Python и настроил ее так, чтобы fintes-функцией было например вероятность сброса карт более 85% и получил неплохие срезы, но как быть, если нам нужно получить матрицу срезов.
Например, оппонент сбросил карты:
0-30% - Наборы факторов k,l,m...
30-70% - Наборы факторов n,o,p
70-10% -Наборы факторов r,s,t
Может есть способ лучше и удобней для этих задач?
Олег Петров, надо входные данные и выходные (от библиотеки generic_evolution) прогнать через сеть Коско (обучить) для выявления (сопоставления) комбинаций факторов нужным кластерам.