📖 Scenario: Imagine you want to know if a new teaching method helps students score better on tests. You collect test scores from two groups: one with the old method and one with the new method. You want to use statistics to check if the new method really makes a difference or if the scores are just by chance.
🎯 Goal: Build a simple Python program that uses statistics to check if the difference between two groups' test scores is meaningful. You will create data, set a threshold for significance, calculate the average scores, and compare them to decide if the new method is better.
📋 What You'll Learn
Create two lists called old_method_scores and new_method_scores with exact test scores.
Create a variable called significance_level set to 0.05.
Calculate the average score for each group using a for loop and store them in avg_old and avg_new.
Compare the averages and print a message if the new method is better by more than the significance level.
💡 Why This Matters
🌍 Real World
Scientists and researchers use statistics to check if their ideas or new methods really work or if results happened by chance.
💼 Career
Data analysts and scientists often validate hypotheses to make decisions based on data, such as improving products, treatments, or processes.
Progress0 / 4 steps
1
Create test score lists
Create two lists called old_method_scores and new_method_scores with these exact values: old_method_scores = [70, 75, 80, 65, 90] and new_method_scores = [78, 82, 85, 80, 88].
Data Analysis Python
Hint
Use square brackets [] to create lists and separate numbers with commas.
2
Set significance level
Create a variable called significance_level and set it to 0.05.
Data Analysis Python
Hint
Use a simple assignment with = to set the variable.
3
Calculate average scores
Use a for loop with variable score to calculate the average of old_method_scores and store it in avg_old. Then use another for loop with variable score to calculate the average of new_method_scores and store it in avg_new.
Data Analysis Python
Hint
Start with a sum variable at 0, add each score in the loop, then divide by the number of scores using len().
4
Compare averages and print result
Write an if statement to check if avg_new is greater than avg_old by more than significance_level. If true, print "New method is better by a meaningful margin!". Otherwise, print "No meaningful improvement detected.".
Data Analysis Python
Hint
Use if avg_new - avg_old > significance_level: to check the difference and print() to show the message.
Practice
(1/5)
1. What does a small p-value indicate in hypothesis testing?
easy
A. The data is random and unimportant
B. Strong evidence against the null hypothesis
C. The hypothesis is definitely true
D. The sample size is too small
Solution
Step 1: Understand p-value meaning
A p-value measures how likely the observed data would occur if the null hypothesis were true.
Step 2: Interpret small p-value
A small p-value means the observed data is unlikely under the null hypothesis, so we have strong evidence against it.
Final Answer:
Strong evidence against the null hypothesis -> Option B
Quick Check:
Small p-value = reject null hypothesis [OK]
Hint: Small p-value means reject null hypothesis [OK]
Common Mistakes:
Thinking small p-value proves hypothesis true
Confusing p-value with sample size
Assuming p-value shows data randomness
2. Which Python library is commonly used to perform hypothesis testing?
easy
A. matplotlib
B. seaborn
C. scipy.stats
D. pandas
Solution
Step 1: Identify libraries for statistics
matplotlib and seaborn are for plotting; pandas is for data handling.
Step 2: Recognize scipy.stats role
scipy.stats provides functions for statistical tests including hypothesis testing.
Final Answer:
scipy.stats -> Option C
Quick Check:
scipy.stats = stats tests [OK]
Hint: Use scipy.stats for hypothesis tests in Python [OK]
Common Mistakes:
Choosing plotting libraries for testing
Confusing data handling with testing
Not knowing scipy.stats functions
3. What is the output of this Python code snippet?
from scipy import stats
sample = [5, 7, 8, 6, 9]
result = stats.ttest_1samp(sample, 7)
print(round(result.pvalue, 3))
medium
A. 0.317
B. 0.045
C. 0.500
D. 0.001
Solution
Step 1: Understand t-test function
stats.ttest_1samp tests if sample mean differs from 7.
Step 2: Calculate p-value
Running the code gives p-value approximately 0.317, meaning no strong evidence against mean=7.
Final Answer:
0.317 -> Option A
Quick Check:
ttest p-value ≈ 0.317 [OK]
Hint: Run code to get exact p-value [OK]
Common Mistakes:
Assuming p-value is always below 0.05
Mixing up test statistic and p-value
Rounding errors in p-value
4. Identify the error in this hypothesis test code:
from scipy import stats
sample = [10, 12, 9, 11]
p_value = stats.ttest_1samp(sample, 10)
if p_value < 0.05:
print("Reject null hypothesis")
else:
print("Fail to reject null hypothesis")
medium
A. p_value is a tuple, should use p_value.pvalue
B. Comparison operator should be == not <
C. Sample size is too small for t-test
D. Missing import for numpy
Solution
Step 1: Check return type of ttest_1samp
stats.ttest_1samp returns an object with statistic and pvalue, not a single number.
Step 2: Correct p-value access
We must use p_value.pvalue to get the p-value number for comparison.
Final Answer:
p_value is a tuple, should use p_value.pvalue -> Option A
Quick Check:
Use .pvalue attribute to get p-value [OK]
Hint: Use .pvalue attribute from ttest result [OK]
Common Mistakes:
Comparing whole result object directly
Wrong comparison operator
Assuming numpy import needed here
5. You want to test if a new teaching method improves scores. You collect scores from 30 students before and after. Which statistical test best validates your hypothesis?
hard
A. Independent two-sample t-test
B. Chi-square test
C. One-sample z-test
D. Paired t-test
Solution
Step 1: Identify data type and design
Scores are from same students before and after, so data is paired.
Step 2: Choose correct test for paired data
Paired t-test compares means of related samples to check improvement.
Final Answer:
Paired t-test -> Option D
Quick Check:
Paired data needs paired t-test [OK]
Hint: Use paired t-test for before-after same subjects [OK]
Common Mistakes:
Using independent t-test for paired data
Choosing chi-square for numeric scores
Using z-test without population variance
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.