Найти - Пользователи
Полная версия: Есть результаты экспериментов 1 млн строк, величина (время падения предмета) зависит от веса, объема, среды. Найти средние величины
Начало » Центр помощи » Есть результаты экспериментов 1 млн строк, величина (время падения предмета) зависит от веса, объема, среды. Найти средние величины
1 2
Aleksandr_Ph
Добрый день!

На форуме не нашёл, хотя задача выглядит “обычной” для Биг Даты. Наверное просто не знаю ключевых слов для поиска. Или форума

Есть результаты экспериментов 1 млн строк, величина (время падения предмета) зависит от веса, объема, температуры (предметы все очень разные, поэтому есть существенная дисперсия). Нужно найти средние величины времени падения.

Задание 1:
Условно нужен “куб” средних значений, у которого, например, по оси Х веса, по оси У объёмы, по оси Z температура, “внутри” куба - средние значения времени падения предмета. (Возможно что куб придется делать четырех или более мерным.)

Задание 2:
По кубу значений потом нужно по характеристикам предмета веса, объёма и его температуры найти ожидаемое время падения.

Задание 3:
Чтобы задания 1 и 2 можно было бы выполнить “быстро”, т.е. быстро найти куб значений по новым данным, а затем найти времена по заданным характеристикам (порядка 50 000 предметов).

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


Потом, но это не точно, это будет решаться через machine learning, но это потом и не точно

С уважением, Александр.

uf4JaiD5
Для начала, видимо, выбрать метод интерполяции (задание 2).
От этого и отталкиваться.
Aleksandr_Ph
Для начала, видимо, выбрать метод интерполяции (задание 2).
От этого и отталкиваться.

Функцию искать не нужно, нужен просто набор значений от параметров.
Значений от определенного набора параметров будет множество, значит для этого набора параметров выбираем среднее (данные будут очищаться от выбросов).

uf4JaiD5
Aleksandr_Ph
Функцию искать не нужно, нужен просто набор значений от параметров.
Тогда можно поподробнее, что такое этот “куб значений” и как им пользуются? Я не знаю, поисковики мало помогают.

Ну вот есть у нас
f(0, 1)
f(0, 2)
f(0, 2.2)

Надо f(0, 1.8)

Как вычисляется?
Aleksandr_Ph
Неточно сформулировал. По осям не дискретные величины, а интервалы.

Ось Х вес: от 0,001 кг до 0,01, от 0,01 до 0,02 и т.д.
Ось У объём: от 0,001 м3 до 0,005, от 0,005 до 0,01 и т.д.
Ось Z температура, на сколько градусов выше окужающей: 1, 2, 3 и т.д.

Т.е. нарезка интервалов по осям неравномерная.

Пока это всё вручную в Excel фильтрами отбираю на небольших выборках (170 тыс строк), но нужно на больших выборках и более или менее автоматизированно.
PEHDOM
Aleksandr_Ph посмотрите с в сторону pytables https://www.pytables.org и numpy\scipy\pandas

uf4JaiD5
Aleksandr_Ph
Ось Х вес: от 0,001 кг до 0,01, от 0,01 до 0,02 и т.д.
А значение – среднее значение функции попавших в интервал точек, так?

И при вычислении нового значения “по кубу” мы смотрим в какой интервал попадает точка и берём это среднее?

Как определяются границы интервалов?
Aleksandr_Ph
А значение – среднее значение функции попавших в интервал точек, так?

Да, верно!

И при вычислении нового значения “по кубу” мы смотрим в какой интервал попадает точка и берём это среднее?

Верно!

Как определяются границы интервалов?

Экспертно, обсуждается.
Aleksandr_Ph
посмотрите с в сторону pytables https://www.pytables.org и numpy\scipy\pandas

Да, думаю в этом направлении. Может есть какой-нибудь похожий кейс с решением?
PEHDOM
Aleksandr_Ph
Может есть какой-нибудь похожий кейс с решением?
увы, нет, но миллион строк это не так чтоб и много, условно двумерная матрица 1000x1000(как раз миллион элемнтов) из floaf-ов будет занимать мегабайт 15-20 в памяти компьютера, поэтому Биг Датой тут и не пахнет.Тем более что вам и не нужно весь миллион держать в памяти, вам нужно их один раз прочитать, и впихнуть в ваш “куб” где будут уже средние значения. Тоесть если предположить что одно срнеднее береться на 10 записей из экспериментов(в среднем ), то у вас уже не миллион а 100 000 величин,а это куб всего 50х50х50 - пару-тройку мегабайт в памяти. Весь вопрос что за миллион строк у вас. Это текстовый файл, или ексель, или ДБФ-ка? тоесть по сути вся задача у вас сведется к переводу этих данные в формат котороый можно быстро считать. Условно если у вас текст, то загнать его в таблицу БД или HDF-файл или еще куда, откуда их можно потом быстро выдергнуть, выборочно или все. А дальше уже крутите вашими данными как хотите. благо есть куча пандасов, нампи, сцайпи и прочего…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB