-
Notifications
You must be signed in to change notification settings - Fork 0
/
chi_sq_and_t_distributions.m
71 lines (60 loc) · 2.29 KB
/
chi_sq_and_t_distributions.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
%
% T distribution
% --------------------------------------------------------------------------------------------------------------------------
% The t-distribution is made from the means of many random samples. This
% gives you the distribution of where all samples means are likely to fall,
% given the DF. A t-statistic is essentially a Z-score for the distribution,
% t= (Xbar - u) / SE. remember: distributions are generated by random
% numbers. You then set your alpha based on how often you are willing to
% accept a difference by chance.
%t-distribution DF = 2
for i = 1:1000000
X = randn(3,1);
output_3(i,1) = mean(X);
end
%t-distribution DF = 99
for i = 1:1000000
X = randn(100,1);
output_100(i,1) = mean(X);
end
%normal distrubition N = 1million
for i = 1:1000000
X = randn(1);
output_norm(i,1) = X;
end
figure(); histogram(output_3); xlim([-3 3]); title('T-distribution, Df = 2');
figure(); histogram(output_100); xlim([-3 3]); title('T-distribution, Df = 99');
figure(); histogram(output_norm); xlim([-3 3]); title('Normal distribution');
% -----------------------------------------------------------------------------------------------------------------------
% Chi-Sq Distribution
% -----------------------------------------------------------------------------------------------------------------------
% In probability theory and statistics, the chi-square distribution (also chi-squared or ?2-distribution)
% with k degrees of freedom is the distribution of a sum of the squares of k independent standard normal random variables.
for i = 1:10000
X = randn(3,1);
Xbar = mean(X);
sumOfSquares = sum((X - Xbar).^2);
chiSq_3(i,1) = sumOfSquares;
end
for i = 1:10000
X = randn(30,1);
Xbar = mean(X);
sumOfSquares = sum((X - Xbar).^2);
chiSq_30(i,1) = sumOfSquares;
end
for i = 1:10000
X = randn(100,1);
Xbar = mean(X);
sumOfSquares = sum((X - Xbar).^2);
chiSq_100(i,1) = sumOfSquares;
end
for i = 1:10000
X = randn(500,1);
Xbar = mean(X);
sumOfSquares = sum((X - Xbar).^2);
chiSq_500(i,1) = sumOfSquares;
end
figure(); histogram(chiSq_3); title('Chisq, Df = 3');
figure(); histogram(chiSq_30); title('Chisq, Df = 30');
figure(); histogram(chiSq_100); title('Chisq, Df = 100');
figure(); histogram(chiSq_500); title('Chisq, Df = 500');