2015-01-15 2 views
1

В настоящее время я работаю над калькулятором средних значений «краудсорсинг». Идея состоит в том, чтобы показать людям картину и попросить их угадать возраст человека. Как только они ввели значение, я хочу показать им средний возраст, который дал человек.Crowdsourced среднее значение

Вот что я хочу сделать именно:

  • Поместите форму онлайн и попросить людей поставить на значение
  • сохранения данных
  • Вернись среднее значение люди ставят там
  • Рассчитайте стандартное отклонение, чтобы люди не могли поставить слишком высокое или слишком низкое значение по сравнению с другими. Это означает, что показанное среднее значение будет более точным.

Я ищу самый быстрый способ сделать это, и вот что я подумал о:

  • Хранить данные в таблице SQL и возвращает среднее значение с помощью функции AVG(). но тогда, как бы я вычислил Std. Dev?
  • Храните данные в txt-файле и используйте javascript для преобразования его в массив с помощью вычислений.

Но если я получу 20 000 различных значений, это может быть медленным в любом случае. ?

Я довольно новичок в программировании, и то, что я предлагаю, может показаться смешным ... не стесняйтесь сказать это мне!

Спасибо всем.

+0

Я считаю, что 20.000 значений еще не представляют реальной проблемы, если вы правильно индексируете значения.Чтобы ускорить его, вы можете потребовать целочисленные значения (против float/double). Посмотрите на ответ @ Alex для функции 'STDEV'. И начните беспокоиться, когда вы вычисляете стандартное отклонение, скажем, 1.000.000+ значений – giorgio

+0

OT: Это забавная идея кстати;) вы должны попытаться подключить это к facebook, может быть настоящим бегуном! – giorgio

+0

Привет, Джорджио, большое спасибо за ваш ответ. Может быть, хорошая идея, но я не уверен, что SQL - лучший способ, если приложение масштабируется, не так ли? – Marwann

ответ

1

SQL Server имеет STDEV (начиная с 2005 года), поэтому SQL-код подходит для вас.

Возвращает статистическое стандартное отклонение всех значений в указанном выражении . За ним последует предложение OVER.

Синтаксис

STDEV ([ ALL | DISTINCT ] expression) 

Аргументы

ВСЕ

Применяет функцию ко всем значениям. ALL - это значение по умолчанию.

DISTINCT

Указывает, что каждое уникальное значение рассматривается.

выражение

Является числовым выражением. Агрегатные функции и подзапросы не разрешены. выражение представляет собой выражение точной числовой или приближенной числовой категории данных, за исключением типа данных бит.

+0

Привет, Алекс, кажется довольно круто, я не знал об этом, спасибо. Как вы думаете, как лучше всего будет действовать? Вызвать SQL STDEV, когда страница загружается сначала, чтобы отключить значения выше или ниже нее, а затем вычислить среднее значение при заполнении формы? – Marwann

+0

Я бы сохранил новые данные, затем вытащил STDEV и вернул его на страницу для отображения после этого – Alex

+0

Alex, спасибо за ваш ответ. Идея состоит в том, чтобы вычислить STDEV, чтобы люди установили значение между диапазоном. Можно ли это сделать без перезагрузки страницы? – Marwann

Смежные вопросы