Q-критерий Розенбаума

Тема в разделе "Pascal and Delphi", создана пользователем Z00, 13 май 2011.

  1. Z00

    Z00 Гость

    Нужно реализовать Q-критерий Розенбаума на Delphi, Должно быть 2 группы испытуемых, 1 группе например читались лекции, а другим нет и программа должна за данным алгоритмом вывести на сколько данная лекция повлияла на группу людей.
    В алгоритме разобрался, описать могу легко и быстро если кому-то будет нужно.
    Проблема в написании самого алгоритма уже в делфе...
     
  2. nayke

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    Описывайте алгоритм или хоть что-то, а товарищи с переводом в программный код помогут.
     
  3. Z00

    Z00 Гость

    Алгоритм.
    1. Проверка n1,n2>=11(минимум 11 испытуемых в каждой группе), n1 b n2 должны быть приблизительно равны друг другу. Где n- к-во людей в каждой группе. (Алгоритм создан для сравнения двух групп/выборок).
    2.Упорядочить значения по убыванию. И считать выборку 1 ту, в которой значения предположительно выше.
    3. Определяем максимальное значения в выборке 2.
    4. подсчитать к-во значений в выборке 1, которые выше максимального значения в выборке 2. И получению величину обозначают как S1.
    5. Определяем самое низкое в выборке 1.
    6.Подсчитать к-во знач. в выборке 2, которые ниже мин. значения в выборке 1. Обозначают как S2.
    7. Подчитывают эмпирическое значение Q. Q=S1+S2.
    8. Определяют критические значения Q для наших n1 и n2 по таблице. http://ru.wikipedia.org/wiki/Критерий_Розенбаума
    Если Qэмп = Q0.05 или выше,Н0 отвергается.
    9. При n1,n2>26 сопоставить полученные эмп значения с Qкр1 и Qкр2(в 1 и 2 выборках, тоесть значения p с таблиц). Если Qэмп превышает или по крайней мере равняется Qкр1 или Qкр2, H0 отвергается.

    По поводу Н0...
    2 гипотезы:
    Н0: Уровень признака в выборке 1 не превышает уровня признака в выборке 2.
    Н1: Уровень признака в выборке 1 превышает уровня признака в выборке 2.
     
  4. nayke

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    Что именно непонятно при реализации?
    Выборка 2 массива, полученные из формы. Либо файл или БД на ваш вкус. работа с ними в интернете озвучена.

    по пунктам:
    1. оператор if then
    2. как у вас написано сортировка массива, однако судя по логике скорее нахождение суммы в массиве
    Код (Text):
    sum:=0;
    for i:=1 to CountPeople do
    sum=sum+Group[i];
    3.определение максимального элемента в массиве
    Код (Text):
    max:=Group[1];
    for i:=2 to CountPeople do
    if max<Group[i] then max:=Group[i];
    4.Количество элементов в массиве больше определенного числа
    Код (Text):
    count:=0;
    for i:=1 to CountPeople do
    if Chislo<Group[i] then count:=count+1;
    5. определение минимума в массиве
    Код (Text):
    min:=Group[1];
    for i:=2 to CountPeople do
    if min>Group[i] then min:=Group[i];
    6. аналогично 4 только знак сравнения другой
    остальное простейшие арифмитические операции + оператор if then.

    если конкретизируете что вам непонятно.. может еще что подскажу.
     

Поделиться этой страницей