pro_cessor

Results

Oct 26th, 2015
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. ## Calculate F-Fraction
  2. See Keppel, p353
  3.  
  4. $$
  5. [A] = \frac{\sum{A^2_j}}{n} = n\sum{\overline{Y}^2_{A}}
  6. $$
  7.  
  8. $$
  9. [Y] = \sum{Y^2_{ij}}
  10. $$
  11.  
  12. $$
  13. [S] = \frac{\sum{S^2_i}}{a} = a\sum{\overline{Y}^2_S}
  14. $$
  15.  
  16. $$
  17. [T] = \frac{T^2}{an} = an\overline{Y}^2_T
  18. $$
  19.  
  20. Source df SS MS F
  21. ======================================================================
  22. A a-1 [A] - [T] SS_AA / df_A MS_A / MS_(A x S)
  23. S n-1 [S] - [T] SS_S / df_S
  24. A x S (a-1)(n-1) [Y]-[A]-[S]+[T] SS_AxS / df_AxS
  25. ----------------------------------------------------------------------
  26. Total an-1 [Y] - [T]
  27.  
  28. $$
  29. \text{with } F_A = \frac{MS_A}{MS_{A \times S}}
  30. $$
  31.  
  32. n = float(len(df))
  33. a = float(len(df.columns))
  34.  
  35. A_raw = df.sum().apply(lambda v: v ** 2).sum() / n
  36. S_raw = df.sum(axis=1).apply(lambda v: v ** 2).sum() / a
  37. Y_raw = df.apply(lambda v: v ** 2).sum().sum()
  38. T_raw = df.sum().sum() ** 2 / (a*n)
  39. A = A_raw - T_raw
  40. S = S_raw - T_raw
  41. AxS = Y_raw - A_raw - S_raw + T_raw
  42. Total = Y_raw - T_raw
  43. df_A = a - 1
  44. df_S = n - 1
  45. df_AxS = (a-1)*(n-1)
  46. df_total = (a*n)-1
  47.  
  48. MS_A = (A / df_A)
  49. MS_AxS = (AxS / df_AxS)
  50. F_emp = MS_A / MS_AxS
  51.  
  52. from scipy import stats
  53. f_dist = stats.f(df_A, df_AxS, loc=0, scale=1)
  54. F_krit = f_dist.ppf(.95)
  55. p = f_dist.sf(F_emp)
  56. print 'F(%s, %s)= %s, p=%s' % (df_A, df_AxS, F_emp, p)
  57. print F_krit
  58.  
  59. # Results
  60. F(2.0, 142.0)= 4.3311275401, p=0.0149332913263
  61. 3.05983068862
Advertisement
Add Comment
Please, Sign In to add comment