Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def eta(*measurements):
- """General safe implementation to calculate correlation coefficient disregarding NaNs"""
- nanless_measurements = [
- measurement[measurement == measurement]
- for measurement in measurements
- ]
- category_means = np.array([
- np.mean(measurement)
- for measurement in nanless_measurements
- ])
- population_mean = sum(
- np.sum(measurement)
- for measurement in nanless_measurements
- ) / sum(
- np.size(measurement)
- for measurement in nanless_measurements
- )
- summed_local_delta_squares = sum(
- np.sum((measurement - respective_mean) ** 2)
- for measurement, respective_mean in zip(nanless_measurements, category_means)
- )
- summed_global_delta_squares = sum(
- np.sum((measurement - population_mean) ** 2)
- for measurement in nanless_measurements
- )
- return abs(summed_global_delta_squares - summed_local_delta_squares) / summed_global_delta_squares
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement