Можно ли использовать scipy.stats.wasserstein_distance с эмпирическими распределениями разных (неравных) размеров?

Для оценки системы я измерил интересующую метрику в трех различных конфигурациях (настройках). Таким образом, у меня есть три массива наблюдений, observations_setting_2, и observations_setting_3, например, в таком виде:

      # len(observations_setting_1): 90,000.
observations_setting_1 = [1.56, 23.7782, 10.46799, 3.013, ..., 15.522]

# len(observations_setting_2): 90,000.
observations_setting_2 = [11.8242, 3.998, 3.427, 13.324, ..., 8.01]

# len(observations_setting_3): 82,129.
observations_setting_3 = [4.2532, 19.75, 12.851, 9.0032, ..., 1.296]

Настройка, в результате которой observations_setting_1считается базовым уровнем, в то время как последние два параметра изменяют некоторые условия окружающей среды, чтобы увидеть, как изменяется производительность системы. Как вы можете видеть из моего примера, для одной из настроек мне пришлось удалить ряд наблюдений из-за ошибок сбора экспериментов (я не могу повторить эксперименты на этом этапе).

Теперь я хотел бы количественно оценить, насколько эмпирические распределения интересующей метрики, полученной из настроек 2 и 3, отклоняются от базовой линии. 1-е расстояние Вассерштейна (также известное как расстояние Движителя Земли), кажется, хорошо подходит для этого. SciPy предоставляет функцию для вычисления расстояния: scipy.stats.wasserstein_distance .

Мой вопрос: учитывая различия в количестве наблюдений между настройками 1 и 2 и настройкой 3, могу ли я использовать значение, вычисленное scipy.stats.wasserstein_distance, чтобы делать заявления о том, насколько настройка 3 отличается от настройки 1?

Другими словами, учитывая:

      2_diverges_from_1 = scipy.stats.wasserstein_distance(observations_setting_1, observations_setting_2)
3_diverges_from_1 = scipy.stats.wasserstein_distance(observations_setting_1, observations_setting_3)

Могу ли я сделать заявления о том, насколько настройка 3 отличается от базовой настройки 1 по сравнению с тем, насколько настройка 2 отличается от базовой настройки 1, несмотря на разницу в длине входных массивов? Совершаю ли я статистическую ошибку, если использую 1-е расстояние Вассерштейна в SciPy таким образом? Если бы это было так, могу ли я это исправить?

Я ожидал, что SciPy отклонит мои входные массивы, если бы равный размер был ограничением, однако ошибки не возвращаются.

Я ценю любую помощь в этом, уже спасибо.

0 ответов

Другие вопросы по тегам