def METHOD_NAME(source_points, source_values, query_points, k=6, p=5):
    """
    Inverse Distance Weighting interpolation method with power `p`
    and `k` nearest neighbors.
    Returns the interpolated values at `query_points`.
    """
    tree = spatial.cKDTree(source_points, k)
    distances, indices = tree.query(query_points, k=k)
    inv_dist = 1. / np.power(distances, p)
    weights = inv_dist / inv_dist.sum(axis=1)[:, np.newaxis]
    return (weights * source_values[indices]).sum(axis=1)