Advertisement
edward4324

lw4

May 14th, 2021
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 8.82 KB | None | 0 0
  1. clear;
  2. clc;
  3.  
  4. %1. Сравнение двух дисперсий нормальных генеральных совокупностей
  5. %Задания: сгенерировать две выборки из нормального распределения
  6. %с произвольными значениями параметров µ и sigma (на ваш выбор) объемом 100 и 150 элементов.
  7. %Решить задачу с использованием Правила 1 и Правила 2 (см.выше),
  8. %то есть подтвердить или опровергнуть основную гипотезу при уровне значимости 0,05.
  9.  
  10. type1 = "Normal";
  11. mu = 0;
  12. sigma = 1;
  13. alpha = 0.05;
  14.  
  15. n1 = 100;
  16. n2 = 150;
  17.  
  18. X = random(type1, mu, sigma, 1, n1);
  19. Y = random(type1, mu, sigma, 1, n2);
  20.  
  21. viX = var(X);
  22. viY = var(Y);
  23.  
  24. if (viX > viY)
  25.     k1 = n1 - 1;
  26.     k2 = n2 - 1;
  27. else
  28.     k1 = n2 - 1;
  29.     k2 = n1 - 1;
  30. end
  31.  
  32. F_nabl1 = max(viX, viY)/min(viX, viY);
  33.  
  34. F_cr1 = finv(1 - alpha, k1, k2);
  35.  
  36. disp("Пункт 1");
  37. %Нулевая гипотеза: дисперсии равны
  38. disp("Согласно правилу 1");
  39. if (F_nabl1 < F_cr1)
  40.     disp("Нет оснований отвергнуть нулевую гипотезу");
  41. else
  42.     disp("Нулевую гипотезу отвергают");
  43. end
  44.  
  45. clear k1 k2 viX viY;
  46.  
  47. vX = var(X, 1);
  48. vY = var(Y, 1);
  49. alpha2 = alpha/2;
  50.  
  51. if (vX > vY)
  52.     k1 = n1 - 1;
  53.     k2 = n2 - 1;
  54. else
  55.     k1 = n2 - 1;
  56.     k2 = n1 - 1;
  57. end
  58.  
  59. F_nabl2 = max(vX, vY)/min(vX, vY);
  60. F_cr2 = finv(1 - alpha2, k1, k2);
  61.  
  62. disp("Согласно правилу 2");
  63. %конкурирующаю гипотеза: дисперсия Х больше чем дисперсия У
  64. if (F_nabl2 < F_cr2)
  65.     disp("Нет оснований отвергнуть конкурирующую гипотезу");
  66. else
  67.     disp("Конкурирующую гипотезу отвергают");
  68. end
  69.  
  70. clear vX vY alpha2 k1 k2 mu sigma type1 n1 n2 X Y alpha;
  71.  
  72. % 2. Сравнение двух средних генеральных совокупностей, дисперсии которых известны (большие выборки)
  73. % Задания: сгенерировать две выборки из нормального распределения
  74. % с произвольными значениями параметров µ и sigma (на ваш выбор) объемом 100 и 150 элементов.
  75. % Решить задачу с использованием Правила 1 и Правила 2 и Правила 3 (см.выше),
  76. % то есть подтвердить или опровергнуть основную гипотезу при уровне значимости 0,05.
  77.  
  78. type = "Normal";
  79. mu = 0;
  80. sigma = 1;
  81. % alpha = 0.05;
  82.  
  83. m = 150;
  84. n = 150;
  85.  
  86. X = random(type, mu, sigma, 1, m);
  87. Y = random(type, mu, sigma, 1, n);
  88.  
  89. mx = mean(X);
  90. my = mean(Y);
  91. vx = var(X);
  92. vy = var(Y);
  93.  
  94. Z_nabl = (mx - my) / sqrt(vx / (n + vy) / m);
  95.  
  96. % arg = (1 - 2*alpha)/2;
  97.  
  98. Z_cr1 = 1.96;
  99.  
  100. %pravilo 2
  101. Z_cr2 = 1.65;
  102.  
  103. %pravilo 3
  104. Z_cr3 = 1.65;
  105.  
  106. disp("Пункт 2");
  107. %Основная гипотеза: мат ожидание Х равно мат ожиданию У
  108. disp("Согласно правилу 1");
  109. if (abs(Z_nabl) < Z_cr1)
  110.     disp("Нет оснований отвергнуть основную гипотезу");
  111. else
  112.     disp("Основную гипотезу отвергают");
  113. end
  114.  
  115. disp("Согласно правилу 2");
  116. %мат ожидание от Х > мат ожидания от У
  117. if (abs(Z_nabl) < Z_cr2)
  118.     disp("Нет оснований отвергнуть конкурирующую гипотезу");
  119. else
  120.     disp("Конкурирующую гипотезу отвергают");
  121. end
  122.  
  123. disp("Согласно правилу 3");
  124. %мат ожидание от Х < мат ожидания от У
  125. if (Z_nabl > -Z_cr3)
  126.     disp("Нет оснований отвергнуть нулевую гипотезу");
  127. else
  128.     disp("Нулевую гипотезу отвергают");
  129. end
  130.  
  131. clear alpha arf m mu mx my n sigma type vx vy X Y;
  132.  
  133. % 3. Сравнение нескольких дисперсий нормальных генеральных совокупностей по выборкам различного объема.
  134. % Критерий Бартлетта
  135. % Задания: сгенерировать пять выборок из нормального распределения так, чтобы параметр у них был одинаковый,
  136. % а параметр µ выберете произвольно, но так, чтобы для каждой выборки было свое значение.
  137. % Объемы выборок 50, 60, 70, 80, 90. Подтвердить или опровергнуть основную гипотезу при уровне значимости 0,05.
  138.  
  139. disp("Пункт 3");
  140.  
  141. type = "Normal";
  142. mu = 0;
  143. % sigma = 1;
  144. % alpha = 0.05;
  145.  
  146. Ax = random(type, mu, 1, 50, 1);
  147. Bx = random(type, mu, 2, 60, 1);
  148. Cx = random(type, mu, 3, 70, 1);
  149. Dx = random(type, mu, 4, 80, 1);
  150. Ex = random(type, mu, 5, 90, 1);
  151.  
  152. v = zeros(1, 5);
  153. v(1) = var(Ax);
  154. v(2) = var(Bx);
  155. v(3) = var(Cx);
  156. v(4) = var(Dx);
  157. v(5) = var(Ex);
  158.  
  159. k = zeros(1, 5);
  160.  
  161. for i = 1:5
  162.    
  163.     k(i) = 50 + 10 * (i - 1) - 1;
  164.    
  165. end
  166.  
  167. s_sr = 0;
  168.  
  169. for i = 1:5
  170.    
  171.     s_sr =s_sr + k(i)*v(i)/sum(k);
  172.    
  173. end
  174.    
  175. V = 0;
  176.  
  177. for i = 1:5
  178.    
  179.     V = V + k(i)* log(v(i));
  180.    
  181. end
  182. sumk = sum(k);
  183. V = 2.303 * (sum(k) * log(s_sr) - V);
  184.  
  185. %2.303 * ((sum(k) * log10(s_sr) - sum(k)*log10(prod(v))));
  186.  
  187. chi_2 = chi2inv(1 - 0.05, 5 - 1);
  188.  
  189. if (V > chi_2)
  190.  
  191. C = 0;
  192. for i = 1:5
  193.    
  194.     C = 1/k(i) - 1/sum(k);
  195.    
  196. end
  197. C = 1 + 1/(3 * (5 - 1)) * C;
  198.  
  199. B = V/C;
  200. %нулевая гипотеза: все дисперсии равны
  201. if (B < chi_2)
  202.    
  203.     disp("Согласно правилу нет оснований отвергнуть гипотезу");
  204. else
  205.     disp("Согласно правилу гипотеза отвергается");
  206. end
  207.  
  208. else
  209.     disp("Согласно правилу нет оснований отвергнуть гипотезу");
  210. end
  211.  
  212. clear alpha arg Ax Bx Cx Dx Ex i k mu s_sr sigma type v;
  213.  
  214. % 4. Проверка гипотезы о коэффициенте корреляции
  215. % Ознакомиться с материалом на стр. 196-198 из книги Радченко Ю.С., Радченко Т.А.
  216. % Теория вероятностей и математическая статистика, 1997 г.
  217. % Задания
  218. % Сгенерировать 2 выборки:
  219. % 1) Массив X из распределения, заданного вам при выполнении Л.р.№1
  220. % 2) Массив Y из того же самого распределения, с теми же самыми значениями параметров,
  221. % что и для массива X. Но поскольку вы генерируете с помощью генератора псевдослучайных чисел,
  222. % то они не будут одинаковыми (массивы X и Y не будут одинаковыми)
  223.  
  224. N = 100;
  225. a = 8;
  226. b = 12;
  227. X = random('Uniform', a, b, 1, N);
  228. rng shuffle;
  229. Y = random('Uniform', a, b, 1, N);
  230.  
  231. % 3) Рассчитать значение статистики T
  232.  
  233. ro_ksin = 0;
  234.  
  235. Sx = var(X);
  236. Sy = var(Y);
  237.  
  238. for i = 1:N  
  239.     ro_ksin = ro_ksin + X(i) * Y(i) - mean(X) * mean(Y);
  240. end
  241.  
  242. ro_ksin = 1/((N-1) * Sx * Sy) * ro_ksin;
  243. if (abs(ro_ksin) < 0.3)
  244.     disp("Проверка относительно статистики ro_ksiN");
  245.     disp("Корреляционная, т.е. линейная статистическая зависимость отсутствует");
  246. end
  247.  
  248. T = ro_ksin * sqrt(N - 2) / sqrt(1 - ro_ksin);
  249.  
  250. % 4) Определить при уровнях значимости 0,1, 0,05, 0,01 критические значения (по таблицам распределения Стьюдента).
  251.  
  252. T_0_01 = 2.5763210958565974;
  253. T_0_05 = 1.9602012636213575;
  254. T_0_1 = 1.6450060333112988;
  255.  
  256. %основная гипотеза: статистика ро_КсиН = 0, альтернативаня гипотеза:
  257. %статистика != нулю
  258.  
  259. % 5) Сравнить значение статистики, полученной в п. 3, с критическими значениями из п.4
  260. % и сделать вывод о справедливости выдвинутой гипотезы о коэффициенте корреляции
  261.  
  262. %при разных генерациях получаются совершенно разные значения, поэтому
  263. %проверяй ирл через таблицу значений Стъюдента
  264.  
  265. clear a b i N Sx Sy X Y;
  266.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement