Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2014, 21:38   #21
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

выпали:
1-134 раза
2-66 раз
3-132 раза
4-67 раз
5-134 раза
6-66 раз
7-134 раза
8-68 раз
9-133 раза
0-66 раз это из последовательности
Veryn4ik1993 вне форума Ответить с цитированием
Старый 08.01.2014, 21:59   #22
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

у меня получилось так:
V=(1/1000*(4356+17956+4356+17424+4489+17 956+4346+17956+4624+17689)/0.1)-1000=
111162/100-1000=111.62
а у вас 100! а ошибку найти не могу
Veryn4ik1993 вне форума Ответить с цитированием
Старый 08.01.2014, 22:38   #23
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от Veryn4ik1993 Посмотреть сообщение
111.62
а у вас 100! а ошибку найти не могу
Где у меня 100 ? У меня тоже 111,62. Это, кстати плохой критерий. Можно сказать, гипотеза не принимается.
Кстати, при N=30 ваш генератор лучше работает. При 1 1 получается hi2=7.333 .

Код:
program Pearson;

type arInteger=array of Integer;

function fVeryn4ik(kol:Integer;f0,f1:Byte):arInteger;
var i:Integer;
begin
 SetLength(Result,kol);
 i := 1;
 Result[0]:=f0;
 Result[1]:=f1;
  while (i < (kol-1)) do
  begin
   Result[i+1]:=(Result[i]+Result[i-1]) mod 10;
   inc(i);
  end;
end;


const
 N=1000; // число наблюдений
 K=10;  //  число возможных значений 0..9
var i,j,x0,x1:Integer;
    sum,hi2:Double;
    Ys:array[1..K] of Integer;
    rn:arInteger;
begin
 ReadLn(x0,x1);
 rn:=fVeryn4ik(N,x0,x1);
 for i:=1 to K do Ys[i]:=0;
 for i:=1 to K do
   for j:=0 to N-1 do
     if rn[j]= (i-1) then Ys[i]:=Ys[i]+1;
 sum:=0;
 for i:=1 to K do
  begin
   WriteLn(i,'  ',Ys[i]);
   sum:=sum+Ys[i]*Ys[i];
  end;
 hi2:=sum*K/N-N;
 WriteLn('hi^2 Pearson = ',hi2:0:3);
 ReadLn;
end.
Изображения
Тип файла: jpg pear.jpg (39.3 Кб, 119 просмотров)

Последний раз редактировалось type_Oleg; 08.01.2014 в 23:16.
type_Oleg вне форума Ответить с цитированием
Старый 08.01.2014, 22:41   #24
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Там исправить надо у меня, вот так
Код:
 WriteLn(i-1,'  ',Ys[i]);
А то вместо 0,1,2 .. печатает 1,2,3 ..

Критерий Пирсона должен быть порядка 10 ( числа возможных значений).
Вот, проверка стандартной Random
Изображения
Тип файла: jpg pear2.jpg (29.4 Кб, 37 просмотров)

Последний раз редактировалось type_Oleg; 08.01.2014 в 23:14.
type_Oleg вне форума Ответить с цитированием
Старый 08.01.2014, 23:13   #25
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

А там если критерии Колмогорова-Смирнова взять вместо N=30 N=1000, то он выводит 0,000000, максимум вычисляет для 100
Veryn4ik1993 вне форума Ответить с цитированием
Старый 08.01.2014, 23:24   #26
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Цитата:
Сообщение от Veryn4ik1993 Посмотреть сообщение
А там если критерии Колмогорова-Смирнова взять вместо N=30 N=1000, то он выводит 0,000000, максимум вычисляет для 100
Ну да, у меня тоже самое. У Колмогорова при 30 наблюдениях - нормально, альфа большая, а при 1000 - 0.000

И у Пирсона так же.
При 30 : hi2=7,333 (это при числе степеней свободы 9 альфа равна 0,602)
при 1000: hi2=111,62 ( альфа 7*10^-20 то есть почти 0)

Кстати, альфу для хи-квадрат можно вычислить в Ecxel.
=ХИ2РАСП(111.62;9)

Последний раз редактировалось type_Oleg; 08.01.2014 в 23:26.
type_Oleg вне форума Ответить с цитированием
Старый 09.01.2014, 20:21   #27
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

Кстати я разобралась,как проще вычислить Криерий Колмогорова-Смирнова, но у меня возникли вопросы с критерием "максимум-t" причем t=5. Вопрос в том, если я разобью эту тысячу на 5 подпоследовательностях то, дальше я должна найти максимум в каждой и потом для получившейся последовательности применить критерий, так я понимаю
Veryn4ik1993 вне форума Ответить с цитированием
Старый 09.01.2014, 21:22   #28
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Критерий Колмогорова - для проверки гипотезы о том, что данная куча случайных величин имеет такое-то распределение ( в данном случае - равномерное) .
Критерий Смирнова - для проверки гипотезы о том, что данные 2 кучи случайных величин имеют одинаковое распределение.
Они просто вычисляются почти одинаково.
У вас - Колмогорова нужен, мне кажется. Ну да ладно, может просто названия ...

А почему на 5 разбивать? У вас же 10 возможных значений, вот и используйте их.
Ваша куча (выборка) из 1000 значений - это " вариационный ряд ", а два столбца типа 1-134 раза
2-66 раз
3-132 раза и т.д.
- это " статистический ряд ". Его и надо использовать.
Он в последнем моем коде (для Пирсона) создается вот тут :
Код:
for i:=1 to K do Ys[i]:=0;
 for i:=1 to K do
   for j:=0 to N-1 do
     if rn[j]= (i-1) then Ys[i]:=Ys[i]+1;
Массив Ys.
Для примера, расчет значения критерия Колмогорова:
критерий = макс. разности * корень из 1000 = 1,1068
Альфа для данного критерия 0,172
Изображения
Тип файла: jpg ккк.jpg (35.9 Кб, 57 просмотров)
type_Oleg вне форума Ответить с цитированием
Старый 09.01.2014, 21:30   #29
Veryn4ik1993
Пользователь
 
Регистрация: 12.09.2012
Сообщений: 81
По умолчанию

Критерий "максимум-t
Обозначим Vj = max (Utj, Utj+1,...,Utj+t-1) для 0 <= j < n. Применим критерий Колмогорова-Смирнова к последовательности V0, V1,...,Vn-1. Таким образом проверим гипотезу о том, что функция распределения Vj равна F(x) = xt, 0 <= x <= 1. Можно также применить критерий Колмогорова-Смирнова к последовательности V0t, V1t,..., Vn-1t, проверяя гипотезу о равномерном распределении.

Для обоснования критерия необходимо показать, что функция распределения Vj равна F(x) = xt. Вероятность того, что max(U1, U2, ..., Ut) <= x, равна вероятности того, что одновременно U1 <= x, U2 <= x, ..., Ut <= x, которая, в свою очередь, равна произведению вероятностей Uk <= x при k = 1,..., t, а именно - xx...x = xt.
Veryn4ik1993 вне форума Ответить с цитированием
Старый 09.01.2014, 21:33   #30
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Я ничего не понял.
Здесь http://ru.wikipedia.org/wiki/Критери...ия_Колмогорова - понятнее.
type_Oleg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ВПР критерий Artem_85 Microsoft Office Excel 10 08.11.2012 13:59
критерий Сильвестра Roman Фриланс 1 19.04.2012 19:02
критерий Сильвестра Roman Общие вопросы C/C++ 4 12.04.2012 02:30
Уравнения колмогорова ChronoCR Помощь студентам 1 07.04.2011 19:37
задать критерий: от ....до... brans Microsoft Office Excel 6 11.11.2010 17:26