Advertisement
Guest User

shannon

a guest
Jun 26th, 2018
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. format compact
  2. format shorteng
  3. clc
  4. %% Statistische Tests
  5. % Anzahl durchgeführte Versuche/Stichproben
  6. n = 10000;
  7. % Anzahl zutreffende/geglückte Versuche
  8. x = 5150;
  9. % Signifikanzniveau
  10. alpha = 0.05;
  11. % Wahrscheinlichkeit
  12. p = 0.5;
  13. % Gegenwahrscheinlichkeit
  14. q = 1-p;
  15.  
  16. %% Zweiseitiger Test
  17. % Wenn Alternativhypothese ungleich Hypothese ist
  18. disp '------------------------------------------------------------'
  19. disp 'Zweiseitiger Test'
  20. disp '  Wenn Alternativhypothese ungleich Hypothese ist'
  21. disp '------------------------------------------------------------'
  22.  
  23. % Erwartungswert
  24. E = n * p;
  25. % Varianz
  26. Var = n * p * q;
  27. % Test ob norm. Vert. angenährt werden kann
  28. if Var > 9
  29.     fprintf("Näherung durch Normalverteilung zulässig: %.1f > %.0f\n", Var, 9)
  30. else
  31.     fprintf("Näherung durch Normalverteilung NICHT zulässig: %.1f < %.0f\n", Var, 9)
  32. end
  33. % Grenzen berechnen
  34. xu = norminv(alpha/2, E, sqrt(Var));
  35. xo = norminv(1 - alpha/2, E, sqrt(Var));
  36. % Annahmebereich testen
  37. fprintf("Annahmebereich: %.3f < x < %.3f\n", xu, xo);
  38. fprintf("x = %.3f\n", x);
  39. if (x < xo) && (x > xu)
  40.     disp 'x ist im Annahmebereich'
  41.     disp '  -> Nullhypothese annehmen'
  42. else
  43.     disp 'x ist NICHT im Annahmebereich'
  44.     disp '  -> Nullhypothese ablehnen, Alternativhypothese annehmen'
  45. end
  46.  
  47. %% Einseitiger Test
  48. % Wenn Alternativhypothese grösser/kleiner gleich ist
  49. disp ' '
  50. disp ' '
  51. disp '------------------------------------------------------------'
  52. disp 'Einseitiger Test'
  53. disp '  Wenn Alternativhypothese grösser/kleiner gleich ist'
  54. disp '------------------------------------------------------------'
  55.  
  56. % Erwartungswert
  57. E = n * p;
  58. % Varianz
  59. Var = n * p * q;
  60. % Test ob norm. Vert. angenährt werden kann
  61. if Var > 9
  62.     fprintf("Näherung durch Normalverteilung zulässig: %.1f > %.0f\n", Var, 9)
  63.    
  64.     % Grenze berechnen
  65.     xo = norminv(1 - alpha/2, E, sqrt(Var));
  66.     % Annahmebereich testen
  67.     fprintf("Annahmebereich: x < %.4f\n", xo);
  68.     fprintf("x = %.3f\n", x);
  69.     if (x < xo)
  70.         disp 'x ist im Annahmebereich'
  71.         disp '  -> Nullhypothese annehmen'
  72.     else
  73.         disp 'x ist NICHT im Annahmebereich'
  74.         disp '  -> Nullhypothese ablehnen, Alternativhypothese annehmen'
  75.     end
  76.  
  77. else
  78.     fprintf("Näherung durch Normalverteilung NICHT zulässig: %.1f < %.0f\n", Var, 9)
  79.     disp '*** Binomialverteilung ***'
  80.    
  81.     % Grenze berechnen
  82.     xo = 1 - binocdf(x-1, n, p);
  83.     % Annahmebereich testen
  84.     fprintf("Annahmebereich: x < %.4f\n", xo);
  85.     fprintf("x = %.3f\n", x);
  86.     if (x < xo)
  87.         disp 'x ist im Annahmebereich'
  88.         disp '  -> Nullhypothese annehmen'
  89.     else
  90.         disp 'x ist NICHT im Annahmebereich'
  91.         disp '  -> Nullhypothese ablehnen, Alternativhypothese annehmen'
  92.     end
  93.    
  94. end
  95.  
  96.  
  97. %% Irrtumswahrscheinlichkeit
  98. pi = 1 - normcdf(x, E, sqrt(Var));
  99. fprintf("\n\nIrrtumswahrscheinlichkeit p_i = %.4f (%.2f%%)\n", pi, pi*100);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement