54 lines
1.2 KiB
Plaintext
54 lines
1.2 KiB
Plaintext
CLAUDE
|
|
|
|
Here's a Python function to calculate Cohen's d:
|
|
|
|
```python
|
|
import numpy as np
|
|
|
|
def cohens_d(group1, group2):
|
|
"""
|
|
Calculate Cohen's d effect size between two groups.
|
|
|
|
Parameters:
|
|
group1 (array-like): First group of values
|
|
group2 (array-like): Second group of values
|
|
|
|
Returns:
|
|
float: Cohen's d value
|
|
"""
|
|
# Convert to numpy arrays
|
|
group1 = np.array(group1)
|
|
group2 = np.array(group2)
|
|
|
|
# Calculate means
|
|
mean1 = np.mean(group1)
|
|
mean2 = np.mean(group2)
|
|
|
|
# Calculate pooled standard deviation
|
|
n1, n2 = len(group1), len(group2)
|
|
var1, var2 = np.var(group1, ddof=1), np.var(group2, ddof=1)
|
|
|
|
pooled_sd = np.sqrt(((n1 - 1) * var1 + (n2 - 1) * var2) / (n1 + n2 - 2))
|
|
|
|
# Calculate Cohen's d
|
|
d = (mean2 - mean1) / pooled_sd
|
|
|
|
return d
|
|
|
|
# Example usage
|
|
# group1 = [1, 2, 3, 4, 5]
|
|
# group2 = [3, 4, 5, 6, 7]
|
|
# effect_size = cohens_d(group1, group2)
|
|
|
|
```
|
|
|
|
Key points:
|
|
- Uses pooled standard deviation
|
|
- Works with numpy arrays
|
|
- Handles different group sizes
|
|
- Returns effect size magnitude and direction
|
|
|
|
Interpretation:
|
|
- |d| < 0.2: Small effect
|
|
- 0.2 ≤ |d| < 0.5: Medium effect
|
|
- |d| ≥ 0.5: Large effect |