(xs: list[float], ys: list[float])
| 131 | |
| 132 | |
| 133 | def pearson(xs: list[float], ys: list[float]) -> float: |
| 134 | x_bar = sum(xs) / len(xs) |
| 135 | y_bar = sum(ys) / len(ys) |
| 136 | num = sum((x - x_bar) * (y - y_bar) for x, y in zip(xs, ys)) |
| 137 | den_x = math.sqrt(sum((x - x_bar) ** 2 for x in xs)) |
| 138 | den_y = math.sqrt(sum((y - y_bar) ** 2 for y in ys)) |
| 139 | return num / (den_x * den_y) |
| 140 | |
| 141 | |
| 142 | def regression(xs: list[float], ys: list[float]) -> tuple[float, float]: |