Goodness of Fit Tests: Writing Conclusions
Loading the math board and drawing, please wait…
This GeoGebra example provides an interactive demonstration of chi-square goodness-of-fit tests, focusing on how to write statistical conclusions based on the test statistic, degrees of freedom, and significance level. It simulates the entire process from generating random samples, calculating observed and expected frequencies, to constructing the chi-square statistic and deciding whether to reject the null hypothesis. Core mathematical concepts include the chi-square distribution, hypothesis testing, p-values, degrees of freedom, comparison of observed versus expected frequencies, and the influence of significance level on conclusions. In terms of construction, the example employs GeoGebra commands such as Element, CountIf, Sum, Sequence, If, Segment, Mean, SigmaXX, and ChiSquared, along with objects like PrmFct, seed, Frq1 through Frq6, DataSet, ExpVal, and TS. Sliders and buttons control the random seed, sample size, and confidence level, updating frequency tables, the chi-square statistic, and conclusion text in real time. This resource is suitable for high school to university-level statistics courses, particularly for teaching the steps and interpretation of chi-square tests, helping students understand how to make rigorous statistical inferences from data.
GeoGebra Commands & Parameters
Element(FrqSqSq, DataSet) → Frq0CountIf(x ≠ (0, 0), Frq0) → KSum(Frq0) → SizeElement(CnfSq, Confidence) → ConfSequence(round((ExpVal * 100)) / 100, k, 1, K) → ExpSqSequence(Element[Frq0, k] - ExpVal, k, 1, K) → OmECSequence(Element[OmEC, k]^(2), k, 1, K) → OmEsqCSequence(Element[OmEsqC, k] / ExpVal, k, 1, K) → OmEsqdECElement(OutSeq, DataSet) → OutSequence(round(((Element[Frq0, k] - ExpVal) * 1000)) / 1000, k, 1, K) → OmESSequence(round((Element[OmEC, k]^(2) * 1000)) / 1000, k, 1, K) → OmEsqSIf(PV1 ≥ 1.0E-4, PV1, 1.0E-4) → PV2If(PV1 < 1.0E-4, " < ", " = ") → IE1If(PV1 < Sig, "less than", "not less than") → RelateIf(PV1 < Sig, "rejected", "kept") → TstDcsIf(PV1 < Sig, "is", "is not") → IOAElement(DWSq, DataSet) → DWSequence(Text[Element[Frq0, j], (0.3 + (DW * (j - 1)), 8)], j, 1, K) → FrqSqTxSequence(Segment[(0.25 + (k * DW), 8.85), (0.25 + (k * DW), 7.9)], k, 0, K) → VrtLnSqSegment((0.25, 7.9), (0.25 + (K * DW), 7.9)) → tbbtSegment((0.25, 8.35), (0.25 + (K * DW), 8.35)) → tbmdSegment((0.25, 8.85), (0.25 + (K * DW), 8.85)) → tbtpMean(OmEsqdEC) → L2MnSigmaXX(OmEsqdEC) → L2SXsqSequence(round((Element[OmEsqC, k] / ExpVal * 1000)) / 1000, k, 1, K) → OmEsqdESChiSquared(df, x, true) → chsqpdf2Element(CtSqSq, DataSet) → CtSq0Sequence(Text[Element[CtSq0, j], (0.3 + (DW * (j - 1)), 8.5)], j, 1, K) → CtSqTx