Bird
Raised Fist0
SciPydata~30 mins

Why hypothesis testing validates claims in SciPy - See It in Action

Choose your learning style10 modes available
Why hypothesis testing validates claims
📖 Scenario: Imagine you work for a company that claims their new energy drink increases alertness. You want to check if this claim is true by testing it scientifically.
🎯 Goal: You will learn how to use hypothesis testing with Python's scipy library to check if the energy drink really improves alertness compared to no drink.
📋 What You'll Learn
Create a list of alertness scores for people who drank the energy drink
Create a list of alertness scores for people who did not drink the energy drink
Set a significance level to decide when to reject the claim
Use a t-test to compare the two groups
Print the p-value and conclusion about the claim
💡 Why This Matters
🌍 Real World
Hypothesis testing helps companies and scientists check if their claims about products or treatments are true using data.
💼 Career
Data scientists use hypothesis testing to validate assumptions and make data-driven decisions in business, healthcare, and research.
Progress0 / 4 steps
1
Create alertness scores data
Create a list called drink_group with these exact alertness scores: 85, 88, 90, 87, 92. Create another list called no_drink_group with these exact scores: 80, 82, 79, 81, 83.
SciPy
Hint

Use square brackets to create lists with the exact numbers given.

2
Set significance level
Create a variable called alpha and set it to 0.05 to represent the significance level for the test.
SciPy
Hint

The significance level is usually 0.05 for many tests.

3
Perform t-test to compare groups
Import ttest_ind from scipy.stats. Use ttest_ind with drink_group and no_drink_group to perform an independent t-test. Save the result in a variable called test_result.
SciPy
Hint

Use from scipy.stats import ttest_ind and call ttest_ind(drink_group, no_drink_group).

4
Print p-value and conclusion
Print the p-value from test_result using print(test_result.pvalue). Then write an if statement to check if the p-value is less than alpha. If yes, print "Reject the null hypothesis: the drink improves alertness." Otherwise, print "Fail to reject the null hypothesis: no clear evidence the drink improves alertness."
SciPy
Hint

Use print(test_result.pvalue) and an if to compare with alpha.

Practice

(1/5)
1. What does a small p-value in hypothesis testing usually indicate about the claim being tested?
easy
A. The data is not enough to decide
B. The claim is definitely true
C. The claim is probably false and should be rejected
D. The claim is definitely false

Solution

  1. Step 1: Understand p-value meaning

    A p-value measures how likely the observed data would occur if the claim (null hypothesis) is true.
  2. Step 2: Interpret small p-value

    A small p-value means the observed data is unlikely under the claim, so we reject the claim.
  3. Final Answer:

    The claim is probably false and should be rejected -> Option C
  4. Quick Check:

    Small p-value = reject claim [OK]
Hint: Small p-value means reject claim, large means accept [OK]
Common Mistakes:
  • Thinking small p-value proves claim true
  • Confusing p-value with probability of claim
  • Assuming p-value alone proves claim false
2. Which of the following is the correct way to import the function for performing a t-test in SciPy?
easy
A. from scipy.stats import ttest_ind
B. import scipy.ttest as ttest_ind
C. from scipy import ttest_ind
D. import scipy.stats.ttest_ind()

Solution

  1. Step 1: Recall SciPy stats module structure

    The t-test function is inside scipy.stats and is called ttest_ind.
  2. Step 2: Check correct import syntax

    Correct syntax is 'from scipy.stats import ttest_ind' to import the function directly.
  3. Final Answer:

    from scipy.stats import ttest_ind -> Option A
  4. Quick Check:

    Correct import = from scipy.stats import ttest_ind [OK]
Hint: Use 'from scipy.stats import ttest_ind' to import t-test [OK]
Common Mistakes:
  • Using incorrect module path
  • Trying to import with parentheses
  • Confusing import syntax with function call
3. Consider the following code using SciPy to test if two samples have different means:
import numpy as np
from scipy.stats import ttest_ind

sample1 = np.array([5, 7, 8, 6, 9])
sample2 = np.array([10, 12, 11, 13, 14])
stat, p = ttest_ind(sample1, sample2)
print(round(p, 3))

What is the printed p-value rounded to 3 decimals?
medium
A. 0.000
B. 0.050
C. 0.001
D. 0.100

Solution

  1. Step 1: Run t-test on given samples

    Using ttest_ind on sample1 and sample2 calculates the p-value for difference in means.
  2. Step 2: Calculate and round p-value

    Running the code gives p approximately 0.00002, which rounds to 0.000.
  3. Final Answer:

    0.000 -> Option A
  4. Quick Check:

    p-value ≈ 0.000 means very strong evidence against claim [OK]
Hint: Run code or estimate p-value from sample difference [OK]
Common Mistakes:
  • Rounding p-value incorrectly
  • Confusing test statistic with p-value
  • Assuming p-value is zero without rounding
4. The following code attempts to perform a hypothesis test but has an error:
from scipy.stats import ttest_ind
sample1 = [1, 2, 3]
sample2 = [4, 5, 6]
stat, p = ttest_ind(sample1, sample2)
print(p)

What is the error and how to fix it?
medium
A. Import statement is incorrect, should be 'import scipy.stats.ttest_ind'
B. No error; code runs correctly
C. ttest_ind requires samples to be same length
D. sample1 and sample2 must be numpy arrays, convert with np.array()

Solution

  1. Step 1: Check input types for ttest_ind

    ttest_ind accepts lists or arrays; lists are valid inputs.
  2. Step 2: Verify code runs without error

    Running this code prints a p-value without error, so no fix needed.
  3. Final Answer:

    No error; code runs correctly -> Option B
  4. Quick Check:

    Lists accepted by ttest_ind = No error; code runs correctly [OK]
Hint: Lists work fine as input to ttest_ind [OK]
Common Mistakes:
  • Thinking inputs must be numpy arrays
  • Assuming sample sizes must match
  • Incorrect import syntax
5. You want to test if a new teaching method improves test scores compared to the old method. You collect scores from two groups and run a t-test using SciPy. The p-value is 0.07. What is the best conclusion if you use a significance level of 0.05?
hard
A. The new method definitely does not improve scores
B. Accept the claim that the new method improves scores
C. Reject the claim that the new method improves scores
D. There is not enough evidence to reject the claim

Solution

  1. Step 1: Compare p-value to significance level

    The p-value 0.07 is greater than 0.05, so we do not reject the null hypothesis.
  2. Step 2: Interpret result in context

    Not rejecting means insufficient evidence to say the new method improves scores.
  3. Final Answer:

    There is not enough evidence to reject the claim -> Option D
  4. Quick Check:

    p > 0.05 means insufficient evidence [OK]
Hint: p > 0.05 means no strong evidence to reject claim [OK]
Common Mistakes:
  • Confusing 'not reject' with 'accept claim'
  • Thinking p=0.07 proves claim true
  • Ignoring significance level threshold
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard