2010-10-20 5 views
13

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

В настоящее время я сбрасываю набор данных в CSV, и один из моих сотрудников запускает его через SPSS для выполнения t-теста парных выборок (это анализ, который мне нужен, так как нам нужен p- стоимость).

Я знаю, что есть этот класс в PHP: http://usphp.com/manual/en/ref.stats.php, Однако ничто из этого не документировано до такой степени, что я могу это понять.

Я не против писать сам анализ, но если он уже существует, я бы хотел избежать повторного изобретения колеса.

Спасибо за помощь!

+0

какой отчетности вы хотите производить? Графики? – iamjonesy

+0

Я уже производил все графики и среднее значение, которое мне нужно. Мне буквально просто нужно рассчитать статистическое значение p для моих наборов данных. –

+1

Вы можете использовать мощность R, чтобы делать статистические данные, и вызывать их напрямую с php. http://www.matthewjockers.net/2008/11/11/executing-r-in-php/ –

ответ

2

Похоже, вы захотите использовать функцию stats_stat_paired_t. Я не уверен, что вы еще это пробовали, но вы можете выяснить, выполняет ли эта функция то, что вам нужно, глядя на ее source code. Посмотрите на страницу статистики.c, строка 3201.

+0

Из того, что я могу сказать, это породило t-значение, но я надеюсь найти функцию, которая на самом деле генерирует значение p И значение t? –

2

Paul, я сделал именно это для психологической системы тестирования (www.coolidgetests.com) и нашел, что это действительно было не так сложно сделать самостоятельно. Как и вы, я искал и искал доступное решение. Сначала было пугающе признать поражение и начать писать код, но в конце концов я обнаружил, что это было не так уж плохо.

В моем случае пользователь принимает тест, который генерирует результат (1-4). Все застряли в БД. Чтобы сделать отчет, я выбираю всю группу ответов для выбранного теста, разделяю их на ответы, которые были забиты обычным образом, и те, которые меняются в обратном порядке (1 = 4, 2 = 3 и т. Д.), А затем изменяют их с помощью переключателя заявление. Эти два массива объединяются, затем выполняются функции вычисления, чтобы генерировать T, Z и другие соответствующие статистические оценки. Я выхожу из диаграмм очень просто через таблицу, которая затенена на основе рассчитанного процента.

ОБНОВЛЕНИЕ -

Вот мой Z и функция T-Score:

function calculateZscore($scale, $median, $stdiv) { 
     if ($stdiv != 0) { 
      $zval = ($scale - $median)/$stdiv; 
     } 

     else $zval = 0; 
     return $zval; 
    } 

    function calculateTscore($zval) { 
     $tval = 50+ (10) * ($zval); 
     return $tval; 
    } 
+0

Есть ли у вас какие-либо функции, которые генерируют T-оценку, а затем последующее значение p? –

+0

Обновлены мои функции Z- и T-score. Я разбил все, потому что они используются в другом месте приложения отчетов. По существу, $ scale - это суммарные ответы, медиана и STDIV (стандартное отклонение) - это известные числа, которые были предоставлены мне и взяты из БД для каждой шкалы. – bpeterson76

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