Создание нормального распределения данных MySQL с использованием Ruby on Rails

У меня есть таблица MySQL с тремя столбцами: рост, вес, пол. Эта таблица используется в качестве модели для моего проекта. Есть ли функция метода в RoR, которая позволит мне рассчитать нормальное распределение на основе данных?

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

Должен ли я попытаться создать функцию в MySQL, которая создает дистрибутивы, а затем иметь метод RoR, который оценивает входные данные в сравнении с дистрибутивом, или все это можно сделать в RoR?

Я использую Ruby 2.3 и рельсы 5.1.6.


person Bad Programmer    schedule 10.05.2018    source источник
comment
Я не пробовал, но этот драгоценный камень выглядит многообещающе, если ваши данные скромного размера. Если вы имеете дело с очень большими наборами данных, вы, вероятно, заметите прирост производительности при использовании решения, ориентированного на базу данных.   -  person moveson    schedule 11.05.2018
comment
Что вы имеете в виду, рассчитать нормальное распределение на основе данных? Я был бы очень удивлен, если бы рост и вес подчинялись нормальному распределению. И вы говорите, что хотите вычислить P(g|h,w)? Я не уверен, что для этого вам нужны дистрибутивы, но я не думал об этом так серьезно.   -  person jvillian    schedule 11.05.2018
comment
MySQL имеет метод STDDEV(). Звучит кривовато...   -  person Phlip    schedule 11.05.2018


Ответы (1)


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

person Bad Programmer    schedule 12.05.2018