Clear Filters
Clear Filters

Usage of chi2gof

9 views (last 30 days)
Sim
Sim on 21 Jun 2023
Commented: Sim on 21 Jun 2023
(A very silly question) From the chi2gof documentation I see that chi2gof takes 1 argument
h = chi2gof(x)
Since the chi-square test is just a comparison between observed (O) and expected (E) values, throught the formula (\sum_i (O_i - E_i)^2 / E_i), I guess that the argument "x" would refer to the observed data (O), but.... where should I insert/add the expected (E) values there?
Can you show any example of comparison among observed (O) and expected (E) data, like when I would need to compare two distributions?
(for example the expected (E) values might refer to any theoretical distribution that I want /need to compare to my observed (O) data)

Accepted Answer

Aman
Aman on 21 Jun 2023
Edited: Aman on 21 Jun 2023
Hi Sim,
You can add expected value as a parameter as given in chi2gof documentation.
Here is an example for the same,
observed_data = exprnd(2, 100, 1);
num_bins = 10;
bin_edges = linspace(min(observed_data), max(observed_data), num_bins+1);
expected_counts = numel(observed_data) * diff(chi2cdf(bin_edges, 1));
[h, p] = chi2gof(observed_data, 'Expected', expected_counts)
You can add other parameter according to your needs. For further help, check the documentation.
Hope this helps!
  3 Comments
Aman
Aman on 21 Jun 2023
We can use cdf, like this:
expected_counts = numel(observed_data) * diff(cdf(pd,bin_edges));
Sim
Sim on 21 Jun 2023
thanks a lot @Aman!!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!